0%

数据挖掘方法之一:主成份分析

一 概念

主成分分析(principle componentsanalysis,PCA)是指将多个变量通过线性组合,选出较少个数的重要变量集合来描述相关结构的额一种统计分析方法,这些线性组合被称为“成分”。由m个变量组成的数据集的总变异,可以由k个线性组合变量组成的子集来标示(k<m)。这意味着k个变量与原来的变量反应了几乎同样多的信息

二 步骤

  1. 原始指标数据的标准化采集p维随机向量

$$x = (x_1,x_2,…x_p)^T$$

$n$个样本
$x_i= (x_{i1},x_{i2},x_{i3},…x_{ip})^T,i=1,2..n, n>p$

构造样本阵,对样本元素进行如下标准化变换

$$Z_{ij}=\frac{x_{ij}-\bar x_j}{s_J},i =1,2,..\pi, j =1,2,…p$$

其中$$\bar x_j =\frac{\sum^n_{i-1}x_{ij}}{n},s^2_j=\frac{\sum^n_{i-1}(x_{ij}-\bar x_j)^2}{n-1}$$

得标准化矩阵Z。

  1. 对标准化矩阵Z求相关系数矩阵

    $$R = [r_{ij}] xp =\frac{Z^TZ}{n-1}其中r_{ij}=\frac{\sum z_{kj}\cdot z_{kj}}{n-1}, i,j = 1,2…p$$

  2. 求解样本相关矩阵R的特征方程

    $R-\lambda I_p =0$ 得 $p$ 个特征根,按
    $$\frac{sum^m_{j-1}\lambda j}{\sum^p{j-1}\lambda _j}\geq 0.85
    确定n的值,使信息的利用率达85%以上。对每个 $\lambda_j,i=1,2,..m$ 解方程组$R_b= \lambda_jb$得单位特征向量$b^0_j$$

  3. 将标准化后的指标变量转换成主成分。

    $U_{ij}=z^Tb^0_j,j=1,2,…m$

    $U_1$称为第一主成分,$U_2$称为第二主成分,$U_3$称为第三主成分,…

    对n个主成份进行综合评价。对n个主成份进行加权求和,即得最终评价值,权数为每个主成份的方差贡献率。

三 关键性结论

以下结论对主成份分析非常重要

结论1:标准化数据集州农工的总体变动性等于所有Z向量方差之和,等于每个成分方差之和,等于特征权值之和,等于变量的个数。即
$$
\sum^m_{i-1}Var(Y_i)=\sum^m_{i-1}Var(Z_i)=\sum^m_{i-1}\lambda _i=m
$$

结论2:给定成分与给定变量间的偏相关性是特征向量与特征值的函数。

具体来说
$$Corr(Y_i,Z_i)=e_{ii}\sqrt\lambda _i,i,j=1,2,..m,\lambda _1\gt\lambda _2\geq\lambda _3…\geq\lambda _m$$
其中 $(\lambda _1,e_1),(\lambda _2,e_2),(\lambda _3,e_3),..(\lambda _m,e_m)$
是相关系数矩阵p的特征值-特征向量对,并且偏相关系数包括了所有变量之间的影响。

结论3:Z中第i个主成份解释了变量的总体变异的百分比,等于第i个特征根与变量个数之间的比率 $\frac{\lambda _i}{m}$

四 应用于实际数据

字段 类型 最小值 最大值 均值 标准差
房屋价值中位数 Range 14999 500001 206918.067 115485.040
收入中位数 Range 0.500 15.000 3.873 1.906
平均房龄中位数 Range 1 52 28.656 12.582
总房间数 Range 2 37937 2621.653 2131.644
总卧室数 Range 1 6445 535.096 413.541
人口数 Range 3 35682 1418.971 1122.534
家庭数 Range 1 6082 479.332 377.378
北纬 Range 32.540 41.950 35.630 2.137
西经 Range -124.350 -114.310 -119.567 2.003

1.使用上图的均值和标准差对变量进行标准化,得到Z向量。
2.研究下图中变量矩阵图以检验变量间是否存在相关性。
可以看到 总房数、卧室数、人口数和家庭数之间表现出正相关性,西经和北纬表现出负相关性。再来观察变量的相关性矩阵:

平均收入 平均房龄 总房数 总卧室数 人口数 家庭数 北纬 西经
平均收入 1.000 -0.117 0.199 -0.012 0.002 0.010 -0.083 -0.012
平均房龄 -0.117 1.000 -0.360 -0.318 -0.292 -0.300 0.011 -0.107
总房数 0.199 -0.360 1.000 0.928 0.856 0.919 -0.035 0.041
总卧室数 -0.012 -0.318 0.928 1.000 0.878 0.981 -0.064 0.064
人口数 0.002 -0.292 0.856 0.878 1.000 0.907 -0.107 0.097
家庭数 0.010 -0.300 0.919 0.981 0.907 1.000 -0.069 0.051
北纬 -0.083 0.011 -0.035 -0.064 -0.107 -0.069 1.000 -0.925
西经 -0.012 -0.107 0.041 0.064 0.097 0.051 -0.925 1.000

矩阵图和相关矩阵式常用的两种方法,用来观察预测变量之间的相关性结构。
如果完成一次住房价预测的多元回归分析,但不考虑数据集中的多重共线性将导致回归结果非常不稳定,预测值的微小变化将会导致回归系数的极大变化,而得不到任何结论。此时需要用主成分分析,其可以通过相关化结构,确定相关变量的基本组成部分
3. 采用主成分分析对房屋数据集进行分析,该要素矩阵(下图)中每个栏目代表成分Yi=e’Z中的一项。栏目中元素为成分的权重,代表了变量与成分的偏相关。结论2 表明这些成分的权重等于Corr(Yi,Zi),成分涉及第i个特征向量和特征值

1 2 3 4 5 6 7 8
平均收入 0.086 -0.058 0.922 0.370 -0.02 -0.018 0.037 -0.004
平均房龄 -0.429 0.025 -0.407 0.806 0.014 0.026 0.009 -0.001
总房数 0.956 0.100 0.102 0.104 0.120 0.162 -0.119 0.015
总卧室数 0.970 0.083 -0.121 0.056 0.144 -0.068 0.051 -0.083
人口数 0.933 0.034 -0.121 0.076 -0.327 0.034 0.006 -0.015
家庭数 0.972 0.086 -0.113 0.087 0.058 -0.112 0.061 0.083
北纬 -0.140 0.970 0.017 -0.088 0.017 0.132 0.113 0.005
西经 0.144 -0.969 -0.062 -0.063 0.037 0.136 0.109 0.007
  1. 结论3表明,Z的总变异种第i个主成分所占的比例是ri/m(其中ri是特征值),即第i个特征值与变量数的比例。由下图可以看出,第一特征值是 3.091,因为有8个预测变量,第一主成分解释 $\frac{3.091}{8}=48.767$ 的变异。
成分 合计 变化百分比 累计百分比%
1 3.901 48.767 48.767
2 1.910 23.881 72.648
3 1.073 13.409 86.057
4 0.825 10.311 96.368
5 0.148 1.847 98.215
6 0.082 1.020 99.235
7 0.047 0.586 99.821
8 0.014 0.179 100.00