主成分分析法PCA

主成分分析的基本思想

假设有\(n\)个样本,\(p\)个指标,则可构成大小为\(n×p\)的样本矩阵\(x\):

主成分分析法PCA

假设我们想找到新的一组变量\(z_1,z_2,\cdots ,z_m\left( m\le p \right) \),且他们满足:

主成分分析法PCA

系数\(l_{ij}\)的确定原则:

1.\(z_i\)与\(z_j\left( i\ne j;i,j=1,2,\cdots ,m \right) \)相互无关

2.\(z_1\)是\(x_1,x_1,\cdots ,x_p\)的一切线性组合中方差最大者

3.\(z_2\)是与\(z_1\)不相关的\(x_1,x_1,\cdots ,x_p\)的所有线性相关中方差最大者

4.以此类推,\(z_m\)是与\(z_1,z_2,\cdots ,z_{m-1}\)不相关的\(x_1,x_1,\cdots ,x_p\)的所有线性相关中方差最大者

5.新变量指标\(z_1,z_2,\cdots ,z_m\)分别称为原变量指标\(x_1,x_1,\cdots ,x_p\)的第一,第二,...,第m主成分

主成分分析法计算步骤

假设有\(n\)个样本,\(p\)个指标,则可构成大小为\(n×p\)的样本矩阵\(x\):

主成分分析法PCA

1.标准化处理

按列计算均值\(\bar{x}_j=\frac{1}{n}\sum_{i=1}^n{x_{ij}}\)和标准差\(S_j=\sqrt{\frac{\sum_{i=1}^n{\left( x_{ij}-\bar{x}_j \right) ^2}}{n-1}}\),计算得标准化数据\(X_{ij}=\frac{x_{ij}-\bar{x}_j}{S_j}\),原始样本矩阵经过标准化变为:

主成分分析法PCA

2.计算标准化样本的协方差矩阵

主成分分析法PCA

上面两步可以直接计算\(x\)矩阵的相关系数矩阵

主成分分析法PCA

3.计算\(R\)的特征值和特征向量

MATLAB的eig(R)函数可以直接给计算出特征值与特征向量

4.计算主成分贡献率及累计贡献率

主成分分析法PCA

5.写出主成分

一般取累计贡献率超过80%的特征值所对应的第一,第二,...,第\(m\left( m\le p \right) \)个主成分。第\(i\)个主成分:\(F_i=a_{1i}X_1+a_{2i}X_2+\cdots +a_{pi}X_p\left( i=1,2,\cdots ,m \right) \)

6.根据系数分析主成分代表的意义

对于某个主成分而言,指标的系数越大,代表该指标对于该主成分的影响越大

7.利用主成分的结果进行后续的分析

主成分分析法适用于哪些问题

一般来说,当研究的问题涉及到多变量且变量之间存在很强的相关性时,我们可考虑使用主成分分析的方法来对数据进行简化

数据降维的意义

我们拿到的一些数据往往活存在很多字段,但是一些字段的数据对于结果是没有意义,或者意义极小,但是在做机器学习的过程中也会参与计算,对我们最终分析结果造成不利影响,我们要根据实际情况,把数据进行降维,使得计算过程更轻便。

发表评论 取消回复
表情 图片 链接 代码

分享