作业二

主成分分析

1.主成分分析是什么?

在很多组变量(维度)之中找出几组能最大还原原数据的线性不相关的变量,这些变量不一定是原来的成分,也可能是原成分中的线性组合。基本方法是数学降维。换句话说就是在降维的同时尽量减少信息的丢失。

2.主成分分析的作用

能分析大量数据,找出关键数据组,得出主要的关系,并且排除一些冗余,噪音的干扰。优点为应用广,要求低。

3.主成分分析的步骤

Step1 基本思路是寻找贡献度最高的基
Q:如何评价哪个基能更好的表示原信息?
A:通过协方差矩阵。协方差矩阵对角线上的元素表示了对应变量的重要性,越大说明变量越重要,而非对角线上的元素则能表示两个变量之间的相关程度。进而得出结论:理想的协方差矩阵应该对角线上元素越大越好,其余元素趋于0,即理想的协方差矩阵为对角阵。
Step2 协方差矩阵对角化

  1. m行n维数据转成m行n列矩阵X 计算协方差矩阵
  2. 求出特征值与特征向量
  3. 将特征向量排列成矩阵P,顺序由特征值决定,维数由用户需求决定
  4. 新的数据组为 PX

代码实现
X=[108,95,118,110;90,95,117,110;130,95,140,125;114,85,113,108;113,87,121,110];
x1=zscore(X);矩阵标准化

cov1=cov(x1);计算协方差矩阵
[m,n]=eig(cov1);计算特征值与特征向量

r=corrcoef(x1);
[a,b,c]=pcacov®;利用相关系数计算特征向量的方法,与上述方法验证,a为特征向量,b为特征值,此方法还可计算出各变量的贡献率c,最终两种方法计算出结果相同说明无误。
根据特征值大小选择主元
p=[0.4574,0.2770,0.5970,0.5980;-0.5768,0.8154,0.0171,0.0464;0.6761,0.5059,-0.4204,-0.3319];
p1=p.’;
y=X*p1计算出降维结果,将4维数据降为3维

4.局限

非线性模型(线性是主成分分析假设好的前提),不满足高斯分布或指数型分布的模型(协方差本身计算方式决定的),方差大不代表信号强的模型,数据主要分布在非正交方向上的模型。

你可能感兴趣的:(matlab)