9.利用Matlab和SPSS软件进行主成分分析

9.利用Matlab和SPSS软件进行主成分分析
9.利用Matlab和SPSS软件进行主成分分析

主成分分析法matlab实现,实例演示

利用Matlab 编程实现主成分分析 1.概述 Matlab 语言是当今国际上科学界 (尤其是自动控制领域) 最具影响力、也是 最有活力的软件。它起源于矩阵运算,并已经发展成一种高度集成的计算机语言。它提供了强大的科学运算、灵活的程序设计流程、高质量的图形可视化与界面设计、与其他程序和语言的便捷接口的功能。Matlab 语言在各国高校与研究单位起着重大的作用。主成分分析是把原来多个变量划为少数几个综合指标的一种统计分析方法,从数学角度来看,这是一种降维处理技术。 1.1主成分分析计算步骤 ① 计算相关系数矩阵 ?? ? ???? ???? ?? ?=pp p p p p r r r r r r r r r R 2 122221 11211 (1) 在(3.5.3)式中,r ij (i ,j=1,2,…,p )为原变量的xi 与xj 之间的相关系数,其计算公式为 ∑∑∑===----= n k n k j kj i ki n k j kj i ki ij x x x x x x x x r 1 1 2 2 1 )() () )(( (2) 因为R 是实对称矩阵(即r ij =r ji ),所以只需计算上三角元素或下三角元素即可。

② 计算特征值与特征向量 首先解特征方程0=-R I λ,通常用雅可比法(Jacobi )求出特征值 ),,2,1(p i i =λ,并使其按大小顺序排列,即0,21≥≥≥≥p λλλ ;然后分别求 出对应于特征值i λ的特征向量),,2,1(p i e i =。这里要求i e =1,即112 =∑=p j ij e ,其 中ij e 表示向量i e 的第j 个分量。 ③ 计算主成分贡献率及累计贡献率 主成分i z 的贡献率为 ),,2,1(1 p i p k k i =∑=λ λ 累计贡献率为 ) ,,2,1(11 p i p k k i k k =∑∑==λ λ 一般取累计贡献率达85—95%的特征值m λλλ,,,21 所对应的第一、第二,…,第m (m ≤p )个主成分。 ④ 计算主成分载荷 其计算公式为 ) ,,2,1,(),(p j i e x z p l ij i j i ij ===λ (3)

SPSS进行主成分分析的步骤(图文)精编版

主成分分析的操作过程 原始数据如下(部分) 调用因子分析模块(Analyze―Dimension Reduction―Factor),将需要参与分析的各个原始变量放入变量框,如下图所示:

单击Descriptives按钮,打开Descriptives次对话框,勾选KMO and Bartlett’s test of sphericity选项(Initial solution选项为系统默认勾选的,保持默认即可),如下图所示,然后点击Continue按钮,回到主对话框: 其他的次对话框都保持不变(此时在Extract次对话框中,SPSS已经默认将提取公因子的方法设置为主成分分析法),在主对话框中点OK按钮,执行因子分析,得到的主要结果如下面几张表。 ①KMO和Bartlett球形检验结果:

KMO为0.635>0.6,说明数据适合做因子分析;Bartlett球形检验的显著性P值为 0.000<0.05,亦说明数据适合做因子分析。 ②公因子方差表,其展示了变量的共同度,Extraction下面各个共同度的值都大于0.5,说明提取的主成分对于原始变量的解释程度比较高。本表在主成分分析中用处不大,此处列出来仅供参考。 ③总方差分解表如下表。由下表可以看出,提取了特征值大于1的两个主成分,两个主成分的方差贡献率分别是55.449%和29.771%,累积方差贡献率是85.220%;两个特征值分别是3.327和1.786。 ④因子截荷矩阵如下:

根据数理统计的相关知识,主成分分析的变换矩阵亦即主成分载荷矩阵U 与因子载荷矩阵A 以及特征值λ的数学关系如下面这个公式: λi i i A U = 故可以由这二者通过计算变量来求得主成分载荷矩阵U 。 新建一个SPSS 数据文件,将因子载荷矩阵中的各个载荷值复制进去,如下图所示: 计算变量(Transform-Compute Variables )的公式分别如下二张图所示:

matlab主成分分析法

§10.利用Matlab 编程实现主成分分析 1.概述 Matlab 语言是当今国际上科学界 (尤其是自动控制领域) 最具影响力、也是 最有活力的软件。它起源于矩阵运算,并已经发展成一种高度集成的计算机语言。它提供了强大的科学运算、灵活的程序设计流程、高质量的图形可视化与界面设计、与其他程序和语言的便捷接口的功能。Matlab 语言在各国高校与研究单位起着重大的作用。主成分分析是把原来多个变量划为少数几个综合指标的一种统计分析方法,从数学角度来看,这是一种降维处理技术。 1.1主成分分析计算步骤 ① 计算相关系数矩阵 ?? ? ???? ???? ?? ?=pp p p p p r r r r r r r r r R 2 122221 11211 (1) 在(,r ij (i ,j=1,2,…,p )为原变量的xi 与xj 之间的相关系数,其计算公式为 ∑∑∑===----= n k n k j kj i ki n k j kj i ki ij x x x x x x x x r 1 1 2 2 1 )() () )(( (2) 因为R 是实对称矩阵(即r ij =r ji ),所以只需计算上三角元素或下三角元素即可。 ② 计算特征值与特征向量

首先解特征方程0=-R I λ,通常用雅可比法(Jacobi )求出特征值 ),,2,1(p i i =λ,并使其按大小顺序排列,即0,21≥≥≥≥p λλλ ;然后分别求 出对应于特征值i λ的特征向量),,2,1(p i e i =。这里要求i e =1,即112 =∑=p j ij e ,其 中ij e 表示向量i e 的第j 个分量。 ③ 计算主成分贡献率及累计贡献率 主成分i z 的贡献率为 累计贡献率为 一般取累计贡献率达85—95%的特征值m λλλ,,,21 所对应的第一、第二,…,第m (m ≤p )个主成分。 ④ 计算主成分载荷 其计算公式为 ) ,,2,1,(),(p j i e x z p l ij i j i ij ===λ (3) 得到各主成分的载荷以后,还可以按照(,得到各主成分的得分 ? ? ??? ???????=nm n n m m z z z z z z z z z Z 2 1 22221 11211 (4) 2.程序结构及函数作用 在软件Matlab 中实现主成分分析可以采取两种方式实现:一是通过编程来

主成分分析PCA(含有详细推导过程以及案例分析matlab版)

主成分分析法(PCA) 在实际问题中,我们经常会遇到研究多个变量的问题,而且在多数情况下,多个变量之间常常存在一定的相关性。由于变量个数较多再加上变量之间的相关性,势必增加了分析问题的复杂性。如何从多个变量中综合为少数几个代表性变量,既能够代表原始变量的绝大多数信息,又互不相关,并且在新的综合变量基础上,可以进一步的统计分析,这时就需要进行主成分分析。 I. 主成分分析法(PCA)模型 (一)主成分分析的基本思想 主成分分析是采取一种数学降维的方法,找出几个综合变量来代替原来众多的变量,使这些综合变量能尽可能地代表原来变量的信息量,而且彼此之间互不相关。这种将把多个变量化为少数几个互相无关的综合变量的统计分析方法就叫做主成分分析或主分量分析。 主成分分析所要做的就是设法将原来众多具有一定相关性的变量,重新组合为一组新的相互无关的综合变量来代替原来变量。通常,数学上的处理方法就是将原来的变量做线性组合,作为新的综合变量,但是这种组合如果不加以限制,则可以有很多,应该如何选择呢?如果将选取的第一个线性组合即第一个综合变量记为1F ,自然希望它尽可能多地反映原来变量的信息,这里“信息”用方差来测量,即希望)(1F Var 越大,表示1F 包含的信息越多。因此在所有的线性组合中所选取的1F 应该是方差最大的,故称1F 为第一主成分。如果第一主成分不足以代表原来p 个变量的信息,再考虑选取2F 即第二个线性组合,为了有效地反映原来信息,1F 已有的信息就不需要再出现在2F 中,用数学语言表达就是要求 0),(21=F F Cov ,称2F 为第二主成分,依此类推可以构造出第三、四……第p 个主成分。 (二)主成分分析的数学模型 对于一个样本资料,观测p 个变量p x x x ,,21,n 个样品的数据资料阵为: ??????? ??=np n n p p x x x x x x x x x X 21 222 21112 11()p x x x ,,21=

SPSS进行主成分分析报告地步骤(图文)

主成分分析の操作過程 原始數據如下(部分) 調用因子分析模塊(Analyze―Dimension Reduction―Factor),將需要參與分析の各個原始變量放入變量框,如下圖所示:

單擊Descriptives按鈕,打開Descriptives次對話框,勾選KMO and Bartlett’s test of sphericity選項(Initial solution選項為系統默認勾選の,保持默認即可),如下圖所示,然後點擊Continue按鈕,回到主對話框: 其他の次對話框都保持不變(此時在Extract次對話框中,SPSS已經默認將提取公因子の方法設置為主成分分析法),在主對話框中點OK按鈕,執行因子分析,得到の主要結果如下面幾張表。 ①KMO和Bartlett球形檢驗結果:

KMO為0.635>0.6,說明數據適合做因子分析;Bartlett球形檢驗の顯著性P值為0.000<0.05,亦說明數據適合做因子分析。 ②公因子方差表,其展示了變量の共同度,Extraction下面各個共同度の值都大於0.5,說明提取の主成分對於原始變量の解釋程度比較高。本表在主成分分析中用處不大,此處列出來僅供參考。 ③總方差分解表如下表。由下表可以看出,提取了特征值大於1の兩個主成分,兩個主成分の方差貢獻率分別是55.449%和29.771%,累積方差貢獻率是85.220%;兩個特征值分別是3.327和1.786。 ④因子截荷矩陣如下:

根據數理統計の相關知識,主成分分析の變換矩陣亦即主成分載荷矩陣U 與因子載荷矩陣A 以及特征值λの數學關系如下面這個公式: λ i i i A U = 故可以由這二者通過計算變量來求得主成分載荷矩陣U 。 新建一個SPSS 數據文件,將因子載荷矩陣中の各個載荷值複制進去,如下圖所示: 計算變量(Transform-Compute Variables )の公式分別如下二張圖所示:

主成分分析案例

姓名:XXX 学号:XXXXXXX 专业:XXXX 用SPSS19软件对下列数据进行主成分分析: ……

一、相关性 通过对数据进行双变量相关分析,得到相关系数矩阵,见表1。 表1 淡化浓海水自然蒸发影响因素的相关性 由表1可知: 辐照、风速、湿度、水温、气温、浓度六个因素都与蒸发速率在0.01水平上显著相关。 分析:各变量之间存在着明显的相关关系,若直接将其纳入分析可能会得到因多元共线性影响的错误结论,因此需要通过主成份分析将数据所携带的信息进行浓缩处理。 二、KMO和球形Bartlett检验 KMO和球形Bartlett检验是对主成分分析的适用性进行检验。 KMO检验可以检查各变量之间的偏相关性,取值范围是0~1。KMO的结果越接近1,表示变量之间的偏相关性越好,那么进行主成分分析的效果就会越好。实际分析时,KMO统计量大于0.7时,效果就比较理想;若当KMO统计量小于0.5时,就不适于选用主成分分析法。 Bartlett球形检验是用来判断相关矩阵是否为单位矩阵,在主成分分析中,若拒绝各变量独立的原假设,则说明可以做主成分分析,若不拒绝原假设,则说明这些变量可能独立提供一些信息,不适合做主成分分析。

由表2可知: 1、KMO=0.631<0.7,表明变量之间没有特别完美的信息的重叠度,主成分分析得到的模型又可能不是非常完善,但仍然值得实验。 2、显著性小于0.05,则应拒绝假设,即变量间具有较强的相关性。 三、公因子方差 公因子方差表示变量共同度。表示各变量中所携带的原始信息能被提取出的主成分所体现的程度。 由表3可知: 几乎所有变量共同度都达到了75%,可认为这几个提取出的主成分对各个变量的阐释能力比较强。 四、解释的总方差 解释的总方差给出了各因素的方差贡献率和累计贡献率。

matlab主成分分析案例

1?设随机向量X= (X i , X 2, X 3)T 的协方差与相关系数矩阵分别为 1 4 ,R 4 25 分别从,R 出发,求X 的各主成分以及各主成分的贡献率并比较差异况。 解答: >> S=[1 4;4 25]; >> [P C,vary,ex plain ed]=p cacov(S); 总体主成分分析: >> [P C,vary,ex plain ed]=p cacov(S) 主成分交换矩阵: PC = -0.1602 -0.9871 -0.9871 0.1602 主成分方差向量: vary = 25.6491 0.3509 各主成分贡献率向量 explained = 98.6504 1.3496 则由程序输出结果得出,X 的主成分为: Y 1=-0.1602X 1-0.9871X 2 Y 2=-0.9871X 1+0.1602X 2 两个主成分的贡献率分别为:98.6504%, 1.3496%;贝U 若用第一个主成分代替原 来的变量,信息损失率仅为1.3496,是很小的。 2.根据安徽省2007年各地市经济指标数据,见表 5.2,求解: (1) 利用主成分分析对17个地市的经济发展进行分析,给出排名; (2) 此时能否只用第一主成分进行排名?为什么? 1 0.8 0.8 1

1.0000 0.9877 0.9980 0.9510 0.9988 0.9820 0.4281 0.9999 解答: (1) >> clear >> A=[491.70,380.31,158.39,121.54,22.74,439.65,344.44,17.43; 21.12,30.55,6.40,12.40,3.31,21.17,17.71,2.03; 1.71, 2.35,0.57,0.68,0.13,1.48,1.36,-0.03; 9.83,9.05,3.13,3.43,0.64,8.76,7.81,0.54; 64.06,77.86,20.63,30.37,5.96,63.57,52.15,4.71; 30.38,46.90,9.19,9.83,17.87,28.24,21.90,3.80; 31.20,70.07,8.93,18.88,33.05,31.17,26.50,2.84; 79.18,62.09,20.78,24.47,3.51,71.29,59.07,6.78; 47.81,40.14,17.50,9.52,4.14,45.70,34.73,4.47; 104.69,78.95,29.61,25.96,5.39,98.08,84.81,3.81; 21.07,17.83,6.21,6.22,1.90,20.24,16.46,1.09; 214.19,146.78,65.16,41.62,4.39,194.98,171.98,11.05; 31.16,27.56,8.80,9.44,1.47,28.83,25.22,1.05; 12.76,14.16,3.66,4.07,1.57,11.95,10.24,0.73; 6.45,5.37,2.39,2.20,0.40,5.97,4.79,0.52; 39.43,44.60,15.17,15.72,3.27,36.03,27.87,3.48; 5.02,3.62,1.63,1.42,0.53,4.45,4.04,0.02]; 得到的相关系数矩阵为: >> R=corrcoef(A) R =

SPSS软件进行主成分分析的应用例子

SPSS软件进行主成分分析的应用例子 2002年16家上市公司4项指标的数据[5]见表2,定量综合赢利能力分析如下: 第一,将EXCEL中的原始数据导入到SPSS软件中; 【1】“分析”|“描述统计”|“描述”。 【2】弹出“描述统计”对话框,首先将准备标准化的变量移入变量组中,此时,最重要的一步就是勾选“将标准化得分另存为变量”,最后点击确定。 【3】返回SPSS的“数据视图”,此时就可以看到新增了标准化后数据的字段。

数据标准化主要功能就是消除变量间的量纲关系,从而使数据具有可比性,可以举个简单的例子,一个百分制的变量与一个5分值的变量在一起怎么比较?只有通过数据标准化,都把它们标准到同一个标准时才具有可比性,一般标准化采用的是Z标准化,即均值为0,方差为1,当然也有其他标准化,比如0--1标准化等等,可根据自己的研究目的进行选择,这里介绍怎么进行数据的Z标准化。 所的结论: 标准化后的所有指标数据。 注意: SPSS 在调用Factor Analyze 过程进行分析时, SPSS 会自动对原始数据进行标准化处理, 所以在得到计算结果后的变量都是指经过标准化处理后的变量, 但SPSS 并不直接给出标准化后的数据, 如需要得到标准化数据, 则需调用Descriptives 过程进行计算。 factor过程对数据进行因子分析(指标之间的相关性判定略)。 【1】“分析”|“降维”|“因子分析”选项卡,将要进行分析的变量选入“变量”列表;

【2】设置“描述”,勾选“原始分析结果”和“KMO与Bartlett球形度检验”复选框; 【3】设置“抽取”,勾选“碎石图”复选框; 【4】设置“旋转”,勾选“最大方差法”复选框; 【5】设置“得分”,勾选“保存为变量”和“因子得分系数”复选框; 【6】查看分析结果。 所做工作: a.查看KMO和Bartlett 的检验 KMO值接近1.KMO值越接近于1,意味着变量间的相关性越强,原有变量越适合作因子分析; Bartlett 球度度检验的Sig值越小于显著水平0.05,越说明变量之间存在相关关系。 所的结论: 符合因子分析的条件,可以进行因子分析,并进一步完成主成分分析。 注意: 1.KMO(Kaiser-Meyer-Olkin) KMO统计量是取值在0和1之间。当所有变量间的简单相关系数平方和远远大于偏相关系数平方和时,KMO值接近1.KMO值越接近于1,意味着变量间的相关性越强,原有变量越适合作因子分析;当所有变量间的简单相关系数平方和接近0时,KMO值接近0.KMO值越接近于0,意味着变量间的相关性越弱,原有变量越不适合作因子分析。 Kaiser给出了常用的kmo度量标准: 0.9以上表示非常适合;0.8表示适合;0.7表示一般; 0.6表示不太适合;0.5以下表示极不适合。 2.Bartlett 球度检验: 巴特利特球度检验的统计量是根据相关系数矩阵的行列式得到的,如果该值较大,且其对应的相伴概率值小于用户心中的显著性水平,那么应该拒绝零假设,认为相关系数矩阵不可能是单位阵,即原始变量之间存在相关性,适合于做主成份分析;相反,如果该统计量比较小,且其相对应的相伴概率大于显著性水平,则不能拒绝零假设,认为相关系数矩阵可能是单位阵,不宜于做因子分析。 Bartlett 球度检验的原假设为相关系数矩阵为单位矩阵,Sig值为0.001小于显著水平0.05,因此拒绝原假设,说明变量之间存在相关关系,适合做因子分析。 所做工作: b. 全部解释方差或者解释的总方差(Total Variance Explained)

主成分分析法及其在SPSS中的操作

一、主成分分析基本原理 概念:主成分分析是把原来多个变量划为少数几个综合指标的一种统计分析方法。从数学角度来看,这是一种降维处理技术。 思路:一个研究对象,往往是多要素的复杂系统。变量太多无疑会增加分析问题的难度和复杂性,利用原变量之间的相关关系,用较少的新变量代替原来较多的变量,并使这些少数变量尽可能多的保留原来较多的变量所反应的信息,这样问题就简单化了。 原理:假定有n 个样本,每个样本共有p 个变量,构成一个n ×p 阶的数据矩阵, 记原变量指标为x 1,x 2,…,x p ,设它们降维处理后的综合指标,即新变量为 z 1,z 2,z 3,… ,z m (m ≤p),则 系数l ij 的确定原则: ①z i 与z j (i ≠j ;i ,j=1,2,…,m )相互无关; ②z 1是x 1,x 2,…,x P 的一切线性组合中方差最大者,z 2是与z 1不相关的x 1,x 2,…,x P 的所有线性组合中方差最大者; z m 是与z 1,z 2,……,z m -1都不相关的x 1,x 2,…x P , 的所有线性组合中方差最大者。 新变量指标z 1,z 2,…,z m 分别称为原变量指标x 1,x 2,…,x P 的第1,第2,…,第m 主成分。 从以上的分析可以看出,主成分分析的实质就是确定原来变量x j (j=1,2 ,…, p )在诸主成分z i (i=1,2,…,m )上的荷载 l ij ( i=1,2,…,m ; j=1,2 ,…,p )。 ?????? ? ???????=np n n p p x x x x x x x x x X 2 1 2222111211 ?? ??? ? ?+++=+++=+++=p mp m m m p p p p x l x l x l z x l x l x l z x l x l x l z 22112222121212121111............

SPSS软件进行主成分分析的应用例子

SPSS软件进行主成分分析的应用例子

SPSS软件进行主成分分析的应用例子 2002年16家上市公司4项指标的数据[5]见表2,定量综合赢利能力分析如下: 公司销售净利率(X1)资产净利率(X2)净资产收益率(X3)销售毛利率(X4) 歌华有线五粮液用友软件太太药业浙江阳光烟台万华方正科技红河光明贵州茅台中铁二局红星发展伊利股份青岛海尔湖北宜化雅戈尔福建南纸43.31 17.11 21.11 29.55 11.00 17.63 2.73 29.11 20.29 3.99 22.65 4.43 5.40 7.06 19.82 7.26 7.39 12.13 6.03 8.62 8.41 13.86 4.22 5.44 9.48 4.64 11.13 7.30 8.90 2.79 10.53 2.99 8.73 17.29 7.00 10.13 11.83 15.41 17.16 6.09 12.97 9.35 14.3 14.36 12.53 5.24 18.55 6.99 54.89 44.25 89.37 73 25.22 36.44 9.96 56.26 82.23 13.04 50.51 29.04 65.5 19.79 42.04 22.72 第一,将EXCEL中的原始数据导入到SPSS软件中; 注意: 导入Spss的数据不能出现空缺的现象,如出现可用0补齐。 【1】“分析”|“描述统计”|“描述”。 【2】弹出“描述统计”对话框,首先将准备标准化的变量移入变量组中,此时,最重要的一步就是勾选“将标准化得分另存为变量”,最后点击确定。 【3】返回SPSS的“数据视图”,此时就可以看到新增了标准化后数据的字段。 所做工作: a. 原始数据的标准化处理

spss进行主成分分析及得分分析

spss进行主成分分析及得分分析 1 将数据录入spss 1. 2 数据标准化:打开数据后选择分析→描述统计→描述,对数据进行标准化,选中将标准化得分另存为变量: 2.3 进行主成分分析:选择分析→降维→因子分析,

3.4设置描述性,抽取,得分和选项:

4.5 查看主成分分析和分析: 相关矩阵表明,各项指标之间具有强相关性。比如指标GDP总量与财政收入、固定资产投资总额、第二产业增加值、第三产业增加值、工业增加值的相关系数较大。这说明他们之间指标信息之间存在重叠,适合采用主成分分析法。(下表非完整呈现)

5.6 由Total Variance Explained(主成分特征根和贡献率)可知,特征根λ1=9.092,特征根λ2=1.150前两个主成分的累计方差贡献率达93.107%,即涵盖了大部分信息。这表明前两个主成分能够代表最初的11个指标来分析河南各个城市经济综合实力的发展水平,故提取前两个指标即可。主成分,分别记作F1、F2。 6.7

指标X1、X2、X3、X4、X5、X6、X7、X8、X9、X10在第一主成分上有较高载荷,相关性强。第一主成分集中反映了总体的经济总量。X11在第二主成分上有较高载荷,相关性强。第二主成分反映了人均的经济量水平。但是要注意: 这个主成分载荷矩阵并不是主成分的特征向量,也就是说并不是主成分1和主成分2的系数,主成分系数的求法是:各自主成分载荷向量除以各自主成分特征值的算术平方根。

7.8 成分得分系数矩阵(因子得分系数)列出了强两个特征根对应的特征向量,即各主要成分解析表达式中的标准化变量的系数向量。故各主要成分解析表达式分别为:F1=0.32ZX11+0.33ZX12+0.31ZX13+0.31ZX14+0.32ZX15+0.32ZX16+0.32ZX17+0.32ZX18+0. 32ZX19+0.21ZX110+0.15ZX111 F2=8.46ZX21+0.02ZX22-0.02ZX23-0.20ZX24-0.23Z25-0.04ZX26-0.15ZX27-0.02ZX28+0.10Z X29+0.47ZX210+0.78ZX211 8.9 主成分的得分是相应的因子得分乘以相应的方差的算术平方根。即:主成分1得分=因子1得分乘以9.092的算术平方根主成分2得分=因子2得分乘以1.150的算术平方根例如郑州:主成分因子=FAC1_1*9.092的算术平方根=3.59386*9.092的算术平方根=10.83,将各指标的标准化数据带入个主成分解析表达式中,分别计算出2个主成分得分(F1、F2),再以个主成分的贡献率为全书对主成分得分进行加权平均,即:H=(82.672*F1+10.497*F2)/93.124,求得主成分综合得分。

主成分分析报告matlab程序

Matlab编程实现主成分分析 .程序结构及函数作用 在软件Matlab中实现主成分分析可以采取两种方式实现:一是通过编程来实现;二是直接调用Matlab种自带程序实现。下面主要主要介绍利用Matlab的矩阵计算功能编程实现主成分分析。 1程序结构 2函数作用 Cwstd.m——用总和标准化法标准化矩阵 Cwfac.m——计算相关系数矩阵;计算特征值和特征向量;对主成分进行排序;计算各特征值贡献率;挑选主成分(累计贡献率大于85%),输出主成分个数;计算主成分载荷 Cwscore.m——计算各主成分得分、综合得分并排序 Cwprint.m——读入数据文件;调用以上三个函数并输出结果

3.源程序 3.1 cwstd.m总和标准化法标准化矩阵 %cwstd.m,用总和标准化法标准化矩阵 function std=cwstd(vector) cwsum=sum(vector,1); %对列求和 [a,b]=size(vector); %矩阵大小,a为行数,b为列数 for i=1:a for j=1:b std(i,j)= vector(i,j)/cwsum(j); end end 3.2 cwfac.m计算相关系数矩阵 %cwfac.m function result=cwfac(vector); fprintf('相关系数矩阵:\n') std=CORRCOEF(vector) %计算相关系数矩阵 fprintf('特征向量(vec)及特征值(val):\n') [vec,val]=eig(std) %求特征值(val)及特征向量(vec) newval=diag(val) ; [y,i]=sort(newval) ; %对特征根进行排序,y为排序结果,i为索引fprintf('特征根排序:\n') for z=1:length(y) newy(z)=y(length(y)+1-z); end fprintf('%g\n',newy) rate=y/sum(y); fprintf('\n贡献率:\n') newrate=newy/sum(newy) sumrate=0; newi=[]; for k=length(y):-1:1 sumrate=sumrate+rate(k); newi(length(y)+1-k)=i(k); if sumrate>0.85 break; end end %记下累积贡献率大85%的特征值的序号放入newi中fprintf('主成分数:%g\n\n',length(newi)); fprintf('主成分载荷:\n') for p=1:length(newi)

SPSS进行主成分分析

实验七、利用SPSS进行主成分分析 【例子】以全国31个省市的8项经济指标为例,进行主成分分析。 第一步:录入或调入数据(图1)。 图1 原始数据(未经标准化) 第二步:打开“因子分析”对话框。 沿着主菜单的“Analyze→Data Reduction→Factor ”的路径(图2)打开因子分析选项框(图3)。 图2 打开因子分析对话框的路径

图3 因子分析选项框 第三步:选项设置。 首先,在源变量框中选中需要进行分析的变量,点击右边的箭头符号,将需要的变量调入变量(Variables)栏中(图3)。在本例中,全部8个变量都要用上,故全部调入(图4)。因无特殊需要,故不必理会“Value ”栏。下面逐项设置。 图4将变量移到变量栏以后 ⒈设置Descriptives描述选项。 单击Descriptives按钮(图4),弹出Descriptives对话框(图5)。

图5 描述选项框 在Stat is tic s 统计 栏中选中U niva riate d escript ives 复选项,则输出结果中将会给出原始数据的抽样均值、方差和样本数目(这一栏结果可供检验参考);选中Initial soluti on 复选项,则会给出主成分载荷的公因子方差(这一栏数据分析时有用)。 在C orrel ation M atri x栏中,选中Coe fficien ts 复选项,则会给出原始变量的相关系数矩阵(分析时可参考);选中Deter minant 复选项,则会给出相关系数矩阵的行列式,如果希望在E xc el中对某些计算过程进行了解,可选此项,否则用途不大。其它复选项一般不用,但在特殊情况下可以用到(本例不选)。 设置完成以后,单击Cont inue 按钮完成设置(图5)。 ⒉ 设置Extra ction 选项。 打开Ext raction 对话框(图6)。因子提取方法主要有7种,在Method 栏中可以看到,系统默认的提取方法是主成分(Pr in ci pa l Compon en ts),因此对此栏不作变动,就是认可了主成分分析方法。 在Ana lyze 栏中,选中Correlatio n ma trix 复选项,则因子分析基于数据的相关系数矩阵进行分析;如果选中Covar iance matri x复选项,则因子分析基于数据的协方差矩阵进行分析。对于主成分分析而言,由于数据标准化了,这两个结果没有分别,因此任选其一即可。 在D isplay 栏中,选中U nrotated factor s olu ti on(非旋转因子解)复选项,则在分析结果中给出未经旋转的因子提取结果。对于主成分分析而言,这一项选择与否都一样;对于旋转因子分析,选择此项,可将旋转前后的结果同时给出,以便对比。 选中Scree P lo t(“山麓”图),则在分析结果中给出特征根按大小分布的折线图(形如山麓截面,故得名),以便我们直观地判定因子的提取数量是否准确。 在Extract 栏中,有两种方法可以决定提取主成分(因子)的数目。一是根据特征根(Eig envalues )的数值,系统默认的是1=c λ。我们知道,在主成分分析中,主成分得分的方差就是对应的特征根数值。如果默认1=c λ,则所有方差大于等于1的主成分将被保留,其余舍弃。如果觉得最后选取的主成分数量不足,可以将c λ值降低,例如取 9.0=c λ;如果认为最后的提取的主成分数量偏多,则可以提高c λ值,例如取1.1=c λ。 主成分数目是否合适,要在进行一轮分析以后才能肯定。因此,特征根数值的设定,要在反复试验以后才能决定。一般而言,在初次分析时,最好降低特征根的临界值(如取

用SPSS进行详细的主成分分析步骤

怎样用SPSS进行主成分分析 怎样用SPSS进行主成分分析 一、基本概念与原理 主成分分析(principal component analysis) 将多个变量通过线性变换以选出较少个数重要变量的一种多元统计分析方法。又称主分量分析。在实际课题中,为了全面分析问题,往往提出很多与此有关的变量(或因素),因为每个变量都在不同程度上反映这个课题的某些信息。但是,在用统计分析方法研究这个多变量的课题时,变量个数太多就会增加课题的复杂性。人们自然希望变量个数较少而得到的信息较多。在很多情形,变量之间是有一定的相关关系的,当两个变量之间有一定相关关系时,可以解释为这两个变量反映此课题的信息有一定的重叠。主成分分析是对于原先提出的所有变量,建立尽可能少的新变量,使得这些新变量是两两不相关的,而且这些新变量在反映课题的信息方面尽可能保持原有的信息。主成分分析首先是由K.皮尔森对非随机变量引入的,尔后H.霍特林将此方法推广到随机向量的情形。信息的大小通常用离差平方和或方差来衡量。 (1)主成分分析的原理及基本思想。 原理:设法将原来变量重新组合成一组新的互相无关的几个综合变量,同时根据实际需要从中可以取出几个较少的总和变量尽可能多地反映原来变量的信息的统计方法叫做主成分分析或称主分量分析,也是数学上处理降维的一种方法。 基本思想:主成分分析是设法将原来众多具有一定相关性(比如P个指标),重新组合成一组新的互相无关的综合指标来代替原来的指标。通常数学上的处理就是将原来P个指标作线性组合,作为新的综合指标。最经典的做法就是用F1(选取的第一个线性组合,即第一个综合指标)的方差来表达,即Var(F1)越大,表示F1包含的信息越多。因此在所有的线性组合中选取的F1应该是方差最大的,故称F1为第一主成分。如果第一主成分不足以代表原来P个指标的信息,再考虑选取F2即选第二个线性组合,为了有效地反映原来

应用统计学因子分析与主成分分析案例解析_SPSS操作分析

因子分析与主成分分析 一、问题概述 现希望对30个省市自治区经济发展基本情况的八项指标进行分析。具体采用的指标只有:GDP、居民消费水平、固定资产投资、职工平均工资、货物周转量、居民消费价格指数、商品零售价格指数、工业总产值。这是一个综合分析问题,八项指标较多,用主成分分析法进行综合。 二、数据处理与分析 1.因子分析 打开数据后,在SPSS中进行因子分析的步骤如下: 选择“分析---降维---因子分析”,在弹出的对话框里 (1)描述---系数、KMO与Bartlett的球形度检验 (2)抽取---碎石图、未旋转的因子解 (3)旋转---最大方差法、旋转解、载荷图 (4)得分---保存为变量、显示因子得分系数矩阵 (5)选项---按大小排序 点击确定得到如下各图: 图3-1 图3-2 KMO 和 Bartlett 的检验 取样足够度的 Kaiser-Meyer-Olkin 度量。.620 Bartlett 的球形度检验近似卡方231.285 df 28 Sig. .000 图3-3 公因子方差

图3-6 成份矩阵a

图3-9

(2)因子模型中各统计量的意义 A)因子载荷错误!未找到引用源。:因子载荷错误!未找到引用源。为第i个变量在第j个因子上的载荷,实际上就是错误!未找到引用源。与错误!未找到引用源。的相关系数,表示变量错误!未找到引用源。依赖因子错误!未找到引用源。的程度,反应了第i个变量错误!未找到引用源。对于第j个因子错误!未找到引用源。的重要性。 B)变量错误!未找到引用源。的变量共同度:k个公因子对第i个变量方差的贡献,也称为公因子方差比,记为错误!未找到引用源。,公式为:错误!未找到引用源。=错误!未找到引用源。(j=1,2,….,k)

主成分分析matlab源程序代码

263.862 1.61144 2.754680.266575 268.764 2.07218 2.617560.182597 261.196 1.59769 2.350370.182114 248.708 2.09609 2.852790.257724 253.365 1.69457 2.94920.189702 268.434 1.56819 2.781130.13252 258.741 2.14653 2.691110.136469 244.192 2.02156 2.226070.298066 219.738 1.61224 1.885990.166298 244.702 1.91477 2.259450.187569 245.286 2.12499 2.352820.161602 251.96 1.83714 2.535190.240271 251.164 1.74167 2.629610.211887 251.824 2.00133 2.626650.211991 257.68 2.14878 2.656860.203846] stdr=std(dataset);%求个变量的标准差 [n,m]=size(dataset);%定义矩阵行列数 sddata=dataset./stdr(ones(n,1),:);%将原始数据采集标准化 sddata%输出标准化数据 [p,princ,eigenvalue,t2]=princomp(sddata);%调用前三个主成分系数 p3=p(:,1:3);%提取前三个主成分得分系数,通过看行可以看出对应的原始数据的列,每个列在每个主成分的得分 p3%输出前三个主成分得分系数 sc=princ(:,1:3);%提取前三个主成分得分值 sc%输出前三个主成分得分值 e=eigenvalue(1:3)';%提取前三个特征根并转置 M=e(ones(m,1),:).^0.5;%输出前三个特征根并转置 compmat=p3.*M;%利用特征根构造变换矩阵 per=100*eigenvalue/sum(eigenvalue);%求出成分载荷矩阵的前三列 per %求出各主成分的贡献率 cumsum(per);%列出各主成分的累积贡献率 figure(1) pareto(per);%将贡献率绘成直方图 t2 figure(2) %输出各省与平局距离 plot(eigenvalue,'r+');%绘制方差贡献散点图 hold on %保持图形 plot(eigenvalue,'g-');%绘制方差贡献山麓图

主成分分析和MATLAB应用

主成分分析 类型:一种处理高维数据的方法。 降维思想:在实际问题的研究中,往往会涉及众多有关的变量。但是,变量太多不但会增加计算的复杂性,而且也会给合理地分析问题和解释问题带来困难。一般说来,虽然每个变量都提供了一定的信息,但其重要性有所不同,而在很多情况下,变量间有一定的相关性,从而使得这些变量所提供的信息在一定程度上有所重叠。因而人们希望对这些变量加以“改造”,用为数极少的互补相关的新变量来反映原变量所提供的绝大部分信息,通过对新变量的分析达到解决问题的目的。 一、总体主成分 1.1 定义 设 X 1,X 2,…,X p 为某实际问题所涉及的 p 个随机变量。记 X=(X 1,X 2,…,Xp)T ,其协方差矩阵为 ()[(())(())],T ij p p E X E X X E X σ?∑==-- 它是一个 p 阶非负定矩阵。设 1111112212221122221122T p p T p p T p p p p pp p Y l X l X l X l X Y l X l X l X l X Y l X l X l X l X ?==+++? ==+++?? ??==+++? (1) 则有 ()(),1,2,...,, (,)(,),1,2,...,. T T i i i i T T T i j i j i j Var Y Var l X l l i p C ov Y Y C ov l X l X l l j p ==∑===∑= (2) 第 i 个主成分: 一般地,在约束条件 1T i i l l = 及 (,)0,1,2,..., 1. T i k i k C ov Y Y l l k i =∑==- 下,求 l i 使 Var(Y i )达到最大,由此 l i 所确定的 T i i Y l X = 称为 X 1,X 2,…,X p 的第 i 个主成分。 1.2 总体主成分的计算 设 ∑是12(,,...,)T p X X X X =的协方差矩阵, ∑的特征值及相应的正交单位化特征向量分别为 120p λλλ≥≥≥≥ 及 12,,...,,p e e e 则 X 的第 i 个主成分为

matlab主成分分析案例

1.设随机向量X=(X 1,X 2,X 3)T 的协方差与相关系数矩阵分别为 ???? ??=∑25441,??? ? ??=18.08.01R 分别从∑,R 出发,求X 的各主成分以及各主成分的贡献率并比较差异况。 解答: >> S=[1 4;4 25]; >> [PC,vary,explained]=pcacov(S); 总体主成分分析: >> [PC,vary,explained]=pcacov(S) 主成分交换矩阵: PC = -0.1602 -0.9871 -0.9871 0.1602 主成分方差向量: vary = 25.6491 0.3509 各主成分贡献率向量 explained = 98.6504 1.3496 则由程序输出结果得出,X 的主成分为: Y 1=-0.1602X 1-0.9871X 2 Y 2=-0.9871X 1+0.1602X 2 两个主成分的贡献率分别为:98.6504%,1.3496%;则若用第一个主成分代替原来的变量,信息损失率仅为1.3496,是很小的。 2.根据安徽省2007年各地市经济指标数据,见表5.2,求解: (1)利用主成分分析对17个地市的经济发展进行分析,给出排名; (2)此时能否只用第一主成分进行排名?为什么?

解答: (1) >> clear >> A=[491.70,380.31,158.39,121.54,22.74,439.65,344.44,17.43; 21.12,30.55,6.40,12.40,3.31,21.17,17.71,2.03; 1.71, 2.35,0.57,0.68,0.13,1.48,1.36,-0.03; 9.83,9.05,3.13,3.43,0.64,8.76,7.81,0.54; 64.06,77.86,20.63,30.37,5.96,63.57,52.15,4.71; 30.38,46.90,9.19,9.83,17.87,28.24,21.90,3.80; 31.20,70.07,8.93,18.88,33.05,31.17,26.50,2.84; 79.18,62.09,20.78,24.47,3.51,71.29,59.07,6.78; 47.81,40.14,17.50,9.52,4.14,45.70,34.73,4.47; 104.69,78.95,29.61,25.96,5.39,98.08,84.81,3.81; 21.07,17.83,6.21,6.22,1.90,20.24,16.46,1.09; 214.19,146.78,65.16,41.62,4.39,194.98,171.98,11.05; 31.16,27.56,8.80,9.44,1.47,28.83,25.22,1.05; 12.76,14.16,3.66,4.07,1.57,11.95,10.24,0.73; 6.45,5.37,2.39,2.20,0.40,5.97,4.79,0.52; 39.43,44.60,15.17,15.72,3.27,36.03,27.87,3.48; 5.02,3.62,1.63,1.42,0.53,4.45,4.04,0.02]; 得到的相关系数矩阵为: >> R=corrcoef(A) R = 1.0000 0.9877 0.9988 0.9820 0.4281 0.9999 0.9980 0.9510

相关文档
最新文档