SPSS超詳細教程:主成分分析
1、問題與數據
某公司經理擬招聘一名員工,要求其具有較高的工作積極性、自主性、熱情和責任感。為此,該經理專門設計了一個測試問卷,配有25項相關問題,擬從315位應聘者中尋找出最合適的候選人。
在這25項相關問題中,Qu3-Qu8、Qu12、Qu13測量的是工作積極性,Qu2、Qu14-Qu19測量的是工作自主性,Qu20-Qu25測量的是工作熱情,Qu1、Qu9-Qu11測量的是工作責任感,每一個問題都有非常同意「Agree」、同意 「Agree Some」、不確定「Undecided」、不同意 「Disagree Some」和 非常不同意 「Disagree」五個等級。
該經理想根據這25項問題判斷應聘者在這四個方面的能力,現收集了應聘者的問卷信息,經匯總整理後部分數據如下:
2、對問題的分析
研究者擬將多個變數歸納為某幾項信息進行分析,即降低數據結果的維度。針對這種情況,我們可以進行主成分提取,但需要先滿足2項假設:
假設1:觀測變數是連續變數或有序分類變數,如本研究中的測量變數都是有序分類變數。
假設2:變數之間存在線性相關關係。
經分析,本研究數據符合假設1,那麼應該如何檢驗假設2,並進行主成分提取呢?
3、SPSS操作
(1) 在主頁面點擊Analyze→Dimension Reduction →Factor
彈出下圖
(2) 將變數Qu1-Qu25放入Variables欄
(3) 點擊Descriptive彈出下圖
(4) 點選Statistics欄的Initial solution選項,並點選Correlation Matrix欄的Coefficients、KMO and Bartlett』s test of sphericity、Reproduced和Anti_image選項
(5) 點擊Continue→Extraction
(6) 點擊Display欄中的Scree plot選項
(7) 點擊Continue→Rotation
(8) 點選Method欄的Varimax選項,並點選Display欄的Rotated solution和Loading plot(s)選項
(9) 點擊Continue→Scores
(10) 點擊Save as variables,激活Method欄後點擊Regression選項
(11) 點擊Continue→Options
(12) 點擊 Sorted by size和Suppress small coefficients選項,在Absolute value below欄內輸入「.3"
(13) 點擊Continue→OK
假設檢驗
假設2:線性相關關係
經上述操作,SPSS輸出相關矩陣表如下:
在變數比較多的時候,各變數之間的相關矩陣表會非常大。如在本研究中,相關矩陣是一個26*26的表格,為了在一個視野中展示數據,我們只能列出部分結果。
該表主要用於判斷各變數之間的線性相關關係,從而決定變數的取捨,即如果某一個變數與同一分組中其他變數之間的關聯性不強,我們就認為該變數與其他變數測量的內容不同,在主成分提取中不應該納入該變數。
一般來說,如果相關係數大於等於0.3,我們就認為變數之間存在較好的線性相關性。從本研究的結果來看,在分別對應聘者工作積極性(Q3-Q8,Q12,Q13)、工作自主性 (Q2,Q14-19)、工作熱情(Q20-25)和工作責任感(Q1,Q9-11)的測量中,每組變數之間的相關係數均大於0.3,說明各組變數之間具有線性相關關係,提示滿足假設2。
此外,檢驗主成分分析數據結構的方法還有以下三種:用Kaiser-Meyer-Olkin (KMO)檢驗對數據的總體分析,KMO檢驗對各變數的單獨分析以及Bartlett"s 檢驗 (Bartlett"s test of sphericity)。接下來,我們將對這三種方法進行逐一介紹。
KMO檢驗對數據結構的總體分析
KMO檢驗主要用於主成分提取的數據情況。一般來說,KMO檢驗係數分布在0到1之間,如果係數值大於0.6,則認為樣本符合數據結構合理的要求。但既往學者普遍認為,只有當KMO檢驗係數值大於0.8時,主成分分析的結果才具有較好的實用性,具體系數對應關係如下:
SPSS輸出本研究結果如下:
即本研究的KMO檢驗係數為0.833,根據係數對應關係表,我們認為本研究數據結構很好(meritorious),具有相關關係,滿足假設2。
KMO檢驗對各變數的單獨分析
SPSS輸出各變數的KMO檢驗結果如下:
整理為:
同上述對總體KMO檢驗係數的介紹,KMO檢驗對單個變數的分析結果也在0到1之間分布,如果係數大於0.5,則認為單個變數滿足要求;如果係數大於0.8,則認為單個變數結果很好。在本研究中,任一變數的KMO檢驗結果均大於0.7,即各變數結果一般,但仍滿足假設2。
Bartlett"s檢驗
Bartlett"s檢驗的零假設是研究數據之間的相關矩陣是一個完美矩陣,即所有對角線上的係數為1,非對角線上的係數均為0。
在這種完美矩陣的情況下,各變數之間沒有相關關係,即不能將多個變數簡化為少數的成分,沒有進行主成分提取的必要。因此,我們希望拒絕Bartlett"s檢驗的零假設,SPSS輸出結果如下:
在本研究中,Bartlett"s檢驗的P值小於0.001,拒絕零假設,即認為研究數據可以進行主成分提取,滿足假設2。
4 、結果解釋
對主成分結果的分析主要從公因子方差(communalities)、提取主成分和強制提取主成分三個方面進行。接下來,我們將向大家進行逐一介紹。
4.1 公因子方差結果
SPSS輸出公因子方差結果如下:
在這個階段,研究中有多少個變數數據結果就會輸出多少個成分。如在本研究中共有25個變數,就會對應產生25個成分。
在上表中,「Initial」欄提示的當所有成分都納入時,每個變數變異被解釋的程度為1,即100%被解釋。這是很好理解的,因為在這一階段,我們沒有剔除任何信息,數據中的變異都可以被解釋。
而「Extraction」欄提示的是當我們只保留選中的成分時,變數變異被解釋的程度。這也是很好理解的,因為我們只保留了部分成分,所有變數變異被解釋的程度會降低。
這個表只是幫助大家對主成分提取結果有一個初步的認識,接下來我們要進入主要的分析階段。
4.2 提取主成分
正如上文所述,研究中有多少個變數,主成分提取就會產生多少個主成分。而我們主要的目的就是通過選取主成分,對數據進行降維,但同時也要注意儘可能多地包含對數據變異的解釋。
一般來說,結果輸出的第一主成分包含最多的數據變異,第二主成分次之,之後的主成分包含的變異程度依次遞減。SPSS輸出結果如下:
上表標註部分是對研究中所有主成分的介紹。本研究中共有25個變數,那總特徵值(eigenvalues of variance)就是25,即每個變數自身的特徵值為1。
Total欄提示的是各主成分對數據變異的解釋程度。以第一主成分為例,其特徵值為6.730,佔總體變異的6.730/25×100 = 26.919% (% of Variance欄)。同理,第二主成分的特徵值為3.342,佔總體變異的13.369%,以此類推。
那麼,我們應該如何提取主成分呢?
目前主要有4種方法可以幫助大家判斷提取主成分的數量,分別是: (1) 特徵值大於1,(2) 解釋數據變異的比例,(3) 陡坡圖檢驗,和 (4) 解釋能力判斷,我們將逐一向大家介紹。
(1) 特徵值大於1
一般來說,如果某一項主成分的特徵值小於1,那麼我們就認為該主成分對數據變異的解釋程度比單個變數小,應該剔除。本研究結果如下:
從上表可知,第五主成分的特徵值為1.049,大於1;而第六主成分的特徵值為0.951,小於1,即應該保留前五位的主成分,剔除剩餘部分。
這種方法的主要問題在於,如果研究結果中某些主成分的特徵值十分接近1,那麼該方法對提取主成分數量的提示作用將變得不明顯。比如,某研究第五主成分的特徵值為1.002,而第六主成分的特徵值為0.998,雖然該方法仍建議保留前五位主成分,但是我們會對是否也應該保留第六主成分產生質疑,需要其他方法輔助判斷。
(2) 解釋數據變異的比例
在根據主成分解釋數據變異比例判斷提取主成分的數量時,我們主要依據單個主成分解釋數據變異的比例和前幾位主成分解釋數據變異的總比例兩個指標。SPSS輸出結果如下:
首先,既往研究認為提取的主成分至少應該解釋5-10%的數據變異。根據這一指標,我們認為應該提取前四位主成分(第四主成分解釋8.070%的數據變異,第五主成分解釋4.196%的數據變異)。
而同時,既往學者也認為提取的主成分應累計解釋60-70%的數據變異。相應的根據這一指標,我們認為應該提取前五位主成分(前四位主成分累計解釋59.949%的數據變異,前五位主成分累計解釋64.145%的數據變異)。
這種判斷方法的不足在於比較主觀,我們既可以提取60%,也可以提取70%,而這10%的比例差異往往導致提取主成分數量的不同。
(3) 陡坡圖(scree plot)檢驗
SPSS輸出陡坡圖如下:
陡坡圖是根據各主成分對數據變異的解釋程度繪製的圖。圖上,每一個主成分為一個點,我們通過「陡坡趨於平緩」的位置判斷提取主成分的數量。在本研究中,第五主成分之後的數據趨於平緩,因此我們認為可以提取前四位主成分。
(4) 解釋能力判斷
大家都知道,我們進行主成分提取的目的是對數據結構進行降維,但同時我們也要注意的是提取後的主成分應具有一定的意義,即對研究內容具有解釋能力。各主成分對相應變數的解釋能力(相關係數小於0.3的數據已剔除),如下表:
從上表可見,當我們提取前五位主成分時,數據結構仍比較複雜,存在兩個主成分同時解釋一個變數的情況。比如,第一主成分和第五主成分同時解釋Qu18變數;再如,第二主成分和第五主成分同時解釋Qu8變數。
在這種情況下,主成分提取的結果比較難解釋。比如,我們無法區分變數Qu18的信息是由第一主成分反映,還是由第二主成分反映。因此,我們比較傾向於提取未對任何變數進行重複解釋的主成分,即提取前四位主成分。
大家應該已經注意到,不同方法提示的主成分提取數量並不完全相同,這就要求我們根據研究經驗和目的做出自己的取捨。簡而言之,提取主成分的判斷是一個比較主觀的過程,並沒有最優的判斷方法,各方法的優缺點都是相對而言的。
針對本研究,我們認為應該提取前四位主成分,這一結果與陡坡圖檢驗和解釋能力判斷的提示相同,但與特徵值大於1和解釋數據變異比例的提示不同,是研究者根據實際情況進行的綜合判斷。
4.3 強制提取主成分
因為SPSS自動輸出的主成分提取結果主要是根據特徵值大於1這項指標判斷的,並不一定符合我們的實際需要,所以我們在實際工作中往往要進行強制性提取主成分的工作,其SPSS操作如下:
(1) 在主頁面點擊Analyze →Dimension Reduction →Factor
彈出下圖
(2)點擊Extraction
(3)點擊Extract欄內的Fixed number of factors選項,並在Factors to extract欄內填入4
(4)點擊Continue→OK
經過上述SPSS操作,我們得到的結構與前文提到的基本相同,只不過主成分提取數量固定為4,而不是之前SPSS自動輸出的前五位主成分。Total Variance Explained表輸出結果如下:
該表提示,前四位主成分對數據變異的累計解釋比例為59.9%,與之前的結果相同。可見我們提取主成分後,只納入了原數據信息的59.9%,不到60%,但提取的每一項主成分對數據變異的解釋比例都大於5%。
Rotated Component Matrix表(剔除相關係數小於0.3的數據)輸出提取後各主成分對變數的解釋情況如下:
研究者在設計問卷時,擬使用Qu3-Qu8、Qu12、Qu13測量工作積極性,Qu2、Qu14-Qu19測量工作自主性,Qu20-Qu25測量工作熱情,Qu1、Qu9-Qu11測量工作責任感。
從上表可知,提取前四位後各主成分解釋的變數信息與該分類基本相同。對應地,第一主成分主要反映工作積極性,第二主成分主要反映工作自主性,第三主成分主要反映工作熱情,而第三主成分主要反映工作責任感。可見,提取前四位主成分具有較好的結果解釋能力。
當然,為了更好地彙報結果,我們需要將相關係數小於0.3的數據補齊,SPSS操作方法是在Factor Analysis界面內點擊Coefficient Display Format欄內的Sorted by size選項,如下:
重新運行主成分分析後,SPSS輸出下表:
該表包含了提取後各主成分與變數之間的所有相關係數,但是這樣並不容易觀察到主成分與變數之間的關係。我們進一步將大於0.3的相關係數加粗,便於大家理解,如下所示:
5、撰寫結論
本研究採用主成分分析,通過25項問題調查315位應聘者的工作能力。研究變數之間存在線性相關關係(每組變數之間的相關係數均大於0.3),數據結構合理(KMO檢驗係數為0.833,單個變數的KMO檢驗係數均大於0.7,Bartlett"s檢驗結果為P<0.001),提示研究數據可以進行主成分提取。
主成分提取結果提示,本研究中前五位主成分的特徵值大於1,分別解釋26.9%、13.4%、8.1%和4.2%的總數據變異。但陡坡圖分析提示應提取前四位主成分(圖1),同時解釋能力判斷也提示提取前4位主成分比較符合研究實際需要。
因此,本研究最終提取前四位主成分。提取後的主成分累計解釋59.9%的數據變異,分別反映應聘者的工作積極性、工作自主性、工作熱情和工作責任感,詳見表1。
後記:根據主成分提取的結果,研究者可以計算相應的主成分得分或者直接將提取後的主成分作為新生成的變數進行數據分析。在保留大部分原始信息的情況下,主成分提取主要用於降低數據維度,簡化數據結構,幫助研究者更好地解釋研究內容和結果。
(如果你想使用文中數據進行練習,請隨時給小咖(微信:xys2016ykf)發消息,小咖將原始數據發給你。)
推薦閱讀:
※SPSS分析數據時,兩組連續變數數據的pearson相關不顯著而spearman相關顯著,以哪個為準?
※因變數是分類變數 自變數有連續變數也有分類變數 用SPSS的什麼方法做分析?
※SPSS 怎樣才算學到家了?
※使用了大量數組公式導致Excel卡死,有沒有解決方法?
※參加數學建模美賽,做icm需要有些什麼準備?