美文网首页
PCA(主成分分析) 一

PCA(主成分分析) 一

作者: 五秋木 | 来源:发表于2017-11-07 12:03 被阅读0次

    引用自:
    1. http://blog.jobbole.com/86905/
    2. 应用统计学与R语言实现学习笔记(十二)——主成分分析
    3. 主成分分析入门

    1. 主成分分析基本思想

    研究一个问题,必须考虑许多指标,这些指标能从不同的侧面反映我们所研究的对象的特征,但在某种程度上存在信息的重叠,具有一定的相关性。这种信息的重叠有时甚至会抹杀事物的真正特征与内在规律。

    主成分分析是利用降维的思想, 在力求数据信息丢失最少的原则下,对高维的变量空间降维,即在众多变量中找出少数几个综合指标(原始变量的线性组合),并且这几个综合指标将尽可能多地保留原来指标变异方面的信息,且这些综合指标互不相关。这些综合指标就称为主成分。主成分的数目少于原始变量的数目。

    主成分分析是一种数学变换方法,它把给定的一组变量通过线性变换转换为一组不相关的变量。在这种变换中,保持变量的总方差不变,同时,使第一主成分具有最大方差,第二主成分具有次大方差,依此类推。

    主成分与原始变量间的关系
    (1)每一个主成分是原始变量的线性组合。
    (2)主成分的数目少于原始变量的数目。
    (3)主成分保留了原始变量的大多数变异信息。
    (4)各主成分间互不相关。

    2. 几何解释

    假定只有二维,即只有两个变量,由横坐标和纵坐标所代表;每个观测值都有相应于这两个坐标轴的坐标值。如果这些数据形成一个椭圆形状的点阵(这在二维正态的假定下是可能的)该椭圆有一个长轴和一个短轴。在短轴方向上数据变化较少。在极端的情况,短轴如退化成一点,长轴的方向可以完全解释这些点的变化,由二维到一维的降维就自然完成了。

    1.gif

    由图可以看出这些样本点无论是沿着xl轴方向或x2轴方向都具有较大的离散性,其离散的程度可以分别用观测变量xl的方差和x2的方差定量地表示。显然,如果只考虑x1和x2中的任何一个,那么包含在原始数据中的经济信息将会有较大的损失。

    当坐标轴和椭圆的长短轴平行,那么代表长轴的变量就描述了数据的主要变化,而代表短轴的变量就描述了数据的次要变化。但是,坐标轴通常并不和椭圆的长短轴平行。因此,需要寻找椭圆的长短轴,并进行变换,使得新变量和椭圆的长短轴平行。如果长轴变量代表了数据包含的大部分信息,就用该变量代替原先的两个变量(舍去次要的一维),降维就完成了。椭圆的长短轴相差得越大,降维也越有道理。

    3. 数学模型

    1. 二维情况

    将xl轴和x2轴先平移,再同时按逆时针方向旋转θθ角度,得到新坐标轴Fl和F2。Fl和F2是两个新变量。根据旋转变换的公式:

    2.png

    旋转变换的目的是为了使得n个样品点在F1轴方向上的离散程度最大,即F1的方差最大。变量Fl代表了原始数据的绝大部分信息,在研究某经济问题时,即使不考虑变量F2也无损大局。经过上述旋转变换原始数据的大部分信息集中到Fl轴上,对数据中包含的信息起到了浓缩作用。

    F1, F2除了可以对包含在Xl,X2中的信息起着浓缩作用之外,还具有不相关的性质,这就使得在研究复杂的问题时避免了信息重叠所带来的虚假性。二维平面上的个点的方差大部分都归结在F1轴上,而F2轴上的方差很小。 F1和F2称为原始变量x1和x2的综合变量。

    2. 多维情况

    X1 X2 ... Xp共计p个变量,现在将这p个变量线性组合组成新的变量F1 F2 ... Fk ,其中k<p。按照保留主要信息量的原则充分反映原指标的信息,并且相互独立。

    由讨论多个指标降为少数几个综合指标的过程在数学上就叫做降维。主成分分析通常的做法是,寻求原指标的线性组合Fi。

    3 4

    4. 主成分的推导

    第一主成分


    4

    第二主成分


    5

    5. 主成分性质

    1. 方差为所有特征根之和:
    6

    说明主成分分析把p个随机变量的总方差分解成为p个不相关的随机变量的方差之和。协方差矩阵ΣΣ的对角线上的元素之和等于特征根之和。

    1. 精度分析
      1)贡献率:第i个主成分的方差在全部方差中所占比重lambda(i)/sum(lambda(i)),称为贡献率,体现这个主成分的综合能力的大小,即反映原来p个指标的信息的多少。
      2)累积贡献率:前k个主成分共有多大的综合能力,用这个k个主成分的方差和在全部方差中所占比重
      [lambda(1)+lambda(2)+...+lambda(k)]/sum(lambda(i))
      来描述,称为累积贡献率。
      我们进行主成分分析的目的之一是希望用尽可能少的主成分F1,F2,⋯,Fk(k≤p)F1,F2,⋯,Fk(k≤p)代替原来的p个指标。到底应该选择多少个主成分,在实际工作中,所采用主成分个数的多少取决于能够反映原来变量85%以上的信息量为依据,即当累积贡献率≥85%时的主成分的个数就足够了。最常见的情况是主成分为2到3个。

    6. 计算实例

    data:10*2
    10个样例,每个样例有2个特征:降维
    第一步:分别求 x 和 y 的平均值,然后对所有的样例都减去对应的均值
    这里求得 x 的均值为 1.81 , y 的均值为 1.91,减去均值后得到数据如下:
    中心化后数据
    第二步:在对特征进行方差归一化,目的是让每个特征的权重都一样,但是由于我们的数据的值都比较接近,所以归一化这步可以忽略不做
    公式列表
    第三步:计算协方差矩阵,计算协方差矩阵的特征值和特征向量



    第四步:将特征值从大到小进行排序,选择其中最大的 k 个,然后将其对应的 k 个特征向量分别作为列向量组成特征矩阵
    这里的特征值只有两个,我们选择最大的那个,为: 1.28402771 ,其对应的特征向量为:

    注意:matlab 的 eig 函数求解协方差矩阵的时候,返回的特征值是一个特征值分布在对角线的对角矩阵,第 i 个特征值对应于第 i 列的特征向量
    第五步: 将样本点投影到选取的特征向量上
    假设样本列数为 m ,特征数为 n ,减去均值后的样本矩阵为 DataAdjust(mn),协方差矩阵为 nn ,选取 k 个特征向量组成后的矩阵为 EigenVectors(nk),则投影后的数据 FinalData 为:
    FinalData (m
    k) = DataAdjust(mn) X EigenVectors(nk)
    得到的结果是:

    这样,我们就将 n 维特征降成了 k 维,这 k 维就是原始特征在 k 维上的投影。

    相关文章

      网友评论

          本文标题:PCA(主成分分析) 一

          本文链接:https://www.haomeiwen.com/subject/dwodmxtx.html