Home
Explore Uedu
Student Console
Register as Member/Login
(2) In future presentations of the research findings, in addition to the course project website and public presentations, your real name and personal information will not appear in this research report. If you are interested in the research results, we can provide you with an executive summary after the study is completed.
問卷中心
Teacher Console
Course Setup
Support & Messages
Uptime Data

UeduGPTs

--

Jupyters

0

Local AI

--

CISOSE26 本地 AI UG26
政治大學 AQI 19 29°C

AI Reply Desktop Notifications

Show a desktop notification when the AI TA finishes replying

Chat Message Notifications

Notify me when classmates post messages in the forum

Sound notification

Play an alert sound whenever there is a new notification

縱貫與成長模型

成長模型進階:共變結構、收縮估計與條件成長

從隨機效果共變矩陣到 slopes-as-outcomes,看懂軌跡分布背後真正在估什麼

兩個人的成長速度可以比,但你比的是「真實差異」還是「測量噪音」?

入門篇我們學會了用線性成長模型(linear growth model)追蹤同一群人的學習軌跡:每個人有自己的起點(截距,intercept)與斜率(slope),整個群體的平均軌跡加上個體差異,就拼出了「軌跡的分布」。但只要你開始認真用這套工具,幾個尖銳的問題立刻浮現:

  • 我說「小明進步比小華快」,但這個「快」有多少是真的,多少只是兩次測驗的隨機誤差被我當成了趨勢?
  • 為什麼有些人一開始分數低、後來進步特別快?這個「起點低、斜率高」的負相關,是真實的補償現象,還是模型結構造出來的假象?
  • 學習軌跡真的是直線嗎?如果不是,我該怎麼描述「先快後慢」的飽和曲線,又不至於過度配適(overfitting)?

這篇進階篇就針對這三件事:截距與斜率的共變結構非線性軌跡的參數化,以及把成長率本身當成被預測對象的條件成長模型。我們會把入門篇那個「每個人一條線」的圖像,拆解到它的隨機效果共變矩陣(random-effects covariance matrix)層級。

縱貫與成長模型進階概念示意圖

隨機效果不是兩個獨立的數字,而是一個共變矩陣

入門篇通常把線性成長模型寫成這樣(第 $i$ 個人在第 $t$ 次測量):

$$ y_{it} = (\beta_0 + u_{0i}) + (\beta_1 + u_{1i})\,\text{time}_{it} + \varepsilon_{it} $$

其中 $\beta_0, \beta_1$ 是固定效果(fixed effects,群體平均的起點與斜率),$u_{0i}, u_{1i}$ 是個體偏離群體的隨機效果(random effects)。入門篇會說「每個人有自己的截距與斜率」,但常常含糊帶過的,是 $u_{0i}$ 和 $u_{1i}$ 不是兩個獨立的隨機數,它們服從一個聯合的二維常態分布:

$$ \begin{pmatrix} u_{0i} \\ u_{1i} \end{pmatrix} \sim \mathcal{N}\!\left( \begin{pmatrix} 0 \\ 0 \end{pmatrix},\; \mathbf{G} = \begin{pmatrix} \tau_0^2 & \tau_{01} \\ \tau_{01} & \tau_1^2 \end{pmatrix} \right) $$

這個 $\mathbf{G}$ 矩陣才是成長模型真正的心臟。讓我們逐格讀它:

  • $\tau_0^2$:起點的個體差異變異。如果它很大,表示學生一開始程度就分得很開。
  • $\tau_1^2$:斜率的個體差異變異。如果它很大,表示「每個人進步速度差很多」;如果它接近 $0$,表示大家進步速度其實差不多,你看到的軌跡分歧主要來自起點不同。
  • $\tau_{01}$:起點與斜率的共變數。換算成相關係數 $\rho_{01} = \tau_{01} / (\tau_0 \tau_1)$。這個數字常被誤讀,是本節重點。

很多人看到 $\rho_{01} < 0$(起點低的人斜率高)就興奮地宣稱「發現了補償效應、後段生追上來了」。先別急。

看一個例子:負相關可能是「測量點選擇」的假象

考慮一個關鍵但容易忽略的事實:截距的定義取決於你把 time 的原點設在哪裡。如果 $\text{time}=0$ 設在「第一次測驗」,那截距 $u_{0i}$ 就是「第一次測驗時的個體偏離」;如果你把原點移到「最後一次測驗」或「測驗中點」,截距的意義完全不同,連帶 $\tau_0^2$ 與 $\tau_{01}$ 都會改變。

數學上,若把時間平移 $c$ 個單位(新的 $\text{time}^* = \text{time} - c$),新的截距隨機效果變成 $u_{0i}^* = u_{0i} + c\,u_{1i}$,於是:

$$ \tau_{01}^* = \text{Cov}(u_{0i}^*, u_{1i}) = \tau_{01} + c\,\tau_1^2 $$

代一組數字:假設原始 $\tau_{01} = -2$、$\tau_1^2 = 0.5$。在原點處看起來起點與斜率負相關。但如果我把時間中心移到 $c = 4$(例如把原點從第一次測驗移到第五次):

$$ \tau_{01}^* = -2 + 4 \times 0.5 = 0 $$

同一份資料、同一群人,只因為「我把截距定義在哪一個時間點」,起點—斜率相關就從負變成零。這告訴我們一件深刻的事:「起點低的人進步快」這句話,只有在你明確指定『起點是哪一刻』時才有意義。報告成長模型時,務必說清楚 time 的編碼(centering),否則 $\rho_{01}$ 幾乎無法解讀。

實務建議:把 $\text{time}=0$ 設在一個有實質意義的時間點(通常是基線/第一次,或研究關心的某個介入時點),並在論文中明說。

把成長率拉到地面:時間怎麼編碼決定你能說什麼

延續上面的洞察,時間編碼(time coding)不只影響相關係數,還決定整個模型能回答的問題。三種常見編碼:

  1. 基線中心(baseline centering):$\text{time} = 0, 1, 2, 3, \dots$。截距 = 起點程度,最直覺。
  2. 終點中心(endpoint centering):$\text{time} = -3, -2, -1, 0$。截距 = 最終程度,適合關心「最後達到的水準」。
  3. 正交多項式(orthogonal polynomials):當你要配非線性時,用正交化的時間項可以降低高次項之間的共線性,讓估計更穩定。

動手算一下:一個三波資料的斜率估計與其不確定性

假設我們追蹤一位學生三次測驗,時間編碼 $0, 1, 2$,分數為 $60, 68, 79$。如果單獨對這一個人做最小平方(OLS)擬合 $y = a + b\cdot\text{time}$:

時間平均 $\bar{t} = 1$,分數平均 $\bar{y} = 69$。

$$ b = \frac{\sum (t-\bar{t})(y-\bar{y})}{\sum (t-\bar{t})^2} = \frac{(-1)(-9) + (0)(-1) + (1)(10)}{(-1)^2 + 0^2 + 1^2} = \frac{9 + 0 + 10}{2} = 9.5 $$

所以這位學生「每次測驗進步 9.5 分」。但只有三個點,這個 9.5 的不確定性非常大。殘差是多少?預測值 $\hat{y} = 59.5 + 9.5\cdot t$ 給出 $59.5, 69, 78.5$,殘差為 $0.5, -1, 0.5$,殘差平方和 $\text{SSE} = 0.25 + 1 + 0.25 = 1.5$,殘差自由度 $= 3 - 2 = 1$,於是 $\hat{\sigma}^2 = 1.5$。斜率的標準誤:

$$ \text{SE}(b) = \sqrt{\frac{\hat{\sigma}^2}{\sum(t-\bar{t})^2}} = \sqrt{\frac{1.5}{2}} \approx 0.87 $$

斜率 $9.5$、標準誤 $0.87$ —— 看似精確。但這是「假裝只有這一個人、且這就是真值」的天真估計。多層次成長模型(multilevel growth model)的真正威力在於:它不會孤立地相信每個人的 OLS 斜率,而是把每個人的斜率往群體平均斜率拉一點,這叫收縮(shrinkage)

收縮的程度由信度(reliability)決定。對個體 $i$ 的斜率,經驗貝氏(empirical Bayes)估計大致是:

$$ \tilde{b}_i = \lambda_i\, b_i^{\text{OLS}} + (1 - \lambda_i)\,\beta_1, \qquad \lambda_i = \frac{\tau_1^2}{\tau_1^2 + \text{Var}(b_i^{\text{OLS}})} $$

當某個人的資料很少或很吵($\text{Var}(b_i^{\text{OLS}})$ 大),$\lambda_i$ 趨近 $0$,他的估計斜率就被大幅拉向群體平均;當資料多又乾淨,$\lambda_i$ 趨近 $1$,保留他自己的斜率。這正面回答了開場第一個問題:你看到的「個體差異」有多少是真實的訊號——由 $\tau_1^2$(真實斜率變異)相對於測量噪音的比例決定。如果 $\tau_1^2$ 估出來接近 $0$,那麼「小明進步比小華快」這句話幾乎全是噪音,不該採信。

軌跡不是直線:非線性成長的兩種思路

開場第三個問題:學習很少是等速直線。技能習得常見「先快後慢」的負加速(飽和),遺忘則是「先快後慢」的衰減。硬套直線會系統性地低估早期、高估後期。兩種主流做法:

1. 多項式成長(polynomial growth)

加入時間的二次項:

$$ y_{it} = \beta_0 + \beta_1 \text{time}_{it} + \beta_2 \text{time}_{it}^2 + (\text{隨機效果}) + \varepsilon_{it} $$

$\beta_2 < 0$ 給出開口向下的拋物線(先升後可能下降)。優點是仍在線性模型框架內、好估計;缺點是二次曲線會「掉頭」,外推時很危險,而且高次項的隨機效果讓 $\mathbf{G}$ 矩陣迅速膨脹(三個隨機效果就是 $3\times3$ 共變矩陣,要估 6 個參數)。實務上常把二次項設為純固定效果、不放隨機效果,以求收斂。

2. 非線性參數化(intrinsically nonlinear)

更符合理論的是直接用一條飽和曲線,例如指數趨近一個漸近線(asymptote):

$$ y_{it} = \alpha_i - (\alpha_i - \beta_i)\,e^{-\gamma_i\, \text{time}_{it}} + \varepsilon_{it} $$

這裡 $\alpha_i$ 是個體的漸近水準(最終能達到的天花板),$\beta_i$ 是起點,$\gamma_i > 0$ 是趨近速率。這三個參數每一個都可以有實質心理學意義,且都可以再被背景變項(如先備知識、學習動機)預測。代價是:這是真正的非線性混合模型(nonlinear mixed model),估計較難收斂,需要好的起始值。

選擇原則:讓理論引導函數形式。如果你的構念有明確的天花板(如精熟測驗的滿分、反應時間的生理下限),用飽和曲線;如果只是要捕捉局部彎曲、不外推,二次多項式夠用。不要因為加了高次項 $R^2$ 上升就沾沾自喜——那往往是過度配適。用資訊準則(AIC/BIC)或交叉驗證來節制模型複雜度。

條件成長模型:把「斜率」當成被解釋的對象

到目前為止 $\beta_1$ 是「群體平均斜率」,$u_{1i}$ 是「個體偏離」。條件成長模型(conditional growth model)的核心一步,是讓 Level-2(個體層)的背景變項去預測這些隨機效果。這在多層次寫法裡叫做「斜率即結果」(slopes-as-outcomes):

$$ \begin{aligned} \text{Level 1:} \quad & y_{it} = \pi_{0i} + \pi_{1i}\,\text{time}_{it} + \varepsilon_{it} \\ \text{Level 2:} \quad & \pi_{0i} = \gamma_{00} + \gamma_{01} W_i + u_{0i} \\ & \pi_{1i} = \gamma_{10} + \gamma_{11} W_i + u_{1i} \end{aligned} $$

其中 $W_i$ 是個體層的預測變項(如是否接受某教學介入、基線動機分數)。關鍵是 $\gamma_{11}$:它代表 $W$ 對「成長速率」的效果,也就是一個跨層交互作用(cross-level interaction)——$W \times \text{time}$。把上式代回合併,就會看到 $\gamma_{11} W_i \text{time}_{it}$ 這一項。

這正是縱貫研究最有價值的地方:橫斷研究只能問「動機高的人分數高嗎」,縱貫+條件成長能問「動機高的人是不是進步得更快」。後者才是因果機制的真正候選。

看一個例子:介入對成長率的效果

假設一個閱讀介入研究,$W_i = 1$ 為實驗組、$0$ 為對照組,時間編碼為週數 $0,2,4,6,8$。估出:

  • $\gamma_{10} = 1.2$:對照組平均每週進步 1.2 分。
  • $\gamma_{11} = 0.8$:實驗組的斜率比對照組多 0.8。

所以實驗組平均每週進步 $1.2 + 0.8 = 2.0$ 分。八週下來,兩組的差距拉開到 $0.8 \times 8 = 6.4$ 分。注意:若 $\gamma_{01}$(介入對截距的效果)不顯著,表示兩組起點相同(隨機分派成功),差異純粹來自成長速率——這是「介入改變了學習軌跡的斜率」最乾淨的證據。

報告時別只看 $\gamma_{11}$ 顯著與否,還要看它相對於 $\tau_1^2$ 的大小:介入解釋了多少原本的斜率變異?這叫 Level-2 的 pseudo-$R^2$:

$$ R^2_{\text{slope}} = \frac{\tau_1^2(\text{無條件}) - \tau_1^2(\text{加入 }W)}{\tau_1^2(\text{無條件})} $$

如果加入介入後斜率變異從 $0.5$ 降到 $0.3$,則 $R^2_{\text{slope}} = (0.5-0.3)/0.5 = 0.4$,介入解釋了 40% 的個體斜率差異。剩下 60% 還有待其他變項解釋——這比單看 p 值有資訊得多。

重點回顧

  • 成長模型的核心不是「每人一條線」,而是隨機效果的共變矩陣 $\mathbf{G}$:$\tau_0^2$(起點變異)、$\tau_1^2$(斜率變異)、$\tau_{01}$(起點—斜率共變)三者一起定義了「軌跡的分布」。
  • 起點—斜率相關 $\rho_{01}$ 高度依賴時間原點如何編碼;平移時間會改變 $\tau_{01}$,所以「起點低的人進步快」只有在指定「起點是哪一刻」後才能解讀。
  • 個體斜率不該天真採用各自的 OLS 估計;多層次模型透過收縮把不可靠的個體估計拉向群體平均,收縮量由信度 $\lambda_i = \tau_1^2/(\tau_1^2 + \text{Var}(b_i))$ 決定。
  • 非線性軌跡可用多項式(好估但會掉頭、勿外推)或飽和曲線(參數有實質意義但難收斂);用 AIC/BIC 節制複雜度,別被 $R^2$ 上升誘惑。
  • 條件成長模型讓背景變項預測斜率(slopes-as-outcomes),其本質是跨層交互作用 $W \times \text{time}$;這才能回答「誰進步得更快」,並可用 pseudo-$R^2$ 量化解釋力。

深入探討(研究所視角)

成長模型與潛在成長曲線模型(LGCM)的等價與分歧。 上文用多層次(HLM)框架寫成長模型,但同一個線性成長模型也能寫成結構方程(SEM)下的潛在成長曲線模型(latent growth curve model, LGCM),把截距與斜率設成兩個潛在因子,因子負荷量固定為時間編碼(截距全為 $1$,斜率為 $0,1,2,\dots$)。兩者在「時間平衡、編碼固定」時數學等價。但 SEM 取向開放了 HLM 不易做的延伸:(1) 自由估計時間負荷(latent basis model),讓資料自己決定軌跡形狀,等於用一個半參數曲線替代強加的線性;(2) 把成長因子當作中介或結果,串成成長中介模型;(3) 多群組比較與測量恆等性檢驗。

測量恆等性(measurement invariance)是縱貫推論的隱形前提。 當 $y_{it}$ 是由多題量表加總而來,我們默默假設「這把尺在第一波和第八波量的是同一個構念、同一個刻度」。若量表在不同時間點的因子負荷或截距漂移(缺乏 longitudinal invariance),那麼觀察到的「成長」可能部分是測量本身的變化,而非真實構念的成長——這在發展心理計量上是嚴重的混淆。嚴謹的縱貫研究應先以縱貫驗證性因素分析(longitudinal CFA)檢驗 configural → metric → scalar 恆等性,確認至少部分純量恆等後,成長參數才有跨時間可比性。

為什麼不能用變化分數迴歸取代成長模型。 一個常見的次優做法是算「後測減前測」的變化分數(change score)再去迴歸。問題有二:其一,變化分數繼承了兩次測量的誤差,信度往往很低;其二,把變化分數對前測迴歸會碰上迴歸到平均(regression to the mean)與 Lord's Paradox——對基線做不做調整會得到方向相反的結論。成長模型透過明確建模測量誤差 $\varepsilon_{it}$ 與真分數軌跡,原則上能繞開這些陷阱,但前提是模型設定(誤差結構、時間編碼)正確。

誤差結構:別預設殘差獨立同分布。 入門模型假設 $\varepsilon_{it}$ 彼此獨立且同變異。真實縱貫資料常違反此假設:相鄰時間點的殘差自相關(autocorrelation,如 AR(1))、變異隨時間改變(heteroscedasticity)。忽略這些會低估標準誤、誇大顯著性。進階做法是在 Level-1 引入結構化的殘差共變矩陣 $\mathbf{R}$(如 AR(1)、Toeplitz、unstructured),並用 BIC 比較。當隨機斜率 $\tau_1^2$ 與 AR(1) 殘差都想解釋「相鄰時間相似」時,兩者會競爭,需謹慎設定避免不可辨識(non-identifiability)。

缺失資料與估計。 縱貫資料幾乎必有流失(attrition)。多層次/SEM 成長模型用最大概似(FIML)估計時,在「隨機缺失」(MAR)假設下能無偏地使用所有可得觀測,不需聽從「只保留完整個案」的舊式做法。但 MAR 是無法檢驗的假設;若流失與未觀測的成長有關(如進步慢的人退出研究,屬 MNAR),參數會偏誤。此時需考慮選擇模型(selection model)或模式混合模型(pattern-mixture model)做敏感度分析。這也提醒我們:縱貫研究的效度,最終往往不是輸在統計模型,而是輸在資料如何流失——這是設計問題,不是估計問題。

AI 共讀助教正在陪你讀:成長模型進階:共變結構、收縮估計與條件成長
嗨!我是這篇文章的共讀助教,只根據〈成長模型進階:共變結構、收縮估計與條件成長〉的內容回答。可以問我「解釋某段」「舉個例子」「出題考我」,或反白文中段落後點下方「解釋選取段落」。