Python 第五章 因子分析

#相关系数矩阵
import pandas as pd
Data=pd.read_excel('农村居民人均可支配收入来源2016.xlsx')
X=Data.iloc[:,1:]
R=X.corr()
print(R)
          工资性收入     经营净收入     财产净收入     转移净收入
工资性收入  1.000000 -0.388997  0.826683  0.401917
经营净收入 -0.388997  1.000000 -0.205737 -0.314542
财产净收入  0.826683 -0.205737  1.000000  0.297458
转移净收入  0.401917 -0.314542  0.297458  1.000000
# 数据规范化处理
from sklearn.preprocessing import StandardScaler
scaler = StandardScaler()
scaler.fit(X) 
X=scaler.transform(X)  
#主成分分析
from sklearn.decomposition import PCA
pca=PCA(n_components=0.95) #方差贡献率累计
pca.fit(X)
Y=pca.transform(X)
tzxl=pca.components_              
tz=pca.explained_variance_          
gxl=pca.explained_variance_ratio_   
Y00=sum(X[0,:]*tzxl[0,:])
Y01=sum(X[1,:]*tzxl[0,:])
Y02=sum(X[2,:]*tzxl[0,:])
Y03=sum(X[3,:]*tzxl[0,:])
#综合排名
F=gxl[0]*Y[:,0]+gxl[1]*Y[:,1]+gxl[2]*Y[:,2] #综合得分=各个主成分*贡献率之和
dq=list(Data['地区'].values)  #提取地区
Rs=pd.Series(F,index=dq)           #以地区作为index,综合得分为值,构建序列
Rs=Rs.sort_values(ascending=False) #按综合得分降序进行排序
print(Rs)
北京     3.038413
上海     2.582823
天津     1.446676
浙江     1.260543
江苏     0.659315
广东     0.300473
河北     0.013099
山西    -0.112498
福建    -0.162941
青海    -0.166951
宁夏    -0.167162
黑龙江   -0.175883
重庆    -0.177313
山东    -0.178765
陕西    -0.267225
江西    -0.290871
四川    -0.291196
辽宁    -0.311699
湖南    -0.319781
内蒙古   -0.338537
安徽    -0.373579
河南    -0.415474
海南    -0.492279
贵州    -0.493301
甘肃    -0.523621
湖北    -0.560027
广西    -0.599919
新疆    -0.626501
云南    -0.663495
西藏    -0.727826
吉林    -0.864497
dtype: float64

  本节内容参考Python金融数据分析与挖掘实战,黄恒秋,人民邮电出版社的内容
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

哈伦2019

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值