본문 바로가기
@ 통계 교양/통계 Tips

자기회귀모델 (Autoregressive model) 쉽게 이해하기

by bigpicture 2023. 11. 6.
반응형

자기회귀모델이 무엇인지 배워봅시다. 영어로는 Autoregressive model 입니다. Auto+regressive model 입니다. regressive model 은 회귀모델인데 auto 는 무슨 뜻일까요? 자동이라고 해석하면 의미가 이상해집니다. auto 에는 ‘스스로’라는 의미가 있습니다. 여기서 auto 는 스스로라는 뜻입니다. 

 

자귀회귀모델에는 회귀모델이라는 말이 들어 있습니다. 회귀모델가 뭔가 비슷해서 겠죠? 회귀모델은 독립변수들의 선형조합으로 종속변수를 예측합니다. 자기회귀모델에서는 다른 변수들이 아닌 자기자신으로 자기자신을 예측합니다. 이것이 어떻게 가능할까요? 자기 자신의 과거를 이용하면 가능합니다. 과거 값을 이용하여 특정 시점 t의 값을 에측하는 모델이 자기회귀모델입니다. 

 

자기회귀모델을 식으로 나타내면 아래와 같습니다. 

 

$y_{y}=c+\phi_{1}y_{t-1}+\varepsilon _{t}$

 

n차의 자기회귀모델은 아래와 같습니다. 

 

$y_{t}=c+\phi_{1}y_{t-1}+\phi_{2}y_{t-2}+\cdots+\phi_{n}y_{n-t}+\varepsilon _{t}$

 

다중회귀모델과 모양이 비슷합니다. $\varepsilon_{t}$ 은 $\varepsilon_{t} \sim N(0,1)$인 백색잡음입니다. 

 

파이썬으로 간단한 자기회귀모델을 만들어보면 아래와 같습니다. 1차 자귀회귀 모델이고 수식은 아래와 같습니다. 

 

$y_{t}=0.8y_{t-1}+0.8$

 

import numpy as np
import matplotlib.pyplot as plt

# AR(1) 모델 파라미터
phi = 0.8
num_samples = 100

# 초기값 설정
X = [0]
epsilon_list=[]

# AR(1) 모델 생성
for _ in range(1, num_samples):
    epsilon = np.random.normal(0, 1)  # 백색 잡음 생성
    X_t = phi * X[-1] + epsilon
    X.append(X_t)
    epsilon_list.append(epsilon)

# 결과 시각화
plt.plot(X, marker='o')
plt.title('AR(1) 모델의 예시')
plt.xlabel('시간')
plt.ylabel('숫자 값')
plt.show()

 

반응형

댓글