主成分分析(修改后)

更新时间:2024-04-18 20:00:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

1.基于主成分分析的空气污染数据探究

摘 要 本文讨论了有关分析处理空气污染数据的问题。

对于问题一比较样本协方差矩阵和样本相关矩阵主成分分析的结果差异。首先, 本文采用降维的思想,运用主成分分析法减少变量的个数,借助Matlab软件建立有关7项指标的协方差矩阵和样本相关矩阵,得出其特征值和特征向量;其次,分别计算各自主成分的贡献率,对于样本协方差矩阵,前三个主成分的贡献率分别为87.20%,95.33%和98.62%,对于样本相关矩阵,根据主成分个数提取原则,提取特征值大于1的成分,从而确定三种主成分,它们在反应样本数据信息中所占的贡献率分别为33.03%,19.76%和17.30%;从而发现样本相关矩阵的求解结果更符合实际。

对于问题二选择三个或者更少的主成分反映原始数据的变化及原因。样本协方差矩阵的前三个主成分累计贡献率为98.62%,而样本相关矩阵的前三个主成分累计贡献率为70.09%;从而得出结论:样本相关矩阵的结论更符合实际,确定空气污染程度需根据原始数据综合前三个样本成分。

考虑到各主成分之间存在的相互依赖关系,将模型进行推广,进一步运用回归分析法预测和控制空气污染的主要成分,得到的结果将更加贴近实际情况。

关键词 主成分分析;降维思想;空气污染

1

一、问题重述

CO、 已知某城市在42天中中午12点的7项空气污染数据:风速、太阳辐射、NO、NO2、O3、HC,完成以下问题:

问题一:分别利用样本协方差矩阵和样本相关矩阵作主成分分析,比较二者

结果差异;

问题二:选择三个或者更少的主成分反映原始数据的变化并作出解释。

二、问题分析

空气污染是现下较为严重且广受关注的热点问题,研究污染空气的主要因素及特点有助于控制空气污染源,为改善环境提供必要依据。

由于题目所给数据较多,需要对其进行处理分析,因此本文将采取主成分分析法([1])分析影响空气污染的主要因素。

对于问题一:首先,利用Matlab求出样本协方差矩阵和样本相关矩阵;其次,分别计算这两个矩阵的特征值与特征向量,及相应的主成分贡献率与累计贡献率;比较结果分析其差异;

对与问题二:根据累计贡献率的大小,选择前几个主成分代替原来的7个变量,使得信息损失最小,并对比所选取的主成分与原始数据对比做出合理解释。

三、模型假设

1.假设已知数据均真实有效,具有统计价值; 2.忽略其他对空气污染造成微小影响的空气成分。

四、符号说明

符号

符号含义 样本方差 原始变量 样本主成分 样本协方差 样本相关矩阵 样本平均值

2

?ii

x

Y

Cov(Xi,Xj)

?

?i

? P

协方差矩阵 特征向量矩阵 矩阵的特征值 矩阵的特征向量

?

e

五、模型建立与求解

问题中的变量太多不但会增加计算的复杂性,而且也给合理的分析问题和解决问题带来很大的困难;同时,这些变量之间存在一定的相关性,也使得这些变量所反映的信息在一定程度上有所重叠。为了减少变量的个数,同时提高问题研究的合理性,本文采用了降维的思想,利用主成分分析法来减少变量的个数,同时不会使数据反映的信息量有大的损失。 5.1协方差矩阵主成分分析

设?是x?(x1,x2,x3,?,xp)T的协方差矩阵,?的特征值与正交化特征向量分别为?1??2??3????p?0及e1,e2,e3,?,ep,且x的第i个主成分为

Yi?ei1x1?ei2x2?ei3x3??eipxp,(i?1,2,3,?,p) (1)

根据已有数据计算得样本x?(x1,x2,x3,?,xp)T的均值向量x?(x1,x2,x3,?,xp)T为

x?(7.573.83334.47622.190510.04769.40483.0952)T

根据协方差矩阵计算公式

1n(2) ??(xi?x)(xi?x)T ?n?1i?1利用Matlab软件代入数据可求得随机变量x?(x1,x2,x3,x4,x5,x6,x7)T相应的样本协方差矩阵为(只写下三角)

?2.5000??2.7195299.9472??0.41464.1545?????0.4634?1.3577??0.58546.8618??2.231730.7276?0.6504?0.17071.81650.76072.31822.99770.1487????1.1823? 1.088311.3635??0.81073.126630.9785??0.17651.04410.59470.4785?利用特征值计算公式?E???0代入数据可求得?的特征值?i与对应单位正交

3

化特征向量ei(i?1,2,?,7)分别为

?1?303.6941,

e1?(0.0099?0.9932?0.01500.0046?0.0246?0.1125?0.0024)T

?2?28.3132,

e2?(0.07660.1163?0.10590.0128?0.1501?0.9727?0.0237)T

?3?11.4674,

e3?(?0.0314?0.00700.18610.13200.9541?0.17110.0851)T

?4?2.5494,

e4?(0.8996?0.0005?0.1998?0.34670.11880.06700.1092)T

?5?1.4703,

e5?(0.38860.00160.71830.5364?0.2074?0.00950.0470)T

?6?0.5479,

e6?(0.03860.0036?0.50990.5912?0.02640.05570.6207)T

?7?0.2243,

e7?(?0.1766?0.00810.3716?0.4743?0.0931?0.06520.7699)T 利用第i个主成分的贡献率

?i及前k个主成分的累计贡献率

??k?1pk (3)

??ss?1k??

tt?1p(4)

代入数据计算得?的各标准化主成分的贡献率及累计贡献率(如表1所示),可以看出,前三个标准化样本的累计贡献率已经达到98.62%,故只需提取前三个主成分即可:

表1 ?的各标准化主成分的贡献率及累计贡献率

4

i ?i 303.6941 28.3132 11.4674 2.5494 1.4703 0.5479 0.2243 贡献率(%) 87.20 8.13 3.29 0.73 0.42 0.16 0.06 累计贡献率(%) 87.20 95.33 98.62 99.36 99.78 99.94 100.00 1 2 3 4 5 6 7 记主成分向量为 Y?(Y1,Y2,Y3,Y4,Y5.Y6,Y7) 由 Y?PTX,P?(e1,e2,e3,e4,e5,e6,e7) 知x的前三个主成分分别为

Y1?0.0099x1?0.9932x2?0.0150x3?0.0046x4?0.0246x5?0.1125x6?0.0024x7Y2?0.0766x1?0.1163x2?0.1059x3?0.0218x4?0.1501x5?0.9727x6?0.0237x7Y3??0.0314x1?0.0070x2?0.1861x3?0.1320x4?0.9541x5?0.1711x6?0.0851x7 因此,用前三个主成分代替原来7个变量,信息损失量较小。

进一步由Yi与Xi的相关系数 ?Yi,xi??ieij ?jj(5)

计算出前三个主成分与各原始变量的相关系数如下表:

表2 前三个主成分与各原始变量的相关系数 主 成 相 分 关 Y1 Y2 系 原 变 量 数 Y3 -0.0672 -0.0014 0.4675 0.4111 0.9585 -0.1041 0.4168 x1 0.1087 -0.9994 -0.1937 0.0740 -0.1274 -0.3521 -0.0613 0.2576 0.0357 -0.4181 0.0626 -0.2369 -0.9299 -0.1824 x2 x3 x4 x5 x6 x7 由表可看出,Y1与x2相关度较高,而由相关矩阵的主成分权重系数(即特征向量e1中的各个值)知,太阳辐射对空气污染的影响最大;Y2与x6相关度较高,由相关矩阵的主成分权重系数(即特征向量e2中的各个值)知,O3对空气污染的影响较大;Y3与x5相关度较高,同理,由相关矩阵的主成分权重系数(即

5

2.基于主成分分析的径赛项目纪录探究

摘 要 本文讨论了55个国家和地区1984年前7个女子径赛项目纪录的数据处理问题。

对于问题一、二,首先,本文采用降维的思想,运用主成分分析法减少变量的个数,借助Matlab软件建立7种指标的样本相关矩阵,并计算其特征值和相应正交单位化特征向量,同时确定前两个标准化样本主成分及其累计贡献率为92.28%;

对于问题三、四,由累计贡献率知第一主成分的值越小,该国家或地区运动员优秀程度越高;第二主成分的值越小,该国家或地区相对实力越强。进而利用Matlab求出第一主成分的得分,分析主成分数据知,原东德在52个国家的径赛项目纪录中成绩最好,得分为-3.5060。

由于各主成分之间存在相互关联性,综合考虑7项纪录,将模型进行推广,运用回归分析法控制各个变量,得到的结果将更加贴近实际情况。

关键词 主成分分析;降维思想;径赛项目纪录

11

一、问题重述

已知世界上55个国家和地区1984年前在7个径赛项目上的女子记录:100m、200m、400m、800m、1500m、3000m、马拉松,完成以下问题: 问题一:对所给数据进行主成分分析,求出样本相关矩阵R及它的特征值和相应正交单位化特征向量;

问题二:求出前两个标准化样本主成分及其累计贡献率; 问题三:解释问题二中的两个主成分的实际意义;

问题四:求出第一主成分的得分,对各国家和地区进行排序,并与原始数据进行比较;

二、问题分析

题目中给出的数据较多,需要对数据进行处理,因此对数据作主成分分析([1])。

问题一:利用Matlab求出样本相关矩阵,计算特征值与相应正交单位化特征向量;

问题二:基于问题一,写出前两个样本主成分及累计贡献率; 问题三:根据题意,解释两个主成分的实际含义;

问题四:求出第一主成分的得分,与原始数据进行比较;

三、模型假设

1.所给数据均真实有效,具有统计价值; 2.其他径赛项目成绩不计入得分情况。

四、符号说明

符号

符号含义 样本方差 原始变量 样本主成分 样本相关矩阵 样本平均值 特征向量矩阵

12

?ii

X Y R

?i

P

? 矩阵的特征值 矩阵的特征向量 第一主成分得分

e

D

五、模型建立与求解

5.1样本相关矩阵主成分分析

利用标准化公式对原数据X?(X1,X2,X3,X4,X5,X6,X7)进行标准化处理得

**到一组新的数据X*?(X1*,X2,?,X7):

即令

Xi??Xi??i?ii ,i?1,2,?,7 (1)

其中?i为xi的平均值,?ii为xi的方差。 此时

???????X??(X1,X2,X3,X4,X5,X6,X7)T的协方差矩阵即为

X?(X1,X2,X3,X4,X5,X6,X7)的相关矩阵??(?ij)p?p其中

?ij?E(Xi?,Yj?)?随机变量X?(X1三角)

?1.0000?0.9528??0.8347?R??0.7277?0.7281??0.7417?0.6864?1.00000.85701.00000.72410.89840.69850.78790.70990.77760.68560.7054Cov(Xi,Xj)?ii?jj (2)

X2X3X4X5X6X7)T的相应的相关矩阵为(只写下

?????1.0000?

?0.90161.0000?0.86300.96911.0000?0.77930.87830.89991.0000??利用特征值计算公式?E?R?0代入数据可求得R的特征值?i与单位正交化特征向量ei(i?1,2,?,7)分别为

?1?5.8057

13

e1?(0.36830.36540.38160.38460.38910.38890.3670)T

?2?0.6537

e2?(0.49020.53650.2465?0.1553?0.3605?0.3474?0.3693)T

?3?0.2999

e3?(0.28610.2298?0.5154?0.5846?0.01270.15270.4842)T

?4?0.1251

e4?(0.3191?0.0831?0.3477?0.04130.42790.3648?0.6727)T

?5?0.0538

e5?(?0.2312?0.04150.5726?0.6208?0.02930.4623?0.1302)T

?6?0.0392

e6?(?0.61920.7097?0.18880.01590.2383?0.0155?0.1416)T

?7?0.0226

e7?(?0.05980.1166?0.20880.3145?0.69120.5981?0.0694)T 5.2前两个标准化样本主成分

记主成分向量为 Y?(Y1,Y2,Y3,Y4,Y5.Y6,Y7) 由

Y?PTX,P?(e1,e2,e3,e4,e5,e6,e7)

知前两个标准化样本主成分为

Y1?0.3683X1?0.3654X2?0.3816X3?0.3846X4?0.3891X5?0.3889X6?0.3670X7Y2?0.4902X1?0.5365X2?0.2465X3?0.1553X4?0.3605X5?0.3474X6?0.3693X7其中第一个主成分贡献率为

?1?1????7?1??2?1????7?82.94%

前两个主成分累计贡献率为5.3前两个主成分的意义

?92.28%

14

计算出前两个主成分与各原始变量的相关系数如下表:

表1 前两个主成分与各原始变量的相关系数 主 成 相 分 关 Y1 Y2 系 原 变 量 数 X1 X2 0.8874 0.8804 0.9195 0.9267 0.9375 0.9371 0.8843 0.3963 0.4338 0.1993 -0.1256 -0.2915 -0.2809 -0.2986 X3 X4 X5 X6 X7 由表可知Y1与X5、X6的相关度较高,Y2与X2相关度较高。 实际上,第一个主成分近似于各变量的等权重之和,它反应了各个国家和地区的

运动员的优秀程度,其优秀程度由100m、200m、400m、800m、1500m、3000m和马拉松这7个指标共同决定,Y1值越小,运动员优秀程度越高,则七项指标的值也越小;第二个主成分用以度量个国家和地区在各竞赛项目上的相对实力,Y2值越小,相对实力越强,在100m、200m、800m项目上所用时间越少,其国家或地区的相对实力越强。 5.4主成分得分及排序

表2 各个国家第一主成分得分情况表 国家 得分(D) 名次 原东德 -3.5060 1 俄罗斯 -3.4648 2 美国 -3.3359 3 捷克斯洛伐克 -3.0537 4 原西德 -2.9258 5 英国 -2.7832 6 波兰 -2.6721 7 加拿大 -2.6081 8 芬兰 -2.1818 9 意大利 -2.1396 10 澳大利亚 -2.0935 11 诺马尼亚 -2.0299 12 法国 -1.8921 13 瑞典 -1.8277 14

15

荷兰 -1.7944 15 新西兰 -1.5112 16 比利时 -1.5099 17 挪威 -1.4831 18 匈牙利 -1.4772 19 奥地利 -1.3803 20 瑞士 -1.3467 21 爱尔兰 -1.1173 22 丹麦 -1.1163 23 中国台北 -0.4999 24 肯尼亚 -0.4308 25 西班牙 -0.3556 26 葡萄牙 -0.2243 27 以色列 -0.1429 28 巴西 -0.1181 29 墨西哥 -0.0628 30 日本 -0.0591 31 哥伦比亚 0.1418 32 百慕大 0.3882 33 朝鲜 0.4624 34 阿根廷 0.5275 35 智利 0.5479 36 中国 0.6414 37 希腊 0.8159 38 印度 1.0147 39 韩国 1.2341 40 卢森堡 1.3019 41 土耳其 1.6084 42 菲律宾 1.6406 43 缅甸 1.6823 44 泰国 1.9536 45 新加坡 1.9704 46 印度尼西亚 2.1127 47 多米尼加共和国 2.2959 48 马来西亚 2.3292 49 哥斯达黎加 2.6196 50 危地马拉 3.2279 51 巴布亚新几内亚 3.9814 52 毛里求斯 4.2344 53 库克岛 6.0778 54 西萨摩亚 8.3341 55 结论:第一个主成分近似于各变量的等权重之和,它反应了各个国家和地区的运动员的优秀程度,其优秀程度由100m、200m、400m、800m、1500m、3000m

16

和马拉松这7个指标共同决定,第一主成分值越小,运动员优秀程度越高,则七项指标的值也越小。

六、模型评价与推广

模型评价: 优点:

(1)对给出的数据进行主成分分析,选择更少的变量反映原始变量,简化模型的建立; 缺点:

新变量只是反映原变量所提供的绝大部分信息,在实际问题的研究中,采用这种分析方法会使结果出现一定的偏差; 模型推广:

衡量某个国家和地区的径赛成绩的好坏,因为相应的变量种类繁多,所以可以采用主成分分析的方法,对所给的数据进行选择来反映原始数据的大部分信息;主成分分析法还广泛应用于涉及众多有关变量的领域,如葡萄酒的酿制等。

参考文献

[1]范金城等,数据分析,北京:科学出版社,2002.

17

附录

1.计算相关矩阵程序

x1=[11.61 11.20 11.43 11.41 11.46 11.31 12.14 11.00 12.00 11.95 11.60 12.90 11.96 11.09 11.42 11.79 11.13 11.15 10.81 11.01 11.00 11.79 11.84 11.45 11.95 11.85 11.43 11.45 11.29 11.73 11.73 11.96 12.25 12.03 12.23 11.76 11.89 11.25 11.55 11.58 12.25 11.76 11.13 11.81 11.44 12.30 11.80 11.16 11.45 11.22 11.75 11.98 10.79 11.06 12.74];

x2=[22.94 22.35 23.09 23.04 23.05 23.17 24.47 22.25 24.52 24.41 24.00 27.10 24.60 21.97 23.52 24.05 22.39 22.59 21.71 22.39 22.13 24.08 24.54 23.06 24.28 24.24 23.51 23.57 23.00 24.00 23.88 24.49 25.78 24.96 24.21 25.08 23.62 22.81 23.13 23.31 25.07 23.54 22.21 24.22 23.46 25.00 23.98 22.82 23.31 22.62 24.46 24.44 21.83 22.19 25.85];

x3=[54.50 51.08 50.62 52.00 53.30 52.80 55.00 50.06 54.90 54.97 53.26 60.40 58.25 47.99 53.60 56.05 50.14 51.73 48.16 49.75 50.46 54.94 56.09 51.50 53.60 55.34 53.24 54.90 52.01 53.73 52.70 55.70 51.20 56.10 55.09 58.10 53.76 52.38 51.60 53.12 56.96 54.60 49.29 54.30 51.20 55.08 53.59 51.79 53.11 52.50 55.80 56.45 50.62 49.19 58.73];

x4=[2.15 1.98 1.99 2.00 2.16 2.10 2.18 2.00 2.05 2.08 2.11 2.30 2.21 1.89 2.03 2.24 2.03 2.00 1.93 1.95 1.98 2.07 2.28 2.01 2.10 2.22 2.05 2.10 1.96 2.09 2.00 2.15 1.97 2.07 2.19 2.27 2.04 1.99 2.02 2.03 2.24 2.19 1.95 2.09 1.92 2.12 2.05 2.02 2.02 2.10 2.20 2.15 1.96 1.89 2.33];

x5=[4.43 4.13 4.22 4.14 4.58 4.49 4.45 4.06 4.23 4.33 4.35 4.84 4.68 4.14 4.18 4.74 4.10 4.14 3.96 4.03 4.03 4.35 4.86 4.14 4.32 4.61 4.11 4.25 3.98 4.35 4.15 4.42 4.25 4.38 4.68 4.79 4.25 4.06 4.18 4.01 4.84 4.60 3.99 4.16 3.96 4.52 4.14 4.12 4.07 4.38 4.72 4.37 3.95 3.87 5.81];

x6=[9.79 9.08 9.34 8.88 9.81 9.77 9.51 8.81 9.37 9.31 9.46 11.10 10.43 8.92 8.71 9.89 8.92 8.98 8.75 8.59 8.62 9.87 10.54 8.98 9.98 10.02 8.89 9.37 8.63 9.20 9.20 9.62 9.35 9.64 10.46 10.90 9.59 9.01 8.76 8.53 10.69 10.16 8.97 8.84 8.53 9.94 9.02 8.84 8.77 9.63 10.28 9.38 8.50 8.45 13.04];

x7=[178.52 152.37 159.37 157.85 169.98 168.75 191.02 149.45 171.38 168.48 165.42 233.22 171.80 158.85 151.75 203.88 154.23 155.27 157.68 148.53 149.72 182.20 215.08 156.37 188.03 201.28 149.38 160.48 151.82 150.50 181.05 164.65 179.17 174.68 182.17 261.13 158.58 152.48 145.48 145.48 233.00 200.37 160.82 151.20 165.45 182.77 162.60 154.48 153.42 177.87 168.45 201.08 142.72 151.22 306.00]; x=[x1',x2',x3',x4',x5',x6',x7']; m=cov(x) [v,d]=eig(m); n=corrcoef(x) [j,k]=eig(n)

18

2.计算各个国家得分程序

x1=[11.61 11.20 11.43 11.41 11.46 11.31 12.14 11.00 12.00 11.95 11.60 12.90 11.96 11.09 11.42 11.79 11.13 11.15 10.81 11.01 11.00 11.79 11.84 11.45 11.95 11.85 11.43 11.45 11.29 11.73 11.73 11.96 12.25 12.03 12.23 11.76 11.89 11.25 11.55 11.58 12.25 11.76 11.13 11.81 11.44 12.30 11.80 11.16 11.45 11.22 11.75 11.98 10.79 11.06 12.74];

x2=[22.94 22.35 23.09 23.04 23.05 23.17 24.47 22.25 24.52 24.41 24.00 27.10 24.60 21.97 23.52 24.05 22.39 22.59 21.71 22.39 22.13 24.08 24.54 23.06 24.28 24.24 23.51 23.57 23.00 24.00 23.88 24.49 25.78 24.96 24.21 25.08 23.62 22.81 23.13 23.31 25.07 23.54 22.21 24.22 23.46 25.00 23.98 22.82 23.31 22.62 24.46 24.44 21.83 22.19 25.85];

x3=[54.50 51.08 50.62 52.00 53.30 52.80 55.00 50.06 54.90 54.97 53.26 60.40 58.25 47.99 53.60 56.05 50.14 51.73 48.16 49.75 50.46 54.94 56.09 51.50 53.60 55.34 53.24 54.90 52.01 53.73 52.70 55.70 51.20 56.10 55.09 58.10 53.76 52.38 51.60 53.12 56.96 54.60 49.29 54.30 51.20 55.08 53.59 51.79 53.11 52.50 55.80 56.45 50.62 49.19 58.73];

x4=[2.15 1.98 1.99 2.00 2.16 2.10 2.18 2.00 2.05 2.08 2.11 2.30 2.21 1.89 2.03 2.24 2.03 2.00 1.93 1.95 1.98 2.07 2.28 2.01 2.10 2.22 2.05 2.10 1.96 2.09 2.00 2.15 1.97 2.07 2.19 2.27 2.04 1.99 2.02 2.03 2.24 2.19 1.95 2.09 1.92 2.12 2.05 2.02 2.02 2.10 2.20 2.15 1.96 1.89 2.33];

x5=[4.43 4.13 4.22 4.14 4.58 4.49 4.45 4.06 4.23 4.33 4.35 4.84 4.68 4.14 4.18 4.74 4.10 4.14 3.96 4.03 4.03 4.35 4.86 4.14 4.32 4.61 4.11 4.25 3.98 4.35 4.15 4.42 4.25 4.38 4.68 4.79 4.25 4.06 4.18 4.01 4.84 4.60 3.99 4.16 3.96 4.52 4.14 4.12 4.07 4.38 4.72 4.37 3.95 3.87 5.81];

x6=[9.79 9.08 9.34 8.88 9.81 9.77 9.51 8.81 9.37 9.31 9.46 11.10 10.43 8.92 8.71 9.89 8.92 8.98 8.75 8.59 8.62 9.87 10.54 8.98 9.98 10.02 8.89 9.37 8.63 9.20 9.20 9.62 9.35 9.64 10.46 10.90 9.59 9.01 8.76 8.53 10.69 10.16 8.97 8.84 8.53 9.94 9.02 8.84 8.77 9.63 10.28 9.38 8.50 8.45 13.04];

x7=[178.52 152.37 159.37 157.85 169.98 168.75 191.02 149.45 171.38 168.48 165.42 233.22 171.80 158.85 151.75 203.88 154.23 155.27 157.68 148.53 149.72 182.20 215.08 156.37 188.03 201.28 149.38 160.48 151.82 150.50 181.05 164.65 179.17 174.68 182.17 261.13 158.58 152.48 145.48 145.48 233.00 200.37 160.82 151.20 165.45 182.77 162.60 154.48 153.42 177.87 168.45 201.08 142.72 151.22 306.00]; d=[x1',x2',x3',x4',x5',x6',x7']; f=size(d,2)+1; m=1;

while m

n=length(x1)+1; c=1;

while c

19

x1(c)=(x1(c)-a)/b; c=c+1; end

d(:,m)=x1; m=m+1; end x=d;

a=cov(d); [j,k]=eig(a);

m=[-0.2421 0.2068 0.5463 0.3898 0.4901 0.3237 0.3212]'; defen=d*j(:,7)

20

本文来源:https://www.bwwdw.com/article/tfdp.html

Top