SAS主成分分析

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

SAS主成分分析

分类:数据之美2013-07-28 20:18 2343人阅读评论(0) 收藏举报

目录(?)[-]

1. 主成分分析流程

2. SAS主成分分析示例

3. SAS主成分分析输出结果详解

4. 特征值和特征向量隐藏的秘密

5. 总结

6. 参考文献

同事讲主成分分析,举了这么个例子:就像你选女人,有身材、相貌两个指标,如果身材、相貌都很突出,那当然很好选择;但如果两个女人,一个身材突出,一个相貌出众,看着都很喜欢,那可如何是好!这个时候通过主成分分析,汇总出一个指标,这个指标可以一定程度上代替原来的身材、相貌,这时就可以排序做出选择了。

这例子当然有很多缺陷,但至少指出了主成分分析的目的之一:减少决策变量数,也就是降维。主成分分析的另一个目的是防范多重共线性。实际问题往往涉及很多变量,但某些变量之间会有一定的相关性,我们希望构造较少的几个互不相关的新指标来代替原始变量,去除多重共线性,减少所需分析的变量,同时尽可能减少这一过程的信息损失。主成分分析正是基于这样的目的而产生的有效方法。

主成分分析流程

主成分分析包含以下流程:

1、原始数据标准化。

2、计算标准化变量间的相关系数矩阵。

3、计算相关系数矩阵的特征值和特征向量。

4、计算主成分变量值。

5、统计结果分析,提取所需的主成分。

SAS主成分分析示例

我们从实战入手,先来个简单的例子,完整体验使用SAS进行主成分分析的过程。准备好图1所示的数据集,该数据集包含5个变量和22个观测。其中变量num用于标识每条观测。

图1

可以直接复制下面的程序完成输入:

data Practice.PCA_Demo;

input num var1 var2 var3 var4;

cards;

1 21 10.7 99.7 9.5

2 9.5 17.9 139.6 18.7

3 21.2 8.

4 90 6.8

4 12 22.7 42.

5 24.1

5 6.8 21.2 55.2 22.4

6 8.2 22.4 55.6 22.6

7 3.6 29.2 68.3 26.7

8 19.5 15.2 18.8 17.4

9 24.8 5.4 43.7 2.9

10 8.4 18.6 146.2 19.7

11 28.9 4.4 4.9 1.1

12 19.5 15.1 10.2 18.5

13 28.3 4.7 13.3 1.8

14 24.7 12.1 116.8 12.6

15 12.8 23.6 90 23.7

16 23.1 6.8 100.1 3.7

17 15.1 13.7 100.9 14.2

18 2.9 6.2 80.7 2.7

19 18.4 11.8 99.3 13.8

20 22.9 12.3 47.6 13.3

21 5.8 29.4 83.5 27.6

22 18.8 8.6 61.1 8.9

;

run;

我们的目的是,化简var1-var4四个变量,找出可以替代这四个变量的若干个彼此独立的新变量,也就是找出主成分。主成分分析代码如下:proc princomp

data= Practice.PCA_Demo

out= Work.PCA_Demo_out

prefix= comp

outstat= Work.PCA_Demo_stat

;

var var1 var2 var3 var4;

run;

这段代码翻译过来的意思是:对源数据Practice.PCA_Demo的四个变量var1、var2、var3和var4(以下简称原始变量)做主成分分析,输出结果(包含源数据的所有变量及新增的主成分变量)放在

Work.PCA_Demo_out数据集,主成分变量名的前缀使用comp。相关变量的统计结果(均值、方差、特征值、特征向量等)输出到Work.PCA_Demo_stat。

程序运行后,输出界面显示如图2。

图2

输出结果Work.PCA_Demo_out存放了原始数据集的所有变量以及新变量comp1、comp2、comp3和comp4,分别代表第1至第4主成分,它们对原始变量的解释力度依次减少。

图3

一同输出的还有统计结果Work.PCA_Demo_stat:

图4

现在,我先假设你是个急性子,你可能会对我说:“不必告诉我这些输出结果的含义,我给了你四个变量,你只要返回给我较少的可用的字段

就可以了。”那么我会回答你,新的变量comp1和comp2就可以替代原来的四个变量var1、var2、var3和var4,因为这两个变量合起来解释了原来四个变量91.27%的信息,能够满足要求。

何以见得?请看图2的第4部分输出Eigenvalues of the Correlation Matrix,第四列Cumulative显示,第一个特征值分量占比0.6749(67.49%),第1、2个特征值合起来占比91.27%>85%,因此新变量comp1和comp2已经足以替代原有四个变量,它们是源数据集的主成分。

没错,在SAS上进行主成分分析,就是这么简单,结果的使用也不复杂,大多数情况下到此也就足够了。不过出于对科学本质的好奇,我们还是要详细研究下每项输出结果的含义,以便更好地理解主成分分析。

SAS主成分分析输出结果详解

作为细节强迫症重度患者,图2~图4只要有个点没搞清楚都觉得寝食难安。

我们先来看图2。

第1部分很简单,指出观测数为22,变量数为4,也就是我们在var 语句中指定4个原始变量。

相关文档
最新文档