1、主成分分析的概念
主成分分析(Principle Component Analysis,PCA)是将多个指标化为少数几个综合指标的一种统计分析方法,是一种降维的方式 将多个变量转化为几个少数主成分的方法。
2、主成分的直观解释
就是将原来许多具有关联性的指标,重新处理数据,形成一组新的相互无关的综合指标来代替原有指标,数学处理过程就是将原来p个指标做线性组合,作为新指标。见图1,x1与x2之间是具有相关性的,将y1与x1之间的夹角为Θ,将y1与x1的相关性转换为y2与x2的相关性,采用数学处理方法进行处理,如:
y1=cosΘx1 sinΘx2
y2=-sinΘx1 cosΘx2
图1 主成分分析的几何解释
R语言的运用
假设x1和x2分别表示一个班级的男女的身高体重,做相关图以显示变量间的关系
>x1=c(147,171,175,159,155,152,158,154,164,168,166,159,164,177)
>x2=c(32,57,64,41,38,35,44,41,54,57,49,47,46,63)
> cor(x1,x2) #这个表示求x1与x2的是相关系数
[1] 0.9672073
>plot(x1,x2,xlim=c(145,180),ylim=c(25,75)) #这一步是绘制x1与x2的关联图,非常类似于excel的散点图
图2 相关变量的关联图
> lines(c(146,178),c(30,66),lwd=2)
> lines(c(163,166),c(54,74))
> library(shape)
>lines(getellipse(24,3,mid=c(162,48),angel=48),lty=3)
图3 主成分分析的直观解释图
图3,作为主成分分析的直观解释图,可以看出长且粗的线段,相当于数量处理中的y1,短且细的线段,相当于数量关系中的y2,图中很明了的可以看出,大多数点与聚集在y1附近,少量的点聚集在y2附近,从数学的角度,可以直观的判断y1的方差是大于y2的方差的。
3、主成分分析的目的
根据主成分分析的概念,我们可以了解到主成分分析的目的无非是想把难的问题简单化,用较少的变量去解释原数据中的大部分变异(此处变异可以理解为方差),期望能够将相关性很高的多数变量转化成互相独立的变量,并解释大部分资料之变异的几个主成分。
在数学上主要用协方差S表示,而在统计学上用相关性R表示,在R语言中函数调用和处理如下:
> x=data.frame(x1,x2)
> S=cov(x) #协方差矩阵
> S
x1 x2
x1 77.45604 85.86813
x2 85.86813 101.75824
> R=cor(x) #相关系数阵
> R
x1 x2
x1 1.0000000 0.9672073
x2 0.9672073 1.0000000
4、主成分分析的数学表达解释
主成分分析的成分yi和原来变量xi之间的关系:
y1=μ11x1 μ12x2 ……μ1pxp= μ’1x
y2=μ21x1 μ22x2 ……μ2pxp=μ’2x
……
yp=μp1x1 μp2x2 ……μppxp= μ’px
其中y1、y2、yp分别表示第1主成分、第2主成分、第p主成分,μij表示为第i个主成分yi第j个变量xj之间的线性系数。
5、数学表达式的推导
关于数学表达式的推导,听说很简单,尽管是理科生背景的我,还是觉得不容易。
假设y1=a1x1 a2x2 ……apxp= a’x,说白了,求各个主成分,无非就是寻找线性函数,使相应的方差达到最大。也就是Var(a’x)=a’ Σa。
备注:以上学习笔记通过自学整理暨南大学《多元统计分析及R语言建模》王斌会教授的教学资料。