主成分分析法

主成分分析法

该方法可以用来数据降维,把很多的评价指标减少为几个主要的评价指标,即主成分,同样这个方法也可以用来求权重

主要步骤

设有m个评价对象和n个评价指标

  1. 对原始数据进行标准化处理

[a_{ij}^{'}=frac{a_{ij}-mu _j}{s_j} (i是评价对象,j是评价指标) ]

式中:μ是样本均值,s是样本标准差

  1. 计算相关系数矩阵R

[r_{ij}=frac{sum_{k=1}^{m}a_{ki}^{'}*a_{kj}^{'}}{m-1}(i,j=1,2,...,n) ]

k i是第k个评价对象的第i个指标,k j是第k个评价对象的第j个指标,求和是为了计算所有k个评价对象的第i个指标,第j个指标的关系

r为第i个指标和第j个指标的总相关系数,与评价对象无关,只是评价指标间的相互关系,最后得到R为一个n*n的矩阵

  1. 计算特征值和特征向量

计算出R的特征值λ1>λ2>λ3>...λn>0,和对应的特征向量u1,u2,...,un,那么构成n个新的指标向量

[y_i=u_{1i}*x_1+u_{2i}*x_2+...+u_{ni}*x_n(i=1,2,..,n) ]

其中

[x_i=(a_{i1}^{'},a_{i2}^{'},...,a_{in}^{'})(即标准化后的原指标向量) ]

[称y_1为第1主成分,y_2为第2主成分,y_3为第3主成分,...,y_n为第n出主成分 ]

  1. 对p(p<=n)个主成分,计算综合评价值

a. 计算特征值λ的信息贡献率和累积贡献率

[称b_j=frac{lambda _j}{sum_{k=1}^{n} lambda_k}为主成分y_i的信息贡献率 ]

[称alpha_p=frac{sum_{k=1}^{p} lambda_k}{sum_{k=1}^{n}lambda_k}为主成分y_1...y_p的累积贡献率 ]

实际上就是对特征值λ的归一化过程,将其都约束在0,1范围内
当累积贡献率接近1(达到0.85以上),就可以选择这前p个主成分来代替原来的n个指标变量,从而可以对这p个主成分进行总和分析

b. 计算综合得分:

[Z=sum_{j=1}^{p}b_j*y_j ]

b为第j个主成分的信息贡献率,y为第j个主成分
就是以各个主成分的贡献率b为权重对各个主成分进行加权求和
而各个主成分其实就是以特征值λ为权重对各个标准化指标向量求和

原文地址:https://www.cnblogs.com/QSun77/p/14156979.html