프로그램/데이터마이닝

R - 시계열 단순 예측 모형

네오류이 2021. 1. 10. 13:07
728x90
반응형

R을 이용한 time series forcasting 을 간단하게 구현해서

초보자가 쉽게 개념을 이해기가 쉬울 것 같습니다.

 

출처 : http://ssangtip.tistory.com/entry/R-Arima-%EB%AA%A8%ED%98%95

 

 

안녕하세요.

구들짱입니다.

 

오늘은 R을 이용한 시계열 분석에 대해서 간략히 공유 하려 합니다.

예제는 R에 내장외더 있는 mdeaths(영국내 폐질환 월별 사망자수) 라는 샘플데이터를 사용 하겠습니다.

 

mdeaths: Monthly Deaths from Lung Diseases in the UK (help에서 확인 가능합니다.)

> mdeaths

      Jan  Feb  Mar  Apr  May  Jun  Jul  Aug  Sep  Oct  Nov  Dec

1974 2134 1863 1877 1877 1492 1249 1280 1131 1209 1492 1621 1846

1975 2103 2137 2153 1833 1403 1288 1186 1133 1053 1347 1545 2066

1976 2020 2750 2283 1479 1189 1160 1113  970  999 1208 1467 2059

1977 2240 1634 1722 1801 1246 1162 1087 1013  959 1179 1229 1655

1978 2019 2284 1942 1423 1340 1187 1098 1004  970 1140 1110 1812

1979 2263 1820 1846 1531 1215 1075 1056  975  940 1081 1294 1341 

 

위 내용을 통해서 1980을 예측 하는 분석입니다.

 

#먼저 아래의 forecast 패키지가 필요합니다.

install.packages("forecast")

library(forecast)

 

#arima 모형을 통한 적용이 됩니다.

fit <- auto.arima(mdeaths)

 

> fit

Series: mdeaths 

ARIMA(0,0,1)(2,0,0)[12] with non-zero mean 

 

Coefficients:

         ma1    sar1    sar2  intercept

      0.5674  0.2808  0.5521  1496.3316

s.e.  0.1045  0.0928  0.1006   110.5024

 

sigma^2 estimated as 37690:  log likelihood=-489.05

AIC=988.11   AICc=989.02   BIC=999.49 

 

 

#결과물 Plot 출력

plot( forecast(fit))

 

# 신뢰 구간을 변경하고 싶다면 아래와 같이 사용 하시면 됩니다.

forecast(fit, level=c(80, 95), h=3)

728x90
반응형