主成分分析

1 主要思想和方法

  • 主要就是通过提取主要因素对综合指标进行降维

如果\(x_{1}, x_{2}, \cdots, x_{p}\)表示\(p\)门课,\(c_{1}, c_{2}, \cdots, c_{p}\)表示各门课的权重,那么加权和为

\[s=c_{1} x_{1}+c_{2} x_{2}+\cdots+c_{p} x_{p} \]

求和是的权重,使得加权和能够表示总成绩,\(X_{1}, X_{2}, \cdots, X_{p}\)为课程的样本观测值的随机变量,找到一组\(c_{1}, c_{2}, \cdots, c_{p}\)使得

\[\operatorname{Var}\left(c_{1} X_{1}+c_{2} X_{2}+\cdots+c_{p} X_{p}\right) \]

值最大,通常需要加上一些约束即

\[c_{1}^{2}+c_{2}^{2}+\cdots+c_{p}^{2}=1 \]

得到的即为\(p\)维空间的一个向量,为主成分方向,通常需要多个主成分,即找到两两正交的多个向量
\(Z_{i}\)表示第\(i\)个主成分的方向,则主成分为

\[\left\{\begin{aligned} Z_{1} &=c_{11} X_{1}+c_{12} X_{2}+\cdots+c_{1 p} X_{p} \\ Z_{2} &=c_{21} X_{1}+c_{22} X_{2}+\cdots+c_{2 p} X_{p} \\ \dots \\ Z_{p} &=c_{p 1} X_{1}+c_{p 2} X_{2}+\cdots+c_{p p} X_{p} \end{aligned}\right. \]

2 主成分个数的确定

  • 主成分分析的结果受量纲的影响,需要先将数据进行标准化处理,然后使用协方差矩阵或相关系数矩阵进行分析
  • 主成分分析的目的是降维,减少变量的个数,一般选取的主成分为5个到6个左右,只要他们能解释变异的\(70\%\sim 80\%\)(累计变异率)即可

3 特征值因子的选取

假设有\(p\)个指标变量\(x_{1}, x_{2}, \cdots, x_{p}\)\(n\)个评价对象,第\(i\)个评价对象的第\(j\)个指标的取值为\(a_{i j}\),在试验中的取值分别为\(a_{i 1}, a_{i 2}, \cdots, a_{i p}, i=1,2, \cdots, n\)
矩阵形式为:

\[\boldsymbol{A}=\left[\begin{array}{cccc}a_{11} & a_{12} & \cdots & a_{1 p} \\ a_{21} & a_{22} & \cdots & a_{2 p} \\ \vdots & \vdots & \ddots & \vdots \\ a_{n 1} & a_{n 2} & \cdots & a_{n p}\end{array}\right] \]

矩阵\(A\)称为设计阵,权重即矩阵\(\boldsymbol{A}^{\mathrm{T}} \boldsymbol{A}\)的特征向量,将特征值从大到小排序后去除掉后\(15\%\),即剩下的累计贡献率超过\(85\%\)
数据标准化后

\[\tilde{x}_{i}=\frac{\left(x_{i}-\mu_{i}\right)}{\sigma_{i}} \]

得到的数据标准化矩阵为\(\widetilde{\boldsymbol{A}}\),相关系数矩阵为

\[\boldsymbol{R}=\frac{\widetilde{\boldsymbol{A}}^{\mathrm{T}} \widetilde{\boldsymbol{A}} }{(n-1)} \]

故只计算其特征值和特征向量即可,
单纯考虑累计贡献率有时不够,还需要考虑主成分对原始变量的贡献值,用相关系数的平方和表示,选取主成分\(z_{1}, z_{2}, \cdots, z_{r}\),它的累计贡献率为$$\rho_{i}=\sum_{j=1}^{r} r^{2}\left(z_{j}, x_{i}\right)$$
其中\(r\left(z_{j}, x_{i}\right)\)\(z_{j}\)\(x_{i}\)的相关系数

4 使用步骤

4.1 数据标准化处理

使用zscore函数直接对其求解即可,假设指标变量有\(m\)个,分别为\(x_{1}, x_{2}, \cdots, x_{m}\),\(n\)个评价对象,第\(i\)个评价对象的第\(j\)个指标的取值为\(a_{i j}\),将各指标转化为标准化指标

\[\tilde{a}_{i j}=\frac{a_{i j}-\mu_{j}}{s_{j}} \]

其中\(\mu_{j}=\frac{1}{n} \sum_{i=1}^{n} a_{i j}\)代表均值,\(s_{j}=\sqrt{\frac{1}{n-1} \sum_{i=1}^{n}\left(a_{i j}-\mu_{j}\right)^{2}, j}=1,2, \cdots, m\)代表标准差

\[\tilde{x}_{j}=\frac{x_{j}-\mu_{j}}{s_{j}}, j=1,2, \cdots, m \]

为标准化指标变量

4.2 计算相关系数矩阵

相关系数矩阵\(R=\left(r_{i j}\right)_{m \times m}\),有

\[r_{i j}=\frac{\sum_{k=1}^{n} \tilde{a}_{k i} \cdot \tilde{a}_{k j}}{n-1}, i, j=1,2, \cdots, m \]

其中\(r_{i i}=1,r_{i j}=r_{j i},r_{i j}\)为第\(i\)个指标和第\(j\)个指标的相关系数

4.3 计算特征值和特征向量

计算相关系数矩阵\(R\)的特征值\(\lambda_{1} \geqslant \lambda_{2} \geqslant \cdots \geqslant \lambda_{m} \geqslant 0\)及对应的特征向量\(u_{1}, u_{2}, \cdots, u_{m}\)\(u_{j}=\left[u_{1 j}, u_{2 j}, \cdots, u_{m j}\right]^{\mathrm{T}}\)
由特征向量组成\(m\)个新的指标变量

\[y_{1}=u_{11} \bar{x}_{1}+u_{21} \bar{x}_{2}+\cdots+u_{m 1} \bar{x}_{m} \\ y_{2}=u_{12} \bar{x}_{1}+u_{22} \bar{x}_{2}+\cdots+u_{m 2} \bar{x}_{m} \\ \dots \\ y_{m}=u_{1 m} \bar{x}_{1}+u_{2 m} \bar{x}_{2}+\cdots+u_{m m} \bar{x}_{m} \]

其中\(y_{1}\)为第一主成分,......,\(y_{m}\)为第m主成分

4.4 选择主成分,计算综合评价值

计算特征值\(\lambda_{j}(j=1,2, \cdots, m)\)的信息贡献率和累计贡献率,称

\[b_{j}=\frac{\lambda_{j}}{\sum_{k=1}^{m} \lambda_{k}}, j=1,2, \cdots, m \]

为主成分\(y_{j}\)的信息贡献率,同时有

\[\alpha_{p}=\frac{\sum_{k=1}^{p} \lambda_{k}}{\sum_{k=1}^{m} \lambda_{k}} \]

为主成分\(y_{1}、y_{2}、\dots、y_{p}\)的累计贡献率,当\(\alpha_{p} > 85\%\)时选前\(p\)个指标代替所有指标
最后计算综合得分\(Z=\sum_{j=1}^{p} b_{j} y_{j}\)

5 高等教育发展水平综合评价

clc,clear
load gj.txt   %读取设计阵


gj=zscore(gj); %数据标准化
r=corrcoef(gj)  %计算相关系数矩阵


%下面利用相关系数矩阵进行主成分分析,vec1的列为r的特征向量,即主成分的系数
[vec1,lamda,rate] = pcacov(r);  %lamda为r的特征值,rate为各个主成分的贡献率


contr = cumsum(rate)  %计算累积贡献率
f = repmat(sign(sum(vec1)),size(vec1,1),1); %构造与vec1同维数的元素为±1的矩阵


vec2 = vec1.*f  %修改特征向量的正负号,使得每个特征向量的分量和为正
num = 4;  %num为选取的主成分的个数


df = gj * vec2(:,1:num);  %计算各个主成分的得分
tf = df * rate(1:num)/100; %计算综合得分
[stf,ind] = sort(tf,'descend');  %把得分按照从高到低的次序排列
stf = stf', ind = ind'

posted @ 2020-08-16 22:23  Hyx'  阅读(407)  评论(0)    收藏  举报