阿里云个人怎么免费做网站,全球装修公司前十强,网站被spider重复抓取,襄汾网站建设1 主成分分析简介
主成分分析#xff08;Principal Component Analysis#xff0c;PCA#xff09;#xff0c; 将多个变量通过线性变换以选出较少个数重要变量的一种多元统计分析方法。主成分分析是由卡尔皮尔逊(Karl Pearson)于1901年发明的。通过维度约减的方式将高维度…1 主成分分析简介
主成分分析Principal Component AnalysisPCA 将多个变量通过线性变换以选出较少个数重要变量的一种多元统计分析方法。主成分分析是由卡尔·皮尔逊(Karl Pearson)于1901年发明的。通过维度约减的方式将高维度空间的数据映射到低维度空间的数据。
2 主成分分析基本原理
2.1 线性变换
主成分分析的核心思想是通过将原数据的维度进行线性变换得到一组新的数据维度主成分。这组新的数据维度称为主成分。主成分之间线性无关主成分实际构建了数据新的特征维度在该特征维度下数据的维度可能进行了压降数据的运算会变得更加容易。
有n个p维的样本构成样本矩阵 假设有一组向量数据可以通过线性表达 当选择合适的系数会构建满足条件的新的特征维度记。
记上述变换为
其中。
在构建主成分时要求之间线性无关且在时在主成分上投影的方差大于在主成分上的投影的方差。如此数据在主成分上进行了“分解”且依据数据信息量的程度将主成分进行了区分和排序。当时实现了对数据的降维操作。
这里的变换矩阵即为所求的变换矩阵。
2.2 协方差与相关系数
假设样本
则样本的均值为方差为
样本的协方差为
样本的相关系数为 若将样本标准化即为便于表达再将其分别记为。
则标准化后的的均值为0方差为1则其协方差矩阵与相关系数均为
。
在主成分中由于线性无关故的协方差和相关系数均为0。
2.3 特征值与特征向量
现在假设的分量均已按前述操作进行了标准化则的协方差矩阵为的实对称阵。
存在主成分分析对应的矩阵使得。则的协方差矩阵
由于线性无关的协方差为0上述矩阵为对角阵。 如此可以看出主成分分析的问题转化之一的要求是寻找一矩阵使得将实对称阵转化为对角阵。
根据实对称阵的相关代数知识实对称阵一定存在一组非负特征值和特征向量单位正交向量使得其中为维向量。
记则。
由于为正交矩阵从而将上式左边同时乘以得到
。
令即可找出矩阵。
其对上述特征值若将其按从大到小排列即则对应的矩阵为主成分分析所求的线性变换矩阵。
如此问题得解。
当存在特征值为0时则起到降维的效果。
2.4 主成分的贡献
主成分的贡献率衡量的是主成分的影响。
主成分的贡献率为。
主成分的累计贡献率为。
3 主成分分析算法步骤
3.1 数据标准化
将样本的每一个数据按照以下方式进行标准化其中的定义见前文。不妨将标准化后的数据仍记为。
3.2 计算协方差矩阵 3.3 求解特征值和特征向量
记特征值为特征向量为有
得到方程 ...... 1式。 该方程有非零解的充要条件为行列式。这是一个关于的齐次线性方程组求解该方程组得到并将其按从大到小排序。再将代入(1)式可求解出特征向量并将特征向量单位化。
3.4 构造主成分
若对主成分的累计贡献率有要求如选择累计贡献率95%的特征值记为对应的单位特征向量为。
记令利用线性变换得到主成分。
4 主成分分析实例
这里用sklearn中自带的PCA模型及数据进行演示。
import numpy as np
from sklearn.preprocessing import StandardScaler
from sklearn.decomposition import PCA
X np.array([[-1, -2], [-2, -1], [-3, -2], [2, 1], [2, 1], [3, 2]])
X_std StandardScaler().fit_transform(X) #数据标准化
pca PCA(n_components2)
pca.fit(X_std)
#查看特征值
print(pca.singular_values_) [3.41436763 0.58488774] #查看特征向量
print(pca.components_) [[ 0.70710678 0.70710678][ 0.70710678 -0.70710678]] 5 主成分分析总结
1主成分分析的计算步骤简单主要是求解特征值和特征向量
2主成分分析的各主成分之间正交数据运算会变得容易
3当主成分的维度小于原数据维度时可以起到降维的作用
4主成分维度可能不如原数据维度直观解释性较差
5主成分分析有一些演变的方法如核主成分分析解决非线性问题的主成分分析问题。