(一)题目要求

数据集包含地区生产总值的四个相关指标:x1劳动者报酬,x2生产税净额,x3固定资产折旧,x4营业盈余。对各个地区生产总值进行对应分析,揭示不同地区的生产总值构成特征。要求:画出对应分析图,从不同角度进行分析,得到相应的结论。

链接:https://pan.baidu.com/s/15a8PA7K2mUh6B0zzx6rUtA?pwd=0294 
提取码:0294

(二)题目分析

国内(地区)生产总值反映的是最终的生产成果,是最终的货物和服务,它有三种不同的表现形态:价值形态、收入形态和产品形态。从收入形态看,GDP是所有常住单位在一定时期内的生产活动所形成的原始收入之和,包括常住单位因从事生产活动而对劳动要素的支付、对政府的支付、对固定资产的价值补偿,以及获得的盈余。收入形态在国民经济核算中对应的核算方法是收入法,也称分配法,是从常住单位从事生产活动形成收入的角度来计算生产活动最终成果的方法。计算公式为:增加值=劳动者报酬+生产税净额+固定资产折旧+营业盈余,地区生产总值等于各行业增加值之和。

对应分析法是在R型和Q型因子分析的基础上发展起来的一种多元统计分析方法,又称为R-Q型因子分析。在因子分析中,如果研究的对象是样品,则需采用Q型因子分析;如果研究的对象是变量,则需采用R型因子分析。但这两种分析方法往往是相互对立的,必须分别对样品和变量进行处理。所以因子分析难以对样品的属性和样品之间的内在联系进行分析,因为样品的属性是变值,而样品却是固定的。为解决上述缺陷,法国统计学家J.P.Benzecri于1970年提出了对应分析法。对应分析法最大特点就是能把众多的样品和众多的变量同时作到同一张图解上,将样品的大类及其属性在图上直观而又明了地表示出来,具有直观性。另外,它还省去了因子选择和因子轴旋转等复杂的数学运算及中间过程,可以从因子载荷图上对样品进行直观的分类,而且能够指示分类的主要参数(主因子)以及分类的依据,是一种直观、简单、方便的多元统计方法。

研究本问题的意义主要在于通过对国内各个地区的生产总值进行对应分析,挖掘不同地区的生产总值构成特征,了解各地区经济发展水平的差异,寻求国民经济良性发展的规律性因素,为实现全国各地区平衡发展、共同富裕提供有益的参考。

import pandas as pd
import numpy as np
from matplotlib import pyplot as plt
import seaborn as sns
from scipy.stats import chi2_contingency
from scipy.stats import chi2data=pd.read_excel('题目2数据集.xlsx',header=None)
data=data.iloc[1:,1:]
data=data.values # 导入数据,为处理方便,转换为ndarray对象# 进行卡方独立性检验
stat,p,dof,expected = chi2_contingency(data)  # stat卡方统计值,dof自由度,expected理论频率分布
prob = 0.95  # 选取95%置信度
critical = chi2.ppf(prob,dof)  # 自由度为dof下的卡方值
print('critical=%.3f,stat=%.3f,dof=%.3f'%(critical,stat,dof))
if abs(stat)>=critical:print('拒绝H0:不独立')
else:print('接受H0:独立')data=pd.DataFrame(data)
P=data/data.sum().sum()   # 概率矩阵
p_j=P.sum()               # 列和
p_i=P.sum(axis=1)         # 行和# 概率矩阵标准化
p_ip_j=np.dot(p_i.values.reshape(-1,1),p_j.values.reshape(1,-1)).astype('float')
Z=(P-p_ip_j)/np.sqrt(p_ip_j)
Z=pd.DataFrame(Z,index=data.index,columns=data.columns).to_numpy()A=np.dot(Z.T,Z).astype(float)
Lambda,u=np.linalg.eig(A)  # A的特征值和特征向量huizong=pd.DataFrame(sorted([i for i in Lambda if i>0],reverse=True),columns=['主惯量'])
huizong['奇异值']=np.sqrt(huizong['主惯量'])
huizong['占比']=huizong['主惯量']/huizong['主惯量'].sum()
huizong['累计']=huizong['占比'].cumsum()
print(huizong)
#       主惯量          奇异值         占比        累计
# 0  7.087109e-03  8.418497e-02  5.298812e-01  0.529881
# 1  4.039711e-03  6.355872e-02  3.020367e-01  0.831918
# 2  2.248080e-03  4.741393e-02  1.680820e-01  1.000000
# 3  2.981556e-19  5.460363e-10  2.229217e-17  1.000000
# 各维汇总表。从中可以看出,第一维和第二维的惯量占比占总惯量的83.19%,因此前两维解释了列联表数据83.19%的变异# 求解Q型因子载荷矩阵
dim_index=[x[0] for x in sorted(enumerate(Lambda),reverse=True,key=lambda x:x[1])][:2]  # 求出贡献度前二的维度的索引
cols=['Dim'+str(i+1) for i in range(len(dim_index))]
u=np.multiply(u[:,dim_index],np.sqrt(Lambda[dim_index]))
Q=pd.DataFrame(u,index=p_j.index,columns=cols)
p_j=p_j.astype('float')
for col in cols:Q[col]=Q[col]/np.sqrt(p_j)  # 求出单位特征向量
Q.index=['劳动者报酬','生产税净值','固定资产折旧','营业盈余']# 同上,求解R型因子载荷矩阵
Z=Z.astype(float)
B=np.dot(Z,Z.T)
Lambda,v=np.linalg.eig(B)  # B的特征值和特征向量
dim_index=[x[0] for x in sorted(enumerate(Lambda),reverse=True,key=lambda x:x[1])][:2]  # 求出贡献度前二的维度的索引
cols=['Dim'+str(i+1) for i in range(len(dim_index))]
v=np.multiply(v[:,dim_index],np.sqrt(Lambda[dim_index]))
R=pd.DataFrame(v,index=p_i.index,columns=cols).astype(float,copy=False)
for col in cols:R[col]=R[col]/np.sqrt(p_i)  # 求出单位特征向量
R.index=['北京','天津','河北','山西','内蒙古','辽宁','吉林','黑龙江','上海','江苏','浙江','安徽','福建','江西','山东','河南','湖北','湖南','广东','广西','海南','重庆','四川','贵州','云南','西藏','陕西','甘肃','青海','宁夏','新疆']# 将R型因子载荷矩阵和Q型因子载荷矩阵进行拼接并绘制在同一张图上
data=pd.concat([R[['Dim1','Dim2']],Q[['Dim1','Dim2']]],axis=0)
data.index=['北京','天津','河北','山西','内蒙古','辽宁','吉林','黑龙江','上海','江苏','浙江','安徽','福建','江西','山东','河南','湖北','湖南','广东','广西','海南','重庆','四川','贵州','云南','西藏','陕西','甘肃','青海','宁夏','新疆','劳动者报酬','生产税净值','固定资产折旧','营业盈余']
data=data*(-1)
data['style']=['地区']*p_i.shape[0]+['指标']*p_j.shape[0]
markers={'地区':'o','指标':'D'}
ax=sns.scatterplot(x='Dim1',y='Dim2',hue='style',style='style',markers=markers,data=data)
ax.set_xlim(left=-0.37,right=0.25)
ax.set_ylim(bottom=-0.25,top=0.2)
ax.set_xticks([-0.3,-0.2,-0.1,0.0,0.1])
ax.set_yticks([-0.2,-0.1,0.0,0.1])
ax.axhline(0,color='k',lw=0.5)
ax.axvline(0,color='k',lw=0.5)
for idx in data.index:ax.text(data.loc[idx,'Dim1']+0.002,data.loc[idx,'Dim2']+0.002,idx)  # 显示标签
plt.rcParams['font.sans-serif'] = ['SimHei']  # 显示中文
plt.rcParams['axes.unicode_minus']=False
plt.xlabel("Dimension 1")
plt.ylabel("Dimension 2")
plt.title("Correspondence Analysis")
ax.get_legend().remove()  # 去除图例
plt.show()

(三)结果分析

1)观察邻近区域进行关联性分析

从下图中可以看出各个省份与地区生产总值的四个相关指标的距离,距离越近说明该地区的生产总值构成与该种指标关联度越高。例如天津、上海、陕西等地区生产总值来源与生产税净值关联度较高;湖南、安徽、浙江等省份与固定资产折旧的关联度较高;北京、河北、宁夏等地与劳动者报酬关联度较高;江苏等地与营业盈余的距离相对较近,表明这些地区与营业盈余的关联度相对较高。

2)通过向量分析进行偏好排序

如下图所示,从中心向任意点作向量,例如从中心向“劳动者报酬”作向量,然后让所有地区向这条向量及其延长线作垂线,垂点越靠近向量的正向的表示该地区生产总值中劳动者报酬比重最高。以广西、河北、福建三地为例,广西的垂点最靠近向量的正向,河北次之,福建最后,说明在这三个地区中,广西的地区生产总值中劳动者报酬比重最高,河北次之,福建最低。

3)通过向量的夹角来分析两者之间的相关性

可以通过向量夹角的角度大小看不同地区或不同收入来源之间的相似情况,向量夹角越小说明相似程度越高。如下图所示,生产税净值与固定资产折旧的夹角小于生产税净值与营业盈余的夹角,这可以说明前者比后者的相似度要高。运用同样的方法可以比较不同省份之间的相似程度。

4)通过坐标点离中心的距离研究其特征的显著性

坐标点越靠近中心,越没有特征;越远离中心,说明其特点越明显。例如,一个地区越靠近原点,表明其生产总值构成越没有特征;若一个地区越远离原点,表明其生产总值构成的特征性越显著。如下图所示,浙江、广东、湖南、安徽、山东等地区距离原点的距离较近,说明这些地区的生产总值构成的特征不突出。云南、天津、西藏、新疆、河南等地与原点距离较远,说明这些地区的生产总值构成的特征性较显著。例如西藏的劳动者报酬占比最高,天津的生产税净值比重最高。我们可以运用同样的方法来研究四种地区生产总值构成的特征的显著性程度。

参考文献

[1]陈钰芬,陈骥.多元统计分析[M].北京:清华大学出版社,2020.

[2]罗纳德·科迪,杰弗里·史密斯.SAS应用统计分析[M].辛涛,译.北京:人民邮电出版社,2011.

[3]吴楚豪,王恕立.中国省级GDP的构成及分解、地方政府经济竞赛与南北经济分化[J].经济评论,2020,(6).

[4][EB/OL].[2022-12-26].GitHub - MaxHalford/prince: Python factor analysis library (PCA, CA, MCA, MFA, FAMD)

[5]高惠璇.应用多元统计分析[M].北京:北京大学出版社,2005.

【多元统计分析】Python实现对应分析相关推荐

  1. python 多元线性回归_多元统计分析之多元线性回归的R语言实现

    多元统计分析之多元线性回归的R语言实现 多元统计分析--multivariate statistical analysis 研究客观事物中多个变量之间相互依赖的统计规律性.或从数学上说, 如果个体的观 ...

  2. 《多元统计分析与R语言》实验5【对应分析】

    <多元统计分析与R语言>实验5[对应分析] 第一部分 教材P291页表格10-4,将由1660个人组成的样本按心里健康状况和社会经济状况进行交叉分组,分组结果如表所示,对这组数据进行对应分 ...

  3. 【应用多元统计分析】-王学民Python主成分分析例题,特征值处理和可视化(2)

    title: "应用多元统计分析" subtitle: "书上题目" author: | OLSRR 由于字数限制,本文省去部分数据预览. 7.6 下表中给出的 ...

  4. 多元统计分析-教师数据

    目录 1.数据集介绍 2.相关任务 答案解析 第一问 第二问 第三问 第四问 完整答案 1.数据集介绍 教师数据 (aaup.csv) 该数据来自美国大学教授协会 (AAUP) 年度普查, 包括分别按 ...

  5. 多元统计分析-橄榄油数据集

    目录 1.数据集介绍 2.相关任务 3.答案解析 第一问 第二问 第三问 第四问 4.完整答案 1.数据集介绍 橄榄油数据集,该数据由从一组传感器中获得的关于 16 种橄榄油的 5 个属性以及6个物理 ...

  6. python进行对应分析_对应分析

    日常分析中, 经常会做的是研究变量间的关系, 对于分类变量, 常用的方法是卡 方检验. Logistic 模型等,但是对于分类变量很多,或者分类变量的类别很多 时,用上述方法除了就会非常复杂,并且结果 ...

  7. 【多元统计分析】聚类分析【期末复习】

    聚类分析理论阐述 #理论参考 何晓群.多元统计分析(第五版)[M].北京:中国人民大学出版社 获取试卷:关注公众号回复:聚类分析试卷 1.聚类分析思想(简答) 聚类分析认为所研究的样品或指标之间存在不 ...

  8. 多元统计分析R语言建模| 1 概述

    1.多元统计分析的历史: 受多种指标共同作用和影响的现象大量存在 多元统计分析方法就是利用数理统计方法来研究解决多指标问题的理论和方法 2.用途 变量之间相依性分析 构造预测模型,进行预报控制 进行数 ...

  9. 多元统计分析何晓群_多元统计分析第四章作业

    关注公众号,更多资源分享 回复关键词:多元统计分析 即可获取更多详细其他章节答案 <多元统计分析>课后答案||何晓群版(第二章) <多元统计分析>第一章课后答案(何晓群编第五版 ...

最新文章

  1. 英特尔用英伟达显卡,给GTA5打了个超强画质补丁
  2. 测量一条反斜线的频率和质量n+m=9
  3. PAT甲级1125 Chain the Ropes:[C++题解]贪心、优先队列、合并果子
  4. 【Linux系统编程】进程间通信--无名管道(pipe)
  5. C语言typedef小结1(转载自百度百科)
  6. 【SpringCloud】第五篇: 路由网关(zuul)
  7. koa2 mysql 中间件_Koa2第二篇:中间件
  8. 扫地机器人的特点描写_扫地机器人的特点和作用
  9. oracle rman备份整库,RMAN备份恢复整个库
  10. 2021-06-07java继承
  11. linux opendir路径_Linux目录遍历opendir()
  12. 广告行业中那些趣事系列36:腾讯2021广告大赛多模态视频广告标签baseline介绍和优化思路...
  13. eterm系统服务器地址,Eterm管理系统
  14. unity shader development[11]
  15. encode()和decode()
  16. C语言实现简易五子棋
  17. Linux下rsh服务配置
  18. 【Mysql】Mysql为什么使用B+树
  19. linux网络测速qerf,kehu.one在线网速测试,网站测速工具,测网速,网站访问速度测试-boce.com...
  20. 海门开发区机器人项目_点赞!海门“经洽会”现场签约10亿元以上项目21个

热门文章

  1. 杭电oj 2081 手机短号(C++)
  2. 关于微信平台朋友和朋友圈分享不回调的问题。
  3. Unity 灯光系统
  4. 计算机系统系统时间不准,windows7系统时间不对怎么办_windows7系统时间不准如何恢复-win7之家...
  5. 北京将超前布局6G未来网络!这场发布会,信息量很大
  6. 搭建mysql注入_常见的sql注入环境搭建
  7. 计算机用户名怎么改好听,Win10如何修改电脑名字 Win10重命名电脑名称方法图解...
  8. Java加密技术(四)——非对称加密算法RSA
  9. 深度剖析 Vue3 如何通过虚拟DOM更新页面
  10. 弘辽科技:如何书写淘宝直通车创意标题才能带来更多的流量?