研究生2.0

CFA 實作入門:驗證性因素分析步驟與常見錯誤

學生拿著 EFA 的結果來找我,說:「老師,我因素分析跑完了,接下來要跑 CFA 嗎?」

我問:「你為什麼要跑 CFA?」

他愣了一下:「就是…驗證一下?」

這個回答讓我知道,他還沒弄清楚 CFA 是什麼。這也是我想寫這篇的原因——CFA 的概念不難,但實作起來每個步驟都有人反覆在同樣的地方摔倒。

先講一個核心提醒:CFA 不是在證明你的量表一定正確,而是在檢驗你的理論模型是否站得住。 學生最常錯的,不是不會跑,而是把統計決策和理論論證分開了——審稿人最常抓的,也正是這個斷裂。

CFA 是什麼?跟 EFA 有什麼不同?

探索性因素分析(EFA)是在「不確定結構」的情況下使用的——你不確定有幾個因素、哪些題目應該歸在一起,所以讓資料自己告訴你。

驗證性因素分析(CFA)完全相反。你已經有一個明確的理論模型,然後用資料去驗證這個結構跟實際資料的配適程度。

CFA 的前提是:你有理論依據。 最常見的誤用是先跑 EFA 找出因素結構,再用同一份資料跑 CFA「驗證」——你用資料找出一個結構,再用同一份資料確認它,這叫過度擬合,不叫驗證。我看過不少論文這樣做,審稿意見也常常在這裡被抓到。

CFA 實作五步驟

驗證性因素分析 CFA 實作流程
CFA 實作流程與常見錯誤提醒

步驟一:建立理論模型

在正式跑分析之前,先把測量模型畫在紙上。你需要清楚指定:幾個潛在因素、每個因素對應哪些題項、因素之間是否允許相關、有沒有 cross-loading。

這個步驟很多學生跳過,直接打開 AMOS 開始畫。但跳過這步的學生,在後面遇到問題的時候,通常不知道問題出在模型設定還是資料本身。先把模型畫在紙上,思路會清楚很多。

在畫模型之前,我會要求學生逐題問自己:「這一題為什麼只能屬於這個因素,不屬於別的?」 這個問題問得清楚,後面很多麻煩就不會出現。

容易犯錯的地方:

步驟二:設定模型規格

在 AMOS 裡,你在圖形介面畫橢圓(潛在因素)和方框(題項),用箭頭連起來。在 R lavaan 裡,用 =~ 語法定義:

f1 =~ q1 + q2 + q3 + q4
f2 =~ q5 + q6 + q7 + q8
f3 =~ q9 + q10 + q11 + q12

模型畫完還有一件必須做的事:固定因子尺度。 潛在因素本身沒有測量單位,需要人為固定一個尺度,模型才能估計。兩種做法:

容易犯錯的地方:

步驟三:模型估計

執行分析前,先做三件事。

一、檢查資料常態性。 跑每個題項的偏態(skewness)和峰態(kurtosis):

SPSS 查偏態峰態:Analyze → Descriptive Statistics → Explore,勾選 Normality。

二、確認缺失值狀況。 不能讓軟體自動 listwise deletion 就算了,要知道缺失比例,判斷是否隨機缺失(MCAR / MAR),再決定處理方式。

三、確認資料準備完整。 這是學生最容易漏掉的:反向題是否已正確轉碼?有無異常離群值?這兩件事不確認,CFA 結果再漂亮也站不住腳。

然後執行:AMOS:Analyze → Calculate Estimates,勾選 Standardized estimates 和 Squared multiple correlations。lavaan:fit <- cfa(model, data = df, estimator = "ML"),然後 summary(fit, fit.measures = TRUE, standardized = TRUE)

容易犯錯的地方:

步驟四:配適度評估

拿到輸出後,先看配適指標,再看負荷量。如果整體模型配適不佳,個別負荷量是否顯著並不重要。

標準報告組合(五個指標一起報):

配適不好,是在告訴你理論與資料的關係有問題,不只是數字不好看。三種情境:

  1. 全部通過:繼續看局部診斷(負荷量、殘差、因素間相關)。
  2. 部分未達標(CFI = 0.92、RMSEA = 0.07):看 MI 有沒有理論上合理的修正空間,並在論文裡說明。
  3. 多項未達標(CFI = 0.85、RMSEA = 0.11):模型有根本問題,不能靠 MI 硬修,要回去重新審視理論假設或量表本身。

容易犯錯的地方:

步驟五:模型修正與報告

配適度未達標時,看修正指標(Modification Indices, MI):

判斷要不要修正,問三個問題:這兩題措辭有重疊嗎?理論上說得通嗎?MI 建議的改善量 ≥ 10?三個都是「是」才修正。每次只修一個參數,修完重跑,再看新的 MI。

容易犯錯的地方:

最終論文報告清單:

工具選擇:AMOS vs R lavaan vs Mplus

三個工具都可以跑 CFA,適合不同情境:

資料是連續變數且接近常態 → AMOS 夠用。Likert 量表或需要 MLR / WLSMV → 建議 lavaan 或 Mplus。

如果有問題,歡迎留言。

更新記錄:2026-03 首次發布。

Exit mobile version