全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 数据分析与数据挖掘
9084 18
2008-02-29

王笑(孝)权
  
安徽省五河县临北乡石家村卫生室 233316  wxq1638@yahoo.com.cn

主成分分析又称主分量、主轴分析,实质就是对较多的变量在尽量保存原信息的情况下加以线性概括。在此过程前,为消除变量量纲不同造成的影响,首先要对各原始指标进行标准化处理。迄今为止,所见教材的“主成分分析”实质都是用求得主成分再对原始变量的回归分析。教材的通病都是未详细说明最后的回归过程,往往令初学者感觉到莫名其妙。目前,由网上的一些所谓的“主成分分析”可知,或者其资料不适用主成分分析,还有根本就不是主成分分析。有鉴于此,现利用网上获得的数据,进行主成分分析的探讨。

1                     资料与方法
     

1.1  资料来源  资料来源于中华人民共和国卫生部网站[1],我国“2006年工业部门职业病发病及死亡情况”,剔除其中的第1214号无意义指标,以及末尾的观测“其它”,剩余11个指标,观测值有缺失则用0补齐。程序分别赋这些指标为x1-x11,其名称标签见附件1;余详见数据1

数据1         2006年工业部门职业病发病及死亡情况相关数据

name            x1     x2     x3    x4     x5    x6    x7    x8     x9    x10    x11

煤炭          4567    212     41     0     34     0    13     0      1     57      0

石油             2      4      1     0     14     0     0     1      0     14      0

电力           110      1      1     0     28     1     0     1      1     16      1

核工业           0      0      0     0      0     0     0     0      0      3      0

冶金           494     65     40     2    159     0     0     3      5     24     11

有色金属      1193    120     38     4    190    11     0     7      2     38      1

机械           333     13     34     1     84     5     0    29     33     50      1

电子             7      0     14     3    120     0     0    51     13      3      0

兵器             7      0      4     0     22     0     0     0    113      6      0

船舶            18      0      1     0      1     1     0     0      0      2      0

化工           103      2    105     3     62     2     0    89    170     24      4

医药             5      0      8     0     15     0     1    19      8      1      0

铁道            64      6      2     0      2     1     0     1      0      4      1

交通            61      1      6     0     14     3     0     6      6      8      0

建材           698     17      6     0      5     1     0    10      3     20      0

建设           126      1     23     8      1     3     0     5      2      3      1

地质矿产       253      3      1     0      4     0     0     1      0      0      0

水利             2     17      0     0      0     0     0     0      0      0      0

农业            23      0      2     0      0    22     5     0      1      0      0

森林工业         2      0      1     0      0     0     1     1      1      0      0

轻工           189     16    101     3    294    10    12    32      4     21      3

纺织            20      2     12     0     12     1     1     4      2     36      1

航空航天         1      0      0     0      1     0     0     5      0      4      0

商业            11      0      2     0      0     3     1     2      0      2      0

邮电             2      0      1     1      0     0     0     0      0      0      0

石化工业         9      1      5     0      6     0     0     1      1      2      0

回收加工业       0      0      2     2      0     0     0     0      0      0      0

1.2               方法  将数据1倒入SAS9.1逻辑库sasuser后调用,程序默认对原始数据标准化后进行主成分分析。根据观察的需要对初步运行后的输出数据编程带入,以了解更多内容(见附件1)。

2    结果

输出结果表明:各个主成分贡献率没有出奇的大,本资料适用于主成分分析;且前4个主成分累计贡献率达到0.8112,每个的特征值都>1,符合一般主成分个数选取标准,可以选取4个主成分,见输出1

 输出1      相关矩阵的前4个特征值、贡献率

                                                 Eigenvalues of the Correlation Matrix

                                          Eigenvalue    Difference    Proportion    Cumulative

                                      1    4.06190493    1.52600842        0.3693        0.3693

                                      2    2.53589652    1.22097809        0.2305        0.5998

                                      3    1.31491843    0.30397616        0.1195        0.7193

                                      4    1.01094226    0.29815144        0.0919        0.8112

3  讨论
     

各主成分与标准化变量的相关系数说明了主成分被这些指标影响的强度,由rz1x可见:各标准化指标与z1均成正相关,由于主成分1x2-x5x7x10支配可以理解z1是产生急性、严重职业病的综合指标,可能是毒性强,、浓度高的有害物质迅速导致工作人员发病、呼吸道损害、中毒乃至死亡;z2其实与z1是对立性综合指标,反映低浓度生产、生活环境下的慢性损害,x1支配rz2x表明随着环境有毒物质浓度降低,呼吸道损害下降,但是这种相对较好一点的有毒环境仍然避免不掉会损害人的皮肤、眼睛等防护薄弱地方;x6x7各自单独支配主成分z3 (rz3x) z4 (rz4x),它们表达的是与z1z2完全不同的信息,z3不是环境毒害物质造成的,实际是长期暴露在某种场合,防护不当的后果;z4是环境有害因素慢性长期作用人体,损害人体的免疫系统、导致免疫监视混乱,丧失杀死、清除机体内的异变细胞功能。标准化变量与主成分的详细关系见输出2

输出2     主成分与标准化指标的相关系数

name     rz1x        rz2x        rz3x         rz4x

                                          x1    0.59571    -0.71288    -0.28574     0.03795

                                          x2    0.66688    -0.65136    -0.16550    -0.13085

                                          x3    0.88486     0.38006    -0.01818     0.09209

                                          x4    0.44039     0.40563     0.29572    -0.25224

                                          x5    0.76708     0.21593     0.36782    -0.19094

                                          x6    0.31194     0.00883     0.72194     0.43830

                                          x7    0.64136    -0.46250     0.21209     0.33249

                                          x8    0.50534     0.68292    -0.25476     0.28210

                                          x9    0.30490     0.60786    -0.53243     0.33055

                                         x10    0.75893    -0.29938    -0.26026    -0.04144

                                   x11    0.51384     0.32915     0.02268    -0.62498

在实际工作中,要用每个主成分对全部原始变量回归建立起主成分回归方程,使分析有意义。用回归方程中的系数、截距对应各自的自变量(原始变量)编程带入SAS运行,即能观察各部门职业病的符合情况,又可对新样品的主成分归属进行判读。事实上该过程并不需要研究者额外费心,因为这个过程就是SAS程序自动输出的主成分得分(输出3)而已。由于各主成分包含职业病的属性不同,观测受某主成分的支配量最大时,那么相应工业部门工作人员职业病病种,特征信息就包含在该主成分中。各观测主成分得分及分类见输出3

输出 3  根据主成分得分对观测的判别归类

Obs    name             z1          z2          z3          z4     g

1    煤炭           4.80628    -5.73054    -2.00243     0.68283    2

2    石油          -1.12318    -0.36420    -0.25621    -0.15731    1

3    电力          -0.83878    -0.28533    -0.11621    -0.36542    1

4    核工业        -1.50940    -0.25718    -0.14052    -0.09859    1

5    冶金           2.61273     0.72107     0.19429    -3.83802    4

6    有色金属       3.17963    -0.81374     1.37801    -0.56650    1

7    机械           1.64183     0.55132    -0.50173     0.37559    1

8    电子           0.39129     1.72052     0.07608     0.05393    2

9    兵器          -0.81233     0.90634    -1.45837     0.81899    3

10    船舶          -1.47388    -0.24314     0.00184    -0.00501    1

11    化工           3.65042     4.82568    -2.59239     1.40049    2

12    医药          -0.98583     0.26187    -0.30547     0.32627    1

13    铁道          -1.22241    -0.21814    -0.05596    -0.28756    1

14    交通          -1.00402    -0.08499     0.07775     0.27589    1

15    建材          -0.47419    -0.64732    -0.62467     0.10248    3

16    建设           0.12265     1.18578     1.23910    -1.02345    3

17    地质矿产      -1.42439    -0.33828    -0.17242    -0.08197    1

18    水利          -1.45709    -0.37322    -0.15203    -0.13854    1

19    农业          -0.36656    -0.61011     3.00382     2.38548    3

20    森林工业      -1.45231    -0.26919    -0.06850     0.03247    1

21    轻工           4.77112     1.10826     2.74900     0.68439    1

22    纺织          -0.17623    -0.42846    -0.44198    -0.19643    3

23    航空航天      -1.41781    -0.15992    -0.20594    -0.03345    1

24    商业          -1.28329    -0.27341     0.29008     0.30555    1

25    邮电          -1.44519    -0.07812     0.03885    -0.22250    1

26    石化工业      -1.39624    -0.17381    -0.13145    -0.07545    1

27    回收加工业    -1.31282     0.06826     0.17745    -0.35417    1

主成分分析是其它分析前对数据的预处理过程,例如因子分析、对应分析、判别、聚类、秩和比、回归等。

一般的主成分分析实际是主成分回归分析,并最终通过建立的回归方程完成新样品判别分析。由此可帮助人们认识不同工业部门的职业病风险情况,有针对的采取防护措施,减少或延缓职业病的发生、发展。

1 中华人民共和国卫生部网站.2006年工业部门职业病发病及死亡情况,

http://www.moh.gov.cn/open/statistics/year2007/p316.htm

附件1:有关分析程序

proc
  
standard
  
data=sasuser.wxq163 out=w mean=0
  
std=1;/*调用逻辑库数据*/var x1-x11;

proc
  
princomp
  
data=sasuser.wxq163 prefix=z out=wx;/*主成份分析*/var x1-x11;proc
  
print
  
data=wx;

data rx;set sasuser.wxq16;r1=z1*sqrt(e1);r2=z2*sqrt(e2);r3=z3*sqrt(e3);r4=z4*sqrt(e4);proc
  
print
  
data=rx;var r1-r4;/*各主成分于标准化变量相关系数*/

data wxq1638;merge wx(keep=z1-z4) sasuser.wxq163;a1=abs(round(z1,0.1));a2=abs(round(z2,0.1));a3=abs(round(z3,0.1));

a4=abs(round(z4,0.1));maxa=MAX(OF a1-a4);if a1=maxa then g=1;if a2=maxa then g=2;if a3=maxa then g=3;if a4=maxa then g=4;

/*利用主成分得分对观测判断分组*/keep x1-x11 z1-z4 g;proc
  
print
  
data=wxq1638;

proc
  
reg
  
data=wxq1638;label  x1='尘肺新病例数' x2='尘肺死亡数' x3='急性中毒新病例数' x4='急性中毒死亡数'

x5='慢性中毒数' x6='物理致病数' x7='生物致病数' x8='职业皮肤病' x9='职业眼病' x10='职业耳鼻喉口腔疾病数' x11='职业肿瘤';

model z1=x1-x11;model z2=x1-x11;model z3=x1-x11;model z4=x1-x11;

/*可以分别用各主成分与原始变量建立预测回归方程*/

title
  
'2006年工业部门职业病发病及死亡情况wxq1638@yahoo.com.cn';run;

严厉声明:

一 ,本文只代表当时观点 保留修改权

二 ,谁要是针对本文进行复制、传播、企图篡改、模仿,造谣惑众、寻衅滋事 那么 我头都给他揍扁掉!

三 ,以上来架势、捧场者例外。
    

[此贴子已经被作者于2008-3-3 0:07:14编辑过]

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2008-2-29 21:37:00

牛!

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2008-3-2 14:51:00
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2008-3-2 17:13:00
偶是来捧场的!  
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2008-3-2 18:12:00
顶哦
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2008-8-30 11:37:00
呵呵,想学主成分分析,能不能赐教下?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群