ARIMA 모델을 배우고 적용하려고 노력했습니다. 나는 일 변량 상자 -Jenkins 모델을 사용한 Pankratz- 예측 및 개념에 의해 ARIMA에 대한 훌륭한 텍스트를 읽었습니다 . 본문에서 저자는 특히 ARIMA 모델을 선택할 때 parsimony의 원칙을 강조합니다.
나는 R 패키지 예측auto.arima()
에서 기능을 가지고 놀기 시작했다 . 다음은 내가 한 일이며 ARIMA를 시뮬레이션 한 다음 적용했습니다 . 아래는 2 가지 예입니다. 두 예 모두에서 볼 수 있듯이 많은 사람들이 비 유례 적이라고 생각하는 모델을 명확하게 식별했습니다. 특히 예제 2에서 실제로 ARIMA (1,0,1) 일 때 식별 된 ARIMA (3,0,3)이면 충분하고 포용 적입니다.auto.arima()
auto.arima()
auto.arima()
아래는 내 질문입니다. 어떤 제안이나 권장 사항에 감사드립니다.
auto.arima()
? 와 같은 자동 알고리즘을 사용하여 식별 된 모델을 언제 사용 / 수정할 것인지에 대한 지침이 있습니까?auto.arima()
모델을 식별하기 위해 AIC를 사용하는 데 어려움이 있습니까?- 교묘 한 자동 알고리즘을 구축 할 수 있습니까?
그건 그렇고 나는 auto.arima()
단지 예로서 사용 했다. 이것은 모든 자동 알고리즘에 적용됩니다.
아래는 예제 # 1입니다.
set.seed(182)
y <- arima.sim(n=500,list(ar=0.2,ma=0.6),mean = 10)
auto.arima(y)
qa <- arima(y,order=c(1,0,1))
qa
아래의 결과는 다음과 같습니다 auto.arima()
. 모든 계수는 중요하지 않습니다. 즉, 값 <2입니다.
ARIMA(1,0,2) with non-zero mean
Coefficients:
ar1 ma1 ma2 intercept
0.5395 0.2109 -0.3385 19.9850
s.e. 0.4062 0.4160 0.3049 0.0878
sigma^2 estimated as 1.076: log likelihood=-728.14
AIC=1466.28 AICc=1466.41 BIC=1487.36
다음은 arima()
ARIMA (1,0,1) 순서로 정규 실행 한 결과입니다.
Series: y
ARIMA(1,0,1) with non-zero mean
Coefficients:
ar1 ma1 intercept
0.2398 0.6478 20.0323
s.e. 0.0531 0.0376 0.1002
sigma^2 estimated as 1.071: log likelihood=-727.1
AIC=1462.2 AICc=1462.28 BIC=1479.06
예 2 :
set.seed(453)
y <- arima.sim(n=500,list(ar=0.2,ma=0.6),mean = 10)
auto.arima(y)
qa <- arima(y,order=c(1,0,1))
qa
아래의 결과는 다음과 auto.arima()
같습니다.
ARIMA(3,0,3) with non-zero mean
Coefficients:
ar1 ar2 ar3 ma1 ma2 ma3 intercept
0.7541 -1.0606 0.2072 0.1391 0.5912 0.5491 20.0326
s.e. 0.0811 0.0666 0.0647 0.0725 0.0598 0.0636 0.0939
sigma^2 estimated as 1.027: log likelihood=-716.84
AIC=1449.67 AICc=1449.97 BIC=1483.39
다음은 arima()
ARIMA (1,0,1) 주문 에서 정기적 으로 실행되는 결과입니다.
Series: y
ARIMA(1,0,1) with non-zero mean
Coefficients:
ar1 ma1 intercept
0.2398 0.6478 20.0323
s.e. 0.0531 0.0376 0.1002
sigma^2 estimated as 1.071: log likelihood=-727.1
AIC=1462.2 AICc=1462.28 BIC=1479.06