日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

因子分析以及SPSS实现

發布時間:2023/12/20 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 因子分析以及SPSS实现 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

因子分析

因子分析的相關簡介

與主成分分析相似,因子分析也是一種降維的方法,因子分析通過研究多維樣本矩陣,在樣本的多個指標下,提取出適量的因子,使得每個指標可以表示成各個因子的線性組合。

假設我們有nnn個樣本,ppp個指標,則可以構成大小為n×pn\times pn×p的樣本矩陣
x=[x11x12?x1px21x22?x2p????xn1xn2?xnp]=(x1,x2,?,xp)x=\begin{bmatrix} x_{11}& x_{12}& \cdots & x_{1p}\\ x_{21}& x_{22}& \cdots & x_{2p}\\ \vdots & \vdots & \ddots & \vdots \\ x_{n1}& x_{n2}& \cdots &x_{np} \end{bmatrix}=(x_1,x_2,\cdots,x_p) x=???x11?x21??xn1??x12?x22??xn2???????x1p?x2p??xnp?????=x1?,x2?,?,xp?

主成分分析:通過(x1,x2,?,xp)(x_1,x_2,\cdots,x_p)x1?,x2?,?,xp?推出它們的主成分z1,z2,?,zm(m≤p)z_1,z_2,\cdots,z_m(m\le p)z1?,z2?,?,zm?(mp),并且存在關系
{z1=l11x1+l12x2+?+l1pxpz2=l21x1+l22x2+?+l2pxp?zm=lm1x1+lm2x2+?+lmpxp\begin{cases} z_1=l_{11}x_1+l_{12}x_2+\cdots+l_{1p}x_p\\ z_2=l_{21}x_1+l_{22}x_2+\cdots+l_{2p}x_p\\ \qquad\vdots\\ z_m=l_{m1}x_1+l_{m2}x_2+\cdots+l_{mp}x_p\\ \end{cases} ????z1?=l11?x1?+l12?x2?+?+l1p?xp?z2?=l21?x1?+l22?x2?+?+l2p?xp??zm?=lm1?x1?+lm2?x2?+?+lmp?xp??
z1,z2,?,zm(m≤p)z_1,z_2,\cdots,z_m(m\le p)z1?,z2?,?,zm?(mp)mmm個主成分,各指標的線性組合構成了主成分。

因子分析:通過(x1,x2,?,xp)(x_1,x_2,\cdots,x_p)x1?,x2?,?,xp?推出它們的”因子“f1,f2,?,fm(m≤p)f_1,f_2,\cdots,f_m(m\le p)f1?,f2?,?,fm?(mp),并且存在關系
{x1=u1+a11f1+a12f2+?+a1mfm+ε1x2=u2+a21f1+a22f2+?+a2mfm+ε2?xp=up+ap1f1+ap2f2+?+apmfm+εp\begin{cases} x_1=u_1+a_{11}f_1+a_{12}f_2+\cdots+a_{1m}f_m+\varepsilon_1\\ x_2=u_2+a_{21}f_1+a_{22}f_2+\cdots+a_{2m}f_m+\varepsilon_2\\ \qquad\vdots\\ x_p=u_p+a_{p1}f_1+a_{p2}f_2+\cdots+a_{pm}f_m+\varepsilon_p\\ \end{cases} ????x1?=u1?+a11?f1?+a12?f2?+?+a1m?fm?+ε1?x2?=u2?+a21?f1?+a22?f2?+?+a2m?fm?+ε2??xp?=up?+ap1?f1?+ap2?f2?+?+apm?fm?+εp??
f1,f2,?,fm(m≤p)f_1,f_2,\cdots,f_m(m\le p)f1?,f2?,?,fm?(mp)是公共因子,εi\varepsilon_iεi?是特殊因子,各因子的線性組合構成了原始的指標。

x=u+Af+ε\varepsilonε,假設
{E(f)=0E(ε)=0Var(f)=diag(1,1,?,1)Var(ε)=diag(σ12,σ22,?,σp2)Cov(f,ε)=E(fε′)=0\begin{cases} E(f)=0\\ E(\varepsilon)=0\\ Var(f)=\mathrm{diag}(1,1,\cdots,1)\\ Var(\varepsilon)=\mathrm{diag}(\sigma_1^2,\sigma_2^2,\cdots,\sigma_p^2)\\ Cov(f,\varepsilon)=E(f\varepsilon^{\prime})=0 \end{cases} ????E(f)=0E(ε)=0Var(f)=diag(1,1,?,1)Var(ε)=diag(σ12?,σ22?,?,σp2?)Cov(f,ε)=E(fε)=0?
其中f=(f1,f2,?,fm)′(m≤p)f=(f_1,f_2,\cdots,f_m)^{\prime}(m\le p)f=(f1?,f2?,?,fm?)(mp)是公因子向量

ε=(ε1,ε2,?,εp)′\varepsilon=(\varepsilon_1,\varepsilon_2,\cdots,\varepsilon_p)^{\prime}ε=(ε1?,ε2?,?,εp?)為特殊因子向量

Ap×m=(aij)A_{p\times m}=(a_{ij})Ap×m?=(aij?)稱為因子載荷矩陣,假設rank(A)=m\mathrm{rank}(A)=mrank(A)=m

主成分分析和因子分析的區別:

主成分分析是簡單的數值計算,比較容易實現,解是唯一的,但是可能難以對結果進行解釋

因子分析需要構造因子模型,伴隨關鍵性的假定,因為我們可以進行因子旋轉,所以我們可以得到多個可行解,這導致了因子分析的成功率遠大于主成分分析的成功率。

因子載荷

因子分析模型x=u+Af+εx=u+Af+\varepsilonx=u+Af+ε中,Ap×m=(aij)A_{p\times m}=(a_{ij})Ap×m?=(aij?)稱為因子載荷矩陣,假設rank(A)=m\mathrm{rank}(A)=mrank(A)=m

(1)aija_{ij}aij?是原始變量xix_ixi?與公因子fif_ifi?之間的協方差,aij=cov(xi,fj)a_{ij}=cov(x_i,f_j)aij?=cov(xi?,fj?),如果xxx經過了標準化,則aij=ρ(xi,fj)a_{ij}=\rho(x_i,f_j)aij?=ρ(xi?,fj?)

(2)AAA的行元素平方和hi2=∑j=1maij2h_i^2=\sum_{j=1}^ma_{ij}^2hi2?=j=1m?aij2?是原始變量xix_ixi?對公因子依賴的程度,可以證明Var(xi)=hi2+σi2(i=1,2,?,p)Var(x_i)=h_i^2+\sigma_i^2(i=1,2,\cdots,p)Var(xi?)=hi2?+σi2?(i=1,2,?,p)

hi2h_i^2hi2?反映了公因子對于xix_ixi?的影響,可以看成是公因子對于xix_ixi?的方差貢獻,稱為共性方差,σi2\sigma_i^2σi2?是特殊因子εi\varepsilon_iεi?對于xix_ixi?的方差貢獻,稱為個性方差,若標準化,則hi2+σi2=1h_i^2+\sigma_i^2=1hi2?+σi2?=1

(3)AAA的列元素平方和gj2=∑i=1paij2g_j^2=\sum_{i=1}^pa_{ij}^2gj2?=i=1p?aij2?是公因子fjf_jfj?對于xix_ixi?的貢獻

可以證明:∑i=1pVar(xi)=g12+g22+?+gm2+∑i=1pσi2\sum_{i=1}^pVar(x_i)=g_1^2+g_2^2+\cdots+g_m^2+\sum_{i=1}^p\sigma_i^2i=1p?Var(xi?)=g12?+g22?+?+gm2?+i=1p?σi2?

gj2g_j^2gj2?的值越大,反映了fjf_jfj?xxx的影響越大,gj2g_j^2gj2?是衡量公因子fjf_jfj?重要性的一個尺度,可視為公因子fjf_jfj?xxx的貢獻。

因子旋轉

TTT是一個任意的m×mm\times mm×m的正交矩陣,令A?=AT,f?=T′fA^{*}=AT,f^{*}=T^{\prime}fA?=AT,f?=Tf,則模型可以表示為:

x=u+A?f?+εx=u+A^*f^*+\varepsilonx=u+A?f?+ε,這是因為上述假設仍然成立
{E(f?)=T′E(f)=0E(ε)=0Var(f?)=T′Var(f)T=T′IT=I=diag(1,1,?,1)Var(ε)=diag(σ12,σ22,?,σp2)Cov(f?,ε)=E(f?ε′)=T′E(fε′)=0\begin{cases} E(f^*)=T^{\prime}E(f)=0\\ E(\varepsilon)=0\\ Var(f^*)=T^{\prime}Var(f)T=T^{\prime}IT=I=\mathrm{diag}(1,1,\cdots,1)\\ Var(\varepsilon)=\mathrm{diag}(\sigma_1^2,\sigma_2^2,\cdots,\sigma_p^2)\\ Cov(f^*,\varepsilon)=E(f^*\varepsilon^{\prime})=T^{\prime}E(f\varepsilon^{\prime})=0 \end{cases} ????E(f?)=TE(f)=0E(ε)=0Var(f?)=TVar(f)T=TIT=I=diag(1,1,?,1)Var(ε)=diag(σ12?,σ22?,?,σp2?)Cov(f?,ε)=E(f?ε)=TE(fε)=0?
推導比較復雜,不需要大家掌握。

因子旋轉應當使得新的公共因子的載荷系數的絕對值盡可能接近0或1,這是為了使結果更易于解釋。

下面介紹幾種SPSS中的因子旋轉的方法

最大方差法

正交旋轉,使得對每個因子有高負載的變量數目達到最小,該方法簡化了因子的解釋。這是最常用的因子旋轉方法。

最大四次方值法

一種旋轉方法,它可以使得解釋每個變量所需的因子最少,簡化了觀察變量的解釋。

最大平衡值法

一種旋轉方法,是簡化因子的最大方差法與簡化變量的最大四次方值法的組合,可以使得高度依賴因子的變量個數以及解釋變量所需的因子的個數最少。

最優斜交旋轉

斜交旋轉,可使因子相關聯,該旋轉比直接最小斜交旋轉更快的計算出來,適用于大型數據集。

因子得分

我們可以反過來將公共因子表示為原變量的線性組合,即可得出因子得分
{x1=u1+a11f1+a12f2+?+a1mfm+ε1x2=u2+a21f1+a22f2+?+a2mfm+ε2?xp=up+ap1f1+ap2f2+?+apmfm+εp→{f1=b11x1+b12x2+?+b1pxpf2=b21x1+b22x2+?+b2pxp?fm=bm1x1+bm2x2+?+bmpxp\begin{cases} x_1=u_1+a_{11}f_1+a_{12}f_2+\cdots+a_{1m}f_m+\varepsilon_1\\ x_2=u_2+a_{21}f_1+a_{22}f_2+\cdots+a_{2m}f_m+\varepsilon_2\\ \qquad\vdots\\ x_p=u_p+a_{p1}f_1+a_{p2}f_2+\cdots+a_{pm}f_m+\varepsilon_p\\ \end{cases}\to \begin{cases} f_1=b_{11}x_1+b_{12}x_2+\cdots+b_{1p}x_p\\ f_2=b_{21}x_1+b_{22}x_2+\cdots+b_{2p}x_p\\ \qquad\vdots\\ f_m=b_{m1}x_1+b_{m2}x_2+\cdots+b_{mp}x_p\\ \end{cases} ????x1?=u1?+a11?f1?+a12?f2?+?+a1m?fm?+ε1?x2?=u2?+a21?f1?+a22?f2?+?+a2m?fm?+ε2??xp?=up?+ap1?f1?+ap2?f2?+?+apm?fm?+εp??????f1?=b11?x1?+b12?x2?+?+b1p?xp?f2?=b21?x1?+b22?x2?+?+b2p?xp??fm?=bm1?x1?+bm2?x2?+?+bmp?xp??
iii個因子的得分可以寫成fi=bi1x1+bi2x2+?+bipxp(i=1,2,?,m)f_i=b_{i1}x_1+b_{i2}x_2+\cdots+b_{ip}x_p\quad(i=1,2,\cdots,m)fi?=bi1?x1?+bi2?x2?+?+bip?xp?(i=1,2,?,m)

可以通過回歸、Bartlett、Anderson-Rubin方法計算因子得分。第三種方法比較常用。

Anderson-Rubin方法是一種估計因子得分的方法,對Bartlett方法進行了修正,從而確保被估計的因子的正交性,生成的分數平均值為0,標準差為1,且不相關。

判斷是否適合因子分析的檢驗——KMO檢驗和巴特利特球形檢驗

KMO檢驗:

KMO統計量是取值在0和1之間, KMO值越接近于1,意味著變量間的相關性越強,原有變量越適合作因子分析;當所有變量間的簡單相關系數平方和接近0時, KMO值越接近于0,意味著變量間的相關性越弱,原有變量越不適合作因子分析

直接上結論,KMO>0.9,非常適合; 0.8<KMO<0.9,適合;0.7<KMO<0.8, 一般; 0.6<KMO<0.7,不太適合; KMO<0.5,不適合

巴特利特球形檢驗:

基于假設檢驗:原假設:相關系數矩陣是單位陣

直接上結論,如果巴特利特檢驗的統計量對應的p值小于用戶心中的顯著性水平(一般為0.05),那么拒絕原假設,認為相關系數不可能是單位陣,適合因子分析

SPSS可以直接進行上述檢驗。

因子分析的應用

給定下列各個國家的數據,試找出各個指標的因子

序號國家一百米兩百米四百米八百米一千五百米五千米一萬米馬拉松
1阿根廷10.3920.8146.841.813.714.0429.36137.72
2澳大利亞10.3120.0644.841.743.5713.2827.66128.3
3奧地利10.4420.8146.821.793.613.2627.72135.9
4比利時10.3420.6845.041.733.613.2227.45129.95
5百慕大10.2820.5845.911.83.7514.6830.55146.62
6巴西10.2220.4345.211.733.6613.6228.62133.13
7緬甸10.6421.5248.31.83.8514.4530.28139.95
8加拿大10.1720.2245.681.763.6313.5528.09130.15
9智利10.3420.846.21.793.7113.6129.3134.03
10中國10.5121.0447.31.813.7313.929.13133.53
11哥倫比亞10.4321.0546.11.823.7413.4927.88131.35
12庫克群島12.1823.252.942.024.2416.735.38164.7
13哥斯達黎加10.9421.948.661.873.8414.0328.81136.58
14捷克斯洛伐克10.3520.6545.641.763.5813.4228.19134.32
15丹麥10.5620.5245.891.783.6113.528.11130.78
16多米尼加共和國10.1420.6546.81.823.8214.9131.45154.12
17芬蘭10.4320.6945.491.743.6113.2727.52130.87
18法國10.1120.3845.281.733.5713.3427.97132.3
19德意志民主共和10.1220.3344.871.733.5613.1727.42129.92
20德意志聯邦共和10.1620.3744.51.733.5313.2127.61132.23
21大不列顛及北愛10.1120.2144.931.73.5113.0127.51129.13
22希臘10.2220.7146.561.783.6414.5928.45134.6
23危地馬拉10.9821.8248.41.893.814.1630.11139.33
24匈牙利10.2620.6246.021.773.6213.4928.44132.58
25印度10.621.4245.731.763.7313.7728.81131.98
26印度尼西亞10.5921.4947.81.843.9214.7330.79148.83
27以色列10.6120.9646.31.793.5613.3227.81132.35
28愛爾蘭10.712147.81.773.7213.6628.93137.55
29意大利10.0119.7245.261.733.613.2327.52131.08
30日本10.3420.8145.861.793.6413.4127.72128.63
31肯尼亞10.4620.6644.921.733.5513.127.38129.75
32韓國10.3420.8946.91.793.7713.9629.23136.25
33朝鮮人民民主共10.9121.9447.31.853.7714.1329.67130.87
34盧森堡10.3520.7747.41.823.6713.6429.08141.27
35馬來西亞10.420.9246.31.823.814.6431.01154.1
36毛里求斯11.1922.4547.71.883.8315.0631.77152.23
37墨西哥10.4221.346.11.83.6513.4627.95129.2
38荷蘭10.5220.9545.11.743.6213.3627.61129.02
39新西蘭10.5120.8846.11.743.5413.2127.7128.98
40挪威10.5521.1646.711.763.6213.3427.69131.48
41巴布亞新幾內亞10.9621.7847.91.94.0114.7231.36148.22
42菲律賓10.7821.6446.241.813.8314.7430.64145.27
43波蘭10.1620.2445.361.763.613.2927.89131.58
44葡萄牙10.5321.1746.71.793.6213.1327.38128.65
45羅馬尼亞10.4120.9845.871.763.6413.2527.67132.5
46新加坡10.3821.2847.41.883.8915.1131.32157.77
47西班牙10.4220.7745.981.763.5513.3127.73131.57
48瑞士10.2520.6145.631.773.6113.2927.94130.63
49瑞典10.3720.4645.781.783.5513.2227.91131.2
50中國臺北10.5921.2946.81.793.7714.0730.07139.27
51泰國10.3921.0947.911.833.8415.2332.56149.9
52土耳其10.7121.4347.61.793.6713.5628.58131.5
53美國9.9319.7543.861.733.5313.227.43128.22
54蘇聯10.072044.61.753.5913.227.53130.55
55西薩摩亞10.8221.86492.024.2416.2834.71161.83

我們可以通過SPSS進行因子分析

因子分析的SPSS實現

1.我們在SPSS界面點擊分析——降維——因子

2.SPSS因子分析通常要做兩次,要提取因子,第一次是基于特征值得到碎石圖,進而得出選取多少個因子,可以解釋大多數變量。第二次再選擇固定數目的因子。

3.在描述的按鈕內,選中初始解,系數,顯著性水平,KMO檢驗和巴特利特球形檢驗。

4.選擇因子旋轉的方法,由于因子旋轉最常用的方法是最大方差法,所以我們選中最大方差法,我們需要顯示旋轉后的解和載荷圖,故勾選。

5.我們選擇計算因子得分的方法——安德森魯賓法,因為這個方法是計算得分比較好的方法。

6.點擊確定

7.我們看到了KMO和巴特利特球形檢驗的結果,可以發現KMO>0.9且巴特利特統計量的顯著性小于0.001,所以適合做因子分析

8.我們看到了碎石圖,可以明顯看出,前兩個特征值可以解釋大多數的信息,所以我們回到2.,把提取的法則定為因子的固定數目2

9.點擊確定,再次運行因子分析

這是因子旋轉之前的成分矩陣,我們發現因子1在各個變量上的載荷都近似相同,難以解釋。

這是旋轉后的成分矩陣,我們發現,隨著跑步距離增加,因子1在增加,因子2在減少,這說明因子1可以理解為耐力,因子2可以理解為爆發力。

我們的模型可以這樣得到

設一百米,兩百米,四百米,八百米,一千五百米,五千米,一萬米,馬拉松分別為x1,x2,?,x8x_1,x_2,\cdots,x_8x1?,x2?,?,x8?,因子1,因子2分別為f1,f2f_1,f_2f1?,f2?,則
{x1=0.274f1+0.935f2x2=0.376f1+0.893f2x3=0.543f1+0.773f2x4=0.712f1+0.627f2x5=0.813f1+0.525f2x6=0.902f2+0.389f2x7=0.903f1+0.397f2x8=0.936f1+0.261f2\begin{cases} x_1=0.274f_1+0.935f_2\\ x_2=0.376f_1+0.893f_2\\ x_3=0.543f_1+0.773f_2\\ x_4=0.712f_1+0.627f_2\\ x_5=0.813f_1+0.525f_2\\ x_6=0.902f_2+0.389f_2\\ x_7=0.903f_1+0.397f_2\\ x_8=0.936f_1+0.261f_2 \end{cases} ????x1?=0.274f1?+0.935f2?x2?=0.376f1?+0.893f2?x3?=0.543f1?+0.773f2?x4?=0.712f1?+0.627f2?x5?=0.813f1?+0.525f2?x6?=0.902f2?+0.389f2?x7?=0.903f1?+0.397f2?x8?=0.936f1?+0.261f2??
我們因子旋轉所使用的正交矩陣是
T=[0.7590.651?0.6510.759]T=\begin{bmatrix} 0.759& 0.651 \\ -0.651& 0.759 \end{bmatrix} T=[0.759?0.651?0.6510.759?]
這是我們的因子旋轉后的空間組件圖

可以發現,隨著距離的增加,組件1增加,組件2減少,所以組件1是耐力,組建2是爆發力,這個假設是合理的。

因子得分

我們看到了成分得分系數矩陣,這就是因子得分。

{f1=?0.300x1?0.222x2?0.068x3+0.100x4+0.207x5+0.324x6+0.321x7+0.406x8f2=+0.540x1+0.459x2+0.291x3+0.103x4?0.019x5?0.161x6?0.157x7?0.269x8\begin{cases} f_1=-0.300x_1-0.222x_2-0.068x_3+0.100x_4+0.207x_5+0.324x_6+0.321x_7+0.406x_8\\ f_2=+0.540x_1+0.459x_2+0.291x_3+0.103x_4-0.019x_5-0.161x_6-0.157x_7-0.269x_8\\ \end{cases} {f1?=?0.300x1??0.222x2??0.068x3?+0.100x4?+0.207x5?+0.324x6?+0.321x7?+0.406x8?f2?=+0.540x1?+0.459x2?+0.291x3?+0.103x4??0.019x5??0.161x6??0.157x7??0.269x8??

總方差解釋表

上表為總方差解釋表,給出了每個公共因子所解釋的方差及累計和。
從“初始特征值”一欄中可以看出,前2個公共因子解釋的累計方差達93.747%,而后面的公共因子的特征值較小,對解釋原有變量的貢獻越來越小,因此提取兩個公共因子是合適的。
“提取載荷平方和” 一欄是在未旋轉時被提取的2個公共因子的方差貢獻信息,其與“初始特征值”欄的前兩行取值一樣。
“旋轉載荷平方和”是旋轉后得到的新公共因子的方差貢獻信息,和未旋轉的貢獻信息相比,每個公共因子的方差貢獻率有變化,但最終的累計方差貢獻率不變。

總結

以上是生活随笔為你收集整理的因子分析以及SPSS实现的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。