library(tseries)
library(forecast)
library(TTR)
king<-scan("http://robjhyndman.com/tsdldata/misc/kings.dat", skip=3)
king
# ts = time series = 시계열
# ts(데이터) = 시계열 객체 생성하기
# start=첫 번째 관찰 타임; end=마지막 관찰 타임; frequency=세부적인 관찰 주기
king.ts<-ts(king)
# plot.ts(시계열 데이터) : 시계열 데이터를 그래프로 표현
plot.ts(king.ts)
# 3년마다 평균을 내서 그래프를 부드럽게 표현
# SMA() : 지난 n 회의 관측치에 대한 시계열의 산술 평균을 계산
king.sma3<-SMA(king.ts, n=3)
plot.ts(king.sma3)
# 8년마다 평균을 내서 그래프를 부드럽게 표현
king.sma8<-SMA(king.ts, n=8)
plot.ts(king.sma8)
# ARIMA모델
# 1차 차분(현시점자료-전시전자료)
king.ff1<-diff(king.ts, differences=1)
plot.ts(king.ff1)
# ACF와 PACF를 통해 적합하 ARIMA모델을 결정
acf(king.ff1, lag.max=20)
acf(king.ff1, lag.max=20, plot=F)
pacf(king.ff1, lag.max=20)
pacf(king.ff1, lag.max=20, plot=F)
# auto.arima() : 자동으로 적합한 arima모델을 찾아줌
auto.arima(king)
king.arima<-arima(king.ts, order=c(0,1,1))
king.arima
# forecast() : 미래 예측
# 책에는 forecast.Arima()로 나오는데, 그건 작동이 안 됨
king.forecasts<-forecast(king.arima, h=5)
king.forecasts
plot(king.forecasts)
'programing > R studio' 카테고리의 다른 글
주성분분석 사례 (0) | 2018.07.29 |
---|---|
계량적MDS와 비계량적MDS 예시 (0) | 2018.07.29 |
회귀분석 - lm (0) | 2018.07.02 |
기하분포 - dgeom (0) | 2018.07.02 |
ggplot2 - scale_x_discrete, scale_y_discrete - x, y값 순서 정렬 (0) | 2018.06.29 |