인하대학교 공학대학원(인공지능융합전공)/시계열 분석

8. 비정상 시계열을 위한 고급 예측 모형

복리 엔지니어 2026. 5. 29. 01:51
비정상 시계열을 위한 고급 예측 모형 — Chapter 4

비정상 시계열을 위한 고급 예측 모형

ARIMA 모형과 차분(Differencing)으로 트렌드·계절성 다루기

목차
  1. 비정상 시계열 모형화의 흐름
  2. 차분(Differencing) — 트렌드와 계절성 제거
  3. Dickey-Fuller 단위근 검정
  4. ARIMA(p,d,q) 트렌드 모형
  5. ARIMA(p,d,q)(P,D,Q)_S 계절 모형
  6. ACF·PACF로 차수 결정하기
  7. 잔차 독립성 검정 (Box-Ljung Test)
  8. 홀드아웃과 모형 선택
  9. 예측 시 주의사항

1. 비정상 시계열 모형화의 흐름

시계열 데이터에 트렌드나 계절성이 존재하면 단순 ARMA 모형을 바로 적용할 수 없습니다. Box-Jenkins 방법론은 비정상성(nonstationarity)을 먼저 제거한 뒤, 정상 잔차에 ARMA 모형을 적합시키는 순서를 따릅니다.

1
트렌드·계절성 진단
시계열 플롯, ACF, PACF를 통해 트렌드 및 계절 패턴 확인
2
적절한 성분 결정
결정론적(Deterministic) vs 확률론적(Stochastic) 접근 선택
3
잔차 획득 및 정상성 확인
트렌드·계절 성분 제거 후 잔차가 정상적인지 검토
4
ARMA 모형 적합
잔차 시계열에 ACF·PACF를 사용해 적절한 p, q 결정
5
모형 결합 및 예측
전체 성분을 통합하여 최종 예측 생성
6
잔차 독립성 검정
Box-Ljung Test 등으로 모형이 모든 패턴을 잡아냈는지 확인
핵심 포인트 ARMA 모형을 적합한 뒤 반드시 잔차의 독립성을 검정하세요. 잔차에 여전히 상관관계가 남아 있다면 차수(p, q)가 너무 작은 것입니다(underfitting).

2. 차분(Differencing) — 트렌드와 계절성 제거

Box-Jenkins 방법론에서 비정상성을 제거하는 확률론적(Stochastic) 방법은 차분(Differencing)입니다. 트렌드를 t에 대한 함수로 직접 넣는 결정론적 방법과 대비됩니다.

랜덤워크와 1차 차분

Random Walk
Y_t = Y_{t-1} + ε_t
Random Walk with Drift
Y_t = θ + Y_{t-1} + ε_t
1차 차분 (First Difference)
ΔY_t = Y_t − Y_{t−1} = ε_t
후진 연산자 표기 (Backshift Notation)
(1 − B)Y_t = ε_t
k차 차분
(1 − B)^k Y_t = ε_t
직관적 이해 1차 차분은 "이번 값 − 직전 값"입니다. 선형 트렌드가 있는 데이터에 1차 차분을 적용하면 기울기(slope) 값이 상수로 남아 수평선(horizontal line)이 됩니다. 2차 차분은 2차 트렌드(곡선)를 수평으로 만듭니다.

계절 차분 (Seasonal Differencing)

월별 데이터처럼 주기 S가 있는 경우, 현재 값을 S시점 이전 값의 함수로 표현합니다.

계절 차분 (Order S)
Δ_S Y_t = Y_t − Y_{t−S} = ε_t
후진 연산자 표기
(1 − B^S)Y_t = ε_t
k차 계절 차분
(1 − B^S)^k Y_t = ε_t
📅 월별 데이터 (S=12)
이번 1월 = 작년 1월의 함수. 12개월 전과의 차이를 사용. 12개의 정현파(sinusoid)를 수평선으로 만들어 줌.
📅 일별 데이터 (S=7)
이번 일요일 = 지난 일요일의 함수. 7일 전과의 차이를 사용.
📅 분기별 데이터 (S=4)
이번 1분기 = 작년 1분기의 함수. 4분기 전과의 차이를 사용.

트렌드 + 계절성 동시 차분

트렌드(1차) + 계절(S) 차분 결합
(1 − B^S)(1 − B)Y_t = ε_t
다항 전개 후
(1 − B − B^S + B^{S+1})Y_t = ε_t
풀어쓰면
Y_t − Y_{t−1} − Y_{t−S} + Y_{t−S−1} = ε_t
예측 방정식 (Forecast Equation)
Ŷ_t = Y_{t−1} + Y_{t−S} − Y_{t−S−1}
샘플링 주의사항 계절성이 있는 데이터(예: S=12)를 서브샘플링할 때, 12와 공약수가 있는 간격(3, 4, 6, 12)으로 샘플링하면 계절성을 감지할 수 없습니다. 12와 서로소(coprime)인 간격(예: 5, 7, 11)을 사용해야 계절 패턴을 포착할 수 있습니다.

3. Dickey-Fuller 단위근 검정

차분이 필요한지 통계적으로 판단하려면 Dickey-Fuller(ADF) 단위근 검정을 사용합니다.

가설 설정 H₀ (귀무가설): 단위근이 있다 (φ = 1) → 차분이 필요
Ha (대립가설): 정상 AR 프로세스 (|φ| < 1) → 차분 불필요
검정 종류모형 형태사용 상황
Zero Mean Y_t = φY_{t−1} + ε_t 평균이 0인 경우
Single Mean Y_t − μ = φ(Y_{t−1} − μ) + ε_t 평균이 0이 아닌 경우 (실무에서 가장 많이 사용)
Trend Y_t − β₀ − β₁t = φ(Y_{t−1} − …) + ε_t 결정론적 트렌드가 있는 경우

Augmented Dickey-Fuller (ADF) 검정

기본 DF 검정에 AR 항을 추가한 확장 버전입니다. lag 0은 기본 DF 검정과 동일하며, lag 1은 AR(2) 모형을, lag k는 AR(k+1) 모형을 고려합니다.

검정 통계량설명권장 여부
Rho (ρ) 회귀계수 기반 검정 (정규화 편향 검정) lag 1에서 Tau보다 검정력 우수
Tau (τ) Studentized 검정 (t-통계량 유사) lag 2 이상에서 권장
F 전체 모형 F 검정 검정력 낮아 거의 권장 안 함
p-value 해석 (핵심) p-value > 0.05 → 귀무가설 기각 실패 → 단위근 있음 → 차분(Differencing) 필요
p-value < 0.05 → 귀무가설 기각 → 단위근 없음 → 차분 불필요

PROC ARIMA 코드 예시

단위근 검정 (비계절)
proc arima data=mydata;
identify var=Y nlags=12
stationarity=(adf=(0 1 2 3 4 5));
run;
계절 단위근 검정 (월별, S=12)
proc arima data=mydata;
identify var=Y nlags=12
stationarity=(adf=(0 1 2 3 4 5) dlag=12);
run;

p-value가 0.05 근처에서 나왔을 때 칼같이 기각시킬 필요는 없습니다. 0.051이 나왔다고 0.049와 본질적으로 다르지 않아요. 한 0.1 이상이면 괜찮고, 0.02~0.03 밑으로 떨어지면 더 확실한 거죠. 경계선에 있을 때는 연구자의 판단을 발휘하세요.

— 교수님 강의 중

4. ARIMA(p,d,q) 트렌드 모형

ARIMA는 AutoRegressive Integrated Moving Average의 약자입니다. 차분(Difference)의 역연산이 적분(Integration)이기 때문에, 차분된 시계열의 ARMA 모형을 원래 스케일의 예측값으로 변환하는 과정이 포함됩니다.

ARIMA(p,d,q) 일반식
(1 − φ₁B − ··· − φ_p B^p)(1 − B)^d Y_t = θ₀ + (1 − θ₁B − ··· − θ_q B^q)ε_t
예시: ARIMA(2,1,1)
(1 − φ₁B − φ₂B²)(1 − B)Y_t = θ₀ + (1 − θ₁B)ε_t
Z_t = Y_t − Y_{t−1} 로 치환하면
Z_t − φ₁Z_{t−1} − φ₂Z_{t−2} = θ₀ + ε_t − θ₁ε_{t−1}   ← ARMA(2,1) 성분
Z_t = Y_t − Y_{t−1}                            ← 차분 성분
d = 0
차분 없음. 이미 정상 시계열 (ARMA 모형).
d = 1
선형 트렌드와 유사 (동일하지는 않음). 1차 차분 적용.
d = 2
2차(Quadratic) 트렌드와 유사. d > 2는 실무에서 매우 드묾.
Box-Jenkins 예측 방법: 유한 기억 vs 무한 기억 PROC ARIMA는 최대우도 추정 + 유한 기억 예측(Finite Memory Forecasting)을 사용합니다. 무한 기억 예측은 스프레드시트에서 구현하기 쉽고, 유한 기억 예측은 행렬 연산이 필요하나 긴 시계열에서 두 방법의 결과는 거의 동일합니다.
ACF가 매우 천천히 감소한다면? 단위근이 있는 데이터의 ACF는 lag가 늘어도 값이 아주 천천히 줄어듭니다 (exponential decay가 아닌 거의 직선). 이런 패턴이 보이면 먼저 단위근 검정을 수행하고, 차분이 필요한지 확인하세요.

5. ARIMA(p,d,q)(P,D,Q)_S 계절 모형

트렌드와 계절성이 모두 있는 데이터에는 비계절 차수(p,d,q)와 계절 차수(P,D,Q)를 함께 지정합니다.

기호의미예시 (월별)
p비계절 AR 차수직전 1~p 시점 사용
d비계절 차분 차수보통 0 또는 1
q비계절 MA 차수직전 1~q 오차항 사용
P계절 AR 차수12, 24, 36… 시점 사용
D계절 차분 차수보통 0 또는 1
Q계절 MA 차수12, 24… 시점 오차항 사용
S계절 주기 길이월별=12, 분기=4
ARIMA(0,0,0)(1,1,1)₁₂ — 순수 계절 모형
(1 − Φ₁B¹²)(1 − B¹²)Y_t = θ₀ + (1 − Θ₁B¹²)ε_t
ARIMA(1,1,1)(1,1,1)₁₂ — 트렌드 + 계절 결합 모형
(1−φ₁B)(1−Φ₁B¹²)(1−B¹²)(1−B)Y_t = θ₀ + (1−θ₁B)(1−Θ₁B¹²)ε_t
여기서 Z_t = Y_t − Y_{t−1} − Y_{t−12} + Y_{t−13} 이므로
Z_t − φ₁Z_{t−1} − Φ₁Z_{t−12} + φ₁Φ₁Z_{t−13}
= θ₀ + ε_t − θ₁ε_{t−1} + θ₁Θ₁ε_{t−13}
계절성 진단 — ACF에서 이런 패턴이 보이면? 계절 주기(예: lag=12)에서 뚜렷한 스파이크가 보이면 계절성 있음을 시사합니다. 차분 전후 ACF를 비교해서 lag=12 스파이크가 사라지면 계절 차분(D=1)이 효과적이었다는 증거입니다.
PROC ARIMA 계절 모형 코드 예시
proc arima data=mydata;
identify var=Y(1,12); /* 1차 + 12차 계절 차분 */
estimate p=(1) q=(1) P=(1) Q=(1) s=12;
forecast out=result lead=24;
run;

6. ACF·PACF로 차수 결정하기

차분으로 트렌드·계절성을 제거한 후, 잔차 시계열에 ACF와 PACF를 적용해 ARMA의 p, q를 결정합니다.

패턴ACFPACF시사 모형
AR(p)지수적 감소 (또는 진동 감소)p번째 lag 이후 급절단AR(p)
AR(2)지수적 감소 (진동 포함)2번째까지 피크, 이후 0AR(2)
MA(q)q번째 lag 이후 급절단지수적 감소 (또는 진동)MA(q)
ARMA(p,q)지수적 감소 (q+1 이후)지수적 감소 (p+1 이후)ARMA(p,q)

AR 항의 첫 번째 ACF 값이 0.5보다 크게 나오는 경우가 많습니다. MA 항만 있을 경우 0.5보다 작아요. 그래서 첫 번째 lag 값이 크게 나오면 AR 성분이 있을 가능성이 높다는 노하우가 있습니다. 경험상 AR 차수가 5를 넘어가면 MA 항이 있는 건 아닌지 의심해 보세요. AR이 길어질수록 MA로 더 간결하게 표현할 수 있거든요.

— 교수님 강의 중
ACF vs PACF 역할 정리 ACF → MA(q)의 q 결정에 활용 (절단점까지의 lag 수 = q)
PACF → AR(p)의 p 결정에 활용 (절단점까지의 lag 수 = p)
신뢰 구간(점선) 안에 완전히 들어오는 지점 이후는 0으로 간주
PQ 후보 범위를 잡은 뒤 모든 조합을 검토하고 잔차 독립성으로 후보를 좁힘
자동 모형 선택 (R/SAS) R이나 SAS의 auto.arima 등 자동 차수 선택 기능도 있습니다. 하지만 결과가 마음에 들지 않을 수 있으며, 여러 변형이 존재하기 때문에 직접 ACF·PACF를 보고 판단하는 능력이 중요합니다. AI 에이전트를 구성한다면 이 진단 과정을 자동화하는 방향이 유망합니다.

7. 잔차 독립성 검정 (Box-Ljung Test)

모형을 적합한 뒤에는 반드시 잔차가 독립(White Noise)인지 확인해야 합니다. 이를 위해 Box-Ljung Test(= Box-Pierce Test의 개선 버전)를 사용합니다.

귀무가설 / 대립가설
H₀ : 잔차들이 서로 독립 (uncorrelated) → 모형 OK
Ha : 잔차들 사이에 상관관계 있음 → 차수 재검토
판정 기준
p-value > 0.05 → H₀ 기각 실패 → 잔차 독립, 분석 종료 가능
p-value < 0.05 → H₀ 기각 → 잔차에 패턴 남음 → AR 또는 MA 차수 추가
주의: 필요조건이지 충분조건이 아닙니다 White Noise 검정 통과(p > 0.05)는 모형의 필요조건일 뿐, 좋은 모형이라는 충분조건이 아닙니다. 차수를 지나치게 많이 넣어도(overfitting) 잔차는 독립으로 나올 수 있습니다. AIC, BIC 등의 정보기준도 반드시 함께 고려하세요.
실무 팁 — lag 범위 선택 월별 자료: lag = 12 또는 24 (한 시즌~두 시즌)을 확인합니다.
데이터셋이 작고(예: 3년치) lag가 길면 검정력이 낮아집니다. 이럴 때는 유연하게 판단하세요.
여러 lag에서 전반적으로 p-value가 충분히 크면 OK로 볼 수 있습니다.

p-value가 아주 작게 나오면(0.001 수준) 독립이 아니라는 확실한 증거입니다. 반대로 0.5가 넘으면 충분히 안전하죠. 0.05 근처라면 어지간하면 귀무가설을 기각하기 싫다는 심리적 기준이 있는데, 그냥 본인 판단에 맡기면 됩니다. 이 검정의 p-value는 점근적(asymptotic) 분포를 사용하기 때문에 n이 충분히 커야 정확합니다.

— 교수님 강의 중

8. 홀드아웃과 모형 선택

시계열에서는 일반적인 랜덤 분할이 불가능합니다. 시간 순서를 유지해야 하기 때문입니다. 대신 마지막 1년(한 시즌)을 홀드아웃 셋으로 사용합니다.

훈련 셋 (Training Set)
전체 데이터에서 마지막 1년을 제외한 부분. 모형 파라미터 추정에 사용.
홀드아웃 셋 (Holdout Set)
마지막 1년 (최소 한 시즌 전체). 모형의 예측 성능을 평가하는 테스트 셋.

계절성이 있는 데이터는 최소 한 시즌(봄·여름·가을·겨울 모두)을 검증 기간으로 잡아야 합니다. 특별히 안 맞는 계절이 있을 수 있으니까요. 마치 결혼 전에 사계절은 지나봐야 안다는 말처럼, 데이터도 한 사이클 전체를 보는 게 맞습니다.

— 교수님 강의 중

모형 선택 우선순위

1
잔차 독립성 검정 통과 여부 (필수)
Box-Ljung Test에서 p > 0.05가 되지 않으면 후보에서 제외. 잔차에 패턴이 남아 있다는 것은 underfitting의 증거.
2
정보기준 (AIC / BIC)
데이터가 충분할 때 사용. 낮을수록 좋은 모형. 과적합 페널티가 포함되어 있어 차수 선택에 유용.
3
홀드아웃 예측 성능
AIC가 싫다면 홀드아웃(마지막 1년)을 빼두고 훈련 후 예측 오차(RMSE, MAE 등)로 최종 비교.

9. 예측 시 주의사항

ARMA 모형의 장기 예측은 평균으로 수렴

정상 ARMA 프로세스는 충분히 긴 기간 예측 시 결국 과거 평균으로 수렴(flat)합니다. 예측값이 수평선으로 나온다면 정상 ARMA 모형임을 시사합니다. 반면 트렌드나 계절성이 포함된 모형은 예측값이 계속 증가하거나 패턴을 유지하며, 신뢰 구간이 시간이 지남에 따라 점점 넓어집니다.

데이터 범위 밖 예측 주의 데이터 범위를 넘어가는 예측은 신뢰 구간이 급격히 넓어집니다. 시계열은 불가피하게 미래를 예측하지만, 장기 예측일수록 불확실성이 크다는 점을 항상 인식해야 합니다. 경험상 데이터 길이의 1/4 이상 예측하는 것은 신중해야 합니다.
📊 표준오차(신뢰구간) 항상 확인
예측값만 보지 말고 신뢰 구간을 반드시 함께 확인하세요. 비상식적으로 넓은 구간이라면 예측 자체를 하지 않는 편이 낫습니다.
📊 잔차 분포 점검
파라미터 추정치뿐 아니라 표준오차도 중요합니다. 잔차의 분포와 이분산성도 확인하세요.
📊 이벤트(쇼크) 처리
9/11, 금융위기, 코로나19 등 외부 충격이 있을 때 특별 처리(intervention analysis)가 필요합니다.

코스피가 내년에 얼마가 될까요? "천에서 만 사이 아니겠어요?"라고 답하면 예측이라고 할 수 없죠. 신뢰 구간이 너무 넓으면 그게 현실입니다. 통계학자로서 신뢰 구간을 임의로 좁힐 수는 없습니다. 먼 미래일수록 구간이 넓어지는 것이 정직한 예측이에요. 반면 한 달 후 예측처럼 구간이 좁으면 훨씬 의미 있는 정보가 됩니다.

— 교수님 강의 중

Chapter 4 핵심 요약

  • 트렌드·계절성 → 차분(Differencing)으로 제거
  • 차분 필요 여부 → Dickey-Fuller 단위근 검정
  • 비계절 모형: ARIMA(p,d,q)
  • 계절 포함: ARIMA(p,d,q)(P,D,Q)_S
  • ACF → MA(q) 결정 / PACF → AR(p) 결정
  • 잔차 독립성 → Box-Ljung Test 필수
  • 홀드아웃 = 마지막 한 시즌 (최소 1년)
  • 장기 예측일수록 신뢰 구간 넓어짐 주의
시계열분석 ARIMA 차분 단위근검정 Box-Jenkins Dickey-Fuller ACF PACF 계절성 비정상시계열 Box-Ljung 예측