zoukankan      html  css  js  c++  java
  • 主成分分析法(PCA)

    主成分分析(Principal Component Analysis, PCA),将多个变量通过线性变换以选出较少个数重要变量的一种多元统计分析方法。

    在实际生活中,为了全面的分析问题,往往提出很多相关的变量因素,因为每个变量都在不同程度上反映了这个课题的某些信息。

    指标/变量:在实证问题研究中,为了全面、系统地分析问题,我们必须考虑众多影响因素。这些涉及的因素一般称作指标,在多元统计分析中也称为变量。

    主成分:由原始指标综合形成的几个新指标。依据主成分所含信息量大小成为第一主成分,第二主成分等;

    主成分与原始变量之间的关系:

      1. 主成分保留了原始变量的绝大多数信息;

      2. 主成分的个数大大少于原始变量的数目(变量太多会增加计算量和分析问题的复杂性);

      3. 各主成分之间互不相关;

      4. 每个主成分都是原始变量的线性组合;

    简单来说,主成分分析类似于降维,就是使用一定的方法把原来的 m 个变量线性拟合为 n 个新的综合指标(m<=n);

    一个讲的很好的博客:https://www.matongxue.com/madocs/1025/


    PCA核心思想:1. 降维(合并重复信息,但不损失重要信息);

           2. 得到新的综合指标;

           即对于一个群体,找到使这个群体之间的个体区分度最大的维度;(就是旋转坐标轴了~)

    对于新的综合指标:1. 是原指标的线性组合;

             2. 新指标之间的信息不重合 → 互不相关,即协方差=0;

             3. 按“重要性”排序 → “重要性/信息量”通过方差衡量;

    1. 线性组合 Z = aY(我用加粗表示这个变量是向量),那么求Z就是求a;

    根据线性代数知识,得知要使方差aTΣa(方差公式)最大,就要求协方差矩阵Σ的特征值特征向量;特征向量e即为所求a,对应特征值λ即为方差值;

    2. 协方差矩阵为对称矩阵,对称矩阵的特征向量之间互相正交,故协方差=0;

    3. 方差 s2=1/(n-1) * Σ(xi-x)2,至于为什么分母是n-1而不是n,看这个 https://www.matongxue.com/madocs/607

    除了这些基本的,还要避免量纲的影响,也就是解决数据单位不统一的问题,所以就要归一化了;

    归一化就是把坐标原点平移到x,y平均值的那个中心点(中心化,方便计算方差和协方差),再对两个坐标轴按比例缩放(统一量纲了);

    对所有样本点作变化 xi=(xi-x)/标准差,标准差就是方差开平方根。


    如上可知主成分分析的方法必须事先知道数据,所以只适用于static任务;

    变形?等我找到了再更新吧

  • 相关阅读:
    Python
    Python
    Python
    Python
    Python
    《The Rise and Fall of Scala》scala的兴衰
    Scala核心编程_第05章_函数式编程
    IntelliJ IDEA scala的源码设置
    Scala核心编程_第04章 程序流程控制
    Scala核心编程_第03章_运算符
  • 原文地址:https://www.cnblogs.com/liubilan/p/13936700.html
Copyright © 2011-2022 走看看