数学建模多元统计分析Word格式文档下载.docx
《数学建模多元统计分析Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《数学建模多元统计分析Word格式文档下载.docx(16页珍藏版)》请在冰豆网上搜索。
每个原始变量的方差都被分成了共性方差和特殊方差两部分。
(3)1.3因子旋转
因子分析的主要目的是对公共因子给出符合实际意义的合理解释,解释的依据就是因子载荷阵的个列元素的取值。
当因子载荷阵某一列上各元素的绝对值差距较大时,并且绝对值大的元素较少时,则该公共因子就易于解释,反之,公共因子的解释就比较困难。
此时可以考虑对因子和因子载荷进行旋转(例如正交旋转),使得旋转后的因子载荷阵的各列元素的绝对值尽可能量两极分化,这样就使得因子的解释变得容易。
因子旋转方法有正交旋转和斜交旋转两种,这里只介绍一种普遍使用的正交旋转法:
最大方差旋转。
这种旋转方法的目的是使因子载荷阵每列上的各元素的绝对值(或平方值)尽可能地向两极分化,即少数元素的绝对值(或平方值)取尽可能大的值,而其他元素尽量接近于0.
(4)1.4因子得分
在对公共因子做出合理解释后,有时还需要求出各观测所对应的各个公共因子的得分,就比如我们知道某个女孩是一个美女,可能很多人更关心该给她的脸蛋、身材等各打多少分,常用的求因子得分的方法有加权最小二乘法和回归法。
注意:
因子载荷矩阵和得分矩阵的区别:
因子载荷矩阵是各个原始变量的因子表达式的系数,表达提取的公因子对原始变量的影响程度。
因子得分矩阵表示各项指标变量与提取的公因子之间的关系,在某一公因子上得分高,表明该指标与该公因子之间关系越密切。
简单说,通过因子载荷矩阵可以得到原始指标变量的线性组合,如X1=a11*F1+a12*F2+a13*F3,其中X1为指标变量1,a11、a12、a13分别为与变量X1在同一行的因子载荷,F1、F2、F3分别为提取的公因子;
通过因子得分矩阵可以得到公因子的线性组合,如F1=a11*X1+a21*X2+a31*X3,字母代表的意义同上。
(5)1.5因子分析中的Heywood(海伍德)现象
如果x的各个分量都已经标准化了,则其方差=1。
即共性方差与特殊方差的和为1。
也就是说共性方差与特殊方差均大于0,并且小于1。
但在实际进行参数估计的时候,共性方差的估计可能会等于或超过1,如果等于1,就称之为海伍德现象,如果超过1,称之为超海伍德线性。
超海伍德现象意味着某些特殊因子的方差为负,表明肯定存在问题。
造成这种现象的可能原因包括:
共性方差本身估计的问题;
太多的共性因子,出现了过拟合;
太少的共性因子,造成拟合不足;
数据太少,不能提供稳定的估计;
因子模型不适合这些数据。
当出现海伍德现象或超海伍德现象时,应对估计结果保持谨慎态度。
可以尝试增加数据量,或改变公共因子数目,让公共因子数目在一个允许的范围内变动,观察估计结果是否有改观;
还可以尝试用其他多元统计方法进行分析,比如主成分析。
2、实验步骤:
(1)将原始数据标准化处理;
(2)建立相关系数矩阵并计算其特征值和特征向量;
将题目所给的相关系数矩阵输入并设为PHO,利用[x,y]=eig(PHO)求得PHO的特征值和特征向量。
(3)选择特征值大于等于1的特征值个数为公共因子数,或者根据特征值累计贡献率大于80%来确定公共因子。
从y表(特征值表)中我们可以看出大于等于1的特征值个数为4,所以公共因子数也为4。
(4)求得正交或斜交因子载荷矩阵;
1 通过上一步,我们得到了因子载荷矩阵lambda。
2 因子分析,公共因子数为4,设置特殊方差的下限为0,使用factoran函数进行因子旋转。
3 设置表头与变量名,计算贡献率与累计贡献率。
将lambda、Contribut、CumCont放在一起,转为元胞数组,并显示最后的结果。
(5)计算公因子得分和综合得分。
计算因子得分方法是:
用每个共因子的方差贡献率做权数,对每个因子进行加权,然后加总得到每个项目的总因子得分按总得分的多少进行排序,以反映不同免死方面对结果的影响。
根据第3步我们可以得到因子1~4的贡献率分别为:
[29.1129][27.3303][10.7644][7.2713],即为它们的权重。
再由不同面试方面所对应的因子数我们可以得到公因子得分和综合得分。
(2)第二题:
主成分分析是由皮尔逊在1901年首先对非随机变量引入的,后来由霍特林在1933年推广到随机向量的情形。
主成分分析是一种通过降维技术把多个变量化为少数几个主成分(即综合变量)的多元统计方法,这些主成分能够反映原始变量的大部分信息,且新主成分之间相关性低、重叠少。
主成分分析在很多领域都有广泛的应用,一般来说,当研究的问题涉及多个变量,并且变量间相关性明显,即包含的信息有所重叠时,可以考虑用主成分分析的方法,这样更容易抓住事物的主要矛盾,使问题简化。
具体做法是:
①对原始数据进行标准化处理
用
表示主成分分析指标的m个变量,评价对象有n个,
表示第i个评价对象对应于第j个指标的取值。
将每个指标值
转化为标准化指标
,即
式中:
,
相应地,标准化指标变量为
②计算相关系数矩阵R
其中:
是第i个指标和第j指标之间的相关系数。
③计算相关系数矩阵的特征值与特征向量
解特征方程
,得到特征值
;
再求出相对应的特征值
的特征向量
,其中
由特征向量组成的m个新的指标变量为
为第1主成分,
为第1主成分,?
为第m主成分
④选择p(p≤m)个主成分,计算综合评价值。
(1)计算特征值
的信息贡献率和累积贡献率
表示主成分
的信息贡献率,则有
的累积贡献率,则有
若
接近于1(一般
的范围为85%—95%)时,则用前
个指标变量
作为
个主成分,代替原来
个指标变量,再对
个主成分进行综合分析。
⑤计算综合得分
表示第j个主成分的信息贡献率,则有
根据综合得分值进行评价。
本题使用的是调用pcacov函数做主成分分析的方法。
(1)首先我们定义相关系数矩阵PHO,并输入题目中所给的数据。
(2)设置pcacov函数的返回,分别为:
主成分表达式的系数矩阵x;
相关系数矩阵的特征值向量y;
主成分贡献率向量z。
(3)接下来就可以调用pcacov函数根据相关系数矩阵作主成分分析。
(4)为了使结果更加直观,我们选择用元胞数组形式(result1)显示结果。
在横轴方向分别写出
“特征值”、“差值”、“贡献率”和“累积贡献率”。
其中,diff函数式用于求导数与差分;
comsum函数用于计算一个数组各行的累加值。
(5)从result1我们可以看出,前两个主成分累积功效率为[97.7680],因此我们用前两个主成分进行后续分析。
(6)我们再次使用元胞数组形式(result2)显示前3个主成分表达式的系数矩阵,即z矩阵的前2列,以使结果更加直观。
(7)通过以上我们得到了2个主成分的公式以及主成分综合评价模型。
(8)接下来利用公式>
>
df=PHO*x(:
[1:
num])和>
tf=df*z(1:
num)/100;
以及>
[stf,ind]=sort(tf,'
descend'
)进行综合得分和各个主成分的得分,再把得分按从高到低的次序排列,即可得到公司的综合排序。
4、程序及其运行结果
1、程序1(特征值与特征向量的计算):
[x,y]=eig(PHO)
运行结果1:
x=
Columns1through10
0.0152-0.07770.11960.08190.1754-0.00310.44030.1378-0.14500.6108
-0.01490.0797-0.22940.2167-0.1166-0.0039-0.05560.0003-0.0059-0.0478
-0.0616-0.0222-0.0813-0.1235-0.2265-0.2841-0.0169-0.0438-0.31040.2316
0.3235-0.1245-0.06270.00670.3866-0.2352-0.3941-0.28150.09740.1127
0.26710.3150-0.3168-0.36250.3504-0.23790.16290.3807-0.11280.0054
-0.4623-0.1824-0.35470.31070.0196-0.19790.1087-0.01420.51370.1688
-0.1806-0.20840.2690-0.0078-0.01310.02380.45130.3024-0.1115-0.3103
0.12560.17620.62240.2938-0.0938-0.49500.0089-0.1606-0.0167-0.0900
0.0136-0.01650.00460.19870.0755-0.0537-0.30440.60080.1152-0.3732
0.2237-0.2027-0.32080.41730.00780.25460.1339-0.2384-0.5057-0.2522
-0.2654-0.55520.2292-0.33320.13030.1459-0.37890.0808-0.21330.1088
0.5406-0.12580.0899-0.1343-0.43570.35950.06030.09290.42080.1465
-0.29650.57960.19740.03010.24460.5242-0.1141-0.12080.00620.0671
-0.20860.2500-0.1729-0.1643-0.5916-0.1372-0.22390.0768-0.24470.0850
-0.1151-0.0288-0.0643-0.49610.0186-0.10370.2905-0.42900.1796-0.4213
Columns11through15
0.1181-0.11050.31060.43100.1631
0.87320.2562-0.0165-0.03500.2128
-0.21010.6493-0.40820.23620.0398
-0.11500.32470.4785-0.12640.2252
0.0003-0.1631-0.2471-0.24800.2913
-0.2069-0.0630-0.1520-0.12920.3165
-0.07030.40530.2974-0.40530.1582
0.0344-0.2072-0.2049-0.03930.3221
-0.10450.06760.07640.55330.1334
-0.2039-0.1514-0.08250.04810.3149
0.1591-0.1905-0.2110-0.06850.3183
-0.07380.0885-0.1110-0.02110.3314
-0.12180.1986-0.06050.02260.3333
-0.1170-0.21370.4606-0.07990.2593
0.0745-0.02630.08820.42050.2358
y=
0.0344000000000
00.057700000000
000.07630000000
0000.0933000000
00000.150900000
000000.20570000
0000000.2597000
00000000.310300
000000000.34410
0000000000.4840
0000000000
00000
0.74140000
01.2091000
001.467700
0002.06150
00007.5040
2.程序2(求因子载荷矩阵、贡献率和累计贡献率):
[lambda,psi,T]=factoran(PHO,4,'
xtype'
'
covariance'
delta'
0,'
rotate'
none'
)
head={'
变量'
'
因子f1'
因子f2'
因子f3'
因子f4'
};
varname={'
申请信的形式'
外貌'
专业能力'
讨人喜欢的能力'
自信心'
洞察力'
诚实'
推销能力'
经验'
驾驶汽车本领'
抱负'
理解能力'
潜力能力'
对工作要求强烈程度'
适应性'
<
贡献率>
'
累积贡献率>
}'
;
Contribut=100*sum(lambda.^2)/15;
CumCont=cumsum(Contribut);
result1=num2cell([lambda;
Contribut;
CumCont]);
result1=[head;
varname,result1]
运行结果2:
lambda=
0.47000.06730.5437-0.2229
0.28000.46270.06090.1335
-0.32000.43930.35910.2256
0.69000.11790.16520.5313
0.48000.7026-0.3997-0.0685
0.53000.7141-0.12440.0505
0.45000.1388-0.23270.6354
0.55000.7115-0.1032-0.2257
0.21000.20980.6947-0.2423
0.61000.60620.0850-0.1585
0.55000.7099-0.1390-0.1806
0.55000.72530.08190.1132
0.54000.73300.20860.2147
1.0000-0.0000-0.0000-0.0000
0.40000.40780.5997-0.2296
psi=
0.42930.68600.52480.20040.11150.19120.32030.12970.37000.22810.14170.15190.08150.00000.2614
T=
1000
0100
0010
0001
result1=
'
[0.4700][0.0673][0.5437][-0.2229]
[0.2800][0.4627][0.0609][0.1335]
[-0.3200][0.4393][0.3591][0.2256]
[0.6900][0.1179][0.1652][0.5313]
[0.4800][0.7026][-0.3997][-0.0685]
[0.5300][0.7141][-0.1244][0.0505]
[0.4500][0.1388][-0.2327][0.6354]
[0.5500][0.7115][-0.1032][-0.2257]
[0.2100][0.2098][0.6947][-0.2423]
[0.6100][0.6062][0.0850][-0.1585]
[0.5500][0.7099][-0.1390][-0.1806]
[0.5500][0.7253][0.0819][0.1132]
[0.5400][0.7330][0.2086][0.2147]
[1.0000][-4.5688e-06][-1.7616e-07][-3.2322e-07]
[0.4000][0.4078][0.5997][-0.2296]
[29.1129][27.3303][10.7644][7.2713]
[29.1129][56.4431][67.2075][74.4788]
3.运行结果3:
4个因子的权重分别为:
0.39010.36700.14450.0976
所以对应的因子得分与综合得分为(最后一列为综合得分)
’申请信的形式’[0.1833][0.0247][0.0786][-0.0218][0.2650]
’外貌’[0.1092][0.1698][0.0088][-0.0218][0.2660]
’专业能力’[0.1248][0.1612][0.0519][0.2013][0.5392]
’讨人喜欢的能力’[0.2692][0.0433][0.0239][0.0220][0.3584]
’自信心’[0.1872][0.2579][-0.0570][0.0519][0.440]
’洞察力’[0.2068][0.2612][-0.0180][-0.0067][0.4433]
’诚实’[0.1755][0.0509][-0.0336][0.0049][0.1977]
’推销能力’[0.2146][0.2611][-0.0180][-0.0067][0.451]
’经验’[0.0819][0.0707][0.1004][-0.0220][0.2310]
’驾驶汽车本领’[0.2380][0.2248][0.0123][-0.0236][0.4987]
’抱负’[0.2146][0.2605][-0.0201][-0.0176][0.4374]
’理解能力’[0.2146][0.2662][0.0118][0.0110][0.5036]
’潜力能力’[0.2107][0.2690][0.0301][0.0210][0.5308]
’对工作要求强烈程度’[0.3901]---------[0.3901]
’适应性’[0.1560][0.1497][0.0867][-0.0224][0.3700]
1.程序1:
clearall
PHO=[43.317.398.7354.89
17.1112.1317.2944.25
21.116.03789.37
29.558.6210.1373
118.4111.8325.22
17.6313.8615.4136.44
2.734.2217.169.96
29.115.446.0956.26
20.299.4812.9782.23
3.994.649.3513.04
22.6411.1314.350.51
4.437.314.3629.04
5.48.912.5365.5
7.062.795.2419.79
19.8210.5318.5542.04
7.262.996.9922.72];
PHO=zscore(PHO);
r=corrcoef(PHO);
[x,y,z]=pcacov(r)
0.5306-0.4122-0.7018-0.2366
0.59380.4045-0.02290.6952
0.26060.7207-0.0097-0.6423
0.5458-0.38350.7119-0.2196
1.89711.54960.39300.1602
z=
47.428238.74119.82534.0053
2.程序2:
result1(1,:
)={'
特征值'
差值