6. 무한차수 이동평균 모형
1. 정의와 시계열 안정성 만족여부
에르고딕성
library(readxl)
library(forecast)
library(ggplot2)
# 1. 데이터 불러오기
data <- read_excel("d:/mydata/시계열용.xlsx")
# 2. 2000~2019년까지의 데이터 필터링
data_sub <- subset(data, Time >= 2000 & Time <= 2019)
# 3. WRC+를 시계열 데이터로 변환 (2000년 시작, 연간 주기)
wrc_ts <- ts(data_sub$`wRC+`, start = 2000, frequency = 1)
# 4. MA(7) 모형 적합
ma_model <- Arima(wrc_ts, order = c(0, 0, 7), include.mean = TRUE)
# 5. 2030년까지 예측 (2020~2030 → 11년)
future_forecast <- forecast(ma_model, h = 11)
# 6. 시각화
autoplot(future_forecast) +
ggtitle("WRC+ Forecast (2000~2019 data, MA(7) model to 2030)") +
xlab("Year") +
ylab("WRC+") +
theme_minimal()
# MA(7) 모형 적합
ma_model <- Arima(wrc_ts, order = c(0, 0, 7), include.mean = TRUE)
# 베타(= MA 계수) 및 추정값 출력
summary(ma_model)
# 또는 단순히 계수만 확인
coef(ma_model)
# 각 계수의 표준오차 확인
sqrt(diag(vcov(ma_model)))
AIC(ma_model); BIC(ma_model)
checkresiduals(ma_model)
Box.test(residuals(ma_model), lag=10, type="Ljung-Box")
library(tseries) # adf.test
library(urca) # ur.kpss
# ADF Test: 귀무가설 = 단위근 존재 (비정상)
adf_result <- adf.test(wrc_ts)
print(adf_result)
# KPSS Test: 귀무가설 = 정상성 만족
kpss_result <- ur.kpss(wrc_ts, type = "mu") # type = "mu": level stationary
summary(kpss_result)