1 들어가며 — 5 구조 중 첫 두 개
Ch.7 Overview 에서 자기상관 오차 5 구조를 한 표로 정리했다. 그중 § 7.2.1 AR(1) 와 § 7.2.2 MA(1) 는 같은 묶음으로 다룰 가치가 있다.
| 구조 | 자유 모수 | 핵심 가정 | 적합 패턴 |
|---|---|---|---|
| AR(1) | 2 (\(\sigma^2, \rho\)) | 정상성, 지수 감쇠 | 시계열 표준, 단기 momentum |
| MA(1) | 2 (\(\sigma^2, \theta\)) | 정상성, lag-1 만 상관 | hard cutoff, 매우 단기 의존 |
| ARMA(1,1) | 3 | AR + MA 결합 | (다음 sub-post) |
| Toeplitz | \(n\) | lag 별 자유 | (다음 sub-post) |
| NS-AR(1) | 2+ | 비정상 | (다음 sub-post) |
두 구조를 함께 다룰 이유:
- 둘 다 \(q = 2\) — 가장 절약적인 두 자기상관 구조.
- 상호 dual 관계 (Gottman 1981) — AR(1) = 무한 MA, MA(1) = 무한 AR. 한쪽으로 표현 못 하는 패턴이 다른 쪽으로는 가능.
- 상관 형태가 정반대 — AR(1) 은 lag 따라 점진 감쇠, MA(1) 은 lag-1 후 즉시 0.
- CPM (Ch.6) 에서의 차이 — AR(1) 은 § 6.2.2 에 등장하지만 MA(1) 은 Ch.6 에 없음. 그 이유가 MRM-AC 의 conditional 해석과 연결.
AR(1): “오늘의 오차는 어제의 일부 + 새 잡음 — 기억이 매끄럽게 사라진다.” MA(1): “오늘의 오차는 어제 잡음의 일부 + 오늘 잡음 — 영향력이 한 시점만 carry over.”
같은 두 모수로 두 구조가 정반대의 시간 상관 패턴을 만든다.
2 § 7.2 일반 Framework — 짧은 review
랜덤 효과 + 자기상관 결합 모형:
\[ y_i = X_i\beta + Z_i\upsilon_i + \varepsilon_i, \quad \upsilon_i \sim \mathcal{N}(0, \Sigma_\upsilon), \quad \varepsilon_i \sim \mathcal{N}(0, \sigma^2 \Omega_i) \]
마진 분산-공분산 (식 7.3):
\[ V(y_i) = Z_i\Sigma_\upsilon Z_i^\top + \sigma^2 \Omega_i \]
\(\Omega_i\) 가 단위 행렬이면 표준 MRM (Ch.4-5), \(\Omega_i\) 의 형태가 본 sub-post 의 주제.
본 sub-post 의 초점은 \(\Omega_i\) 의 두 가지 형태 — AR(1) 과 MA(1).
3 § 7.2.1 — AR(1) 자기회귀 오차
3.1 정의
\[ \varepsilon_j = \rho \varepsilon_{j-1} + \xi_j, \quad \xi_j \sim \mathcal{N}(0, \sigma^2) \text{ i.i.d.} \tag{7.7} \]
- \(\rho\): AR(1) 자기상관 계수, \(|\rho| < 1\) (정상성).
- \(\xi_j\): 새로 들어오는 잡음 (innovation, disturbance), 시점 간 독립.
- \(\varepsilon_j\) 는 자신의 1 시점 전 값 (\(\varepsilon_{j-1}\)) 에 대한 회귀.
식 (7.7) 을 풀어 읽으면:
“오늘의 오차 = \(\rho\) 배의 어제 오차 + 새로운 잡음.”
- \(\rho\) 가 클수록 (1 에 가까움) 어제 오차가 많이 carry over → 강한 momentum.
- \(\rho \to 0\): 시점 간 독립 — AR(1) 이 사라지고 표준 MRM.
- \(\rho < 0\): 음의 자기상관 — 어제 위였으면 오늘 아래 (드물지만 가능).
왜 “1차 자기회귀” 인가: \(\varepsilon_{j-2}\) 같은 더 먼 과거가 식에 들어가 있지 않다. 한 단계 (lag 1) 만 보기 때문.
확장 — 만약 식이 \(\varepsilon_j = \rho_1 \varepsilon_{j-1} + \rho_2 \varepsilon_{j-2} + \xi_j\) 였다면 2차 자기회귀 (AR(2)). Ch.7 은 1차에 집중.
3.2 정상성 분산 유도 — 식 (7.9)-(7.10)
AR(1) 의 분산은 점화식 자체에서 유도된다.
식 (7.7) 의 양변에 분산을 취하면:
\[ V(\varepsilon_j) = V(\rho \varepsilon_{j-1} + \xi_j) = \rho^2 V(\varepsilon_{j-1}) + V(\xi_j) \tag{7.9} \]
여기서 \(\xi_j\) 와 \(\varepsilon_{j-1}\) 의 독립성을 사용 (점화식의 “새 잡음” 정의).
정상성 가정 — 분산이 시점 무관:
\[ V(\varepsilon_j) = V(\varepsilon_{j-1}) \equiv \nu^2 \]
대입하면:
\[ \nu^2 = \rho^2 \nu^2 + \sigma^2 \implies \nu^2 (1 - \rho^2) = \sigma^2 \]
\[ \nu^2 = V(\varepsilon_j) = \frac{\sigma^2}{1 - \rho^2} \tag{7.10} \]
\(\rho\) 가 클수록 분산이 커지는 이유는 누적 효과.
식 (7.7) 을 반복 대입하면:
\[ \varepsilon_j = \rho \varepsilon_{j-1} + \xi_j = \rho^2 \varepsilon_{j-2} + \rho \xi_{j-1} + \xi_j = \cdots = \sum_{k=0}^{\infty} \rho^k \xi_{j-k} \]
→ AR(1) 은 무한 MA 표현 (Gottman, 1981). \(\rho\) 의 거듭제곱으로 가중된 과거 잡음의 합.
이 무한 합의 분산:
\[ V(\varepsilon_j) = \sum_{k=0}^{\infty} \rho^{2k} V(\xi_{j-k}) = \sigma^2 \sum_{k=0}^{\infty} \rho^{2k} = \frac{\sigma^2}{1-\rho^2} \]
(등비급수의 합, \(|\rho| < 1\) 일 때 수렴.)
해석: \(\rho\) 가 1 에 가까우면 과거 잡음이 거의 그대로 누적 → 분산 폭발. \(|\rho| < 1\) 가정의 통계적 의미가 여기서 명확해진다.
3.3 공분산 — 식 (7.11)-(7.12)
\[ \text{Cov}(\varepsilon_j, \varepsilon_{j-1}) = E[\varepsilon_j \varepsilon_{j-1}] = E[(\rho\varepsilon_{j-1} + \xi_j)\varepsilon_{j-1}] \]
\(\xi_j \perp \varepsilon_{j-1}\) 이므로:
\[ = \rho E[\varepsilon_{j-1}^2] = \rho V(\varepsilon_{j-1}) = \frac{\rho \sigma^2}{1 - \rho^2} \tag{7.11} \]
일반 lag-\(s\):
\[ \text{Cov}(\varepsilon_j, \varepsilon_{j-s}) = \frac{\rho^s \sigma^2}{1 - \rho^2} \tag{7.12} \]
식 (7.12) 를 분산으로 나누면 상관 계수:
\[ \text{Corr}(\varepsilon_j, \varepsilon_{j-s}) = \rho^s \]
\(\rho = 0.5\) 의 lag 별 상관:
| lag \(s\) | \(\rho^s\) | 직관 |
|---|---|---|
| 1 | 0.500 | “어제의 절반 영향” |
| 2 | 0.250 | “이틀 전이면 1/4” |
| 3 | 0.125 | “삼일 전이면 1/8” |
| 5 | 0.031 | “거의 무관” |
| 10 | 0.001 | “완전 무관” |
기억이 등비수열로 사라진다 — 마르코프 1단계 성질의 정량적 표현.
3.4 분산-공분산 행렬 — 식 (7.13)
\[ \sigma^2 \Omega_{\text{AR(1)}} = \frac{\sigma^2}{1-\rho^2} \begin{bmatrix} 1 & \rho & \rho^2 & \cdots & \rho^{n-1} \\ \rho & 1 & \rho & \cdots & \rho^{n-2} \\ \rho^2 & \rho & 1 & \cdots & \rho^{n-3} \\ \vdots & \vdots & \vdots & \ddots & \vdots \\ \rho^{n-1} & \rho^{n-2} & \rho^{n-3} & \cdots & 1 \end{bmatrix} \tag{7.13} \]
이 형태가 시계열·계량경제 문헌의 표준 표기.
3.5 Ch.6 § 6.2.2 의 식 (6.4) 와의 관계
Ch.6 § 6.2.2 의 AR(1) 식 (6.4) (생물통계 표기):
\[ \sigma_{jj'} = \sigma_{*}^{2} \rho^{|j-j'|}, \quad \text{대각} = \sigma_{*}^{2} \tag{6.4} \]
본 sub-post 의 식 (7.13) (시계열 표기):
\[ \sigma_{jj'} = \frac{\sigma^2}{1-\rho^2} \rho^{|j-j'|}, \quad \text{대각} = \frac{\sigma^2}{1-\rho^2} \tag{7.13} \]
두 표기의 관계:
\[ \sigma_{*}^{2} = \frac{\sigma^2}{1-\rho^2} \quad \text{또는} \quad \sigma^2 = (1-\rho^2)\sigma_{*}^{2} \tag{7.14, 7.15} \]
본질적으로 같은 모형 — 분석 결과 동일, 차이는 보고할 분산 모수가 무엇이냐.
| 표기 | 분산 모수의 의미 | 출처 |
|---|---|---|
| 식 (6.4) | \(\sigma_{*}^{2}\) = 시점별 분산 (정상성 후) | 생물통계 (Ch.6) |
| 식 (7.13) | \(\sigma^2\) = 새 잡음 \(\xi_j\) 의 분산 | 시계열·계량경제 (Ch.7) |
식 (6.4) 가 직관적: “각 시점의 분산이 \(\sigma_{*}^{2}\), lag 따라 \(\rho^k\) 로 감쇠.” 식 (7.13) 는 점화식 정의에서 유도되는 자연스러운 형태.
R nlme::corAR1, SAS PROC MIXED 등 패키지는 식 (7.13) 표기를 따른다 — 출력에서 \(\sigma^2\) 와 \(\rho\) 가 분리되어 보고됨.
3.6 자기상관 진단 — PACF
표준 ACF (autocorrelation function) 는 lag-\(s\) 의 직접 + 간접 모든 경로 효과를 측정. PACF 는 중간 lag 들의 효과를 통제 한 lag-\(s\) 의 직접 효과만.
AR(1) 의 PACF 시그너처:
- lag 1: 유의 (값 ≈ \(\rho\))
- lag 2 이상: 모두 0 (또는 매우 작음)
이는 AR(1) 의 마르코프 성질의 PACF 표현 — 어제만 알면 미래 충분 정보, 그제는 추가 정보 없음.
- 표준 MRM 적합 후 잔차 추출.
- 잔차 ACF + PACF 도표:
- ACF: 점진 감쇠 (지수 형태)
- PACF: lag 1 만 유의, 그 이상 0
- 이 패턴이면 AR(1) 적합 후보.
PACF 에서 lag 2, 3 도 유의하게 나오면 AR(2), AR(3) 또는 ARMA 필요.
3.7 \(\hat\rho\) 의 임상 의미
| \(\hat\rho\) | 임상 시나리오 |
|---|---|
| \(\to 1\) | 만성 질환, 안정 행동 패턴 — 환자 상태가 매우 천천히 변함 |
| 0.5 ~ 0.7 | 일별 측정의 강한 단기 momentum |
| 0.2 ~ 0.4 | 주별 측정의 표준 범위 (Bock WPSS 데이터 패턴) |
| 0 ~ 0.2 | 약한 자기상관, 측정 주기가 충분히 긴 경우 |
| \(< 0\) | 음의 자기상관 — 보상적 행동, 측정 오차의 자기상관 의심 |
검정: \(H_0: \rho = 0\) (AC 없음) vs \(H_1: \rho \neq 0\). LR \(\chi^2_1\), boundary 검정 이므로 § 6.3 의 p-value/2 보정 적용.
3.8 AR(1) 의 한계
- 함수 형태 강제 — 상관이 lag 의 지수 함수. 다른 곡선 모양이면 부적합.
- 등간격 가정 — \(\rho^{|j-j'|}\) 의 거듭제곱이 정수 lag 만 의미. 불등간격 시 NS-AR(1) 또는 연속 시간 AR.
- 정상성 — 분산이 시점 무관. fan-out 패턴 (시점 후반 분산 증가) 은 NS-AR(1) 필요.
- lag-1 의 hump 표현 못함 — 인접 시점에 매우 강한 상관 + 그 이후 빠른 감쇠 패턴은 ARMA(1,1) 필요.
이 한계가 § 7.2.3 ARMA(1,1) 와 § 7.2.4 Toeplitz 같은 더 유연한 구조의 동기다.
4 § 7.2.2 — MA(1) 이동평균 오차
4.1 정의
\[ \varepsilon_j = \xi_j - \theta \xi_{j-1}, \quad \xi_j \sim \mathcal{N}(0, \sigma^2) \text{ i.i.d.} \tag{7.16} \]
- \(\theta\): MA(1) 자기상관 계수.
- \(\xi_j\): 잡음 (disturbance) — AR(1) 와 같은 정의.
- \(\varepsilon_j\) 는 오늘 잡음 + 어제 잡음의 일부 (\(-\theta\) 배).
AR(1) 와 MA(1) 의 점화식 비교:
| 구조 | 점화식 | 직관 |
|---|---|---|
| AR(1) | \(\varepsilon_j = \rho\varepsilon_{j-1} + \xi_j\) | “어제 오차가 오늘에 들어옴” |
| MA(1) | \(\varepsilon_j = \xi_j - \theta\xi_{j-1}\) | “어제 잡음이 오늘에 들어옴” |
차이가 미묘하지만 본질적: AR(1) 의 정보 통로는 이전 오차 자체, MA(1) 의 통로는 이전 잡음 (innovation).
결과 — AR(1) 의 영향은 모든 미래에 누적 (\(\rho^k\) 가중), MA(1) 의 영향은 딱 한 시점 (다음) 에서 끝남.
4.2 분산-공분산 행렬
\[ \sigma^2 \Omega_{\text{MA(1)}} = \sigma^2 \begin{bmatrix} 1+\theta^2 & -\theta & 0 & \cdots & 0 \\ -\theta & 1+\theta^2 & -\theta & \cdots & 0 \\ 0 & -\theta & 1+\theta^2 & \cdots & 0 \\ \vdots & \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & 0 & \cdots & 1+\theta^2 \end{bmatrix} \]
- 대각: \((1+\theta^2)\sigma^2\) — 시점별 분산 동일 (정상성).
- lag-1 (인접 비대각): \(-\theta\sigma^2\).
- lag-2 이상: 정확히 0.
4.3 분산·공분산 유도
\(\xi_j\) 들 i.i.d. \(\mathcal{N}(0, \sigma^2)\) 이고 \(\xi_j \perp \xi_{j-1}\) 이므로:
\[ V(\varepsilon_j) = V(\xi_j - \theta\xi_{j-1}) = V(\xi_j) + \theta^2 V(\xi_{j-1}) = (1+\theta^2)\sigma^2 \]
lag-1 공분산:
\[ \text{Cov}(\varepsilon_j, \varepsilon_{j-1}) = \text{Cov}(\xi_j - \theta\xi_{j-1}, \xi_{j-1} - \theta\xi_{j-2}) \]
전개:
\[ = \text{Cov}(\xi_j, \xi_{j-1}) - \theta\text{Cov}(\xi_j, \xi_{j-2}) - \theta\text{Cov}(\xi_{j-1}, \xi_{j-1}) + \theta^2\text{Cov}(\xi_{j-1}, \xi_{j-2}) \]
\(\xi\) 들 i.i.d. 라 첫째·둘째·넷째 항 = 0, 셋째 항만 살아남음:
\[ = -\theta V(\xi_{j-1}) = -\theta\sigma^2 \]
lag-2 이상:
\[ \text{Cov}(\varepsilon_j, \varepsilon_{j-2}) = \text{Cov}(\xi_j - \theta\xi_{j-1}, \xi_{j-2} - \theta\xi_{j-3}) = 0 \]
(공통된 \(\xi\) 가 없음.)
4.4 lag-1 상관 계수
상관 = 공분산 / 분산:
\[ \text{Corr}(\varepsilon_j, \varepsilon_{j-1}) = \frac{-\theta}{1+\theta^2} \]
분자 \(-\theta\) 의 부호:
- \(\theta > 0\): lag-1 상관 음수 → “어제 위였으면 오늘 아래” 패턴. 보상적·진동 행동.
- \(\theta < 0\): lag-1 상관 양수 → “어제 위였으면 오늘도 위” 패턴. 단기 carryover.
- \(\theta = 0\): lag-1 상관 0 → 시점 간 독립.
상관 계수의 절대값 상한: \(|\theta/(1+\theta^2)| \leq 1/2\) (산술-기하 평균 부등식). MA(1) 은 lag-1 상관이 절대값 0.5 를 못 넘는다 — 강한 단기 의존을 표현하기엔 한계.
4.5 AR(1) 와의 dual 관계
AR(1) → 무한 MA: 식 (7.7) 을 반복 대입하면
\[ \varepsilon_j = \sum_{k=0}^{\infty} \rho^k \xi_{j-k} \]
→ AR(1) 은 모든 과거 잡음의 가중 합 = “무한 MA” 표현.
MA(1) → 무한 AR: 식 (7.16) 을 \(\xi\) 에 대해 풀면 (가역성 조건 \(|\theta| < 1\) 필요)
\[ \xi_j = \varepsilon_j + \theta \xi_{j-1} = \varepsilon_j + \theta(\varepsilon_{j-1} + \theta\xi_{j-2}) = \varepsilon_j + \theta\varepsilon_{j-1} + \theta^2\varepsilon_{j-2} + \cdots \]
이를 정리하면 \(\varepsilon_j\) 가 모든 과거 \(\varepsilon\) 의 무한 회귀 — “무한 AR” 표현.
두 구조가 무한히 변환 가능하지만, 유한 모수 모형으로 표현할 때 절약성이 다르다.
- 데이터의 자기상관 패턴이 점진 감쇠형 → AR(1) 가 절약 (1 모수로 표현).
- MA 로 표현하면 무한 모수 필요.
- 데이터 패턴이 단 한 시점만 의존 (lag-1 hard cutoff) → MA(1) 가 절약 (1 모수).
- AR 로 표현하면 무한 모수 필요.
MA(1) 또는 AR(1) 의 적합도 진단: 잘못된 구조를 쓰면 (예: 점진 감쇠 데이터에 MA(1)) 적합도가 떨어지므로 LR 또는 AIC 로 식별.
4.6 CPM 에 MA(1) 가 없는 이유 — Marginal vs Conditional
Ch.6 의 5 구조 에는 MA(1) 가 없다. 의도적 누락.
이유: CPM 의 \(\Sigma_i\) 는 \(y_i\) 의 marginal 분산 (\(X_i\beta\) 만 빼고 모든 의존). MA(1) 의 hard cutoff (lag-2 이상 정확히 0) 는 marginal 패턴으로 비현실적.
“임상 데이터에서 lag-2 의 상관이 정확히 0 이라는 가정은 부자연.” 환자가 이틀 전 우울했으면 오늘도 어느 정도 영향받지 않겠는가.
반면 MRM-AC 의 \(\sigma^2 \Omega_i\) 는 conditional (\(X_i\beta\) + \(Z_i\upsilon_i\) 도 빼고 남은 잔차의 의존). 랜덤 효과가 장기 의존을 빨아들이고, 잔차 자기상관은 단기에만 남을 수 있음.
이 구조에서 MA(1) 의 lag-1 hard cutoff 가 합리.
같은 환자의 우울증 점수 시계열을 분해해보자.
y_ij = β_0 + β_1 t_ij (전체 평균 추세)
+ υ_0i + υ_1i t_ij (환자 i 의 절편·기울기 편차 — 장기)
+ ε_ij (시점 잔차 — 단기)
- 첫 두 항이 환자 A 의 장기 트렌드 를 모두 설명.
- \(\varepsilon_{ij}\) 는 그 트렌드에서 벗어난 시점별 변동 — 측정 오차, 일시적 기분 변화 등.
이 잔차에서 lag-1 만의 상관 (어제 짜증났으면 오늘도 짜증) 은 합리적. 두세 시점 떨어지면 잔차 의존은 사라질 수도.
→ MA(1) 가 conditional 잔차의 자연스러운 모형.
4.7 MA(1) 의 임상 시나리오
| 상황 | 이유 |
|---|---|
| 단기 측정 오차 | 측정 도구의 기억 효과 (calibration drift 가 한 시점만) |
| 일별 측정의 잔차 | 어제 결과가 오늘 측정자 판단에 영향 (연구자 기억) |
| 약물 carryover (반감기 짧음) | 약물 효과가 1 시점만 지속 |
| 잔차 ACF 가 lag-1 만 유의 | PACF 패턴 진단 |
5 AR(1) vs MA(1) 한 페이지 비교
| 항목 | AR(1) | MA(1) |
|---|---|---|
| 점화식 | \(\varepsilon_j = \rho\varepsilon_{j-1} + \xi_j\) | \(\varepsilon_j = \xi_j - \theta\xi_{j-1}\) |
| 모수 | \(\sigma^2, \rho\) | \(\sigma^2, \theta\) |
| lag-1 상관 | \(\rho\) | \(-\theta/(1+\theta^2)\) |
| lag-\(k\) 상관 (\(k \geq 2\)) | \(\rho^k\) (지수 감쇠) | 0 (hard cutoff) |
| 시점별 분산 | \(\sigma^2/(1-\rho^2)\) | \((1+\theta^2)\sigma^2\) |
| 정상성 조건 | \(|\rho| < 1\) | 항상 정상 |
| 가역성 조건 | 항상 | \(|\theta| < 1\) |
| dual 관계 | = 무한 MA | = 무한 AR |
| ACF 패턴 | 지수 감쇠 | lag-1 만 |
| PACF 패턴 | lag-1 만 | 지수 감쇠 |
| CPM 에 등장 | O (§ 6.2.2) | X (marginal 에 부적합) |
| 적합 시나리오 | 점진 감쇠, 단기 momentum | hard cutoff, 측정 오차 |
ACF 와 PACF 패턴이 AR(1) 과 MA(1) 사이에서 정확히 swap 된다.
- AR(1): ACF 지수 감쇠, PACF lag-1 만.
- MA(1): ACF lag-1 만, PACF 지수 감쇠.
이것이 시계열 분석의 ACF/PACF 진단 절차의 기반. 잔차의 두 도표를 함께 보고 어느 구조가 맞는지 판별.
6 코드 예시
6.1 Step 1: AR(1)·MA(1) 행렬 직접 구성
import numpy as np
def ar1_omega(rho: float, n: int, parameterization: str = "timeseries") -> np.ndarray:
"""AR(1) 자기상관 행렬
parameterization:
"timeseries" — 식 (7.13) 표기, 분산 = 1/(1-rho^2)
"biostat" — 식 (6.4) 표기, 분산 = 1
"""
idx = np.arange(n)
lag = np.abs(idx[:, None] - idx[None, :])
base = rho ** lag
if parameterization == "timeseries":
return base / (1 - rho ** 2)
return base
def ma1_omega(theta: float, n: int) -> np.ndarray:
"""MA(1) 자기상관 행렬
대각 (1+theta^2), lag-1 -theta, 그 외 0.
"""
out = np.zeros((n, n))
np.fill_diagonal(out, 1 + theta ** 2)
for i in range(n - 1):
out[i, i + 1] = -theta
out[i + 1, i] = -theta
return out
# 비교 예시
n = 6
print("AR(1), rho=0.5 (시계열 표기):")
print(ar1_omega(0.5, n).round(3))
print("\nAR(1), rho=0.5 (생물통계 표기):")
print(ar1_omega(0.5, n, "biostat").round(3))
print("\nMA(1), theta=0.5:")
print(ma1_omega(0.5, n).round(3))- AR(1) 시계열 표기 대각: \(1/(1-0.25) = 1.333\)
- AR(1) 생물통계 표기 대각: \(1\) (정확히)
- 두 표기는 스칼라 (\(1/(1-\rho^2)\)) 만큼 차이 — 모형 등가
- MA(1) 대각: \(1 + 0.25 = 1.25\)
- MA(1) lag-2 비대각: 정확히 0 (hard cutoff)
6.2 Step 2: 잔차 ACF·PACF 진단 (Python)
import numpy as np
import pandas as pd
import statsmodels.api as sm
from statsmodels.tsa.stattools import acf, pacf
# 합성 종단 데이터: 표준 MRM 가정
np.random.seed(2026)
n_subj, n_time = 60, 8
y = np.random.normal(0, 1, (n_subj, n_time)).cumsum(axis=1) # 누적 → AR-like
# 표준 MRM 적합 (statsmodels)
df = pd.DataFrame({
"id": np.repeat(np.arange(n_subj), n_time),
"t": np.tile(np.arange(n_time), n_subj),
"y": y.flatten(),
})
import statsmodels.formula.api as smf
m = smf.mixedlm("y ~ t", data=df, groups=df["id"]).fit()
# 잔차 추출
residuals = m.resid
# ACF + PACF (각 피험자별 평균)
res_matrix = residuals.values.reshape(n_subj, n_time)
acf_avg = np.mean([acf(res_matrix[i], nlags=5) for i in range(n_subj)], axis=0)
pacf_avg = np.mean([pacf(res_matrix[i], nlags=5) for i in range(n_subj)], axis=0)
print(f"ACF (lag 0-5): {acf_avg.round(3)}")
print(f"PACF (lag 0-5): {pacf_avg.round(3)}")- ACF 가 매끄럽게 감쇠 + PACF 가 lag-1 만 유의 → AR(1) 가능성 높음.
- ACF 가 lag-1 만 유의 + PACF 가 매끄럽게 감쇠 → MA(1) 가능성 높음.
- 둘 다 복잡한 패턴 → ARMA(1,1) 또는 더 복잡한 구조.
6.3 Step 3: R nlme 로 AR(1)·MA(1) 적합
library(nlme)
# AR(1) 오차
fit_ar1 <- lme(y ~ Linear + SlopeChange,
random = ~ Linear | subject,
correlation = corAR1(form = ~ week | subject),
data = bock,
method = "ML")
# MA(1) 오차 — corARMA(p=0, q=1)
fit_ma1 <- lme(y ~ Linear + SlopeChange,
random = ~ Linear | subject,
correlation = corARMA(form = ~ week | subject, p = 0, q = 1),
data = bock,
method = "ML")
# 모수 추출
phi <- coef(fit_ar1$modelStruct$corStruct, unconstrained = FALSE)
cat("AR(1) rho_hat:", phi, "\n")
theta <- coef(fit_ma1$modelStruct$corStruct, unconstrained = FALSE)
cat("MA(1) theta_hat:", theta, "\n")
# AIC 비교 (nested 가 아니라 LR 부적절)
AIC(fit_ar1, fit_ma1)
# 잔차 ACF 진단
plot(ACF(fit_ar1, resType = "normalized"))
plot(ACF(fit_ma1, resType = "normalized"))corAR1=corARMA(p=1, q=0)(AR(1))corARMA(p=0, q=1)= MA(1)corARMA(p=1, q=1)= ARMA(1,1)
p 는 AR 차수, q 는 MA 차수. 명명이 헷갈리기 쉬우니 주의.
7 한계와 다음 단계
7.1 AR(1) 와 MA(1) 의 공통 한계
| 한계 | 의미 |
|---|---|
| 단일 모수 형태 강제 | \(\rho\) 또는 \(\theta\) 하나로 모든 lag 패턴 결정 |
| lag-1 의 hump 표현 못함 | 인접 시점 매우 강 + 빠른 감쇠 패턴 → ARMA(1,1) |
| 비단조 패턴 못함 | 주기적·복잡한 ACF → Toeplitz |
| 정상성 가정 | 분산 시점 변동 → NS-AR(1) |
7.2 § 7.2.3 ARMA(1,1) 로 결합
§ 7.2.3 ARMA(1,1) 는 두 구조를 결합한다.
\[ \varepsilon_j = \rho \varepsilon_{j-1} + \xi_j - \theta \xi_{j-1} \]
3 모수 (\(\sigma^2, \rho, \theta\)) 로 lag-1 hump + 후속 지수 감쇠 패턴 표현. AR(1) 와 MA(1) 둘 다 ARMA(1,1) 의 특수 경우 (\(\theta = 0\) 이면 AR(1), \(\rho = 0\) 이면 MA(1)).
8 핵심 정리
- AR(1) (\(q=2\)): \(\varepsilon_j = \rho\varepsilon_{j-1} + \xi_j\). 정상성 분산 \(\sigma^2/(1-\rho^2)\), lag-\(s\) 상관 \(\rho^s\) (지수 감쇠).
- AR(1) 표기 차이: 식 (7.13) 시계열 vs 식 (6.4) 생물통계, 관계 \(\sigma_{*}^{2} = \sigma^2/(1-\rho^2)\). 분석 결과 동일.
- AR(1) 무한 MA 표현: \(\varepsilon_j = \sum_{k=0}^{\infty} \rho^k \xi_{j-k}\) — 모든 과거 잡음의 등비 가중 합.
- AR(1) 진단: ACF 지수 감쇠 + PACF lag-1 만 유의 (마르코프 1단계 시그너처).
- MA(1) (\(q=2\)): \(\varepsilon_j = \xi_j - \theta\xi_{j-1}\). 분산 \((1+\theta^2)\sigma^2\), lag-1 상관 \(-\theta/(1+\theta^2)\), lag-2 이상 정확히 0.
- MA(1) 가역성: \(|\theta| < 1\) 일 때 무한 AR 표현. lag-1 상관 절대값 상한 0.5.
- MA(1) 진단: ACF lag-1 만 + PACF 지수 감쇠 (AR(1) 과 정확히 swap).
- MA(1) 가 CPM 에 없는 이유: marginal hard cutoff 비현실적. MRM-AC 의 conditional 잔차에서는 합리적 (랜덤 효과가 장기 의존 흡수 후 잔차에 단기만 남음).
- dual 관계: AR(1) = 무한 MA, MA(1) = 무한 AR. 자기상관 패턴 형태에 따라 절약 모형 선택.
- 다음 단계: lag-1 hump → ARMA(1,1), 비단조 → Toeplitz, 비정상 → NS-AR(1).
AR(1) 와 MA(1) 는 종단 데이터의 자기상관을 가장 절약적으로 표현하는 두 길이다. 같은 \(q=2\) 모수로 정반대의 lag 패턴 (지수 감쇠 vs hard cutoff) 을 만든다. ACF/PACF 패턴 진단이 두 구조 사이 선택의 기본 도구.
9 관련 주제
선행 지식
- Ch.7 Overview — MRM with AC errors — 5 구조 비교 + framework
- § 6.2.1-6.2.2 — CS·AR(1) (Ch.6) — CPM 표기의 AR(1)
- § 4.5 — MRM 추정론 — ML/REML 일반론
관련
- § 6.3 — 모형 선택 (CPM) — Ch.7 의 LR·AIC 절차와 공유
- § 7.2 통합 — 5 구조 — 모든 구조의 비교 overview
후속 주제
- § 7.2.3 ARMA(1,1) — AR(1)·MA(1) 결합 (07-1 통합 sub-post 참조)
- § 7.2.4 Toeplitz — lag 별 자유 (07-1 통합 sub-post 참조)
- § 7.2.5 NS-AR(1) — 비정상 (07-1 통합 sub-post 참조)
교재
- Hedeker, D. & Gibbons, R. D. (2006). Longitudinal Data Analysis, Wiley, Ch.7 §7.2.1-7.2.2 (pp. 116-119)
- Gottman, J. M. (1981). Time-Series Analysis: A Comprehensive Introduction for Social Scientists, Cambridge University Press — AR/MA dual 관계
- Box, G. E. P., Jenkins, G. M. & Reinsel, G. C. (1994). Time Series Analysis: Forecasting and Control (3rd ed.), Prentice-Hall — ACF/PACF 진단 표준
- Chi, E. M. & Reinsel, G. C. (1989). “Models for longitudinal data with random effects and AR(1) errors”, JASA 84, 452-459 — MRM-AR(1) 의 표준 reference