实例说明利用Excel进行主成分分析分解.docx
《实例说明利用Excel进行主成分分析分解.docx》由会员分享,可在线阅读,更多相关《实例说明利用Excel进行主成分分析分解.docx(26页珍藏版)》请在冰豆网上搜索。
实例说明利用Excel进行主成分分析分解
方法:
1利用Excel2000进行主成分分析
第一步,录入数据,并对进行标准化。
【例】一组古生物腕足动物贝壳标本的两个变量:
长度和宽度。
原始数据和标准化数据及其均值、方差1图)(取自张超、杨秉庚《计量地理学基础》
计算的详细过程如下:
⑴将原始数据绘成散点图(图2)。
主持分分析原则上要求数据具有线性相关趋势—
—如果数据之间不相关(即正交),则没有必要进行主成分分析,因为主成分分析的目的
就是用正交的变量代替原来非正交的变量;如果原始数据之间为非线性关系,则有必要对
1
可见,原始数据具有线性相关趋势,且测定系2数据进行线性转换,否则效果不佳。
从图
2。
RR=0.7056=0.4979,相应地,相关系数数
。
标准化的数学公式为对数据进行标准化⑵
xx?
jij*?
xij?
j这里假定按列标准化,式中nn12?
?
,)Var(x?
x?
?
x)x(x?
?
ijjijijijijn1i?
1i?
个变量)、第列(即第分别为第列数据的均值和标准差,为第行(即第个样本)xjijjiij*为样本数目。
的标准化数据,的数据,为相应于25nx?
xijij
2.3174=0.7686x+原始数据的散点图y
20.4979R=25
2015度宽10
50
2520长度151005
原始数据的散点图图2
标准化数据的散点图y=0.7056x+2E-16
2=R0.49793.0000002.0000001.000000度宽0.000000
1.0000002.0000000.-1.000003.000000-2.00000-1.000000000
-2.000000
长度
标准化数据的散点图3图
2
对数据标准化的具体步骤如下:
①求出各列数据的均值,命令为average,语法为:
average(起始单元格:
终止单元格)。
如图1所示,在单元格B27中输入
“”,确定或回车,即得第一列数据的均值;然后抓住单10.88x?
B26)VERAGE(B1:
=A1,便可自动生成第二列数据的均值C27的右下角(光标的十字变细)右拖至元格B27
。
10.68?
x2中输入所示,在单元格B28varp,语法同均值。
如图1②求各列数据的方差。
命令为
,右拖至”,确定或回车,可得第一列数据的方差“19.4656)?
Var(xARP(B2:
B26)=V1。
生成第二列数据的方差23.0976)?
Var(xC282直接生成标准stdevp求各列数据的标准差。
将方差开方便得标准差。
也可利用命令③
差,语法和操作方法同均值、方差,不赘述。
”,回车可得中输入“=(B2-$B$27)/$B$29所示,在单元格D2④标准化计算。
如图1
的右下角下拖至D2”的标准化数值-1.786045,然后按住单元格第一列第一个数据“3
,就能E2D2的右下角右拖至D26,便会生成第一列数据的全部标准化数值;按照单元格
的右下角下拖至-1.806077,抓住单元格E2生成第二列第一个数据“2”的标准化数据
便会生成第二列数据的全部标准化数值。
E26
。
可以看出,点列的总体趋势没有变换,两种数据)图3⑤作标准化数据的散点图(
,斜率等于的相关系数与标准化以前完全相同。
但回归模型的截距近似为,即有0?
a0
。
相关系数,即有Rb?
。
求相关系数矩阵的方法是:
沿着“工具⑶求标准化数据的相关系数矩阵或协方差矩阵
,确定,弹))”选项框(图4)”(T→“数据分析(D)”的路径打开“分析工具(A
,在“输入区域”的空白栏中输入标准化数据范围,并以5出“相关系数”对话框(图)
为输出区域,具体操作方法类似于回归分析。
确定,即会在输出区域给出相关单元格G1
分析工具选项框图4
3
相关系数对话框图5系数矩阵的下三角即对角线部分,由于系对称矩阵,上三角的数值与下三角相等,故未给
出(图6),可以通过“拷贝——转置——粘帖”的方式补充空白部分。
标准化数据的相关系数和协方差6图
求协方差的方法是在“分析工具”选项框中选择“协方差”(图7),弹出“协方差”
选项框(图8),具体设置与“相关系数”类似,不赘述。
结果见图6,可以看出,对于
标准化数据而言,协方差矩阵与相关系数矩阵完全一样。
因此,二者任取其一即可。
在分析工具选项框中选择“协方差”7图
4
协方差选项框8图
⑷计算特征根。
我们已经得到相关系数矩阵为
?
10.7056?
C?
,?
?
0.70561?
?
而二阶单位矩阵为
?
10?
I?
?
,?
01?
?
?
,我们有于是根据公式0?
C)det(I?
?
0.70561100.7056?
1?
?
?
?
?
0?
0.70560.70561?
01?
1按照行列式化为代数式的规则可得
222?
?
?
0?
?
0.5021?
2?
(?
1)?
0.7056
2时,我们有根据一元二次方程的求根公式,当04ac?
b?
2ac?
4?
b?
b?
?
a2
。
这便是,据此解得(对于本例,显然,)R0.2944?
?
1?
R?
?
1.70561?
?
?
?
?
2121相关系数矩阵的两个特征根。
⑸求标准正交向量。
将代入矩阵方程,得到0?
C)?
?
(I?
?
100.7056?
0.7056?
?
?
?
?
?
?
?
1?
?
?
?
?
?
?
00.70560.7056?
?
?
?
?
?
?
2?
中,用第一行加第二行,化为在系数矩阵C?
I
0.7056?
0.70560?
?
?
?
?
?
?
?
1?
?
?
?
?
?
0?
00?
?
?
?
?
?
2由此得,令,则有,于是得基础解系1?
?
?
1?
?
?
?
2121
?
?
?
?
10.7071,单位化为?
e?
?
?
?
?
11?
0.70711?
?
?
?
5
?
i()。
1,2i?
单位化的公式为?
e2i?
?
?
212
完全类似,将代入矩阵方程,得到0?
C)?
(I?
?
?
20?
0.7056?
0.7056?
?
?
?
?
?
?
?
1?
?
?
?
?
?
?
00.7056?
0.7056?
?
?
?
?
?
?
2用系数矩阵的第二行减去第一行,化为
0?
0.7056?
0.7056?
?
?
?
?
?
?
?
1?
?
?
?
?
?
0?
00?
?
?
?
?
?
2于是得到,取,则有,因此得基础解系为1?
?
?
?
1?
?
?
?
?
2121,单位化为e?
?
?
0.7071?
1?
?
?
?
?
?
?
22?
0.7071?
?
1?
?
?
这里、便是标准正交向量。
ee21
⑹求对角阵。
首先建立标准正交矩阵P,即有
0.7071?
0.7071e]?
?
e[P?
2?
1?
0.7071?
0.7071?
?
T1T?
,可逆。
根据,即矩阵的该矩阵的一个特殊性质便是转置等于矩阵的CP?
PDP?
P
知
?
D?
1.7056?
0?
0.7056?
?
0.70710.7071?
?
?
?
?
?
?
?
?
?
?
?
?
?
0.70560.70710.7071?
0.293400.7071?
10.70710?
?
?
?
.70710.7071
?
?
1
下面说明一下利用Excel进行矩阵乘法运算的方法。
矩阵乘法的命令为mmult,语法是
T矩阵的单元格范围,矩阵的单元格范围。
例如,用矩阵与矩阵相乘,PC21mmult()
首先选择一个输出区域如G1:
H2,然后输入“=mmult(A1:
B2,C1:
D2)”,然后按下
“Ctrl+Shift+Enter”键(图9),即可给出
1.2060441.206044
0.20817-0.20817
再用乘得的结果与P阵相乘,便得对角矩阵
1.7056030
0.2943970
如果希望一步到位也不难,选定输出区域如C3:
D4,然后输入
“=mmult(mmult(A1:
B2,C1:
D2),E1:
F2)”(图10),同时按下“Ctrl+Shift+Enter”键,立
即得到结果(图11)。
显然,对角矩阵对角线的数值恰是相关系数矩阵的特征值。
矩阵乘法示例图9
6
矩阵连乘的命令与语法10图
至此,标准化的原始变量x与主成分之间z之间可以表作
?
x0z0.7056?
?
?
?
1?
?
1.7056?
?
?
?
z?
xz?
?
?
11?
x?
?
122x10.2944z0.705601?
?
?
?
?
?
?
?
?
?
?
22显然与之间正交。
zz21
乘法结果:
对角矩阵11图
⑺根据特征根计算累计方差贡献率。
现已求得第一特征根为,第二特征根为1.7056?
?
1,二者之和刚好就是矩阵的维数,即有,这里为变量数2?
?
m?
0.2944?
=2m?
?
?
221目(注意前面的n=25为样本数目)。
比较图6或图10中给出的相关系数矩阵C与图11
中给出的对角矩阵D可以看出,Tr.(C)=1+1=2,Tr.(D)=1.7056+0.2944=2,即有Tr.(C)=
Tr.(D),可见将相关系数亦即协方差矩阵转换为对角矩阵以后,矩阵的迹(trace,即对角
线元素之和)没有改变,这意味着将原始变量化为主成分以后,系统的信息量没有减少。
现在问题是,如果我们只取一个主成分代表原来的两个变量,能反映原始变量的多少信息?
这个问题可以借助相关系数矩阵的特征根来判断。
利用Excel容易算出,第一特征根占特
征根总和即矩阵维数的85.28%(见下表),即有
特征根累计值百分比累计百分比
1.7056031.70560385.28%85.28%
7
100.00%0.294397214.72%
也就是说:
,:
85.28%/2?
/