基于R软件的主成分分析

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

R软件第二次作业——基于R软件的主成分分析学院:应用科学学院班级:统计11-1姓名:范佳琦学号:1107060104一、主成分分析基本原理设对于某个问题的研究涉及到p个指标,分别用PXXXX,,,,321表示,这个指标构成的p维随机向量设为PXXXXX,,,,321,对进行线性变换,可以通过线性组合的方式形成新的综合变量,这里用C表示。新的综合变量和原来变量之间的关系可以用下面的公式表示:ppppppppppXuXuXuCXuXuXuCXuXuXuC22112222121212121111上式中的线性组合可以是任意的,由不同的线性变换得到的综合变量的统计特征也是不一样的。为了使综合变量可以比较好的描述原变量的特征,应该要让XuCii的方差尽可能的大,并且iC之间相互独立。为此,上式要满足以下的约束:1)12232221ipiiiuuuu),,3,2,1(pi;2)iC和互不相关),,3,2,1,;(pjiji;3)1C是PXXXX,,,,321所有满足约束1的线性组合中方差最大的,2C是线性组合中方差第二大的,其他的依次类推。以上三条约束确定的PXXXX,,,,321分别为称为原始变量的第一,第二,…,第p个主成分。各主成分对变量的总方差贡献率的大小不同,在实际的研究过程中,一般挑选前面几个方差最大的主成分(累计方差贡献率在80%到90%之间)来分析问题,从而达到降低问题复杂程度,抓住主要矛盾矛盾的目的。二、主成分分析过程一般而言,用主成分分析对问题进行分析时,主要包括以下的基本过程:1)为了消除不同变量在数量级和量纲上的差异,将收集的原始数据进行标准化;2)求标准化后数据的相关矩阵;3)求相关矩阵的特征值和特征向量;4)根据特征值计算方差贡献率大于80%的原则,确定主成分为mCCC,,,21;5)构建综合评价函数,其数学形式为:mmmCCCC2122116)根据综合评价函数计算总得分,然后排序并评价。三、R在主成分分析中的应用为了说明R软件是如何应用于因子分析中的,现以2004年城市综合发展水平为例。首先收集能反映我国2008年城市综合发展水平的12个指标和数据,这些指标分包括8个社会经济指标:非农业人口数(万人)(1x),工业总产值(万元)(2x),货运总量(万吨)(3x),批发零售住宿餐饮业从业人数(万人)(4x),地方政府预算内收入(万元)(5x),城乡居民年底储蓄余额(万元)(6x),在岗职工人数(万人)(7x),在岗职工工资总额(万元)(8x),4个城市公共设施水平的指标:人均居住面积(平方米)(9x),每万人拥有公共汽车数(辆)(10x),人均拥有铺装道路面积(平方米)(11x),人均公共绿地面积(平方米)(12x)。为了让R软件可以顺利读取数据,先将原数据整理到文本文档中,保存,并命名为sj。打开R软件,在其命令板中输入下列的命令:sj-read.table(sj.txt)#读取数据names(sj)=c(非农业人口数,工业总产值,货运总量,批发零售住宿餐饮业从业人数,地方政府预算内收入,城乡居民年底储蓄余额,在岗职工人数,在岗职工工资总额,人均居住面积,每万人拥有公共汽车数,人均拥有铺装道路面积,人均公共绿地面积)sjt-scale(sj)#将数据进行标准化door=cor(sjt)#求相关矩阵dcor#输出的结果不是很清晰,故我们对结果做改善symnum(dcor)#改善相关矩阵的结果\xb7\xb9\xbb\xc5\xb5\xb3在岗职工\xc8非农业人口数1工业总产值,1货运总量+,1批发零售住宿餐饮业从业人数,..1地方政府预算内收入,*+,1城乡居民年底储蓄余额...+.1在岗职工人数,,,,1在岗职工工资总额+,,+*+.人均居住面积每万人拥有公共汽车数.人均拥有铺装道路面积.人均公共绿地面积..在岗职工\xb9人均\xbe\xc3人均\xd3人均\xb9非农业人口数工业总产值货运总量批发零售住宿餐饮业从业人数地方政府预算内收入城乡居民年底储蓄余额在岗职工人数在岗职工工资总额1人均居住面积1每万人拥有公共汽车数.1人均拥有铺装道路面积.*1人均公共绿地面积.,1attr(,legend)[1]0‘’0.3‘.’0.6‘,’0.8‘+’0.9‘*’0.95‘B’1从输出的改善后的相关矩阵,我们可以看出原始变量之间有较强的相关性,进行因子分析是合适的。deig-eigen(dcor)#求相关矩阵的特征值个特征向量deig$values#输出特征值[1]5.8358280482.6318302671.5719512600.7950237590.4980433340.3420645390.1312564010.0832968160.0663302190.0300399270.0116178910.002717538screeplot(psjt,type=line,main='碎石图',lwd=2)#对数据做碎石图从碎石图上可以看出,前三个因子波动幅度较大说明他们携带的信息较多,而三个因子以后幅度明显较缓,故提取三个因子最为合适,下面验算一下前三个主成分的累计方差贡献率是否超过80%。psjt-princomp(sjt,cor=T)#对数据做主成分分析psjt#输出结果,进行观察Call:princomp(x=sjt,cor=T)Standarddeviations:Comp.1Comp.2Comp.3Comp.4Comp.5Comp.6Comp.72.415745861.622291671.253774800.891641050.705721850.584862840.36229325Comp.8Comp.9Comp.10Comp.11Comp.120.288611880.257546540.173320300.107786320.0521300212variablesand35observations.summary(psjt)#对主成分分析做描述性统计Importanceofcomponents:Comp.1Comp.2Comp.3Comp.4Comp.5Standarddeviation2.4157461.62229171.25377480.891641050.70572185ProportionofVariance0.4863190.21931920.13099590.066251980.04150361CumulativeProportion0.4863190.70563820.83663410.902886110.94438972Comp.6Comp.7Comp.8Comp.9Standarddeviation0.584862840.362293250.2886118770.257546538ProportionofVariance0.028505380.010938030.0069414010.005527518CumulativeProportion0.972895100.983833130.9907745350.996302054Comp.10Comp.11Comp.12Standarddeviation0.1733203020.10778632080.0521300153ProportionofVariance0.0025033270.00096815760.0002264615CumulativeProportion0.9988053810.99977353851.0000000000从上述结果中,我们可以看到前三个因子的累计方差贡献率达到0.8366341,已超过80%,故我们提取前三个因子较为合适。sum(deig$values[1:3])/12#求前三个主成分的累计方差贡献率[1]0.8366341psjt$loadings[,1:3]#输出前三个主成分的载荷矩阵Comp.1Comp.2Comp.3非农业人口数-0.36317564-0.237167376-0.10576236工业总产值-0.362694420.111161484-0.23816810货运总量-0.34957248-0.176536929-0.26818412批发零售住宿餐饮业从业人数-0.30469488-0.1208865890.45890060地方政府预算内收入-0.390564790.002106990-0.07213339城乡居民年底储蓄余额-0.298920920.0013057790.46593112在岗职工人数-0.28980674-0.088277781-0.42805805在岗职工工资总额-0.39319972-0.0435940160.21017732人均居住面积-0.036671820.269731355-0.40796468每万人拥有公共汽车数-0.102845500.5516536030.04633255人均拥有铺装道路面积-0.119847530.563195991-0.01790749人均公共绿地面积-0.121418050.4262040950.17598865从上面输出的结果可以看到,公共因子1F在1x(非农业人口数),2x(工业总产值),3x(货运总量),4x(批发零售住宿餐饮业从业人数),5x(地方政府预算内收入),6x(城乡居民年底储蓄余额),7x(在岗职工人数),8x(在岗职工工资总额)上的载荷较大,因而1F为反映城市规模及经济发展水平的公共因子,在这个因子上的得分越高,城市经济发展水平越高,城市规模越大。公共因子2F由于在10x(每万人拥有公共汽车数),11x(人均拥有铺装道路面积),12x(人均公共绿的面积)上的载荷较大,是反映城市基础设施水平的公共因子。公共因子3F在4x(批发零售住宿餐饮业从业人数),6x(城乡居民年底储蓄余额),(在岗职工人数),9x(人均居住面积)上有较大的载荷,是反映城市居民就业收入及住房条件的公共因子。deig$values[1]/12;deig$values[2]/12;deig$values[3]/12;#计算三个主成分的系数[1]0.486319[1]0.2193192[1]0.1309959从上述结果,我们可以得出,城市综合发展水平综合得分函数C为:321C*0.1309959C*0.21931928C*0.486319Cs=psjt$scores[,1:3]#输出前三个主成分的得分c=s[1:35,1]*0.486319+s[1:35,2]*0.2193192+s[1:35,2]*0.1309959#计算综合得分cbind(s,c)#输出综合得分信息Comp.1Comp.2Comp.3c[1,]-7.3063539-1.592859125.3889398229-4.11122135[2,]-2.4208794-0.98264856-1.3134419871-1.52155625[3,]0.6608709-0.23440121-0.27882036890.23927978[4,]1.1885022-0.56861421-0.02382743800.37879708[5,]2.16970500.183410570.02194922011.11942024[6,]0.1046679-0.875391610.3259247466-0.25576092[7,]0.7012658-0.623696530.20961710950.12254858[8,]-0.3098989-1.222579690.4772337230-0.57899782[9,]-8.3026537-1.13042579-3.8794314665-4.43374347[10,]-0.56884710.924928910.40416266970.04737539[11,]-0.1877451-0.356

1 / 7
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功