主成分分析是把多个变量进行数学降维组成新的彼此互不相干的代表性变量,但能代表原始变量的大部分信息。数学上采用的方法为将原来的变量做线性组合,选取方差最大的第一主成分记作F1,若F1无法代表全部的原始信息,再选取F2,以此类推。
x = ( x 1 , x 2 , . . . , x p ) x=(x_1,x_2,...,x_p) x=(x1,x2,...,xp)
x j = ( x 1 j , x 2 j , . . . , x n j ) , j = 1 , 2 , . . . , p x_j=(x_{1j},x_{2j},...,x_{nj}),j=1,2,...,p xj=(x1j,x2j,...,xnj),j=1,2,...,p
把p个变量,变成新的p个变量
F j = a j 1 ∗ x 1 + a j 2 ∗ x 2 + . . . + a j p ∗ x p , j = 1 , 2 , . . . , p F_j=a_{j1}*x_1+a_{j2}*x_2+...+a_{jp}*x_p,j=1,2,...,p Fj=aj1∗x1+aj2∗x2+...+ajp∗xp,j=1,2,...,p
满足条件:
F i , F j F_i,F_j Fi,Fj互不相干, i ≠ j , j = 1 , 2 , . . . , p i≠j,j=1,2,...,p i=j,j=1,2,...,p
step1:对原始数据进行标准化处理
x i j ∗ = x i j − x j ^ v a r ( x j ) , i = 1 , 2 , . . . , n , j = 1 , 2 , . . . , p x_{ij}^*=\frac{x_{ij}-\hat{x_j}}{\sqrt{var(x_j)}},i=1,2,...,n ,j=1,2,...,p xij∗=var(xj)xij−xj^,i=1,2,...,n,j=1,2,...,p其中, x j ^ = 1 n ∑ i − 1 n x i j \hat{x_j}=\frac{1}{n}\sum_{i-1}^nx_{ij} xj^=n1∑i−1nxij, v a r ( x j ) = 1 n − 1 ∑ i − 1 n ( x i j − x j ^ ) 2 var(x_j)=\frac{1}{n-1}\sum_{i-1}^{n}(x_{ij}-\hat{x_j})^2 var(xj)=n−11∑i−1n(xij−xj^)2
step2:计算样本相关系数矩阵
R = ( r 11 r 12 ⋯ r 1 p r 21 r 22 ⋯ r 2 p ⋮ ⋮ ⋱ ⋮ r n 1 r n 2 ⋯ r n p ) ⇒ r i j = 1 n − 1 ∑ t − 1 n x t i x t j R=\begin{pmatrix} r_{11}& r_{12} & \cdots & r_{1p}\\ r_{21} & r_{22} & \cdots & r_{2p} \\ \vdots & \vdots & \ddots & \vdots \\ r_{n1}& r_{n2} & \cdots & r_{np} \\ \end{pmatrix} \Rightarrow r_{ij}=\frac{1}{n-1}\sum_{t-1}^nx_{ti}x_{tj} R=⎝⎜⎜⎜⎛r11r21⋮rn1r12r22⋮rn2⋯⋯⋱⋯r1pr2p⋮rnp⎠⎟⎟⎟⎞⇒rij=n−11t−1∑nxtixtj
step3:计算相关系数矩阵的特征值和特征向量
step4:选择主成分
选择标准为 贡 献 率 = λ i ∑ i − 1 p > 85 % 贡献率=\frac{λ_i}{\sum_{i-1}^p}>85\% 贡献率=∑i−1pλi>85%
stdr=std(x); %求各变量的标准差
[n,m]=size(x); %矩阵的行与列
sddata=x./stdr(ones(n,1),:); %标准化变换
[p,princ,egenvalue]=princomp(sddata); %调用主成分
p=p(:,1:3); %输出前3主成分系数
sc=princ(:,1:3); %前3主成分量
egenvalue; %相关系数矩阵的特征值,即各主成分所占比例per=100*egenvalue/sum(egenvalue); %各个主成分所占百分比