
如何正確應(yīng)用SPSS 軟件做主成分分析
1引言
主成分分析( principal components analysis) 也稱主分量分析,由霍特林(Hotelling)于1933 年首先提出。主成分分析是利用降維的思想,在損失很少信息的前提下把多個(gè)指標(biāo)轉(zhuǎn)化為幾個(gè)綜合指標(biāo)的多元統(tǒng)計(jì)方法。通常把轉(zhuǎn)化后的綜合指標(biāo)稱之為主成分,其中每個(gè)主成分都是原始變量的線性組合,且各個(gè)主成分之間互不相關(guān),這就使得主成分比原始變量具有某些更優(yōu)越的性能。這樣在研究復(fù)雜問題時(shí)就可以只考慮少數(shù)幾個(gè)主成分而不至于損失太多信息,從而更容易抓住主要矛盾,揭示事物內(nèi)部變量之間的規(guī)律性,同時(shí)使問題得到簡化,提高分析效率。
由于主成分分析的這些優(yōu)勢(shì),在實(shí)際問題中遇到指標(biāo)較多且各指標(biāo)相關(guān)關(guān)系較大時(shí),人們常考慮應(yīng)用主成分分析的方法。但是目前用SPSS 軟件分析主成分的教材中和發(fā)表的文章中有很多錯(cuò)誤和誤解之處(SAS 軟件中有主成分分析和因子分析的專門語句,一般不會(huì)出現(xiàn)這種情況) :(1)如果把主成分與原始變量(或標(biāo)準(zhǔn)化后的變量) 的相關(guān)系數(shù)矩陣叫做因子負(fù)荷陣,把原始變量標(biāo)準(zhǔn)化后用因子來表示的系數(shù)陣叫做因子載荷陣,那么SPSS 軟件得到的是因子載荷陣,因子載荷陣表示標(biāo)準(zhǔn)化后的主成分( 或叫公因子,方差為1) 來近似標(biāo)準(zhǔn)化后原始變量的系數(shù)矩陣。(2)主成分的系數(shù)是因子載荷陣推出的,不是從因子負(fù)荷陣推出的,即從因子分析得到的載荷陣求主成分的系數(shù)時(shí)很多教材中和文章中的公式表達(dá)錯(cuò)誤,雖然實(shí)際數(shù)據(jù)結(jié)果是對(duì)的。這時(shí)的主成分的方差不是1,即非標(biāo)準(zhǔn)化的主成分。(3)當(dāng)SPSS 軟件從相關(guān)系數(shù)求主成分時(shí),主成分應(yīng)表示為標(biāo)準(zhǔn)化后的隨機(jī)變量的線性組合,有些文獻(xiàn)中就沒加區(qū)分,把主成分直接寫成原始變量的線性組合。(4)為了從因子分析得到主成分的系數(shù),在SPSS 軟件中對(duì)因子不要旋轉(zhuǎn),實(shí)際上很多人旋轉(zhuǎn)了。(5)從因子得分系數(shù)矩陣得到主成分系數(shù)表達(dá)式,可以認(rèn)為因子與標(biāo)準(zhǔn)化原始變量間的變換關(guān)系是可逆的,因?yàn)橐蜃拥奶崛〔捎弥鞒煞址椒〞r(shí),標(biāo)準(zhǔn)化后的隨機(jī)變量完全由因子來表示[3]。鑒于以上錯(cuò)誤和誤解,本文從主成分分析與因子分析的關(guān)系出發(fā),借用SPSS 軟件自帶的例子,進(jìn)行了正確的操作,將其結(jié)果與SAS 軟件進(jìn)行比較,結(jié)果完全相同。
2聯(lián)系與區(qū)別
(一) 主成分分析
設(shè)對(duì)某一事物的研究涉及到p 個(gè)指標(biāo),記為X1,X2,…Xp,這p 個(gè)指標(biāo)構(gòu)成的p 維隨機(jī)向量為X= ( X1,X2,…Xp) ′。對(duì)X 進(jìn)行線性變換,可以形成新的綜合變量,用Y 表示,也就是說,新的綜合變量可以由原來的變量線性表示,滿足下式:
Y1 = b11X1 + b12X2 + … + b1pXp
Y2 = b21X1 + b22X2 + … + b2pXp
……
Yp = bp1X1 + bp2X2 + … + bppXp (1)
由于可以任意地對(duì)原始變量進(jìn)行上述的線性變換,不同的線性變換得到的綜合變量Y 的統(tǒng)計(jì)特性也不盡相同。通常主成分要求滿足如下的三個(gè)條件:
1. b′ibi = 1,即b2 i1 + b2 i2 + … + b2ip = 1,b′i = ( bi1,bi2,…,bip) ,i = 1,2,…,p;
2. Yi與Yj相互無關(guān)( i≠j;i,j = 1,2,…p) ;
3. Y1是X1,X2,…Xp的一切滿足條件1 的線性組合中方差最大者;Y2是與Y1不相關(guān)的X1,X2,…Xp的一切滿足條件1 的線性組合中方差最大者;……;Yp是與Y1,Y2,…,Yp - 1都不相關(guān)的X1,X2,…Xp的一切滿足條件1 的線性組合中方差最大者。
基于以上三個(gè)條件決定的綜合變量,我們把Y1,Y2,…,Yp重新記為G1,G2,…,Gp,分別稱為原始變量的第一、第二、…、第p 主成分,其系數(shù)重新記為cij,(i,j = 1,2,…,p) ,根據(jù)矩陣代數(shù)的知識(shí),每個(gè)主成分的方差( var(Gi) ,i = 1,2,…,p) ,其實(shí)就是X1,X2,…Xp的協(xié)方差陣Σ 的非零特征值(λi) ,于是主成分與原始變量關(guān)系為:
G1 = c11X1 + c12X2 + … + c1pXp
G2 = c21X1 + c22X2 + … + c2pXp
……
Gp = cp1X1 + cp2X2 + … + cppXp (2)
記G = (G1,G2,…,Gp) ′,C = (cij)p × p,那么上式可以表示為:G = C′X,其中C是正交陣。如果數(shù)據(jù)是標(biāo)準(zhǔn)化后,即從相關(guān)系數(shù)矩陣出發(fā),求得的特征值與對(duì)應(yīng)的特征向量為主成分的系數(shù)矩陣?;谙嚓P(guān)系數(shù)矩陣還是基于協(xié)方差矩陣做主成分分析:當(dāng)分析中所選擇的經(jīng)濟(jì)變量具有不同的量綱,變量水平差異很大,應(yīng)該選擇基于相關(guān)系數(shù)矩陣的主成分分析。對(duì)同度量或是取值范圍在同量級(jí)的數(shù)據(jù),還是直接從協(xié)方差矩陣求主成分。
對(duì)上述問題涉及到的p 個(gè)指標(biāo)X1,X2,…Xp,我們?yōu)榱藦南嚓P(guān)系數(shù)矩陣出發(fā),將p 個(gè)指標(biāo)標(biāo)準(zhǔn)化后記為ZX = ( ZX1,ZX2,…ZXp) ′,相關(guān)系數(shù)矩陣記為R。那么求得的主成分可以表示為:
F1 = u11ZX1 + u12ZX2 + … + u1pZXp
F2 = u21ZX1 + u22ZX2 + … + u2pZXp
……
Fp = up1ZX1 + up2ZX2 + … + uppZXp (3)
其中:u′i = ( ui1,ui2,…,uip) ,F(xiàn) = (F1,F(xiàn)2,…,F(xiàn)p) ′,
那么上式可以表示為:F = U′ZX,其中U 是正交陣。
(二) 因子分析
因子分析(factor analysis) 的一般模型:設(shè)對(duì)某一事物的研究涉及到p 個(gè)指標(biāo)X1,X2,…Xp,這p 指標(biāo)有著較強(qiáng)的相關(guān)性,為了便于研究,在指標(biāo)同向化的基礎(chǔ)上,將樣本數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化。為了說明方便,將同向化和標(biāo)準(zhǔn)化后的變量向量用ZX 表示,即ZX= (ZX1,ZX2,…ZXp) ′,其均值向量E(ZX)= 0,協(xié)方差矩陣記為cov(ZX) = Σ zx,其實(shí)這里的協(xié)方差矩陣Σ zx與相關(guān)系數(shù)矩陣Rzx相同,那么因子分析
的一般模型為:
ZX1 = a11 f1 + a12 f2 + … + a1m fm + ε1
ZX2 = a21 f1 + a22 f2 + … + a2m fm + ε2
……
ZXp = ap1 f1 + ap2 f2 + … + apm fm + εp (4)
其中f = (f1,f2,…fm) ′,(m < p ) 為公因子,ε= (ε1,ε1,…εp) ′為特殊因子,它們都是不可觀測(cè)的隨機(jī)變量,A = (aij)p × m叫做因子載荷陣。f 的均值向量E(f) = 0,協(xié)方差cov(f) = I,E(ε) = 0,且ε 與f相互獨(dú)立,ε 的協(xié)方差矩陣是對(duì)角陣。
(三) 主成分與因子分析的聯(lián)系
主成分分析與因子分析都是絳維的分析方法,利用少數(shù)幾個(gè)變量對(duì)數(shù)據(jù)進(jìn)行解釋。主成分分析是一種數(shù)據(jù)的變換,而不假定數(shù)據(jù)陣有什么樣的結(jié)構(gòu)形式;因子分析可以看成是一種模型分析,當(dāng)模型的某些條件不滿足時(shí),因子分析可能是虛假的。主成分分析的重點(diǎn)放在從觀測(cè)變量到主成分的變換上,因子分析重點(diǎn)放在從基本因子到觀測(cè)變量的變換上,主成分變換是可逆的,因子分析則不要求。當(dāng)特殊因子的變差為0時(shí),主成分分析和因子分析是完全等價(jià)的。那么對(duì)于一個(gè)因子分析模型怎么估計(jì)其因子載荷矩陣A,實(shí)踐中有很多方法,其中有一種就是上述的主成分分析方法,從公式F= U′ZX 我們可以得到ZX = UF,具體表達(dá)式為:
ZX1 = u11F1 + u21F2 + … + up1Fp
ZX2 = u12F1 + u22F2 + … + up2Fp
……
ZXp = u1pF1 + u2pF2 + … + uppFp (5)
對(duì)上面的等式(5)只保留前m(m < p) 個(gè)主成分,而把后面的部分用εi代替,則
當(dāng)主成分F1,F(xiàn)2,…,F(xiàn)p是從標(biāo)準(zhǔn)化后的相關(guān)系數(shù)矩陣求出,各成分相互獨(dú)立,且其方差按大到小的排序?yàn)棣?,λ2…λp,我們將式(6)
做。通過上述變換,我們就能得到與式(4)類似的因子模型表達(dá)式。注意這里的ε1,ε2,…εp與式(4 ) 的ε1,ε2,…εp是有區(qū)別的,式(4)要求它們相互獨(dú)立而這里它們之間不獨(dú)立,為了方便還是用原符號(hào)表示。
實(shí)際上對(duì)于主成分分析SPSS 軟件中沒有對(duì)應(yīng)的模塊,但是因子分析模塊中有利用主成分分析來求得因子載荷矩陣,根據(jù)上面主成分分析與因子分析的聯(lián)系,我們可以從SPSS 的因子載荷矩陣得到主成分分析的系數(shù)。由于主成分分析所得到的特殊因子ε1,ε2,…εp并不獨(dú)立,因此所得的因子載荷并不完全正確。但是當(dāng)共同度較大時(shí),特殊因子所起的作用較小,那么特殊因子之間的相關(guān)性所帶來的影響就幾乎可以忽略不計(jì),這時(shí)主成分分析和因子分析是完全等價(jià)的(公因子的數(shù)目與變量一樣多)。這時(shí)可以利用式(4)中的aij反推出式(3)中的uij它們之間的關(guān)系是,也就是推出了從因子載荷矩陣得到主成分系數(shù)表達(dá)式。
3主成分分析的SPSS 實(shí)現(xiàn)
本文利用SPSS 軟件自帶的數(shù)據(jù)集Employee data 為例說明如何利用因子分析模塊得到主成分系數(shù)。數(shù)據(jù)集Employee data 為Midwestern 銀行在1969 - 1971 年之間雇員情況的數(shù)據(jù),共包括474 條觀測(cè)及如下10個(gè)變量:Id(觀測(cè)號(hào))、Gender(性別)、Bdate(出生日期)、Educ (受教育程度(年數(shù)))、Jobcat(工作種類)、Salary (目前年薪)、Salbegin (開始受聘時(shí)的年薪)、Jobtime(受雇時(shí)間)、Prevexp(受雇以前的工作時(shí)間)、Minority(是否少數(shù)民族)。我們將educ、salary、salbegin、jobtime、prevexp 依次表示為X1,X2,X3,X4,X5。數(shù)據(jù)在同向化的基礎(chǔ)上SPSS 中的因子分析默認(rèn)針對(duì)標(biāo)準(zhǔn)化后的數(shù)據(jù)來分析的,所以利用Analyze → Descriptive Statistics →Descriptives…進(jìn)入描述性統(tǒng)計(jì)對(duì)話框,依次選中變量X1,X2,X3,X4,X5并點(diǎn)向右的箭頭按鈕,這五個(gè)變量便進(jìn)入variables 窗口,選中Save standardizedas variables 復(fù)選框,點(diǎn)擊OK 按鈕,即可在數(shù)據(jù)窗口得到標(biāo)準(zhǔn)化的數(shù)據(jù)ZX1,ZX2,ZX3,ZX4,ZX5。接下來對(duì)標(biāo)準(zhǔn)化后的數(shù)據(jù)進(jìn)行分析,點(diǎn)擊Analyze→Data Reduction→Factor…進(jìn)入Factor Analysis( 因子分析)對(duì)話框。依次選中變量ZX1,ZX2,ZX3,ZX4,ZX5(用原始數(shù)據(jù)也是一樣,標(biāo)準(zhǔn)化主要是在主成分表達(dá)中需要)并點(diǎn)向右的箭頭按鈕,這五個(gè)變量便進(jìn)入variables 窗口,點(diǎn)擊右側(cè)的OK 按鈕,即可得到表1、表2 和表3。
表1中的Communalities(共同度)數(shù)據(jù)給出了該次分析從每個(gè)原始變量中提取的信息(特征根大于1),可以看到除受教育程度(ZX1)信息損失較大外,主成分幾乎包含了各個(gè)原始變量至少90% 的信息。表2 中的Total Variance Explained(總方差解釋部分)則顯示了各主成分解釋原始變量總方差的情況,SPSS 默認(rèn)保留特征根大于1 的主成分,在本例中看到當(dāng)保留3 個(gè)主成分為宜,這3 個(gè)主成分集中了原始5 個(gè)變量信息的90. 66% ,可見效果是比較好的。表3中Component Matrix(因子載荷矩陣)給出了標(biāo)準(zhǔn)化原始變量用公因子線性表示的近似表達(dá)式,提取三個(gè)公因子時(shí)的因子模型可以表示為:
ZX1 = 0. 846f1 - 0. 194f2 - 0. 014f3 + ε1
ZX2 = 0. 940f1 + 0. 104f2 + 0. 029f3 + ε2
……
ZX5 = - 0. 178f1 + 0. 965f2 + 0. 069f3 + εp
根據(jù)上面的因子載荷系數(shù)aij與主成分系數(shù)uij之間的關(guān)系 ,也就推出了從相關(guān)系數(shù)矩陣得到的主成分系數(shù)表達(dá)式:
實(shí)際中我們通常只選取前幾個(gè)主成分,例如F1,F(xiàn)2,F(xiàn)3來反映原p 個(gè)變量信息。主成分系數(shù)還可以通過進(jìn)入Factor Analysis 對(duì)話框并選擇好變量之后,點(diǎn)擊對(duì)話框下部的Scores 按鈕進(jìn)入Factor Scores 對(duì)話框,選擇Display factor score coefficient matrix 選項(xiàng),并按Continue 繼續(xù),最后點(diǎn)擊OK 按鈕運(yùn)行,也可以推出主成分的系數(shù),具體參見何曉群教授的多元統(tǒng)計(jì)分析。作者又應(yīng)用SAS 軟件(從相關(guān)系數(shù)出發(fā)) 得到的結(jié)果與上述的結(jié)果一樣。
4結(jié)論
從上面的分析可以看出,因子分析和主成分分析都依賴于原始變量,所以原始變量的選擇很重要(指標(biāo)的選擇非常重要)。如果原始變量都本質(zhì)上獨(dú)立,那么降維就可能失敗,這是因?yàn)楹茈y把很多獨(dú)立變量用少數(shù)綜合的變量概括。數(shù)據(jù)越相關(guān),降維效果就越好。其次,對(duì)于具體的問題指標(biāo)選取之后還要對(duì)其處理,正向指標(biāo)、逆向的指標(biāo)和區(qū)間型指標(biāo)怎樣轉(zhuǎn)換成可以比較的指標(biāo)問題。最后,從相關(guān)系數(shù)出發(fā)建立主成分的系數(shù)矩陣還是從協(xié)方差矩陣出發(fā)建立主成分的系數(shù)還沒有定論。因子分析中的特殊因子如果作用較大,不能從因子載荷陣推主成分系數(shù)??梢娊⒅鞒煞帜P偷氖虑安襟E和事后分析很重要,不是隨便什么數(shù)據(jù)拿來用SPSS軟件分析得出結(jié)果就行了。
數(shù)據(jù)分析咨詢請(qǐng)掃描二維碼
若不方便掃碼,搜微信號(hào):CDAshujufenxi
SQL Server 中 CONVERT 函數(shù)的日期轉(zhuǎn)換:從基礎(chǔ)用法到實(shí)戰(zhàn)優(yōu)化 在 SQL Server 的數(shù)據(jù)處理中,日期格式轉(zhuǎn)換是高頻需求 —— 無論 ...
2025-09-18MySQL 大表拆分與關(guān)聯(lián)查詢效率:打破 “拆分必慢” 的認(rèn)知誤區(qū) 在 MySQL 數(shù)據(jù)庫管理中,“大表” 始終是性能優(yōu)化繞不開的話題。 ...
2025-09-18CDA 數(shù)據(jù)分析師:表結(jié)構(gòu)數(shù)據(jù) “獲取 - 加工 - 使用” 全流程的賦能者 表結(jié)構(gòu)數(shù)據(jù)(如數(shù)據(jù)庫表、Excel 表、CSV 文件)是企業(yè)數(shù)字 ...
2025-09-18DSGE 模型中的 Et:理性預(yù)期算子的內(nèi)涵、作用與應(yīng)用解析 動(dòng)態(tài)隨機(jī)一般均衡(Dynamic Stochastic General Equilibrium, DSGE)模 ...
2025-09-17Python 提取 TIF 中地名的完整指南 一、先明確:TIF 中的地名有哪兩種存在形式? 在開始提取前,需先判斷 TIF 文件的類型 —— ...
2025-09-17CDA 數(shù)據(jù)分析師:解鎖表結(jié)構(gòu)數(shù)據(jù)特征價(jià)值的專業(yè)核心 表結(jié)構(gòu)數(shù)據(jù)(以 “行 - 列” 規(guī)范存儲(chǔ)的結(jié)構(gòu)化數(shù)據(jù),如數(shù)據(jù)庫表、Excel 表、 ...
2025-09-17Excel 導(dǎo)入數(shù)據(jù)含缺失值?詳解 dropna 函數(shù)的功能與實(shí)戰(zhàn)應(yīng)用 在用 Python(如 pandas 庫)處理 Excel 數(shù)據(jù)時(shí),“缺失值” 是高頻 ...
2025-09-16深入解析卡方檢驗(yàn)與 t 檢驗(yàn):差異、適用場(chǎng)景與實(shí)踐應(yīng)用 在數(shù)據(jù)分析與統(tǒng)計(jì)學(xué)領(lǐng)域,假設(shè)檢驗(yàn)是驗(yàn)證研究假設(shè)、判斷數(shù)據(jù)差異是否 “ ...
2025-09-16CDA 數(shù)據(jù)分析師:掌控表格結(jié)構(gòu)數(shù)據(jù)全功能周期的專業(yè)操盤手 表格結(jié)構(gòu)數(shù)據(jù)(以 “行 - 列” 存儲(chǔ)的結(jié)構(gòu)化數(shù)據(jù),如 Excel 表、數(shù)據(jù) ...
2025-09-16MySQL 執(zhí)行計(jì)劃中 rows 數(shù)量的準(zhǔn)確性解析:原理、影響因素與優(yōu)化 在 MySQL SQL 調(diào)優(yōu)中,EXPLAIN執(zhí)行計(jì)劃是核心工具,而其中的row ...
2025-09-15解析 Python 中 Response 對(duì)象的 text 與 content:區(qū)別、場(chǎng)景與實(shí)踐指南 在 Python 進(jìn)行 HTTP 網(wǎng)絡(luò)請(qǐng)求開發(fā)時(shí)(如使用requests ...
2025-09-15CDA 數(shù)據(jù)分析師:激活表格結(jié)構(gòu)數(shù)據(jù)價(jià)值的核心操盤手 表格結(jié)構(gòu)數(shù)據(jù)(如 Excel 表格、數(shù)據(jù)庫表)是企業(yè)最基礎(chǔ)、最核心的數(shù)據(jù)形態(tài) ...
2025-09-15Python HTTP 請(qǐng)求工具對(duì)比:urllib.request 與 requests 的核心差異與選擇指南 在 Python 處理 HTTP 請(qǐng)求(如接口調(diào)用、數(shù)據(jù)爬取 ...
2025-09-12解決 pd.read_csv 讀取長浮點(diǎn)數(shù)據(jù)的科學(xué)計(jì)數(shù)法問題 為幫助 Python 數(shù)據(jù)從業(yè)者解決pd.read_csv讀取長浮點(diǎn)數(shù)據(jù)時(shí)的科學(xué)計(jì)數(shù)法問題 ...
2025-09-12CDA 數(shù)據(jù)分析師:業(yè)務(wù)數(shù)據(jù)分析步驟的落地者與價(jià)值優(yōu)化者 業(yè)務(wù)數(shù)據(jù)分析是企業(yè)解決日常運(yùn)營問題、提升執(zhí)行效率的核心手段,其價(jià)值 ...
2025-09-12用 SQL 驗(yàn)證業(yè)務(wù)邏輯:從規(guī)則拆解到數(shù)據(jù)把關(guān)的實(shí)戰(zhàn)指南 在業(yè)務(wù)系統(tǒng)落地過程中,“業(yè)務(wù)邏輯” 是連接 “需求設(shè)計(jì)” 與 “用戶體驗(yàn) ...
2025-09-11塔吉特百貨孕婦營銷案例:數(shù)據(jù)驅(qū)動(dòng)下的精準(zhǔn)零售革命與啟示 在零售行業(yè) “流量紅利見頂” 的當(dāng)下,精準(zhǔn)營銷成為企業(yè)突圍的核心方 ...
2025-09-11CDA 數(shù)據(jù)分析師與戰(zhàn)略 / 業(yè)務(wù)數(shù)據(jù)分析:概念辨析與協(xié)同價(jià)值 在數(shù)據(jù)驅(qū)動(dòng)決策的體系中,“戰(zhàn)略數(shù)據(jù)分析”“業(yè)務(wù)數(shù)據(jù)分析” 是企業(yè) ...
2025-09-11Excel 數(shù)據(jù)聚類分析:從操作實(shí)踐到業(yè)務(wù)價(jià)值挖掘 在數(shù)據(jù)分析場(chǎng)景中,聚類分析作為 “無監(jiān)督分組” 的核心工具,能從雜亂數(shù)據(jù)中挖 ...
2025-09-10統(tǒng)計(jì)模型的核心目的:從數(shù)據(jù)解讀到?jīng)Q策支撐的價(jià)值導(dǎo)向 統(tǒng)計(jì)模型作為數(shù)據(jù)分析的核心工具,并非簡單的 “公式堆砌”,而是圍繞特定 ...
2025-09-10