主成分分析與因子分析及SPSS實現
一、主成分分析
(1)問題提出
在問題研究中,為了不遺漏和準確起見,往往會面面俱到,取得大量的指標來進行分析。比如為了研究某種疾病的影響因素,我們可能會收集患者的人口學資料、病史、體征、化驗檢查等等數十項指標。如果將這些指標直接納入多元
統計分析,不僅會使模型變得復雜不穩定,而且還有可能因為變量之間的多重共線性引起較大的誤差。有沒有一種辦法能對信息進行濃縮,減少變量的個數,同時消除多重共線性?
這時,主成分分析隆重登場。
(2)主成分分析的原理
主成分分析的本質是坐標的旋轉變換,將原始的n個變量進行重新的線性組合,生成n個新的變量,他們之間互不相關,稱為n個“成分”。同時按照
方差最大化的原則,保證第一個成分的
方差最大,然后依次遞減。這n個成分是按照
方差從大到小排列的,其中前m個成分可能就包含了原始變量的大部分
方差(及變異信息)。那么這m個成分就成為原始變量的“主成分”,他們包含了原始變量的大部分信息。
注意得到的主成分不是原始變量篩選后的剩余變量,而是原始變量經過重新組合后的“綜合變量”。
我們以最簡單的二維數據來直觀的解釋主成分分析的原理。假設現在有兩個變量X1、X2,在坐標上畫出
散點圖如下:
可見,他們之間存在相關關系,如果我們將坐標軸整體逆時針旋轉45°,變成新的坐標系Y1、Y2,如下圖:
根據坐標變化的原理,我們可以算出:
Y1 = sqrt(2)/2 * X1 + sqrt(2)/2 * X2
Y2 = sqrt(2)/2 * X1 – sqrt(2)/2 * X2
其中sqrt(x)為x的平方根。
通過對X1、X2的重新進行線性組合,得到了兩個新的變量Y1、Y2。
此時,Y1、Y2變得不再相關,而且Y1方向變異(
方差)較大,Y2方向的變異(
方差)較小,這時我們可以提取Y1作為X1、X2的主成分,參與后續的
統計分析,因為它攜帶了原始變量的大部分信息。
對于二維以上的數據,就不能用上面的幾何圖形直觀的表示了,只能通過矩陣變換求解,但是本質思想是一樣的。
(一)原理和方法:
在主成分分析過程中,新變量是原始變量的線性組合,即將多個原始變量經過線性(坐標)變換得到新的變量。
因子分析中,是對原始變量間的內在相關結構進行分組,相關性強的分在一組,組間相關性較弱,這樣各組變量代表一個基本要素(公共因子)。通過原始變量之間的復雜關系對原始變量進行分解,得到公共因子和特殊因子。將原始變量表示成公共因子的線性組合。其中公共因子是所有原始變量中所共同具有的
特征,而特殊因子則是原始變量所特有的部分。
因子分析強調對新變量(因子)的實際意義的解釋。
舉個例子:
比如在
市場調查中我們收集了食品的五項指標(x1-x5):味道、價格、風味、是否快餐、能量,經過
因子分析,我們發現了:
x1 = 0.02 * z1 + 0.99 * z2 + e1
x2 = 0.94 * z1 – 0.01 * z2 + e2
x3 = 0.13* z1 + 0.98 * z2 + e3
x4 = 0.84 * z1 + 0.42 * z2 + e4
x5 = 0.97 * z1 – 0.02 * z2 + e1
(以上的數字代表實際為變量間的
相關系數,值越大,相關性越大)
第一個公因子z1主要與價格、是否快餐、能量有關,代表“價格與營養”
第二個公因子z2主要與味道、風味有關,代表“口味”
e1-5是特殊因子,是公因子中無法解釋的,在分析中一般略去。
同時,我們也可以將公因子z1、z2表示成原始變量的線性組合,用于后續分析。
(二)使用條件:
(1)樣本量足夠大。通常要求樣本量是變量數目的5倍以上,且大于100例。
(2)原始變量之間具有相關性。如果變量之間彼此獨立,無法使用
因子分析。在SPSS中可用KMO檢驗和Bartlett球形檢驗來判斷。
(3)生成的公因子要有實際的意義,必要時可通過因子旋轉(坐標變化)來達到。
聯系:兩者都是
降維和信息濃縮的方法。生成的新變量均代表了原始變量的大部分信息且互相獨立,都可以用于后續的
回歸分析、
判別分析、
聚類分析等等。
區別:
(1)主成分分析是按照
方差最大化的方法生成的新變量,強調新變量貢獻了多大比例的
方差,不關心新變量是否有明確的實際意義。
(2)
因子分析著重要求新變量具有實際的意義,能解釋原始變量間的內在結構。
SPSS沒有提供單獨的主成分分析方法,而是混在
因子分析當中,下面通過一個例子來討論主成分分析與
因子分析的實現方法及相關問題。
一、問題提出
男子十項全能比賽包含100米跑、跳遠、跳高、撐桿跳、鉛球、鐵餅、標槍、400米跑、1500米跑、110米跨欄十個項目,總分為各個項目得分之和。為了分析十項全能主要考察哪些方面的能力,以便有針對性的進行訓練,研究者收集了134個頂級運動員的十項全能成績單,將通過
因子分析來達到分析目的。
二、分析過程
變量視圖:
數據視圖(部分):
打開
因子分析的主界面,將十項成績選入”變量“框中(不要包含總分),如下:
點擊”描述“按鈕,打開對話框,選中”系數“和”KMO和Bartlett球形度檢驗“:
上圖相關解釋:
”系數“:為變量之間的
相關系數陣列,可以直觀的分析相關性。
”KMO和Bartlett球形度檢驗“:用于定量的檢驗變量之間是否具有相關性。
點擊”繼續“,回到主界面,點擊”抽取“,打開對話框。
”方法“ =>”主成分“,”輸出“=>”未旋轉的因子解“和”碎石圖“,”抽取“=>”基于
特征值“,其余選擇默認。
解釋:
①因子抽取的方法:選取默認的主成分法即可,其余方法的計算結果可能有所差異。
②輸出:”未旋轉的因子解”極為主成分分析結果。碎石圖有助于我們判斷因子的重要性(詳細介紹見后面)。
③抽?。簽槌槿≈鞒煞郑ㄒ蜃樱┑姆椒?,一般是基于
特征值大于1,默認即可。
點擊”繼續“,回到主界面,點擊”確定“,進入分析。
輸出的主要表格如下:
(1)相關性檢驗
因子分析要求變量之間有相關性,所以首先要進行相關性檢驗。首先輸出的是變量之間的
相關系數矩陣:
可以直觀的看到,變量之間有相關性。但需要檢驗,接著輸出的是相關性檢驗:
上圖有兩個指標:第一個是KMO值,一般大于0.7就說明不了之間有相關性了。第二個是Bartlett球形度檢驗,P值<0.001。綜合兩個指標,說明變量之間存在相關性,可以進行
因子分析。否則,不能進行
因子分析。
(2)提取主成分和公因子
接下來輸出主成分結果:
這就是主成分分析的結果,表中第一列為10個成分;第二列為對應的”
特征值“,表示所解釋的
方差的大??;第三列為對應的成分所包含的
方差占總
方差的百分比;第四列為累計的百分比。一般來說,選擇”
特征值“大于1的成分作為主成分,這也是SPSS默認的選擇。
在本例中,成分1和2的
特征值大于1,他們合計能解釋71.034%的
方差,還算不錯。所以我們可以提取1和2作為主成分,抓住了主要矛盾,其余成分包含的信息較少,故棄去。
下面,輸出碎石圖,如下:
碎石圖來源于地質學的概念。在巖層斜坡下方往往有很多小的碎石,其地質學意義不大。碎石圖以
特征值為縱軸,成分為橫軸。前面陡峭的部分
特征值大,包含的信息多,后面平坦的部分
特征值小,包含的信息也小。
由圖直觀的看出,成分1和2包含了大部分信息,從3開始就進入平臺了。
接下來,輸出提取的成分矩陣:
上表中的數值為公因子與原始變量之間的
相關系數,絕對值越大,說明關系越密切。公因子1和9個運動項目都正相關(注意跑步運動運動的計分方式,時間越短,分數越高),看來只能稱為“綜合運動”因子了。公因子2與鐵餅、鉛球正相關,與1500米跑、400米跑負相關,這究竟代表什么意思呢?看來只能成為“不知所云”因子了。
(三)因子旋轉
前面提取的兩個公因子一個是大而全的“綜合因子”,一個不知所云,得到這樣的結果,無疑是分析的失敗。不過,不要灰心,我們可以通過因子的旋轉來獲得更好的解釋。在主界面中點擊“旋轉”按鈕,打開對話框,“方法”=>“最大
方差法”,“輸出”=>“旋轉解”。
點擊“繼續”,回到主界面點擊“確認”進行分析。輸出結果如下:
這是選擇后的成分矩陣。經過旋轉,可以看出:
公因子1得分越高,所有的跑步和跨欄成績越差,而跳遠、撐桿跳等需要助跑類項目的成績也越差,所以公因子1代表的是奔跑能力的反向指標,可稱為“奔跑能力”。
公因子2與鐵餅和鉛球的正相關性很高,與標槍、撐桿跳等需要上肢力量的項目也正相關,所以該因子可以成為“上肢力量”。
經過旋轉,可以看出公因子有了更合理的解釋。
(四)結果的保存
在最后,我們還要將公因子儲存下來供后續使用。點擊“得分”按鈕,打開對話框,選中“保存為變量”,方法采用默認的“回歸”方法,同時選中“顯示因子得分系數矩陣”。
SPSS會自動生成2個新變量,分別為公因子的取值,放在數據的最后。同時會輸出一個因子系數表格:
由上圖,我們可以寫出公因子的表達式(用F1、F2代表兩個公因子,Z1~Z10分別代表原始變量):
F1 = -0.16*Z1+0.161*Z2+0.145*Z3+0.199*Z4-0.131*Z5-0.167*Z6+0.137*Z7+0.174*Z8+0.131*Z9-0.037*Z10
F2同理,略去。
注意,這里的變量Z1~Z10,F1、F2不再是原始變量,而是標準正態變換后的變量。
推薦學習書籍
《CDA一級教材》適合CDA一級考生備考,也適合業務及數據分析崗位的從業者提升自我。完整電子版已上線CDA網校,累計已有10萬+在讀~

免費加入閱讀:https://edu.cda.cn/goods/show/3151?targetId=5147&preview=0
CDA數據分析師考試相關入口一覽(建議收藏):
? 想報名CDA認證考試,點擊>>>
“CDA報名”
了解CDA考試詳情;
? 想學習CDA考試教材,點擊>>> “CDA教材” 了解CDA考試詳情;
? 想加入CDA考試題庫,點擊>>> “CDA題庫” 了解CDA考試詳情;
? 想了解CDA考試含金量,點擊>>> “CDA含金量” 了解CDA考試詳情;