1 왜 랜덤 기울기가 필요한가
랜덤 절편 모형(32번 포스트)에서 모든 피험자는 같은 기울기 \(\beta_1\)을 공유한다고 가정했다. 개인 \(i\)의 회귀선은 절편만 달랐고, 시간에 따른 변화율은 평행선으로 고정되었다.
이 가정이 현실적인가? Reisby 우울증 데이터에서 직관적으로 생각해보자.
| 피험자 유형 | 특징 |
|---|---|
| 약에 빠른 반응 | 짧은 시간 안에 HDRS 점수 급격히 감소 |
| 약에 느린 반응 | 천천히, 하지만 꾸준히 감소 |
| 비반응자 | 거의 변화 없거나 오히려 상승 |
이 세 유형을 하나의 기울기로 설명하면 개인 차이가 잔차로 흡수된다. 결국 잔차의 독립성이 더 크게 위반되고, 시간에 따라 잔차 분산이 체계적으로 달라진다.
랜덤 절편·추세 모형은 절편과 기울기 모두 개인마다 다를 수 있게 허용해 이 이질성을 명시적으로 모형 안으로 가져온다.
2 모형 공식
2.1 결합 형식 (Combined Form)
\[ y_{ij} = \underbrace{(\beta_0 + v_{0i})}_{\text{개인 절편}} + \underbrace{(\beta_1 + v_{1i})}_{\text{개인 기울기}} t_{ij} + \varepsilon_{ij} \]
또는 항을 분리하면:
\[ y_{ij} = \beta_0 + \beta_1 t_{ij} + v_{0i} + v_{1i} t_{ij} + \varepsilon_{ij} \]
각 항의 의미
- \(\beta_0\) : 모집단 평균 기저 수준 (t=0 일 때 평균 반응)
- \(\beta_1\) : 모집단 평균 기울기 (시간 단위당 평균 변화)
- \(v_{0i}\) : 피험자 \(i\)의 절편 편차 — “이 사람은 평균보다 기저 수준이 얼마나 높은가?”
- \(v_{1i}\) : 피험자 \(i\)의 기울기 편차 — “이 사람의 변화 속도는 평균과 얼마나 다른가?”
- \(\varepsilon_{ij}\) : 잔차 (within-subject 측정 오차)
2.2 2수준 표현 (Level-2 Representation)
수준-1 (관측값):
\[ y_{ij} = b_{0i} + b_{1i} t_{ij} + \varepsilon_{ij} \]
수준-2 (개인 회귀계수의 모집단 모형):
\[ b_{0i} = \beta_0 + v_{0i}, \qquad b_{1i} = \beta_1 + v_{1i} \]
피험자 \(i\)는 자신만의 절편 \(b_{0i}\)과 기울기 \(b_{1i}\)를 가진 직선을 그린다. 이 개인 직선들이 모집단 직선 \(\beta_0 + \beta_1 t\) 주위에 분포한다.
3 이변량 랜덤 효과
3.1 공분산 구조
\((v_{0i}, v_{1i})\)는 평균 0인 이변량 정규분포를 따른다:
\[ \begin{pmatrix} v_{0i} \\ v_{1i} \end{pmatrix} \sim N\!\left( \begin{pmatrix} 0 \\ 0 \end{pmatrix},\; \Sigma_v = \begin{pmatrix} \sigma^2_{v0} & \sigma_{v0v1} \\ \sigma_{v0v1} & \sigma^2_{v1} \end{pmatrix} \right) \]
각 모수의 해석
| 모수 | 의미 | 직관 |
|---|---|---|
| \(\sigma^2_{v0}\) | 절편 분산 | 기저 수준의 개인 간 퍼짐 |
| \(\sigma^2_{v1}\) | 기울기 분산 | 변화 속도의 개인 간 퍼짐 |
| \(\sigma_{v0v1}\) | 절편-기울기 공분산 | 기저 수준이 높은 사람이 더 빠르게/느리게 변화하는 경향 |
\(\sigma_{v0v1}\)의 부호가 중요하다.
- 양수: 기저 수준이 높을수록 더 가파른 기울기 (기저 수준이 높은 사람이 더 많이 변화)
- 음수: 기저 수준이 높을수록 더 완만한 기울기 (기저 수준이 높은 사람이 덜 변화 또는 더 빨리 감소)
우울증 맥락에서는 HDRS가 감소하는 방향이므로, 기저 수준이 높은 환자가 더 급격히 감소한다면 \(\sigma_{v0v1} < 0\)가 된다.
3.2 잔차 구조
\[ \varepsilon_{ij} \sim N(0, \sigma^2), \qquad \text{cov}(\varepsilon_{ij}, \varepsilon_{ij'}) = 0 \quad (j \ne j') \]
랜덤 효과를 조건으로 했을 때 잔차는 여전히 독립이다 (conditional independence). 개인 간 상관은 \(v_{0i}, v_{1i}\)가 포착하고, 잔차는 순수한 측정 오차를 담당한다.
4 공분산 구조의 유연성
4.1 랜덤 절편 모형의 한계: 복합대칭
랜덤 절편만 있을 때 \(\text{Var}(y_{ij}) = \sigma^2_{v0} + \sigma^2\) (시점에 무관하게 일정), \(\text{Cov}(y_{ij}, y_{ij'}) = \sigma^2_{v0}\) (모든 시점 쌍에 동일).
이것이 복합대칭(Compound Symmetry, CS)이다. CS는 시간이 지나도 분산이 변하지 않고, 멀리 떨어진 시점 쌍도 가까운 시점 쌍과 같은 상관을 가정한다. 실제 종단 데이터에서 이 가정은 매우 자주 위반된다.
4.2 랜덤 절편·추세 모형의 공분산 구조
\(y_{ij}\)의 공분산 행렬 \(V_i = Z_i \Sigma_v Z_i' + \sigma^2 I_{n_i}\)에서:
\[ \text{Var}(y_{ij}) = \sigma^2_{v0} + 2 \sigma_{v0v1} t_{ij} + \sigma^2_{v1} t^2_{ij} + \sigma^2 \]
\[ \text{Cov}(y_{ij}, y_{ij'}) = \sigma^2_{v0} + \sigma_{v0v1}(t_{ij} + t_{ij'}) + \sigma^2_{v1} t_{ij} t_{ij'} \]
분산이 시점 \(t_{ij}\)의 이차함수이고, 공분산이 두 시점의 함수다.
직관: 시간이 지날수록 개인 기울기 차이(\(v_{1i}\))가 누적되면서 개인 간 편차가 커진다. 초기에는 비슷한 수준이었던 피험자들이 시간이 지날수록 더 퍼지게 된다.
이 구조는 CS보다 훨씬 현실적이다.
5 Reisby 데이터 분석 결과
5.1 Table 4.5: 랜덤 절편·추세 모형 (기저 시간 코딩)
| 모수 | 추정값 | SE | \(z\) | \(p\) |
|---|---|---|---|---|
| \(\beta_0\) (절편) | 23.58 | 0.67 | 35.27 | < .001 |
| \(\beta_1\) (기울기) | -2.38 | 0.15 | -15.74 | < .001 |
| \(\sigma^2_{v0}\) | 12.63 | — | — | — |
| \(\sigma_{v0v1}\) | -1.42 | — | — | — |
| \(\sigma^2_{v1}\) | 2.08 | — | — | — |
| \(\sigma^2\) | 12.22 | — | — | — |
\(-2 \ln L = 2219.04\)
고정 효과 해석:
- \(\beta_0 = 23.58\): Week 0에서 평균 HDRS 점수 (치료 전)
- \(\beta_1 = -2.38\): 매주 평균 2.38점 감소
랜덤 효과 해석:
- \(\sigma^2_{v0} = 12.63\): 기저 수준의 개인 분산. 표준편차 \(\approx 3.55\)점
- \(\sigma^2_{v1} = 2.08\): 기울기의 개인 분산. 표준편차 \(\approx 1.44\)점/주
- \(\sigma_{v0v1} = -1.42\): 음수 — 기저 점수가 높은 환자일수록 더 빠르게 감소하는 경향
95% 범위로 생각하면: 개인 기울기의 약 95%가 \(-2.38 \pm 2 \times 1.44 = [-5.26, +0.50]\) 범위에 분포한다. 일부 피험자는 오히려 점수가 상승하는 것으로 추정될 수 있다.
5.2 LRT: 랜덤 절편 vs 랜덤 절편·추세
| 모형 | \(-2\ln L\) | 모수 수 |
|---|---|---|
| 랜덤 절편 (32번) | 2285.19 | 4 |
| 랜덤 절편·추세 | 2219.04 | 6 |
| 차이 | 66.15 | 2 |
\[ \chi^2(2) = 66.15, \quad p < .001 \]
랜덤 절편 모형(복합대칭 가정)은 기각된다. 개인 기울기의 이질성(\(\sigma^2_{v1}\))과 절편-기울기 공분산(\(\sigma_{v0v1}\))이 데이터에 통계적으로 유의미하게 존재한다.
경계값 문제: 분산 모수(\(\sigma^2_{v1} \geq 0\))에 대한 LRT는 귀무가설이 경계에 있어 p값을 2로 나누어야 한다는 주장도 있다. 여기서 차이가 66.15로 매우 크므로 보정 여부와 무관하게 결론은 동일하다.
6 시간 코딩 방식과 모수 해석
시간 변수를 어떻게 코딩하느냐에 따라 일부 모수의 수치와 부호가 달라진다. 고정 효과 \(\beta_1\), 분산 \(\sigma^2_{v1}\), 오차 분산 \(\sigma^2\)는 불변이지만, 절편 \(\beta_0\), 절편 분산 \(\sigma^2_{v0}\), 공분산 \(\sigma_{v0v1}\)은 달라진다.
6.1 기저 코딩 (Baseline Coding)
\[ t_{ij} \in \{0, 1, 2, 3, 4, 5\} \]
- \(\beta_0\): Week 0 (치료 전)의 평균 점수 → 가장 해석하기 쉬운 기저점
- \(v_{0i}\): Week 0에서의 개인 절편 편차
- \(\sigma_{v0v1}\): Week 0 수준과 기울기 사이의 공분산
Table 4.5: \(\beta_0 = 23.58\), \(\sigma^2_{v0} = 12.63\), \(\sigma_{v0v1} = -1.42\)
6.2 중앙값 코딩 (Centered Coding)
\[ t_{ij} \in \{-2.5, -1.5, -0.5, +0.5, +1.5, +2.5\} \]
- \(\beta_0\): 시간 중앙 지점(Week 2.5)에서의 평균 점수
- \(v_{0i}\): 시간 중앙에서의 개인 절편 편차
- \(\sigma_{v0v1}\): 시간 중앙 수준과 기울기 사이의 공분산
Table 4.6: \(\beta_0 = 17.63\), \(\sigma^2_{v0} = 18.52\), \(\sigma_{v0v1} = +3.78\)
공분산 부호가 음수에서 양수로 바뀌었다!
이 역전 현상을 직관적으로 이해하면:
- 기저 코딩에서 \(\sigma_{v0v1} < 0\): “기저 점수가 높은 사람은 더 가파르게 감소한다”
- 중앙 코딩에서 \(\sigma_{v0v1} > 0\): “연구 중반 시점에서 높은 사람은 이미 그 이전에 많이 감소한 사람이므로, 연구 중반 이후에도 높은 수준을 유지한다 — 즉 상대적으로 완만한 기울기를 보인다”
같은 데이터, 같은 모형이지만 시간 원점을 어디로 잡느냐에 따라 “기저 수준과 기울기의 관계”가 다르게 서술된다.
수학적으로, 중앙 코딩은 \(t^* = t - c\) 변환이므로:
\[ \sigma_{v0v1}^{\text{centered}} = \sigma_{v0v1}^{\text{baseline}} + c \cdot \sigma^2_{v1} \]
\(c = 2.5\), \(\sigma^2_{v1} = 2.08\)이면: \(-1.42 + 2.5 \times 2.08 = -1.42 + 5.20 = 3.78\) — Table 4.6과 일치한다.
6.3 종점 코딩 (Endpoint Coding)
\[ t_{ij} \in \{-5, -4, -3, -2, -1, 0\} \]
- \(\beta_0\): 최종 측정 시점(Week 5)에서의 평균 점수
- 치료 종료 시점의 값에 관심이 있을 때 유용
어느 코딩을 쓸지는 분석 목적에 따라 달라지지만, 통계적 적합도는 모든 코딩에서 동일하다 (\(-2\ln L\), \(\sigma^2_{v1}\), \(\sigma^2\) 불변).
7 공변수 포함: 진단 집단 효과
7.1 모형 확장 (§4.4.3)
수준-2 모형에 집단 변수를 추가한다:
\[ b_{0i} = \beta_0 + \beta_2 d_i + v_{0i} \]
\[ b_{1i} = \beta_1 + \beta_3 d_i + v_{1i} \]
결합하면:
\[ y_{ij} = \beta_0 + \beta_1 t_{ij} + \beta_2 d_i + \beta_3 (d_i \times t_{ij}) + v_{0i} + v_{1i} t_{ij} + \varepsilon_{ij} \]
- \(d_i = 1\): 내인성(Endogenous) 우울증
- \(d_i = 0\): 비내인성(Nonendogenous) 우울증
- \(\beta_2\): 기저 수준의 집단 차이
- \(\beta_3\): 기울기의 집단 차이 (집단 × 시간 교호작용)
7.2 Table 4.7: 집단별 관측 평균
| Week | Endogenous (\(n=37\)) | Nonendogenous (\(n=29\)) |
|---|---|---|
| 0 | 25.3 | 21.4 |
| 1 | 23.8 | 20.3 |
| 2 | 20.7 | 17.3 |
| 3 | 18.5 | 14.7 |
| 4 | 16.5 | 13.2 |
| 5 | 13.8 | 12.6 |
내인성 집단이 기저 수준에서 약 4점 높고, 시간이 지나면서 두 집단이 수렴하는 패턴이 보인다.
7.3 Table 4.8: 진단 모형 결과
| 모수 | 추정값 | SE | \(z\) | \(p\) |
|---|---|---|---|---|
| \(\beta_0\) (절편) | 21.60 | 0.84 | 25.77 | < .001 |
| \(\beta_1\) (기울기) | -2.22 | 0.18 | -11.96 | < .001 |
| \(\beta_2\) (진단 효과, 절편) | 3.99 | 1.18 | 3.38 | < .001 |
| \(\beta_3\) (진단 × 시간) | -0.32 | 0.26 | -1.22 | .221 |
\(-2 \ln L = 2215.00\)
진단 효과 LRT: \(2219.04 - 2215.00 = 4.04\), \(\chi^2(2)\), \(p = .13\) (유의하지 않음)
해석:
- 내인성 집단이 기저 수준에서 약 4점 높다(\(\beta_2 = 3.99\), \(p < .001\)).
- 기울기 차이(\(\beta_3 = -0.32\))는 유의하지 않다 — 두 집단의 감소 속도는 비슷하다.
- 전체적으로 진단 집단이 추세에 미치는 영향은 한계적이다 (LRT \(p = .13\)).
이는 두 집단이 기저 수준에서 차이가 있더라도, 이미프라민 치료에 대한 반응 속도는 유사함을 시사한다.
8 행렬 공식화 (§4.5)
8.1 개인 수준 행렬 표현
\[ y_i = X_i \beta + Z_i v_i + \varepsilon_i \tag{4.8} \]
\(n_i\)번 측정된 피험자 \(i\)에 대해:
\[ y_i = \begin{pmatrix} y_{i1} \\ y_{i2} \\ \vdots \\ y_{in_i} \end{pmatrix}, \quad X_i = \begin{pmatrix} 1 & t_{i1} \\ 1 & t_{i2} \\ \vdots & \vdots \\ 1 & t_{in_i} \end{pmatrix}, \quad \beta = \begin{pmatrix} \beta_0 \\ \beta_1 \end{pmatrix} \]
\[ Z_i = \begin{pmatrix} 1 & t_{i1} \\ 1 & t_{i2} \\ \vdots & \vdots \\ 1 & t_{in_i} \end{pmatrix}, \quad v_i = \begin{pmatrix} v_{0i} \\ v_{1i} \end{pmatrix}, \quad \varepsilon_i = \begin{pmatrix} \varepsilon_{i1} \\ \varepsilon_{i2} \\ \vdots \\ \varepsilon_{in_i} \end{pmatrix} \]
여기서 \(Z_i = X_i\) (모든 고정 효과 공변수가 랜덤 효과에도 대응되는 경우). 일반적으로 \(Z_i\)는 \(X_i\)의 부분집합이다.
8.2 분포 가정
\[ v_i \sim N(0, \Sigma_v), \quad \varepsilon_i \sim N(0, \sigma^2 I_{n_i}), \quad v_i \perp \varepsilon_i \]
8.3 주변 공분산 행렬
\(v_i\)를 주변화(marginalize)하면 \(y_i\)의 공분산 행렬은:
\[ V_i = \text{Var}(y_i) = Z_i \Sigma_v Z_i' + \sigma^2 I_{n_i} \tag{4.12} \]
이것이 복합대칭을 넘어서는 일반적인 공분산 구조다.
6개 시점 \((t = 0,1,2,3,4,5)\)을 대입하면 \(V_i\)는 \(6 \times 6\) 행렬로, 대각 원소(분산)와 비대각 원소(공분산)가 모두 시점에 따라 달라진다.
\[ V_i(j,j) = \sigma^2_{v0} + 2\sigma_{v0v1} t_j + \sigma^2_{v1} t_j^2 + \sigma^2 \]
\[ V_i(j,j') = \sigma^2_{v0} + \sigma_{v0v1}(t_j + t_{j'}) + \sigma^2_{v1} t_j t_{j'} \]
직관적으로: 두 시점 \(t_j\)와 \(t_{j'}\)가 멀수록 공분산에서 기울기 분산 \(\sigma^2_{v1}\)의 기여가 커진다.
9 경험 베이즈 추정 (Empirical Bayes)
9.1 개인 랜덤 효과 추정
모집단 모수 \((\hat{\beta}, \hat{\Sigma}_v, \hat{\sigma}^2)\)를 추정한 후, 개인의 랜덤 효과 \(v_i\)를 사후 평균으로 추정한다:
\[ \hat{v}_i = \hat{\Sigma}_v Z_i' V_i^{-1} (y_i - X_i \hat{\beta}) \tag{4.10} \]
등가 형식:
\[ \hat{v}_i = \left[ Z_i' (\hat{\sigma}^2 I)^{-1} Z_i + \hat{\Sigma}_v^{-1} \right]^{-1} Z_i' (\hat{\sigma}^2 I)^{-1} (y_i - X_i \hat{\beta}) \]
9.2 Shrinkage (수축) 특성
경험 베이즈 추정량은 두 정보원의 가중 평균이다:
- 개인 데이터 \(y_i - X_i\hat{\beta}\)에서 계산한 OLS 잔차
- 모집단 사전 정보 \(v_i \sim N(0, \hat{\Sigma}_v)\)
데이터가 많은 피험자(완전 데이터)는 개인 추정에 더 큰 가중치가 가고, 데이터가 적은 피험자(관측이 적음)는 모집단 평균(0) 쪽으로 더 수축된다.
수식에서 \(Z_i'(\hat{\sigma}^2 I)^{-1}Z_i\)는 데이터 정보량, \(\hat{\Sigma}_v^{-1}\)는 사전 정밀도다. 데이터 정보량이 클수록 사전 정보의 영향이 상대적으로 줄어든다.
이 수축 성질은: - 극단적인 개인 추정치를 모집단 방향으로 끌어당겨 안정화한다. - 불완전 데이터가 있어도 합리적인 개인 추정이 가능하다. - 예측(prediction) 목적에서 OLS보다 평균 제곱 오차(MSE)가 작다.
9.3 개인 회귀선 시각화
경험 베이즈로 추정한 개인 절편 \(\hat{b}_{0i} = \hat{\beta}_0 + \hat{v}_{0i}\)와 기울기 \(\hat{b}_{1i} = \hat{\beta}_1 + \hat{v}_{1i}\)를 사용해 피험자별 직선을 그릴 수 있다.
스파게티 플롯과 달리, 경험 베이즈 직선은 랜덤 효과 모형의 구조적 가정 하에 부드럽게 정규화된다.
10 구현 코드
10.1 Python (statsmodels)
import pandas as pd
import numpy as np
import statsmodels.formula.api as smf
# Reisby 데이터 로드 (long format 가정)
# 컬럼: id, week, hdrs, diag (1=endogenous, 0=nonendogenous)
df = pd.read_csv("reisby.csv")
# 랜덤 절편·추세 모형 (기저 코딩, week 0~5)
model_ri_trend = smf.mixedlm(
"hdrs ~ week",
df,
groups=df["id"],
re_formula="~week" # 랜덤 기울기 추가
)
result = model_ri_trend.fit(method="lbfgs")
print(result.summary())
# 공분산 구조 확인
print("\n랜덤 효과 공분산:")
print(result.cov_re) # Σ_v 추정값
# 경험 베이즈 랜덤 효과 추정값
re_estimates = result.random_effects
re_df = pd.DataFrame(re_estimates).T
re_df.columns = ["v0i", "v1i"]
print("\n첫 5명 랜덤 효과:")
print(re_df.head())
# LRT: 랜덤 절편 vs 랜덤 절편·추세
model_ri = smf.mixedlm("hdrs ~ week", df, groups=df["id"])
result_ri = model_ri.fit()
lrt_stat = result_ri.llf - result.llf # -2logL 차이 (주의: llf는 로그우도)
lrt_stat_2 = -2 * (result_ri.llf - result.llf)
from scipy.stats import chi2
p_value = 1 - chi2.cdf(lrt_stat_2, df=2)
print(f"\nLRT 통계량: {lrt_stat_2:.2f}, df=2, p={p_value:.4f}")
# 진단 집단 공변수 추가
model_diag = smf.mixedlm(
"hdrs ~ week + diag + week:diag",
df,
groups=df["id"],
re_formula="~week"
)
result_diag = model_diag.fit(method="lbfgs")
print(result_diag.summary())10.2 R (lme4)
library(lme4)
library(lmerTest)
# 데이터 로드
reisby <- read.csv("reisby.csv")
# 랜덤 절편·추세 모형 (기저 코딩)
fit_ri_trend <- lmer(
hdrs ~ week + (1 + week | id),
data = reisby,
REML = FALSE # LRT를 위해 ML 사용
)
summary(fit_ri_trend)
# 분산-공분산 구조 확인
VarCorr(fit_ri_trend)
# LRT: 랜덤 절편 vs 랜덤 절편·추세
fit_ri <- lmer(
hdrs ~ week + (1 | id),
data = reisby,
REML = FALSE
)
anova(fit_ri, fit_ri_trend)
# 시간 코딩 비교
reisby$week_c <- reisby$week - 2.5 # 중앙 코딩
fit_centered <- lmer(
hdrs ~ week_c + (1 + week_c | id),
data = reisby,
REML = FALSE
)
# 고정 효과와 분산 비교
summary(fit_ri_trend)$coefficients
summary(fit_centered)$coefficients
# 경험 베이즈 랜덤 효과
re <- ranef(fit_ri_trend)$id
head(re) # v0i(절편 편차), v1i(기울기 편차)
# 개인 회귀선 시각화
library(ggplot2)
re$id <- rownames(re)
names(re) <- c("v0i", "v1i", "id")
fixef_vals <- fixef(fit_ri_trend)
re$b0i <- fixef_vals["(Intercept)"] + re$v0i
re$b1i <- fixef_vals["week"] + re$v1i
ggplot(reisby, aes(x = week, y = hdrs, group = id)) +
geom_line(alpha = 0.3, color = "grey60") +
geom_abline(
data = re,
aes(intercept = b0i, slope = b1i, group = id),
alpha = 0.5, color = "steelblue"
) +
geom_abline(
intercept = fixef_vals["(Intercept)"],
slope = fixef_vals["week"],
color = "red", linewidth = 1.5
) +
labs(
title = "랜덤 절편·추세 MRM — 개인 회귀선 (경험 베이즈)",
x = "Week", y = "HDRS"
)
# 진단 집단 모형
fit_diag <- lmer(
hdrs ~ week * diag + (1 + week | id),
data = reisby,
REML = FALSE
)
summary(fit_diag)
anova(fit_ri_trend, fit_diag) # LRT χ²(2), p=.13
# REML로 최종 분산 추정
fit_final <- lmer(
hdrs ~ week + (1 + week | id),
data = reisby,
REML = TRUE
)
summary(fit_final)11 랜덤 절편 vs 랜덤 절편·추세 비교 정리
| 항목 | 랜덤 절편 | 랜덤 절편·추세 |
|---|---|---|
| 개인 회귀선 | 평행 (기울기 동일) | 각자 다른 기울기 |
| 랜덤 효과 | \(v_{0i}\) (1개) | \((v_{0i}, v_{1i})\) (2개 + 공분산) |
| 공분산 구조 | 복합대칭 (CS) | 시점 의존 구조 |
| 분산의 시간 의존 | 불가 | 가능 |
| 모수 수 | 4 | 6 |
| 적합도 (Reisby) | \(-2\ln L = 2285.19\) | \(-2\ln L = 2219.04\) |
| LRT | — | \(\chi^2(2)=66.15\), \(p<.001\) |
| 적합 | 덜 적합 | 우수 |
Reisby 데이터에서는 랜덤 절편·추세 모형이 복합대칭 가정을 명확히 기각하며 우수한 적합도를 보인다.
12 정리
랜덤 절편·추세 MRM은 종단 데이터 분석에서 핵심적인 모형 구조다.
- 개인마다 다른 절편과 다른 기울기를 허용해 시간 추세의 이질성을 포착한다.
- 이변량 랜덤 효과 분포 \(\Sigma_v\)는 절편과 기울기의 분산뿐 아니라 둘 사이의 공분산도 추정한다.
- 복합대칭보다 유연한 공분산 구조를 가지며, 분산이 시점에 따라 달라질 수 있다.
- 시간 코딩 방식은 절편 해석과 \(\sigma_{v0v1}\) 부호에 영향을 주지만, 모형 적합도는 불변이다.
- LRT로 랜덤 기울기의 필요성을 검정하고, 경험 베이즈로 개인별 회귀선을 추정할 수 있다.
다음 포스트(34번)에서는 §4.5의 행렬 공식화를 심화하고, 더 일반적인 공분산 구조(AR(1), 비구조적 등)와의 비교를 다룬다.