카테고리 없음

시계열 모델링 3회차

iron-min 2025. 11. 20. 17:24

1. 자기 상관함수(ACF)

⊙ 자기상관함수의 정의 : 시계열 데이터에서 현재의 값과 과거의 값 간의 상관관계를 나타내는 함수입니다. 시차(Lag) 라고 부릅니다.

목적 : 데이터가 시간에 따라 어떤 패턴을 가지고 있는지, 혹은 이전 데이터가 현재 데이터에 얼마나 영향을 미치는지 파악하기 위해 사용합니다.

 

해석

  • ACF = 1: 완벽한 양의 상관관계 (과거 값이 증가하면 현재 값도 비례해서 증가).
  • ACF = -1: 완벽한 음의 상관관계
  • ACF = 0: 상관관계가 없음

공식

 

원본 데이터

 

원본 데이터는 시간이 지날 수록 진폭이 커지면서 상승하는 추세와 계절성을 모두 가지고 있습니다.

 

ACF 계산 및 시각화

 

- 시차에 따른 자기 상관관계를 보여줍니다.

- 파란색 막대: 각 시차에서의 상관계수 값입니다.

- 파란색 음영: 통계적으로 유의미한 구간(신뢰구간 95%)을 의미합니다.

이 범위를 벗어난 막대는 통계적으로 유의미한 상관관계가 있다고 봅니다.

- 천천히 감소하는 패턴: 데이터에 강한 추세가 있음을 의미합니다.(오늘의 값은 어제의 값과 매우 비슷함)

- 물결치는 모양: 데이터에 계절성이 있음을 의미합니다.

 

2. 이동평균(Moving Average)

 

이동평균 : 일정기간 동안의 데이터 값을 계속해서 평균내어 추세를 파악하는 방법

⊙ 이동평균모델(MA) : 이전 시점들의 오차항들이 현재값에 미치는 영향을 선형 방정식으로 표현

더보기

이동평균 모델은 과거의 예측 오류가 누적되어 현재의 값에 영향을 줄 수 있는 패턴이 있다고 가정하고 전개하게 됩니다. 예컨데 과거의 데이터가 예측을 실패하면 누적되어 오차항에 내재될 것임으로 이를 모델링하여 보완하겠다는 의미입니다.

⊙ 공식

 

예를 들어, MA(1) 모형은 다음과 같이 현재 값이 상수와 가장 최근 시점의 오차항에 의해서만 결정됩니다.

 

 

2-1. 자기상관관계

 

자기상관관계는 현재 시점과 모든 과거 시점들 사이의 상관관계를 계산할 때, 중간 값들의 영향을 포함하여 상관관계를 구합니다.

 

자기상관관계함수(ACF): 각 시차(lag)에 대해 현재 값과 과거 값 사이의 상관관계를 계산

 

ACF 그래프 예시)

 

x축은 시차(Lag)를, y축은 자기상관계수를 나타내며, 각 시차에서 현재 값과 과거 값들 간의 상관관계를 보여줍니다. 파란 점선유의성 경계를 나타내며, 이 선을 넘는 값은 통계적으로 유의한 상관관계를 의미합니다.

  • 시차0은 자기 자신과의 상관계수로 1인 것을 볼 수 있습니다.
  • 시차1은 0.6으로 양의 상관관계를 가짐을 알 수 있습니다.
  • 시차2는 0.48정도로 여전히 유의미한 양의 상관관계를 볼 수 있습니다.
  • 시차3은 0.3의 상관관계가 존재합니다.
  • 시차4 이후로는 시차가 증가할수록 상관계수는 급격히 감소해 0에 근사하여 유의하지 않은 상관관계를 보입니다.

 

이 패턴을 통해, MA(q) 모델에서 q차수를 결정할 수 있습니다. 자기상관계수가 유의한 마지막 시차가 q차가 되며, 이 그래프에서는 시차 3까지 유의한 상관관계가 있으므로, MA(3) 모델이 적합합니다.

 

 

3. 자기회귀(Auto Regressive)

시계열은 이전 데이터가 현재 데이터에 영향을 미치는 경향을 보입니다. 이를 자기 상관성의 개념으로 설명합니다.

 

자기회귀과정 AR(p)

  p : 현재값에 영향을 미치는 과거 시점의 개수

예를 들어, ‘1차 자기회귀과정, AR(1)’의 경우 다음 수식처럼 현재 값이 상수와 바로 전 시점의 값, 그리고 백색소음(오차항)에 의해서만 결정됩니다.

 

 

3-1) 편자기상관관계

⊙ 편자기상관함수(PACF)는 지연이 증가함에 따라 상관관계가 어떻게 변화하는지를 보여주며, AR(p) 모형의 차수 p를 결정하는 데 사용.

⊙ 차수 p는 유의한 상관계수가 나타나는 마지막 시점을 의미

 

 

PACF 그래프 예시)

x축은 시차(Lag)를, y축은 편자기상관계수(PACF)를 나타내며, 각 시차에서 중간 값들의 영향을 제거한 상관관계를 보여줍니다. 파란 점선유의성 경계를 나타내며, 이 선을 넘는 값은 통계적으로 유의합니다.

 

  • 시차 1에서 상관계수는 약 0.8로, 매우 강한 양의 상관관계를 나타냅니다.
  • 시차 2에서 상관계수는 약 -0.25로 현재값과 음의 상관관계라는 점을 보여줍니다.
  • 시차 3 이후부터는 대부분의 상관계수가 0에 가까워져서 더 이상 유의한 상관관계가 없습니다.
더보기

AR(p) 모델의 차수는 유의한 상관계수가 있는 마지막 시차에서 결정됩니다. ✅

따라서, 유의한 상관관계가 있는 마지막 시차는 시차 2이며, 따라서 AR(2) 모델이 적절할 가능성이 높습니다.

모델 이동평균(MA) 자기회귀(AR)
표현 MA(q) AR(p)
가정 과거의 오차항(예측오차)가 현재의 데이터에 영향을 미친다. 과거의 데이터가 현재 데이터에 영향을 준다.
평가지표 자기상관함수(ACF) 부분 자기 상관함수(PACF)
설명 ACF는 현재 이전 시점의 값들의 총 상관관계를 나타냄 PACF는 중간에 있는 시점을 제외한 순수한 자기의 상관을 나타냄

 

 

4. ARMA

더보기

ARMA 모형은 자기회귀(AR)와 이동평균(MA) 모델을 결합한 방식으로, 현재값이 과거값과거 오차항에 모두 의존한다고 가정합니다.

  • ARMA(Autoregressive Moving Average) 모형은 자기회귀(AR) 모형과 이동평균(MA) 모형을 결합한 모형
  • ARMA 모형은 현재 값이 과거 값과 과거 오차항에 모두 영향을 받는다고 가정

 

from statsmodels.tsa.arima.model import ARIMA
model = ARIMA(data, order=(p, 0, q)) # 데이터에 ARMA(p, q) 모형 적용하기
model_fit = model.fit()
model_fit.summary() # 모델 출력