sas:主成分分析

最近和同学讨论他们要做的电子医疗系统的时候,聊到单因素分析和主成分分析,一想自己对这方面也不是很懂,就用sas做了一套标准的流程,记录如下:

个人总结:如果遇到多因素分析,想要很多很多个自变量与因变量进行线性回归分析必须进行降维,一种很好的解决方案就是主成分分析。

引言

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

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

主成分分析流程

1、原始数据标准化。

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

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

4、计算主成分变量值。

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

实例(个人觉得说了再多,其实一个实例就懂了)

下表列出了1999年全国31个省、直辖市和自治区(港、澳、台不在其中)的城镇居民家庭平均每人全年消费性支出的八个主要变量数据,请从八个变量中识别出主成分。

变量说明(随便从网上找的数据)

x1:食品                        x2:交通和通讯

x3:衣着                        x4:娱乐教育文化服务

x5:家庭设备用品及服务   x6:居住

x7:医疗保健                  x8:杂项商品和服务

1.对照省份可用sas做表

data comp;

input name $ x1-x8;

cards;

北京 2959.19 730.79 749.41 513.34 467.87 1141.82 478.42 457.64

天津 2459.77 495.47 697.33 302.87 284.19 735.97 570.84 305.08

河北 1495.63 515.90 362.37 285.32 272.95 540.58 364.91 188.63

山西 1406.33 477.77 290.15 208.57 201.50 414.72 281.84 212.10

内蒙古 1303.97 524.29 254.83 192.17 249.81 463.09 287.87 192.96

辽宁 1730.84 553.90 246.91 279.81 239.18 445.20 330.24 163.86

吉林 1561.86 492.42 200.49 218.36 220.69 459.62 360.48 147.76

黑龙江 1410.11 510.71 211.88 277.11 224.65 376.82 317.61 152.85

上海 3712.31 550.74 893.37 346.93 527.00 1034.98 720.33 462.03

江苏 2207.58 449.37 572.40 211.92 302.09 585.23 429.77 252.54

浙江 2629.16 557.32 689.73 435.69 514.66 795.87 575.76 323.36

安徽 1844.78 430.29 271.28 126.33 250.56 513.18 314.00 151.39

福建 2709.46 428.11 334.12 160.77 405.14 461.67 535.13 232.29

江西 1563.78 303.65 233.81 107.90 209.70 393.99 509.39 160.12

山东 1675.75 613.32 550.71 219.79 272.59 599.43 371.62 211.84

河南 1427.65 431.79 288.55 208.14 217.00 337.76 421.31 165.32

湖北 1783.43 511.88 282.84 201.01 237.60 617.74 523.52 182.52

湖南 1942.23 512.27 401.39 206.06 321.29 697.22 492.60 226.45

广东 3055.17 353.23 564.56 356.27 811.88 873.06 1082.82 420.81

广西 2033.87 300.82 338.65 157.78 329.06 621.74 587.02 218.27

海南 2057.86 186.44 202.72 171.79 329.65 477.17 312.93 279.19

重庆 2303.29 589.99 516.21 236.55 403.92 730.05 438.41 225.80

四川 1974.28 507.76 344.79 203.21 240.24 575.10 430.36 223.46

贵州 1673.82 437.75 461.61 153.32 254.66 445.59 346.11 191.48

云南 2194.25 537.01 369.07 249.54 290.84 561.91 407.70 330.95

西藏 2646.61 839.70 204.44 209.11 379.30 371.04 269.59 389.33

陕西 1472.95 390.89 447.95 259.51 230.61 490.90 469.10 191.34

甘肃 1525.57 472.98 328.90 219.86 206.65 449.69 249.66 228.19

青海 1654.69 437.77 258.78 303.00 244.93 479.53 288.56 236.51

宁夏 1375.46 480.89 273.84 317.32 251.08 424.75 228.73 195.93

新疆 1608.82 536.05 432.46 235.82 250.28 541.30 344.85 214.40

;

run;

2.假定相互独立,得到特征向量

proc princomp

data = mylib.comp

out = mylib.changecomp

prefix = comp /*(具体数据分析过程只需要看数据,避免其他的干扰,改成代号名称)*/

outstat = mylib.result

;

var x1-x8;

run ;

会得到以下结果:

除此之外,得到的changecomp表为:

得到的result表为:

3.快速得到主成分

首先我们需要知道主成分分析希望能够达到什么样的目的:

将多个指标转换为少数几个相互独立的且包含原来指标大部分信息(一般是80%或85%)的综合指标

假如你并不想知道各种结果的含义,只想知道那些是主成分,那其实只需要用到上面的“相关矩阵的特征值”表的最后两列:比例和累积

累积从哪一行大于85%就行了;本实例是从第三行,因为这3个变量合起来解释了原来8个变量87.81%的信息,能够满足要求。

4.详细解读各种表

表1:PRINCOMP 过程

31个观测代表数据中的31个省份/直辖市;

8个变量代表最开始的8个成分

表2:简单统计量

这个表也很简单,均值x不用说,StD是标准差,即方差开个正根

表3:相关矩阵

相关系数又称皮氏积矩相关系数(Pearson product-moment correlation coefficient,PPCC),就是我们高中统计学独立检验时候的r值;

当r>0时,表示两变量正相关,当r<0时,表示两变量为负相关。当|r|=1时,表示两变量为完全线性相关即函数关系。当r=1时,称为完全正相关,而当r=-1时,称为完全负相关。当r=0时,表示两变量间无线性相关关系。

当︱r︱≥0.8时,可视为高度相关;当0.5≤︱r︱<0.8时,可视为中度相关;当0.3≤︱r︱<0.5时,视为低度相关;当︱r︱<0.3时,说明两个变量之间的相关程度极弱。

本表里的x1与x5、x1与x8、x3与x6高度相关;x2与x7负相关

表4:相关矩阵的特征值

列1.特征值越大,表示对应的主成分变量包含的信息越多,对原始变量的解释力度越强。

列2.相邻两行特征值之间的差值

列3.改行特征值/总特征值的和

列4.前面几行的列3的和

(误区:变量不是越多越好,否则不能达到降维的目的,一般等sqrt(num))

表5:特征向量

这个和特征值都是线性代数的内容,幸亏还是学过这门课。

对于同一个矩阵,特征值和特征向量是一一对应的;

A是矩阵,V就是特征向量,是特征值

对比本实例:

表3是A,表5的每一列是V,表4的特征值是

5.除此之外的一些东西


1.以comp1与comp2分布散点图:(载荷图)

proc plot

data=mylib.changecomp vpct=100;/*vpct后的数值表示图所占页面的长度*/

plot comp1*comp2 ='*'$ name/

/* ='*'表明图中的散点用*表示,还可用#等*/

/*美元符号后写标签变量 name 代表每个点根据name变量命名*/

haxis=-3.5 to 3 by 0.5

HREF=-2,0,2      vaxis=-3 to 6 by 0.5

VREF=-2,0,2;    /*HREF代表垂直于水平轴-2,0,2处画参考线,VREF同理*/

title '主成分散点图'

;  /*title为结果命名。Plot:主成分散点图,否则Plot:SAS系统*/

run;

2.changecomp表的comp变量是怎么来的

主成分变量是原始变量的线性表示,用公式表示如下:;

X表示原始变量对应数据组成的矩阵(以下称为原始数据矩阵),U是特征向量以列向量形式依次排列组成的矩阵(以下称为特征向量矩阵)。

但是这样做有问题,原始数据还未标准化;

proc standard

data = mylib.comp

out = mylib.standard

mean = 0

std=1;

var x1-x8;

run ;

正确的公式应该是;

3.变量是否线性相关

proc corr

data = mylib.changecomp

out = mylib.compcorr

;

var comp1-comp8;

with comp1-comp8;

run ;

可以看出,主成分变量之间的相关系数都为零。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 196,099评论 5 462
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 82,473评论 2 373
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 143,229评论 0 325
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,570评论 1 267
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,427评论 5 358
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,335评论 1 273
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,737评论 3 386
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,392评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,693评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,730评论 2 312
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,512评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,349评论 3 314
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,750评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,017评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,290评论 1 251
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,706评论 2 342
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,904评论 2 335

推荐阅读更多精彩内容