
如何正確應用SPSS 軟件做主成分分析
1引言
主成分分析( principal components analysis) 也稱主分量分析,由霍特林(Hotelling)于1933 年首先提出。主成分分析是利用降維的思想,在損失很少信息的前提下把多個指標轉化為幾個綜合指標的多元統計方法。通常把轉化后的綜合指標稱之為主成分,其中每個主成分都是原始變量的線性組合,且各個主成分之間互不相關,這就使得主成分比原始變量具有某些更優越的性能。這樣在研究復雜問題時就可以只考慮少數幾個主成分而不至于損失太多信息,從而更容易抓住主要矛盾,揭示事物內部變量之間的規律性,同時使問題得到簡化,提高分析效率。
由于主成分分析的這些優勢,在實際問題中遇到指標較多且各指標相關關系較大時,人們??紤]應用主成分分析的方法。但是目前用SPSS 軟件分析主成分的教材中和發表的文章中有很多錯誤和誤解之處(SAS 軟件中有主成分分析和因子分析的專門語句,一般不會出現這種情況) :(1)如果把主成分與原始變量(或標準化后的變量) 的相關系數矩陣叫做因子負荷陣,把原始變量標準化后用因子來表示的系數陣叫做因子載荷陣,那么SPSS 軟件得到的是因子載荷陣,因子載荷陣表示標準化后的主成分( 或叫公因子,方差為1) 來近似標準化后原始變量的系數矩陣。(2)主成分的系數是因子載荷陣推出的,不是從因子負荷陣推出的,即從因子分析得到的載荷陣求主成分的系數時很多教材中和文章中的公式表達錯誤,雖然實際數據結果是對的。這時的主成分的方差不是1,即非標準化的主成分。(3)當SPSS 軟件從相關系數求主成分時,主成分應表示為標準化后的隨機變量的線性組合,有些文獻中就沒加區分,把主成分直接寫成原始變量的線性組合。(4)為了從因子分析得到主成分的系數,在SPSS 軟件中對因子不要旋轉,實際上很多人旋轉了。(5)從因子得分系數矩陣得到主成分系數表達式,可以認為因子與標準化原始變量間的變換關系是可逆的,因為因子的提取采用主成分方法時,標準化后的隨機變量完全由因子來表示[3]。鑒于以上錯誤和誤解,本文從主成分分析與因子分析的關系出發,借用SPSS 軟件自帶的例子,進行了正確的操作,將其結果與SAS 軟件進行比較,結果完全相同。
2聯系與區別
(一) 主成分分析
設對某一事物的研究涉及到p 個指標,記為X1,X2,…Xp,這p 個指標構成的p 維隨機向量為X= ( X1,X2,…Xp) ′。對X 進行線性變換,可以形成新的綜合變量,用Y 表示,也就是說,新的綜合變量可以由原來的變量線性表示,滿足下式:
Y1 = b11X1 + b12X2 + … + b1pXp
Y2 = b21X1 + b22X2 + … + b2pXp
……
Yp = bp1X1 + bp2X2 + … + bppXp (1)
由于可以任意地對原始變量進行上述的線性變換,不同的線性變換得到的綜合變量Y 的統計特性也不盡相同。通常主成分要求滿足如下的三個條件:
1. b′ibi = 1,即b2 i1 + b2 i2 + … + b2ip = 1,b′i = ( bi1,bi2,…,bip) ,i = 1,2,…,p;
2. Yi與Yj相互無關( i≠j;i,j = 1,2,…p) ;
3. Y1是X1,X2,…Xp的一切滿足條件1 的線性組合中方差最大者;Y2是與Y1不相關的X1,X2,…Xp的一切滿足條件1 的線性組合中方差最大者;……;Yp是與Y1,Y2,…,Yp - 1都不相關的X1,X2,…Xp的一切滿足條件1 的線性組合中方差最大者。
基于以上三個條件決定的綜合變量,我們把Y1,Y2,…,Yp重新記為G1,G2,…,Gp,分別稱為原始變量的第一、第二、…、第p 主成分,其系數重新記為cij,(i,j = 1,2,…,p) ,根據矩陣代數的知識,每個主成分的方差( var(Gi) ,i = 1,2,…,p) ,其實就是X1,X2,…Xp的協方差陣Σ 的非零特征值(λi) ,于是主成分與原始變量關系為:
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是正交陣。如果數據是標準化后,即從相關系數矩陣出發,求得的特征值與對應的特征向量為主成分的系數矩陣?;谙嚓P系數矩陣還是基于協方差矩陣做主成分分析:當分析中所選擇的經濟變量具有不同的量綱,變量水平差異很大,應該選擇基于相關系數矩陣的主成分分析。對同度量或是取值范圍在同量級的數據,還是直接從協方差矩陣求主成分。
對上述問題涉及到的p 個指標X1,X2,…Xp,我們為了從相關系數矩陣出發,將p 個指標標準化后記為ZX = ( ZX1,ZX2,…ZXp) ′,相關系數矩陣記為R。那么求得的主成分可以表示為:
F1 = u11ZX1 + u12ZX2 + … + u1pZXp
F2 = u21ZX1 + u22ZX2 + … + u2pZXp
……
Fp = up1ZX1 + up2ZX2 + … + uppZXp (3)
其中:u′i = ( ui1,ui2,…,uip) ,F = (F1,F2,…,Fp) ′,
那么上式可以表示為:F = U′ZX,其中U 是正交陣。
(二) 因子分析
因子分析(factor analysis) 的一般模型:設對某一事物的研究涉及到p 個指標X1,X2,…Xp,這p 指標有著較強的相關性,為了便于研究,在指標同向化的基礎上,將樣本數據進行標準化。為了說明方便,將同向化和標準化后的變量向量用ZX 表示,即ZX= (ZX1,ZX2,…ZXp) ′,其均值向量E(ZX)= 0,協方差矩陣記為cov(ZX) = Σ zx,其實這里的協方差矩陣Σ zx與相關系數矩陣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) ′為特殊因子,它們都是不可觀測的隨機變量,A = (aij)p × m叫做因子載荷陣。f 的均值向量E(f) = 0,協方差cov(f) = I,E(ε) = 0,且ε 與f相互獨立,ε 的協方差矩陣是對角陣。
(三) 主成分與因子分析的聯系
主成分分析與因子分析都是絳維的分析方法,利用少數幾個變量對數據進行解釋。主成分分析是一種數據的變換,而不假定數據陣有什么樣的結構形式;因子分析可以看成是一種模型分析,當模型的某些條件不滿足時,因子分析可能是虛假的。主成分分析的重點放在從觀測變量到主成分的變換上,因子分析重點放在從基本因子到觀測變量的變換上,主成分變換是可逆的,因子分析則不要求。當特殊因子的變差為0時,主成分分析和因子分析是完全等價的。那么對于一個因子分析模型怎么估計其因子載荷矩陣A,實踐中有很多方法,其中有一種就是上述的主成分分析方法,從公式F= U′ZX 我們可以得到ZX = UF,具體表達式為:
ZX1 = u11F1 + u21F2 + … + up1Fp
ZX2 = u12F1 + u22F2 + … + up2Fp
……
ZXp = u1pF1 + u2pF2 + … + uppFp (5)
對上面的等式(5)只保留前m(m < p) 個主成分,而把后面的部分用εi代替,則
當主成分F1,F2,…,Fp是從標準化后的相關系數矩陣求出,各成分相互獨立,且其方差按大到小的排序為λ1,λ2…λp,我們將式(6)
做。通過上述變換,我們就能得到與式(4)類似的因子模型表達式。注意這里的ε1,ε2,…εp與式(4 ) 的ε1,ε2,…εp是有區別的,式(4)要求它們相互獨立而這里它們之間不獨立,為了方便還是用原符號表示。
實際上對于主成分分析SPSS 軟件中沒有對應的模塊,但是因子分析模塊中有利用主成分分析來求得因子載荷矩陣,根據上面主成分分析與因子分析的聯系,我們可以從SPSS 的因子載荷矩陣得到主成分分析的系數。由于主成分分析所得到的特殊因子ε1,ε2,…εp并不獨立,因此所得的因子載荷并不完全正確。但是當共同度較大時,特殊因子所起的作用較小,那么特殊因子之間的相關性所帶來的影響就幾乎可以忽略不計,這時主成分分析和因子分析是完全等價的(公因子的數目與變量一樣多)。這時可以利用式(4)中的aij反推出式(3)中的uij它們之間的關系是,也就是推出了從因子載荷矩陣得到主成分系數表達式。
3主成分分析的SPSS 實現
本文利用SPSS 軟件自帶的數據集Employee data 為例說明如何利用因子分析模塊得到主成分系數。數據集Employee data 為Midwestern 銀行在1969 - 1971 年之間雇員情況的數據,共包括474 條觀測及如下10個變量:Id(觀測號)、Gender(性別)、Bdate(出生日期)、Educ (受教育程度(年數))、Jobcat(工作種類)、Salary (目前年薪)、Salbegin (開始受聘時的年薪)、Jobtime(受雇時間)、Prevexp(受雇以前的工作時間)、Minority(是否少數民族)。我們將educ、salary、salbegin、jobtime、prevexp 依次表示為X1,X2,X3,X4,X5。數據在同向化的基礎上SPSS 中的因子分析默認針對標準化后的數據來分析的,所以利用Analyze → Descriptive Statistics →Descriptives…進入描述性統計對話框,依次選中變量X1,X2,X3,X4,X5并點向右的箭頭按鈕,這五個變量便進入variables 窗口,選中Save standardizedas variables 復選框,點擊OK 按鈕,即可在數據窗口得到標準化的數據ZX1,ZX2,ZX3,ZX4,ZX5。接下來對標準化后的數據進行分析,點擊Analyze→Data Reduction→Factor…進入Factor Analysis( 因子分析)對話框。依次選中變量ZX1,ZX2,ZX3,ZX4,ZX5(用原始數據也是一樣,標準化主要是在主成分表達中需要)并點向右的箭頭按鈕,這五個變量便進入variables 窗口,點擊右側的OK 按鈕,即可得到表1、表2 和表3。
表1中的Communalities(共同度)數據給出了該次分析從每個原始變量中提取的信息(特征根大于1),可以看到除受教育程度(ZX1)信息損失較大外,主成分幾乎包含了各個原始變量至少90% 的信息。表2 中的Total Variance Explained(總方差解釋部分)則顯示了各主成分解釋原始變量總方差的情況,SPSS 默認保留特征根大于1 的主成分,在本例中看到當保留3 個主成分為宜,這3 個主成分集中了原始5 個變量信息的90. 66% ,可見效果是比較好的。表3中Component Matrix(因子載荷矩陣)給出了標準化原始變量用公因子線性表示的近似表達式,提取三個公因子時的因子模型可以表示為:
ZX1 = 0. 846f1 - 0. 194f2 - 0. 014f3 + ε1
ZX2 = 0. 940f1 + 0. 104f2 + 0. 029f3 + ε2
……
ZX5 = - 0. 178f1 + 0. 965f2 + 0. 069f3 + εp
根據上面的因子載荷系數aij與主成分系數uij之間的關系 ,也就推出了從相關系數矩陣得到的主成分系數表達式:
實際中我們通常只選取前幾個主成分,例如F1,F2,F3來反映原p 個變量信息。主成分系數還可以通過進入Factor Analysis 對話框并選擇好變量之后,點擊對話框下部的Scores 按鈕進入Factor Scores 對話框,選擇Display factor score coefficient matrix 選項,并按Continue 繼續,最后點擊OK 按鈕運行,也可以推出主成分的系數,具體參見何曉群教授的多元統計分析。作者又應用SAS 軟件(從相關系數出發) 得到的結果與上述的結果一樣。
4結論
從上面的分析可以看出,因子分析和主成分分析都依賴于原始變量,所以原始變量的選擇很重要(指標的選擇非常重要)。如果原始變量都本質上獨立,那么降維就可能失敗,這是因為很難把很多獨立變量用少數綜合的變量概括。數據越相關,降維效果就越好。其次,對于具體的問題指標選取之后還要對其處理,正向指標、逆向的指標和區間型指標怎樣轉換成可以比較的指標問題。最后,從相關系數出發建立主成分的系數矩陣還是從協方差矩陣出發建立主成分的系數還沒有定論。因子分析中的特殊因子如果作用較大,不能從因子載荷陣推主成分系數??梢娊⒅鞒煞帜P偷氖虑安襟E和事后分析很重要,不是隨便什么數據拿來用SPSS軟件分析得出結果就行了。
數據分析咨詢請掃描二維碼
若不方便掃碼,搜微信號:CDAshujufenxi
在本文中,我們將探討 AI 為何能夠加速數據分析、如何在每個步驟中實現數據分析自動化以及使用哪些工具。 數據分析中的AI是什么 ...
2025-05-20當數據遇見人生:我的第一個分析項目 記得三年前接手第一個數據分析項目時,我面對Excel里密密麻麻的銷售數據手足無措。那些跳動 ...
2025-05-20在數字化運營的時代,企業每天都在產生海量數據:用戶點擊行為、商品銷售記錄、廣告投放反饋…… 這些數據就像散落的拼圖,而相 ...
2025-05-19在當今數字化營銷時代,小紅書作為國內領先的社交電商平臺,其銷售數據蘊含著巨大的商業價值。通過對小紅書銷售數據的深入分析, ...
2025-05-16Excel作為最常用的數據分析工具,有沒有什么工具可以幫助我們快速地使用excel表格,只要輕松幾步甚至輸入幾項指令就能搞定呢? ...
2025-05-15數據,如同無形的燃料,驅動著現代社會的運轉。從全球互聯網用戶每天產生的2.5億TB數據,到制造業的傳感器、金融交易 ...
2025-05-15大數據是什么_數據分析師培訓 其實,現在的大數據指的并不僅僅是海量數據,更準確而言是對大數據分析的方法。傳統的數 ...
2025-05-14CDA持證人簡介: 萬木,CDA L1持證人,某電商中廠BI工程師 ,5年數據經驗1年BI內訓師,高級數據分析師,擁有豐富的行業經驗。 ...
2025-05-13CDA持證人簡介: 王明月 ,CDA 數據分析師二級持證人,2年數據產品工作經驗,管理學博士在讀。 學習入口:https://edu.cda.cn/g ...
2025-05-12CDA持證人簡介: 楊貞璽 ,CDA一級持證人,鄭州大學情報學碩士研究生,某上市公司數據分析師。 學習入口:https://edu.cda.cn/g ...
2025-05-09CDA持證人簡介 程靖 CDA會員大咖,暢銷書《小白學產品》作者,13年頂級互聯網公司產品經理相關經驗,曾在百度、美團、阿里等 ...
2025-05-07相信很多做數據分析的小伙伴,都接到過一些高階的數據分析需求,實現的過程需要用到一些數據獲取,數據清洗轉換,建模方法等,這 ...
2025-05-06以下的文章內容來源于劉靜老師的專欄,如果您想閱讀專欄《10大業務分析模型突破業務瓶頸》,點擊下方鏈接 https://edu.cda.cn/g ...
2025-04-30CDA持證人簡介: 邱立峰 CDA 數據分析師二級持證人,數字化轉型專家,數據治理專家,高級數據分析師,擁有豐富的行業經驗。 ...
2025-04-29CDA持證人簡介: 程靖 CDA會員大咖,暢銷書《小白學產品》作者,13年頂級互聯網公司產品經理相關經驗,曾在百度,美團,阿里等 ...
2025-04-28CDA持證人簡介: 居瑜 ,CDA一級持證人國企財務經理,13年財務管理運營經驗,在數據分析就業和實踐經驗方面有著豐富的積累和經 ...
2025-04-27數據分析在當今信息時代發揮著重要作用。單因素方差分析(One-Way ANOVA)是一種關鍵的統計方法,用于比較三個或更多獨立樣本組 ...
2025-04-25CDA持證人簡介: 居瑜 ,CDA一級持證人國企財務經理,13年財務管理運營經驗,在數據分析就業和實踐經驗方面有著豐富的積累和經 ...
2025-04-25在當今數字化時代,數據分析師的重要性與日俱增。但許多人在踏上這條職業道路時,往往充滿疑惑: 如何成為一名數據分析師?成為 ...
2025-04-24以下的文章內容來源于劉靜老師的專欄,如果您想閱讀專欄《劉靜:10大業務分析模型突破業務瓶頸》,點擊下方鏈接 https://edu.cda ...
2025-04-23