寫了這麼多關於因素分析的文章 (詳見統計觀念整理) ,接下來當然就是在 Stata 上實作因素分析了。Stata 的 factor 指令就是作探索性因素分析的,如果要作驗證性因素分析,Stata 沒有內建功能,要另外安裝 cfa 這個套件才行。
factor 這個指令提供幾種因素分析的方式,包括:pf, pcf, ipf, 與 ml。ML 的優點可參考探索性因素分析的設計與使用 (一)。
pcf (principal-component factor) 通常使用在你想要儘可能地在一個 dimension 上解釋 items 的 variance。如果你覺得這些 items 都是 load 在同一個因素上,那 pcf 是你應該使用的。相對地,pf (principal factor) 通常使用在你有兩個或以上的因素。
如果可以跑 ml,就試著跑 ml。我通常會先跑 ml,如果有 Heywood Cases 的話再跑 pf (這不是很好的建議,應該要先看看為什麼有 Heywood cases)。另外,我一開始通常不會限制因素的個數,先看看特徵值與 scree plot。
factor item1-item24, ml
factor item1-item24, pf
接下來就是要先看看特徵值 (eigenvalue) 與 scree test 來判斷因素個數了。
依我這個不漂亮的數據跑 pf 的結果,特徵值大於 1 的有兩個。
接著是用 scree plot 來檢驗,在指令列直接輸入 screeplot 即可。
上圖其實有點難解讀,如果是要看 deep drop 的話,我會說有兩個。如果是要看哪個因素之後趨於平坦,我可能會說有4個因素。
如果你要用 parallel analysis,得先安裝套件 fapara。
net describe fapara, from(<a href="http://www.ats.ucla.edu/stat/stata/ado/analysis">http://www.ats.ucla.edu/stat/stata/ado/analysis</a>)
net install fapara.pkg
跑完 factor analysis 之後,輸入下方指令:
fapara, reps(10)
結果會以圖型的方式表示。如果依下圖看來,是有六個因素的。
這例子很好! 點出了 scree test 的主觀性. 我下次要介紹學生看一看. 🙂
我不懂 Stata. 請問 "reps(10)" 是不是 parallel analysis 的樣本數目? 若是, 10 是否足夠?
"如果你覺得這些 items 都是 load 在同一個因素上,那 pcf 是你應該使用的。" <– 我對這建議有興趣. 有沒有相關的文獻? 理據是?
抱歉這麼晚回覆。
1) reps(10) 是樣本數,根據 stata addon 的作者所言,10應該是足夠。他們說:「You do not have to specify a large number of replications to make this procedure work well. The eigenvalues of the random datasets to not vary tremendously. Ten replicatons should be sufficient. 」來源:http://www.ats.ucla.edu/stat/stata/faq/parallel.htm
2) 這個建議是從 a gentle introduction to stata 上看來的。我記得我在其它 factor analysis的書也看過,不過不一定找得到就是了。找到再與你分享。
您好,有一個Stata的問題請教
如何將可迴歸的樣本鎖定住,來做那些樣本的簡單統計量呢?
常常沒有辦法把樣本刪減到可迴歸的樣本數(因為變數很多或模型設定問題)
有沒有指令在迴歸後,將該迴歸的樣本數鎖定或給記號呢?
謝謝
您好,想請問您使用stata做完因素分析之後,如何將factor儲存起來呢?
@雞頭,
要鎖定迴歸分析的樣本,請看這篇:http://newgenerationresearcher.blogspot.com/2009/08/missing-value.html
gen touse 的地方就是你要的了
@林崑峰,
你想要存起來作什麼呢?要作factor score 還是要輸出表格?