§ 7.2.1-7.2.2 — AR(1) 과 MA(1) 자기상관 오차 깊이

1차 자기회귀 vs 1차 이동평균 · 정상성 유도 · PACF 진단 · CPM 에 MA(1) 가 없는 이유

Hedeker & Gibbons (2006) Ch.7 §7.2.1 (AR(1)) 와 §7.2.2 (MA(1)) 의 자세한 풀이. MRM 의 자기상관 오차로 가장 자주 쓰이는 두 절약 구조를 비교 학습 단위로 묶는다. AR(1) 의 정상성 분산 유도 (식 7.10), 식 (7.13) 의 시계열 표기와 Ch.6 § 6.2.2 식 (6.4) 의 생물통계 표기 사이 정확한 관계, 부분자기상관 (PACF) 으로 AR(1) 차수 진단, MA(1) 의 hard cutoff 형태와 AR(1) 의 dual 관계 (Gottman 1981 의 무한 AR/MA 표현), MA(1) 가 CPM (Ch.6) 에는 없고 MRM-AC (Ch.7) 에만 등장하는 이유 (marginal vs conditional) 까지 정리한다.

Statistics
저자

Kwangmin Kim

공개

2026년 04월 30일

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)

두 구조를 함께 다룰 이유:

  1. 둘 다 \(q = 2\) — 가장 절약적인 두 자기상관 구조.
  2. 상호 dual 관계 (Gottman 1981) — AR(1) = 무한 MA, MA(1) = 무한 AR. 한쪽으로 표현 못 하는 패턴이 다른 쪽으로는 가능.
  3. 상관 형태가 정반대 — AR(1) 은 lag 따라 점진 감쇠, MA(1) 은 lag-1 후 즉시 0.
  4. 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

MRM with AC errors

랜덤 효과 + 자기상관 결합 모형:

\[ 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 정의

AR(1) 점화식 (식 7.7)

\[ \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.9)

식 (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} \]

직관 — 왜 분산이 \(\sigma^2 / (1-\rho^2)\) 인가

\(\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)

lag-1 공분산 유도 (식 7.11)

\[ \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} \]

상관 행렬 — lag 의 지수 함수

식 (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)

AR(1) 행렬 (시계열 표기)

\[ \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

부분자기상관 함수 (Partial Autocorrelation Function, PACF)

표준 ACF (autocorrelation function) 는 lag-\(s\) 의 직접 + 간접 모든 경로 효과를 측정. PACF 는 중간 lag 들의 효과를 통제 한 lag-\(s\) 의 직접 효과만.

AR(1) 의 PACF 시그너처:

  • lag 1: 유의 (값 ≈ \(\rho\))
  • lag 2 이상: 모두 0 (또는 매우 작음)

이는 AR(1) 의 마르코프 성질의 PACF 표현 — 어제만 알면 미래 충분 정보, 그제는 추가 정보 없음.

AR(1) 진단 절차
  1. 표준 MRM 적합 후 잔차 추출.
  2. 잔차 ACF + PACF 도표:
    • ACF: 점진 감쇠 (지수 형태)
    • PACF: lag 1 만 유의, 그 이상 0
  3. 이 패턴이면 AR(1) 적합 후보.

PACF 에서 lag 2, 3 도 유의하게 나오면 AR(2), AR(3) 또는 ARMA 필요.

3.7 \(\hat\rho\) 의 임상 의미

종단 임상 데이터의 흔한 \(\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) 의 한계

강한 가정 4 가지
  1. 함수 형태 강제 — 상관이 lag 의 지수 함수. 다른 곡선 모양이면 부적합.
  2. 등간격 가정\(\rho^{|j-j'|}\) 의 거듭제곱이 정수 lag 만 의미. 불등간격 시 NS-AR(1) 또는 연속 시간 AR.
  3. 정상성 — 분산이 시점 무관. fan-out 패턴 (시점 후반 분산 증가) 은 NS-AR(1) 필요.
  4. lag-1 의 hump 표현 못함 — 인접 시점에 매우 강한 상관 + 그 이후 빠른 감쇠 패턴은 ARMA(1,1) 필요.

이 한계가 § 7.2.3 ARMA(1,1)§ 7.2.4 Toeplitz 같은 더 유연한 구조의 동기다.

4 § 7.2.2 — MA(1) 이동평균 오차

4.1 정의

MA(1) 점화식 (식 7.16)

\[ \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 분산-공분산 행렬

MA(1) 행렬

\[ \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 분산·공분산 유도

MA(1) 분산 유도

\(\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\) 의 부호:

  • \(\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 관계

Gottman (1981) — 무한 MA / 무한 AR

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” 표현.

실용적 함의 — 절약성 trade-off

두 구조가 무한히 변환 가능하지만, 유한 모수 모형으로 표현할 때 절약성이 다르다.

  • 데이터의 자기상관 패턴이 점진 감쇠형 → 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

Hedeker 의 핵심 관찰 (§ 7.2.2 본문)

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 패턴 — 진단의 핵심

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"))
R 의 corARMA 명명 주의
  • 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 핵심 정리

한 페이지 요약
  1. AR(1) (\(q=2\)): \(\varepsilon_j = \rho\varepsilon_{j-1} + \xi_j\). 정상성 분산 \(\sigma^2/(1-\rho^2)\), lag-\(s\) 상관 \(\rho^s\) (지수 감쇠).
  2. AR(1) 표기 차이: 식 (7.13) 시계열 vs 식 (6.4) 생물통계, 관계 \(\sigma_{*}^{2} = \sigma^2/(1-\rho^2)\). 분석 결과 동일.
  3. AR(1) 무한 MA 표현: \(\varepsilon_j = \sum_{k=0}^{\infty} \rho^k \xi_{j-k}\) — 모든 과거 잡음의 등비 가중 합.
  4. AR(1) 진단: ACF 지수 감쇠 + PACF lag-1 만 유의 (마르코프 1단계 시그너처).
  5. 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.
  6. MA(1) 가역성: \(|\theta| < 1\) 일 때 무한 AR 표현. lag-1 상관 절대값 상한 0.5.
  7. MA(1) 진단: ACF lag-1 만 + PACF 지수 감쇠 (AR(1) 과 정확히 swap).
  8. MA(1) 가 CPM 에 없는 이유: marginal hard cutoff 비현실적. MRM-AC 의 conditional 잔차에서는 합리적 (랜덤 효과가 장기 의존 흡수 후 잔차에 단기만 남음).
  9. dual 관계: AR(1) = 무한 MA, MA(1) = 무한 AR. 자기상관 패턴 형태에 따라 절약 모형 선택.
  10. 다음 단계: lag-1 hump → ARMA(1,1), 비단조 → Toeplitz, 비정상 → NS-AR(1).

AR(1) 와 MA(1) 는 종단 데이터의 자기상관을 가장 절약적으로 표현하는 두 길이다. 같은 \(q=2\) 모수로 정반대의 lag 패턴 (지수 감쇠 vs hard cutoff) 을 만든다. ACF/PACF 패턴 진단이 두 구조 사이 선택의 기본 도구.

9 관련 주제

선행 지식

관련

후속 주제

교재

  • 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

Subscribe

Enjoy this blog? Get notified of new posts by email: