实验六主成分分析一、实验目的通过本次实验,掌握SPSS及ENVI的主成分分析方法。二、有关概念1.主成分分析的概念主成分分析(又称因子分析),是将多个实测变量转换为少数几个不相关的综合指标的多元统计分析方法。代表各类信息的综合指标就称为因子或主成份。主成分分析的数学模型可写为:mmxaxaxaxaz13132121111mmxaxaxaxaz23232221212mmxaxaxaxaz33332321313………mnmnnnnxaxaxaxaz332211其中,x1、x2、x3、x4…xm为原始变量;z1、z2、z3、z4…zn为主成份,且有m≥n。写成矩阵形式为:Z=AX。Z为主成份向量,A为主成份变换矩阵,X为原始变量向量。主成份分析的目的是把系数矩阵A求出,主成份Z1、Z2、Z3…在总方差中所占比重依次递减。从理论上讲m=n即有多少原始变量就有多少主成份,但实际上前面几个主成份集中了大部分方差,因此取主成份数目远远小于原始变量的数目,但信息损失很小。因子分析的一个重要目的还在于对原始变量进行分门别类的综合评价。如果因子分析结果保证了因子之间的正交性(不相关)但对因子不易命名,还可以通过对因子模型的旋转变换使公因子负荷系数向更大(向1)或更小(向0)方向变化,使得对公因子的命名和解释变得更加容易。进行正交变换可以保证变换后各因子仍正交,这是比较理想的情况。如果经过正交变换后对公因子仍然不易解释,也可进行斜交旋转。2.因子提取方法SPSS提供的因子提取方法有:①Principalcomponents主成份法。该方法假设变量是因子的纯线性组合。这是SPSS最通用的因子提取方法,故因子分析有时又称为主成份分析。②Unweightedleastsquare不加权最小平方法。该方法使观测的和再生的相关阵之差的平方最小。③Generalizedleastsquare用变量的单值加权,使观测的和再生的相关阵之差的平方最小。④Maximumlikelihood最大似然法。此方法不要求多元正态分布。给出参数估计,如果样本来自多元正态总体它们与原始变量的相关阵极为相似。⑤Principalaxisfactoring使用多元相关的平方作为对公因子方差的初始估计。⑥Alphafactoringα因子提取法3.因子旋转方法SPSS提供的因子旋转方法有:①None不进行旋转。此为系统默认的选择项。②Varimax方差最大旋转。③Equamax平均正交旋转。④Quartmax四次方最大正交旋转。⑤DirectOblimin斜交旋转,指定此项可以在下面的矩形框中键入Delta值,该值应该在0~-1之间,是因子映象自相关的范围。0值产生最高相关因子,大负数产生旋转的结果与正交接近。三、实验内容1.在上海市宝山、吴淞地区的环境质量综合评价中,对20个监测点的大气、地面水和土壤要素进行监测,得到三种要素的实测超标倍数数据。本实验对这批资料进行主成份分析,为进一步进行环境综合分析作准备。2.对2009年钱塘江湾TM影像进行主成分分析四、实验步骤(一)SPSS主成分分析1.主成分分析的基本步骤(1)打开“d:\SPSS实习\主成份分析.sav”文件,选择Analyze菜单下的DataReduction的Factor项,展开主对话框。(2)在左侧源变量框中选取“大气超标倍数”、“地面水超标倍数”“土壤超标倍数”变量,进入Variables框中,作为参与因子分析的变量。(3)单击Descriptives按钮,展开相应的子对话框。在Statistics组中选取Initialsolution选择项,显示初始分析结果,给出原始变量的公因子方差、与变量数目相等的因子、各因子的特征值、各因子特征占总方差的百分比以及累积百分比。在CorrelationMatrix组中选取Coefficients,显示原始变量相关系数矩阵。按Continue返回主对话框。(Statistics组中的Univariatedescriptive项要求给出各变量的均数和标准差;CorrelationMatrix组提供以下几种检验变量是否适合作因子分析的方法:(4)单击Extraction按钮,展开相应的子对话框。在Method组中选择Principalcomponents主成份法作为提取公因子的方法;在Extract组中选取Numberoffactors,并在其右侧框中输入“2”,指定提取公因子的数目为2;在Display组中选取Unrotatedfactorsolution及Screenplot选项,要求显示未经旋转的因子提取结果因了载荷碎石图;Maximumiterationsforconvergence为因子分析收敛的最大迭代次数,系统默认为25;按Continue返回主对话框。(5)单击Scores按钮,展开相应的子对话框。选取Saveasvariables选项,即要求将因子得分作为新变量保存在数据文件中;在Method组选取Regression选项,即因子的得分用回归法,其因子得分的均值为0(RegressionMethod:Amethodforestimatingfactorscorecoefficients.Thescoresthatareproducedhaveameanof0andavarianceequaltothesquaredmultiplecorrelationbetweentheestimatedfactorscoresandthetruefactorvalues.Thescoresmaybecorrelatedevenwhenfactorsareorthogonal.);选取Displayfactorscorecoeffientmatrix,显示因子得分系数矩阵;按Continue返回主对话框(6)单击OK,提交运行。(7)输出结果分析。2.主成分分析结果分析输出结果分析如下列表6.1~表6.6所示:表6.1给出了三个原始变量的相关系数矩阵。表6.1CorrelationMatrix大气超标倍数地面水超标倍数土壤超标倍数Correlation大气超标倍数1.000.124.279地面水超标倍数.1241.000.613土壤超标倍数.279.6131.000表6.2第二列给出原始变量的公因子方差,三个均为1,三个变量的公因子方差之总和为3;第三列给出的是使用两个因子代替原始变量后对各原始变量方差解释的百分比。表6.2CommunalitiesInitialExtraction大气超标倍数1.000.987地面水超标倍数1.000.839土壤超标倍数1.000.808ExtractionMethod:PrincipalComponentAnalysis.表6.3为方差解释表。第一列为主成份名,第二、三、四列分别为第一、二、三主成份的特征值、方差百分比、方差累积百分比;后三列为选用两个主成份时的特征值、方差百分比、方差累积百分比。表6.3TotalVarianceExplainedComponentInitialEigenvaluesExtractionSumsofSquaredLoadingsTotal%ofVarianceCumulative%Total%ofVarianceCumulative%11.72657.53657.5361.72657.53657.5362.90830.26987.806.90830.26987.8063.36612.194100.000ExtractionMethod:PrincipalComponentAnalysis.表6.4为因子矩阵表。给出原始变量对第一、第二主成份的贡献。表6.4ComponentMatrix(a)Component12大气超标倍数.484.867地面水超标倍数.835-.376土壤超标倍数.891-.119ExtractionMethod:PrincipalComponentAnalysis.a2componentsextracted.表6.5为因子得分系数矩阵。给出第一、第二主成份与原始变量的关系。根据该矩阵可以写出因子的表达式为:Factor1=0.281*x1*+0.484*x2*+0.516*x3*Factor2=0.955*x1*-0.414*x2*-0.131*x3*可以说,用这两个因子代替三个原始变量,可以概括原始变量所包含信息的87.806%。表6.5ComponentScoreCoefficientMatrixComponent12大气超标倍数.281.955地面水超标倍数.484-.414土壤超标倍数.516-.131ExtractionMethod:PrincipalComponentAnalysis.ComponentScores.表6.6给出了两主成份间的协方差矩阵。表6.6ComponentScoreCovarianceMatrixComponent1211.000.0002.0001.000ExtractionMethod:PrincipalComponentAnalysis.ComponentScores.图6.1可以看出因子1与因子2,以及因子2与因子3之间的特征值之差值比较大,可以初步得出提取两个因子将能概括绝大部分信息。ComponentNumber321Eigenvalue1.51.00.5ScreePlot图6.1注:在“Factor1=0.281*x1*+0.484*x2*+0.516*x3*及Factor2=0.955*x1*-0.414*x2*-0.131*x3*”中的x1*\x2*\x3*\变量是原始变量做了均值为0处理后的新变量。(二)ENVI主成分分析1.打开LT51180392009262BJC00下的B1-6及B7,用BasicTools下的LayerStacking进行6波段叠合(如图6-2,拾取ImportFile选择叠合的波段,拾取ReorderFiles对波段进行排序,建议按B1—B7顺序),并选择OutputResulttoFile,将结果输出到QT_River文件。图6-22.用ROITOOLS选择一块感兴趣区(建议选择地类比较全的部分),并将子集存为subset文件。3.ENVI【Transform】-【PrincipalComponents】-【ForwardPCRotate正向PC旋转】-【ComputeNewStatisticsandRotate】,展开如图所示对话框,选中文件,并进行空间子集、光谱子集以及掩膜设置后,按OK,进入如图6-3所示对话框。图6-3图6-44.在图6-4对话框的StatsSubset中,输入小于1如0.1的值,表示在统计计算时只用到十分之一像元(也可保持缺省值不变,表示统计全部像元),在OutputStatsFilename中输入PC_stats,即将统计结果放入该文件,并在“SelectSubsetfromEigenvalues”中选择Yes,统计信息将被计算,并出现如图6-5SelectOutputPCBands对话框。该对话框中列出每个波段和其相应的特征值,同时也列出每个主成分波段中包含的数据方差的累积百分比。在“NumberofOutputPCBands”文本框中,键入一个数字或点击箭头按钮,确定要输出的波段数,此处可选3,也可保持6不变,看主成份结果图。可以看出,前三个主成份占了原始6个波段信息的98%以上,因此完全可以用前三个主成份来代替原始6个波段来进行后续的分类处理。图6-55.用【BasicTools】-【Statistics】-【ViewstatisticsFile】工具查看PC_Stats.sta文件信息,在对话框的SelectPlot中,拾取Engevalus,展开如图6-6所示对话框,上方图表示各主成份的值。图6-6原始子影像RGB用Band5、4、3显示的效果图RGB显示第三、第二、第一主成分的效果图图6-7五、