因子分析在 SPSS 中的操作過程及結(jié)果解讀
筆者在做該項(xiàng)研究時(shí)在網(wǎng)絡(luò)上查閱了大量資料,都寫得比較專業(yè),所以該篇文章將因子分析從前到后做一個(gè)通俗易懂的解釋,全文并不涉及非?;逎墓皆怼?/strong>
一. 因子分析是什么:
1. 因子分析:
因子分析模型中,假定每個(gè)原始變量由兩部分組成:共同因子和唯一因子。共同因子是各個(gè)原始變量所共有的因子,解釋變量之間的相關(guān)關(guān)系。唯一因子顧名思義是每個(gè)原始變量所特有的因子,表示該變量不能被共同因子解釋的部分。
(幫助解讀:舉個(gè)例子,現(xiàn)在一個(gè) excel 表有 10 個(gè)變量,因子分析可以將這 10 個(gè)變量通過某種算法變?yōu)?3 個(gè),4 個(gè),5 個(gè)等等因子,而每個(gè)因子都能表達(dá)一種涵義,從而達(dá)到了降維的效果,方便接下來的數(shù)據(jù)分析)
2. 因子分析與主成分分析的區(qū)別:
主成分分析是試圖尋找原有變量的一個(gè)線性組合。這個(gè)線性組合方差越大,那么該組合所攜帶的信息就越多。也就是說,主成分分析就是將原始數(shù)據(jù)的主要成分放大。
因子分析,它是假設(shè)原有變量的背后存在著一個(gè)個(gè)隱藏的因子,這個(gè)因子可以可以包括原有變量中的一個(gè)或者幾個(gè),因子分析并不是原有變量的線性組合。
(幫助解讀:主成分分析降維凸顯變量中起主導(dǎo)作用的變量,因子分析尋找變量背后可以概括變量特征的因子)
--------------------------- 算法及原理就不介紹了,比較禿頭 -----------------------------
二. 因子分析怎么做(在 spss 中):
1. 數(shù)據(jù)準(zhǔn)備:
下圖數(shù)據(jù)是一份某城市的空氣質(zhì)量數(shù)據(jù),一共 6 個(gè)變量,分別是:二氧化硫、二氧化氮、可吸入顆粒物、一氧化碳、臭氧、細(xì)顆粒物。在 SPSS 中打開數(shù)據(jù)如下:
2. 操作步驟:
1)打開因子分析工具:
2)選擇要進(jìn)行因子分析的變量:
3)設(shè)置因子分析模型:(可以按照以下截圖設(shè)置模型,一般來說足夠)
a. 描述:這里要說一下 KMO 和 Bartlett 的球形度檢驗(yàn),
KMO 檢驗(yàn)統(tǒng)計(jì)量是用于比較變量間簡(jiǎn)單相關(guān)系數(shù)和偏相關(guān)系數(shù)的指標(biāo)。主要應(yīng)用于多元統(tǒng)計(jì)的因子分析。KMO 統(tǒng)計(jì)量是取值在 0 和 1 之間。Kaiser 給出了常用的 kmo 度量標(biāo)準(zhǔn): 0.9 以上表示非常適合;0.8 表示適合;0.7 表示一般;0.6 表示不太適合;0.5 以下表示極不適合。KMO 統(tǒng)計(jì)量是取值在 0 和 1 之間。當(dāng)所有變量間的簡(jiǎn)單相關(guān)系數(shù)平方和遠(yuǎn)遠(yuǎn)大于偏相關(guān)系數(shù)平方和時(shí),KMO 值接近 1.KMO 值越接近于 1, 意味著變量間的相關(guān)性越強(qiáng),原有變量越適合作因子分析;當(dāng)所有變量間的簡(jiǎn)單相關(guān)系數(shù)平方和接近 0 時(shí),KMO 值接近 0.KMO 值越接近于 0, 意味著變量間的相關(guān)性越弱,原有變量越不適合作因子分析。
Bartlett’s 球形檢驗(yàn)用于檢驗(yàn)相關(guān)陣中各變量間的相關(guān)性,是否為單位陣,即檢驗(yàn)各個(gè)變量是否各自獨(dú)立。如果變量間彼此獨(dú)立,則無法從中提取公因子,也就無法應(yīng)用因子分析法。Bartlett 球形檢驗(yàn)判斷如果相關(guān)陣是單位陣,則各變量獨(dú)立,因子分析法無效。由 SPSS 檢驗(yàn)結(jié)果顯示 Sig.<0.05(即 p 值 < 0.05)時(shí),說明各變量間具有相關(guān)性,因子分析有效。
b. 抽取:一般來說方法我們都選擇主成分方法,但是在 python 中進(jìn)行因子分析時(shí)用的不是這個(gè)方法。
c. 旋轉(zhuǎn):旋轉(zhuǎn)的作用是為了方便最后看什么變量屬于哪個(gè)因子。
d. 得分:
e. 選項(xiàng):
到此模型設(shè)置完畢,點(diǎn)擊確定即可在 SPSS 窗口中看到分析結(jié)果。
三. 因子分析結(jié)果解讀:
主要看以下幾部分的結(jié)果。
1.KMO 和 Bartlett 的檢驗(yàn)結(jié)果:
首先是 KMO 的值為 0.733,大于閾值 0.5,所以說明了變量之間是存在相關(guān)性的,符合要求;然后是 Bartlett 球形檢驗(yàn)的結(jié)果,在這里只需要看 Sig. 這一項(xiàng),其值為 0.000,所以小于 0.05。那么也就是說,這份數(shù)據(jù)是可以進(jìn)行因子分析的。

2. 公因子方差:
公因子方差表的意思就是,每一個(gè)變量都可以用公因子表示,而公因子究竟能表達(dá)多少呢,其表達(dá)的大小就是公因子方差表中的 “提取”</mark>,“提取” 的值越大說明變量可以被公因子表達(dá)的越好,一般大于 0.5 即可以說是可以被表達(dá),但是更好的是要求大于 0.7 才足以說明變量能被公因子表的很合理。在本例中可以看到,“提取” 的值都是大于 0.7 的,所以變量可以被表達(dá)的很不錯(cuò)。

3. 解釋的總方差和碎石圖:
簡(jiǎn)單地說,解釋地總方差就是看因子對(duì)于變量解釋的貢獻(xiàn)率</mark>(可以理解為究竟需要多少因子才能把變量表達(dá)為 100%)。這張表只需要看圖中紅框的一列,表示的就是貢獻(xiàn)率,藍(lán)框則代表四個(gè)因子就可以將變量表達(dá)到了 91.151%,說明表達(dá)的還是不錯(cuò)的,我覺得一般都要表達(dá)到 90% 以上才可以</mark>,否則就要調(diào)整因子數(shù)據(jù)。再看碎石圖,也確實(shí)就是四個(gè)因子之后折線就變得平緩了。
4. 旋轉(zhuǎn)成分矩陣:
這一張表是用來看哪些變量可以包含在哪些因子里,一列一列地看:第一列,最大的值為 0.917 和 0.772,分別對(duì)應(yīng)的是細(xì)顆粒物和可吸入顆粒物,因此我們可以把因子歸結(jié)為顆粒物。第二列,最大值為 0.95 對(duì)應(yīng)著二氧化硫,因此我們可以把因子歸結(jié)為硫化物。第三列,最大值為 0.962,對(duì)應(yīng)著臭氧,因此可以把因子歸結(jié)為臭氧。第四列,最大值為 0.754 和 0.571,分別對(duì)應(yīng)著二氧化氮和一氧化碳,因子歸結(jié)為什么這個(gè)我也不清楚,可能要請(qǐng)教一下環(huán)工環(huán)科的同學(xué)們,此處我選擇滑稽…
四. 總結(jié):
因子分析還是非常好用的一種降維方式的,在 SPSS 中進(jìn)行操作十分簡(jiǎn)單方便,結(jié)果一目了然。喜好機(jī)器學(xué)習(xí)的同學(xué)們自然也知道,這么好的方法怎么能少得了 python 呢,沒錯(cuò) python 也可以做因子分析,代碼量也并不是很大,但是,python 做因子分析時(shí)會(huì)有一些功能需要自己根據(jù)算法寫(頭皮發(fā)麻),比如說 KMO 檢驗(yàn)。喜歡本文的話請(qǐng)點(diǎn)贊或留言哦,接下來還會(huì)有一些數(shù)據(jù)分析和機(jī)器學(xué)習(xí)方面的知識(shí)與大家分享</sr-rd-content>