
利用SPSS進行主成分分析
【例子】 以全國31個省市的8項經(jīng)濟指標(biāo)為例,進行主成分分析。 第一步:錄入或調(diào)入數(shù)據(jù)(圖1)。
圖1 原始數(shù)據(jù)(未經(jīng)標(biāo)準(zhǔn)化)
第二步:打開“因子分析”對話框。
沿著主菜單的“Analyze→Data Reduction→FactorΚ”的路徑(圖2)打開因子分析選項框(圖3)。
圖2 打開因子分析對話框的路徑
1
圖3 因子分析選項框
第三步:選項設(shè)置。
首先,在源變量框中選中需要進行分析的變量,點擊右邊的箭頭符號,將需要的變
。在本例中,全部8個變量都要用上,故全部調(diào)入量調(diào)入變量(Variables)欄中(圖3)
(圖4)。因無特殊需要,故不必理會“ValueΚ”欄。下面逐項設(shè)置。
圖4 將變量移到變量欄以后
⒈ 設(shè)置Descriptives選項。
,彈出Descriptives對話框(圖5)。 單擊Descriptives按鈕(圖4)
2
圖5 描述選項框
在Statistics欄中選中Univariate descriptives復(fù)選項,則輸出結(jié)果中將會給出原始數(shù)據(jù)的抽樣均值、方差和樣本數(shù)目(這一欄結(jié)果可供檢驗參考);選中Initial solution復(fù)選項,則會給出主成分載荷的公因子方差(這一欄數(shù)據(jù)分析時有用)。
在Correlation Matrix欄中,選中Coefficients復(fù)選項,則會給出原始變量的相關(guān)系數(shù)矩陣(分析時可參考);選中Determinant復(fù)選項,則會給出相關(guān)系數(shù)矩陣的行列式,如果希望在Excel中對某些計算過程進行了解,可選此項,否則用途不大。其它復(fù)選項一般不用,但在特殊情況下可以用到(本例不選)。
設(shè)置完成以后,單擊Continue按鈕完成設(shè)置(圖5)。
⒉ 設(shè)置Extraction選項。
打開Extraction對話框(圖6)。因子提取方法主要有7種,在Method欄中可以看到,系統(tǒng)默認(rèn)的提取方法是主成分(Πρινχιπαλ χομπονεντσ),因此對此欄不作變動,就是認(rèn)可了主成分分析方法。
在Analyze欄中,選中Correlation matirx復(fù)選項,則因子分析基于數(shù)據(jù)的相關(guān)系數(shù)矩陣進行分析;如果選中Covariance matrix復(fù)選項,則因子分析基于數(shù)據(jù)的協(xié)方差矩陣進行分析。對于主成分分析而言,由于數(shù)據(jù)標(biāo)準(zhǔn)化了,這兩個結(jié)果沒有分別,因此任選其一即可。
在Display欄中,選中Unrotated factor solution(非旋轉(zhuǎn)因子解)復(fù)選項,則在分析結(jié)果中給出未經(jīng)旋轉(zhuǎn)的因子提取結(jié)果。對于主成分分析而言,這一項選擇與否都一樣;對于旋轉(zhuǎn)因子分析,選擇此項,可將旋轉(zhuǎn)前后的結(jié)果同時給出,以便對比。
“山麓”圖),則在分析結(jié)果中給出特征根按大小分布的折線圖(形選中Scree Plot(
如山麓截面,故得名),以便我們直觀地判定因子的提取數(shù)量是否準(zhǔn)確。
在Extract欄中,有兩種方法可以決定提取主成分(因子)的數(shù)目。一是根據(jù)特征根(Eigenvalues)的數(shù)值,系統(tǒng)默認(rèn)的是λc=1。我們知道,在主成分分析中,主成分得分的方差就是對應(yīng)的特征根數(shù)值。如果默認(rèn)λc=1,則所有方差大于等于1的主成分將被保留,其余舍棄。如果覺得最后選取的主成分?jǐn)?shù)量不足,可以將λc值降低,例如取λc=0.9;如果認(rèn)為最后的提取的主成分?jǐn)?shù)量偏多,則可以提高λc值,例如取λc=1.1。主成分?jǐn)?shù)目是否合適,要在進行一輪分析以后才能肯定。因此,特征根數(shù)值的設(shè)定,要在反復(fù)試驗以后才能決定。一般而言,在初次分析時,最好降低特征根的臨
3
界值(如取λc=0.8) ,這樣提取的主成分將會偏多,根據(jù)初次分析的結(jié)果,在第二輪分析過程中可以調(diào)整特征根的大小。
第二種方法是直接指定主成分的數(shù)目即因子數(shù)目,這要選中Number of factors復(fù)選項。主成分的數(shù)目選多少合適?開始我們并不十分清楚。因此,首次不妨將數(shù)值設(shè)大一些,但不能超過變量數(shù)目。本例有8個變量,因此,最大的主成分提取數(shù)目為8,不得超過此數(shù)。在我們第一輪分析中,采用系統(tǒng)默認(rèn)的方法提取主成分。
圖6 提取對話框
需要注意的是:主成分計算是利用迭代(Iterations)方法,系統(tǒng)默認(rèn)的迭代次數(shù)是25次。但是,當(dāng)數(shù)據(jù)量較大時,25次迭代是不夠的,需要改為50次、100次乃至更多。對于本例而言,變量較少,25次迭代足夠,故無需改動。
設(shè)置完成以后,單擊Continue按鈕完成設(shè)置(圖6)。
⒊ 設(shè)置Scores設(shè)置。
選中Save as variables欄,則分析結(jié)果中給出標(biāo)準(zhǔn)化的主成分得分(在數(shù)據(jù)表的后面)。至于方法復(fù)選項,對主成分分析而言,三種方法沒有分別,采用系統(tǒng)默認(rèn)的“回歸”(Regression)法即可。
圖7 因子得分對話框
4
選中Display factor score coefficient matrix,則在分析結(jié)果中給出因子得分系數(shù)矩陣及其相關(guān)矩陣。
設(shè)置完成以后,單擊Continue按鈕完成設(shè)置(圖7)。
⒋ 其它。
對于主成分分析而言,旋轉(zhuǎn)項(Rotation)可以不必設(shè)置;對于數(shù)據(jù)沒有缺失的情況下,Option項可以不必理會。
全部設(shè)置完成以后,點擊OK確定,SPSS很快給出計算結(jié)果(圖8)。
圖8 主成分分析的結(jié)果
第四步,結(jié)果解讀。
在因子分析結(jié)果(Output)中,首先給出的Descriptive Statistics,第一列Mean對應(yīng)的變量的算術(shù)平均值,計算公式為
1nj=∑xij ni=1
第二列Std. Deviation對應(yīng)的是樣本標(biāo)準(zhǔn)差,計算公式為
1nσj=[(xij?j)2]1/2 ∑n?1i=1
第三列Analysis N對應(yīng)是樣本數(shù)目。這一組數(shù)據(jù)在分析過程中可作參考。 5
接下來是Correlation Matrix(相關(guān)系數(shù)矩陣),一般而言,相關(guān)系數(shù)高的變量,大多會進入同一個主成分,但不盡然,除了相關(guān)系數(shù)外,決定變量在主成分中分布地位的因素還有數(shù)據(jù)的結(jié)構(gòu)。相關(guān)系數(shù)矩陣對主成分分析具有參考價值,畢竟主成分分析是從計算相關(guān)系數(shù)矩陣的特征根開始的。相關(guān)系數(shù)陣下面的Determinant=1.133E-0.4是相關(guān)矩陣的行列式值,根據(jù)關(guān)系式det(λI?R)=0可知,det(λI)=det(R),從而Determinant=1.133E-0.4=λ1*λ2*λ3*λ4*λ5*λ6*λ7*λ8。這一點在后面將會得到驗證。
在Communalities(公因子方差)中,給出了因子載荷陣的初始公因子方差(Initial)和提取公因子方差(Extraction),后面將會看到它們的含義。
在Total Variance Explained(全部解釋方差) 表的Initial Eigenvalues(初始特
6
征根)中,給出了按順序排列的主成分得分的方差(Total),在數(shù)值上等于相關(guān)系數(shù)矩陣的各個特征根λ,因此可以直接根據(jù)特征根計算每一個主成分的方差百分比(% of Variance)。由于全部特征根的總和等于變量數(shù)目,即有m=∑λi=8,故第一個特征根的方差百分比為λ1/m=3.755/8=46.939,第二個特征根的百分比為λ2/m=2.197/8= 27.459,……,其余依此類推。然后可以算出方差累計值(Cumulative %)。在Extraction Sums of Squared Loadings,給出了從左邊欄目中提取的三個主成分及有關(guān)參數(shù),提取的原則是滿足λ>1,這一點我們在圖6所示的對話框中進行了限定。
主成分的數(shù)目可以根據(jù)相關(guān)系數(shù)矩陣的特征根來判定,如前所說,相關(guān)系數(shù)矩陣的特 7
征根剛好等于主成分的方差,而方差是變量數(shù)據(jù)蘊涵信息的重要判據(jù)之一。根據(jù)λ值決定主成分?jǐn)?shù)目的準(zhǔn)則有三:
i 只取λ>1的特征根對應(yīng)的主成分
從Total Variance Explained表中可見,第一、第二和第三個主成分對應(yīng)的λ值都大于1,這意味著這三個主成分得分的方差都大于1。本例正是根據(jù)這條準(zhǔn)則提取主成分的。
ii 累計百分比達到80%~85%以上的λ值對應(yīng)的主成分
在Total Variance Explained表可以看出,前三個主成分對應(yīng)的λ值累計百分比達到89.584%,這暗示只要選取三個主成分,信息量就夠了。
iii 根據(jù)特征根變化的突變點決定主成分的數(shù)量
從特征根分布的折線圖(Scree Plot)上可以看到,第4個λ值是一個明顯的折點,這暗示選取的主成分?jǐn)?shù)目應(yīng)有p≤4(圖8)。那么,究竟是3個還是4個呢?根據(jù)前面兩條準(zhǔn)則,選3個大致合適(但小有問題)。
在Component Matrix(成分矩陣)中,給出了主成分載荷矩陣,每一列載荷值都顯示了各個變量與有關(guān)主成分的相關(guān)系數(shù)。以第一列為例,0.885實際上是國內(nèi)生產(chǎn)總值(GDP)與第一個主成分的相關(guān)系數(shù)。將標(biāo)準(zhǔn)化的GDP數(shù)據(jù)與第一主成分得分進行回歸,決定系數(shù)R2=0.783(圖9),容易算出R=0.885,這正是GDP在第一個主成分上的載荷。
下面將主成分載荷矩陣拷貝到Excel上面作進一步的處理:計算公因子方差和方差貢獻。首先求行平方和,例如,第一行的平方和為
h12=0.88492+0.38362+0.12092=0.9449
這是公因子方差。然后求列平方和,例如,第一列的平方和為
s12=0.88492+0.60672+…+0.82272=3.7551
這便是方差貢獻(圖10)。在Excel中有一個計算平方和的命令sumsq,可以方便地算出一組數(shù)據(jù)的平方和。顯然,列平方和即方差貢獻。事實上,有如下關(guān)系成立:
至于行平方和,顯然與前面公因子方差(Communalities)表中的Extraction列對應(yīng)的數(shù)據(jù)一樣。如果我們將8個主成分全部提取,則主成分載荷的行平方和都等于1(圖11),即有hi=1,sj=λj。到此可以明白:在Communalities中,Initial對應(yīng)的是初始公因子方差,實際上是全部主成分的公因子方差;Extraction對應(yīng)的是提取的主成分的公因子方差,我們提取了3個主成分,故計算公因子方差時只考慮3個主成分。
8
4.00000
第一主成分
2.00000
0.00000
-2.00000
國內(nèi)生產(chǎn)總值
圖9 國內(nèi)生產(chǎn)總值(GDP)的與第一主成分的相關(guān)關(guān)系(標(biāo)準(zhǔn)化數(shù)據(jù))
9
提取主成分的原則上要求公因子方差的各個數(shù)值盡可能接近,亦即要求它們的方差極小,當(dāng)公因子方差完全相等時,它們的方差為0,這就達到完美狀態(tài)。實際應(yīng)用中,只要公因子方差數(shù)值彼此接近(不相差太遠)就行了。從上面給出的結(jié)果可以看出:提取3個主成分的時候,居民消費的公因子方差偏小,這暗示提取3個主成分,居民消費方面的信息可能有較多的損失。至于方差貢獻,反映對應(yīng)主成分的重要程度,這一點從方差的統(tǒng)計學(xué)意義可以得到理解。
在圖11中,將最后一行的特征根全部乘到一起,得0.0001133,這正是相關(guān)系數(shù)矩陣的行列式數(shù)值(在Excel中,求一組數(shù)據(jù)的乘積之和的命令是product)。
最后說明Component Score Coefficient Matrix(成分得分系數(shù)矩陣)和Component Score Covariance Matrix(成分得分協(xié)方差矩陣),前者是主成分得分系數(shù),后者是主成分得分的協(xié)方差即相關(guān)系數(shù)。從Component Score Covariance Matrix可以看出,標(biāo)準(zhǔn)化主成分得分之間的協(xié)方差即相關(guān)系數(shù)為0(j≠k)或1(j=k),這意味著主成分之間彼此正交即垂直。
初學(xué)者常將Component Score Coefficient Matrix表中的數(shù)據(jù)當(dāng)成主成分得分或因子得分,這是誤會。成分得分系數(shù)矩陣的數(shù)值是主成分載荷除以相應(yīng)的特征根得到的結(jié)果。在Component Matrix表中,將第一列數(shù)據(jù)分別除以λ1=3.755,第二列數(shù)值分別除以
立即得到Component Score Coefficient;反過來,如果將Component Score λ2=2.197,…,
Coefficient Matrix表中的各列數(shù)據(jù)分別乘以λ1=3.755,λ2=2.197,…,則可將其還原為主成分載荷即Component Matrix中的數(shù)據(jù)。
10
實際上,主成分得分在原始數(shù)據(jù)所在的SPSS當(dāng)前數(shù)據(jù)欄中給出,不過給出的都是標(biāo)準(zhǔn)化的主成分得分(圖12a);將各個主成分乘以相應(yīng)的√λ即特征根的二次方根可以將其還原為未經(jīng)標(biāo)準(zhǔn)化的主成分得分。
a.標(biāo)準(zhǔn)化的主成分得分 b. 非標(biāo)準(zhǔn)化的主成分得分
圖12 兩種主成分得分
計算標(biāo)準(zhǔn)化主成分得分的協(xié)方差或相關(guān)系數(shù),結(jié)果與Component Score Covariance 11
Matrix表中的給出的結(jié)果一致(見圖13)。
第一因子 第二因子 第三因子
第一因子 1 第二因子 0.00000 1 第三因子 0.00000 0.00000 1
圖13 主成分(得分)之間的相關(guān)系數(shù)矩陣
第五步,計算結(jié)果分析。
從Component Matrix即主成分載荷表中可以看出,國內(nèi)生產(chǎn)總值、固定資產(chǎn)投資和工業(yè)產(chǎn)值在第一主成分上載荷較大,亦即與第一主成分的相關(guān)系數(shù)較高;職工工資和貨物周轉(zhuǎn)量在第二主成分上的載荷絕對值較大,即負(fù)相關(guān)程度較高;消費價格指數(shù)在第三主成分上的載荷較大,即相關(guān)程度較高。
因此可將主成分命名如下:
第一主成分:投入-產(chǎn)出主成分; 第二主成分:工資-物流主成分; 第三主成分:消費價格主成分。
問題在于:一方面,居民消費和商品零售價格指數(shù)的歸類比較含混;另一方面,主成分的命名結(jié)構(gòu)不清。因此,有必要作進一步的因子分析。
數(shù)據(jù)分析咨詢請掃描二維碼
若不方便掃碼,搜微信號:CDAshujufenxi
SQL Server 中 CONVERT 函數(shù)的日期轉(zhuǎn)換:從基礎(chǔ)用法到實戰(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)用解析 動態(tài)隨機一般均衡(Dynamic Stochastic General Equilibrium, DSGE)模 ...
2025-09-17Python 提取 TIF 中地名的完整指南 一、先明確:TIF 中的地名有哪兩種存在形式? 在開始提取前,需先判斷 TIF 文件的類型 —— ...
2025-09-17CDA 數(shù)據(jù)分析師:解鎖表結(jié)構(gòu)數(shù)據(jù)特征價值的專業(yè)核心 表結(jié)構(gòu)數(shù)據(jù)(以 “行 - 列” 規(guī)范存儲的結(jié)構(gòu)化數(shù)據(jù),如數(shù)據(jù)庫表、Excel 表、 ...
2025-09-17Excel 導(dǎo)入數(shù)據(jù)含缺失值?詳解 dropna 函數(shù)的功能與實戰(zhàn)應(yīng)用 在用 Python(如 pandas 庫)處理 Excel 數(shù)據(jù)時,“缺失值” 是高頻 ...
2025-09-16深入解析卡方檢驗與 t 檢驗:差異、適用場景與實踐應(yīng)用 在數(shù)據(jù)分析與統(tǒng)計學(xué)領(lǐng)域,假設(shè)檢驗是驗證研究假設(shè)、判斷數(shù)據(jù)差異是否 “ ...
2025-09-16CDA 數(shù)據(jù)分析師:掌控表格結(jié)構(gòu)數(shù)據(jù)全功能周期的專業(yè)操盤手 表格結(jié)構(gòu)數(shù)據(jù)(以 “行 - 列” 存儲的結(jié)構(gòu)化數(shù)據(jù),如 Excel 表、數(shù)據(jù) ...
2025-09-16MySQL 執(zhí)行計劃中 rows 數(shù)量的準(zhǔn)確性解析:原理、影響因素與優(yōu)化 在 MySQL SQL 調(diào)優(yōu)中,EXPLAIN執(zhí)行計劃是核心工具,而其中的row ...
2025-09-15解析 Python 中 Response 對象的 text 與 content:區(qū)別、場景與實踐指南 在 Python 進行 HTTP 網(wǎng)絡(luò)請求開發(fā)時(如使用requests ...
2025-09-15CDA 數(shù)據(jù)分析師:激活表格結(jié)構(gòu)數(shù)據(jù)價值的核心操盤手 表格結(jié)構(gòu)數(shù)據(jù)(如 Excel 表格、數(shù)據(jù)庫表)是企業(yè)最基礎(chǔ)、最核心的數(shù)據(jù)形態(tài) ...
2025-09-15Python HTTP 請求工具對比:urllib.request 與 requests 的核心差異與選擇指南 在 Python 處理 HTTP 請求(如接口調(diào)用、數(shù)據(jù)爬取 ...
2025-09-12解決 pd.read_csv 讀取長浮點數(shù)據(jù)的科學(xué)計數(shù)法問題 為幫助 Python 數(shù)據(jù)從業(yè)者解決pd.read_csv讀取長浮點數(shù)據(jù)時的科學(xué)計數(shù)法問題 ...
2025-09-12CDA 數(shù)據(jù)分析師:業(yè)務(wù)數(shù)據(jù)分析步驟的落地者與價值優(yōu)化者 業(yè)務(wù)數(shù)據(jù)分析是企業(yè)解決日常運營問題、提升執(zhí)行效率的核心手段,其價值 ...
2025-09-12用 SQL 驗證業(yè)務(wù)邏輯:從規(guī)則拆解到數(shù)據(jù)把關(guān)的實戰(zhàn)指南 在業(yè)務(wù)系統(tǒng)落地過程中,“業(yè)務(wù)邏輯” 是連接 “需求設(shè)計” 與 “用戶體驗 ...
2025-09-11塔吉特百貨孕婦營銷案例:數(shù)據(jù)驅(qū)動下的精準(zhǔn)零售革命與啟示 在零售行業(yè) “流量紅利見頂” 的當(dāng)下,精準(zhǔn)營銷成為企業(yè)突圍的核心方 ...
2025-09-11CDA 數(shù)據(jù)分析師與戰(zhàn)略 / 業(yè)務(wù)數(shù)據(jù)分析:概念辨析與協(xié)同價值 在數(shù)據(jù)驅(qū)動決策的體系中,“戰(zhàn)略數(shù)據(jù)分析”“業(yè)務(wù)數(shù)據(jù)分析” 是企業(yè) ...
2025-09-11Excel 數(shù)據(jù)聚類分析:從操作實踐到業(yè)務(wù)價值挖掘 在數(shù)據(jù)分析場景中,聚類分析作為 “無監(jiān)督分組” 的核心工具,能從雜亂數(shù)據(jù)中挖 ...
2025-09-10統(tǒng)計模型的核心目的:從數(shù)據(jù)解讀到?jīng)Q策支撐的價值導(dǎo)向 統(tǒng)計模型作為數(shù)據(jù)分析的核心工具,并非簡單的 “公式堆砌”,而是圍繞特定 ...
2025-09-10