数学建模多元统计分析

发布时间:2019-01-21




实验报告
一、实验名称
多元统计分析作业题。
二、实验目的
(一)了解并掌握主成分分析与因子分析的基本原理和简单解法。
(二)学会使用matlab编写程序进行因子分析,求得特征值、特征向量、载荷矩阵等值。 (三)学会使用排序、元胞数组、图像表示最后的结果,使结果更加直观。
三、实验内容与要求





四、实验原理与步骤
(一)第一题:
1、实验原理: 因子分析简介:
(1 1.1 基本因子分析模型
p维总体x=(x1,x2,....,xp'的均值为u=(u1,u2,....,u3',因子分析的一般模型为 x1=u1+a11f1+a12f2+........+a1mfm+ε1 x2=u2+a21f1+a22f2+........+a2mfm+ε2 ......... xp=up+ap1f1+fp2f2+..........+apmfm+εp 其中,f1,f2,.....,fmm个公共因子;εi是变量xi(i=1,2,.....,p所独有的特殊因子,他们都是不可观测的隐变量。称aij(i=1,2,.....,p;j=1,2,.....,m为变量xi的公共因子fi上的载荷,它反映了公共因子对变量的重要程度,对解释公共因子具有重要的作用。上式可以写为矩阵形式 x=u+Af+ε


其中A=(aijpxm 称为因子载荷矩阵;f=(f1,f2,....,fm'为公共因子向量;ε=(ε1,ε2,.....εp称为特殊因子向量
(2 1.2 共性方差与特殊方差
xi的方差var(xi由两部分组成,一个是公共因子对xi方差的贡献,称为共性方差;一个是特殊因子对xi方差的贡献,称为特殊方差。每个原始变量的方差都被分成了共性方差和特殊方差两部分。 (3 1.3 因子旋转
因子分析的主要目的是对公共因子给出符合实际意义的合理解释,解释的依据就是因子载荷阵的个列元素的取值。当因子载荷阵某一列上各元素的绝对值差距较大时,并且绝对值大的元素较少时,则该公共因子就易于解释,反之,公共因子的解释就比较困难。此时可以考虑对因子和因子载荷进行旋转(例如正交旋转)使得旋转后的因子载荷阵的各列元素的绝对值尽可能量两极分化,这样就使得因子的解释变得容易。
因子旋转方法有正交旋转和斜交旋转两种,这里只介绍一种普遍使用的正交旋转法:最大方差旋转。这种旋转方法的目的是使因子载荷阵每列上的各元素的绝对值(或平方值)尽可能地向两极分化,即少数元素的绝对值(或平方值)取尽可能大的值,而其他元素尽量接近0. (4 1.4 因子得分
在对公共因子做出合理解释后,有时还需要求出各观测所对应的各个公共因子的得分,就比如我们知道某个女孩是一个美女,可能很多人更关心该给她的脸蛋、身材等各打多少分,常用的求因子得分的方法有加权最小二乘法和回归法。 注意:因子载荷矩阵和得分矩阵的区别:
因子载荷矩阵是各个原始变量的因子表达式的系数,表达提取的公因子对原始变量的影响程度。因子得分矩阵表示各项指标变量与提取的公因子之间的关系,在某一公因子上得分高,表明该指标与该公因子之间关系越密切。简单说,通过因子载荷矩阵可以得到原始指标变量的线性组合,如X1=a11*F1+a12*F2+a13*F3,其中X1为指标变量1a11a12a13分别为与变量X1在同一行的因子载荷,F1F2F3分别为提取的公因子;通过因子得分矩阵可以得到公因子的线性组合,如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 求得正交或斜交因子载荷矩阵; 通过上一步,我们得到了因子载荷矩阵lambda
因子分析,公共因子数为4,设置特殊方差的下限为0,使用 factoran函数进行因子旋转。
设置表头与变量名,计算贡献率与累计贡献率。将lambdaContribut CumCont放在一起,转为元胞数组,并显示最后的结果。 (5 计算公因子得分和综合得分。
计算因子得分方法是:用每个共因子的方差贡献率做权数,对每个因子进行加权,然后加总得到每个项目的总因子得分按总得分的多少进行排序,以反映不同免死方面对结果的影响。


根据第3步我们可以得到因子1~4的贡献率分别为: [29.1129] [ 27.3303] [ 10.7644] [ 7.2713]即为它们的权重。再由不同面试方面所对应的因子数我们可以得到公因子得分和综合得分。

(二)第二题
1、实验原理:
主成分分析是由皮尔逊在1901年首先对非随机变量引入的,后来由霍特林在1933年推广到随机向量的情形。主成分分析是一种通过降维技术把多个变量化为少数几个主成分(综合变量的多元统计方法,这些主成分能够反映原始变量的大部分信息,且新主成分之间相关性低、重叠少。
主成分分析在很多领域都有广泛的应用,一般来说,当研究的问题涉及多个变量,并且变量间相关性明显,即包含的信息有所重叠时,可以考虑用主成分分析的方法,这样更容易抓住事物的主要矛盾,使问题简化。
具体做法是:
①对原始数据进行标准化处理 x1,x2,,xm表示主成分分析指标的m个变量,评价对象有n个,aij表示第i个评价对象对应于第j个指标的取值。将每个指标值aij转化为标准化指标aij,即

aijaijjsj,(i1,2,,n;j1,2,,m
1n1n式中:jaijsj(aijj2 ni1n1i1 相应地,标准化指标变量为
xj②计算相关系数矩阵R
xjjsj,(j1,2,,m
R(rijmm
rijak1nkiakj,(i,j1,2,,m
n1

其中:rii1,rijrjirij是第i个指标和第j指标之间的相关系数。 ③计算相关系数矩阵的特征值与特征向量 解特征方程IR0得到特征值i(i1,2,对应的特征值i的特征向量ui(i1,2,m个新的指标变量为
,m12,m0再求出相,m其中uj(u1j,u2j,,umjT,由特征向量组成y1u11x1u21x2um1xmyuxuxux2121222m2m
ymu1mx1u2mx2ummxm其中:y1为第1主成分,y2为第1主成分,ym为第m主成分 ④选择ppm个主成分,计算综合评价值。 1)计算特征值j(j1,2,,m的信息贡献率和累积贡献率
bj表示主成分yi的信息贡献率,则有 bjjk1m(j1,2,k,m
ap表示主成分y1,y2,,yp的累积贡献率,则有
apk1k1mpk
kap接近于1(一般ap的范围为85%95%时,则用前p个指标变量y1,y2,作为p个主成分,代替原来m个指标变量,再对p个主成分进行综合分析。 ⑤计算综合得分
bj表示第j个主成分的信息贡献率,则有
,ypZbjyj
j1p根据综合得分值进行评价。



2、实验步骤:
本题使用的是调用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'进行综合得分和各个主成分的得分,再把得分按从高到低的次序排列,即可得到公司的综合排序。
四、程序及其运行结果
(一)第一题:
1、程序1(特征值与特征向量的计算):>> [x,y]=eig(PHO 运行结果1
x =
Columns 1 through 10 0.0152 -0.0777 0.1196 0.0819 0.1754 -0.0031 0.4403 0.1378 -0.1450 0.6108 -0.0149 0.0797 -0.2294 0.2167 -0.1166 -0.0039 -0.0556 0.0003 -0.0059 -0.0478

-0.0616 -0.0222 -0.0813 -0.1235 -0.2265 -0.2841 -0.0169 -0.0438 -0.3104 0.2316 0.3235 -0.1245 -0.0627 0.0067 0.3866 -0.2352 -0.3941 -0.2815 0.0974 0.1127 0.2671 0.3150 -0.3168 -0.3625 0.3504 -0.2379 0.1629 0.3807 -0.1128 0.0054 -0.4623 -0.1824 -0.3547 0.3107 0.0196 -0.0142 0.5137 0.1688 -0.1806 -0.2084 0.2690 -0.0078 -0.0131
0.3024 -0.1115 -0.3103 0.1256 0.1762 0.6224 0.2938 -0.0938 -0.1606 -0.0167 -0.0900 0.0136 -0.0165 0.0046 0.1987 0.0755 0.6008 0.1152 -0.3732 0.2237 -0.2027 -0.3208 0.4173 0.0078 -0.2384 -0.5057 -0.2522 -0.2654 -0.5552 0.2292 -0.3332 0.1303 0.0808 -0.2133 0.1088 0.5406 -0.1258 0.0899 -0.1343 -0.4357
0.0929 0.4208 0.1465 -0.2965 0.5796 0.1974 0.0301 0.2446 -0.1208 0.0062 0.0671 -0.2086 0.2500 -0.1729 -0.1643 -0.5916 0.0768 -0.2447 0.0850 -0.1151 -0.0288 -0.0643 -0.4961 0.0186 -0.4290 0.1796 -0.4213 Columns 11 through 15 0.1181 -0.1105 0.3106 0.4310 0.1631 0.8732 0.2562 -0.0165 -0.0350 0.2128 -0.2101 0.6493 -0.4082 0.2362 0.0398
-0.1979 0.0238 -0.4950 -0.0537 0.2546 0.1459 0.3595 0.5242 -0.1372 -0.1037 0.1087 0.4513 0.0089 -0.3044 0.1339 -0.3789 0.0603 -0.1141 -0.2239 0.2905
-0.1150 0.3247 0.4785 -0.1264 0.2252 0.0003 -0.1631 -0.2471 -0.2480 0.2913 -0.2069 -0.0630 -0.1520 -0.1292 0.3165 -0.0703 0.4053 0.2974 -0.4053 0.1582 0.0344 -0.2072 -0.2049 -0.0393 0.3221 -0.1045 0.0676 0.0764 0.5533 0.1334 -0.2039 -0.1514 -0.0825 0.0481 0.3149 0.1591 -0.1905 -0.2110 -0.0685 0.3183 -0.0738 0.0885 -0.1110 -0.0211 0.3314 -0.1218 0.1986 -0.0605 0.0226 0.3333 -0.1170 -0.2137 0.4606 -0.0799 0.2593 0.0745 -0.0263 0.0882 0.4205 0.2358 y = Columns 1 through 10 0.0344 0 0 0 0 0 0 0 0 0 0 0.0577 0 0 0 0 0 0 0 0 0 0 0.0763 0 0 0 0 0 0 0 0 0 0 0.0933 0 0 0 0 0 0 0 0 0 0 0.1509 0 0 0 0 0 0 0 0 0 0 0.2057 0 0 0 0 0 0 0 0 0 0 0.2597 0 0 0 0 0 0 0 0 0 0 0.3103 0 0

0 0 0 0 0 0 0 0 0.3441 0 0 0 0 0 0 0 0 0 0 0.4840 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Columns 11 through 15 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.7414 0 0 0 0 0 1.2091 0 0 0 0 0 1.4677 0 0 0 0 0 2.0615 0 0 0 0 0 7.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.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 -0.0000 -0.0000 -0.0000 0.4000 0.4078 0.5997 -0.2296 psi = 0.4293 0.6860 0.5248 0.2004 0.3203 0.1297 0.3700 0.2281 0.1417

0.1115 0.1912 0.1519
0.0815
0.0000 0.2614
T = 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 result1 = '变量' ''因子f4' '申请信的形式' [ 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] 因子f1' '
因子f2' '因子f3'
[ -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.3901 0.3670 0.1445 0.0976 所以对应的因子得分与综合得分为(最后一列为综合得分)
[ 0.1833] [ 0.0247] [ [ -0.0218] [ 0.2650] ’外貌’[ 0.1092] [ 0.1698] [ 0.0088] [ [ 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.0786] -0.0218]
’推销能力’[ 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
>> clear all PHO=[43.31 7.39 8.73 54.89 17.11 12.13 17.29 44.25 21.11 6.03 7 89.37 29.55 8.62 10.13 73 11 8.41 11.83 25.22 17.63 13.86 15.41 36.44 2.73 4.22 17.16 9.96 29.11 5.44 6.09 56.26 20.29 9.48 12.97 82.23 3.99 4.64 9.35 13.04 22.64 11.13 14.3 50.51

4.43 7.3 14.36 29.04 5.4 8.9 12.53 65.5 7.06 2.79 5.24 19.79 19.82 10.53 18.55 42.04 7.26 2.99 6.99 22.72]; >> PHO=zscore(PHO; >> r=corrcoef(PHO; >> [x,y,z]=pcacov(r
运行结果1
x = 0.5306 -0.4122 -0.7018 -0.2366 0.5938 0.4045 -0.0229 0.6952 0.2606 0.7207 -0.0097 -0.6423 0.5458 -0.3835 0.7119 -0.2196 y = 1.8971 1.5496 0.3930 0.1602 z = 47.4282 38.7411 9.8253 4.0053 2. 程序2
>> result1(1,:={'特征值','差值','贡献率','累积贡献率'}; result1(2:5,1=num2cell(y; result1(2:4,2 = num2cell(-diff(y; result1(2:5,3:4 = num2cell([z, cumsum(z] 运行结果2
'特征值' '差值' '贡献率' '累积贡献率' [1.8971] [0.3475] [47.4282] [ 47.4282] [1.5496] [1.1566] [38.7411] [ 86.1693] [0.3930] [0.2328] [ 9.8253] [ 95.9947] [0.1602] [] [ 4.0053] [ 100.0000]

3. 程序3
>> s={'标准化变量';'x1:销售净利率';'x2:资产净利率';'x3:净资产收益率';'x4:销售毛利率'}; result2(:,1=s; result2(1, 2:3 = {'Prin1', 'Prin2'}; result2(2:5, 2:3 = num2cell(x(:,1:2 运行结果3
result2 = '标准化变量' 'Prin1' 'Prin2' 'x1:销售净利率' [0.5306] [-0.4122] 'x2:资产净利率' [0.5938] [ 0.4045] 'x3:净资产收益率' [0.2606] [ 0.7207] 'x4:销售毛利率' [0.5458] [-0.3835] 4. 程序4
>> df=PHO*x(:,[1:num]; >> tf=df*z(1:num/100; >> [stf,ind]=sort(tf,'descend' 运行结果4
stf = 1.1091 1.1066 1.0029 0.7506 0.6340 0.3611 0.2014 0.0481 -0.0570 -0.2014 -0.2444 -0.3367 -0.7301 -0.8998 -1.2651 -1.4791 ind = 2 6 15 11 9 13 4 12 5 1 7 3 8 10 16 14
五、实验结果分析
(一)第一题:


1. 从因子载荷矩阵x我们可以看出来,前2列个元素的取值差距较大,也就是说前2个因子易于解释,而后2列元素取值都比较小,后两个因子很难给出合理的解释。 2. 从特殊方差矩阵的估计psi来看,各变量的特殊方差都比较小, 并没有出现海伍德现象,这说明因子模型的拟合效果非常好。
3. 从贡献率和累积贡献率来看,4个因子对原始数据总方差的贡献率分别为29.112927.330310.76447.2713,累积贡献率达到了74.4788%,这说明因子模型中只考虑4个公共因子应该是比较合适的。
4. 从最后的因子得分和综合得分我们可以看出,在面试的过程中,专业能力、理解能力、潜力能力是最重要的三项,而诚实、经验和申请信的形式则为最不重要的三项。 (一)第二题
1. 分析result1的结果,我们可以看出前2个主成分的累积贡献率达到了86.1693%,因此可以只用前2个主成分进行后续的分析,这样虽然会有一定的信息损失,但是损失不大。result2中列出了前2个主成分的相关结果,可知前2个主成分的表达式分布为: y1=0.5306x1+0.5938x2+0.2606x3+0.5458x4 y2=-0.41221x1+0.4045x2+0.7207x3-0.3835x4 2. 从第一主成分y1的表达式来看,x4销售毛利率这个标准变化量对y1的重要性最大。当销售净利率x1,资产净利率x2,净资产收益率x3,销售毛利率x4都比较大时,此y1的值就比较大;反之,x1x2x3,x4都比较小,此时y1的值就比较小,所以可以认为第一主成分y1是利润的综合成分。
3. 从第二主成分y2的表达式来看,x1销售净利率这个标准变化量对y2的正影响最大,同时x4销售毛利率对y2的负影响较大,所以可以认为第二主成分y2是利润的销售净利率和销售毛利率的协调成分。
4. 最后两个主成分的贡献率比较小,分别只有 [ 9.8253][ 4.0053],可以不用对其做出解释。
5. 分别以两个主成分的贡献率为权重,我们可以得到主成分评价模型
Z=47.4282y1+38.7411y2 6. 通过计算得到的排序的结果,对比原始公司表格,我们可以看出贵州茅台公司的综合评

价是最高的,而湖北宣化公司的综合排序最低。
七、实验体会
本文主要运用了主层分分析和因子分析来解决问题。主成分分析将多因子纳入同一系统进行定量化研究,是比较完善的多元统计分析方法。两种分析方法在日常生活中的各个领域都得到了广泛的应用——经济效益指标、内部运营指标和发展潜力指标进行综合评价等。
实验让我们了解到了通过因子分析和主成分分析,可以将我们的分析过程大大简化,分析由繁至简,使结果更形象、更直观。



数学建模多元统计分析

相关推荐