고정되지 않은 시계열을 모델링 할 때 ARIMA를 사용해야한다는 것을 알고 있습니다. 또한, 내가 읽은 모든 것은 ARMA는 고정 시계열에만 사용해야한다고 말합니다.
내가 이해하려고하는 것은 모델을 잘못 분류하고 d = 0
정지하지 않은 시계열을 가정 할 때 실제로 어떻게됩니까 ? 예를 들면 다음과 같습니다.
controlData <- arima.sim(list(order = c(1,1,1), ar = .5, ma = .5), n = 44)
제어 데이터는 다음과 같습니다.
[1] 0.0000000 0.1240838 -1.4544087 -3.1943094 -5.6205257
[6] -8.5636126 -10.1573548 -9.2822666 -10.0174493 -11.0105225
[11] -11.4726127 -13.8827001 -16.6040541 -19.1966633 -22.0543414
[16] -24.8542959 -25.2883155 -23.6519271 -21.8270981 -21.4351267
[21] -22.6155812 -21.9189036 -20.2064343 -18.2516852 -15.5822178
[26] -13.2248230 -13.4220158 -13.8823855 -14.6122867 -16.4143756
[31] -16.8726071 -15.8499558 -14.0805114 -11.4016515 -9.3330560
[36] -7.5676563 -6.3691600 -6.8471371 -7.5982880 -8.9692152
[41] -10.6733419 -11.6865440 -12.2503202 -13.5314306 -13.4654890
데이터가 무엇인지 모른다고 가정하면을 ARIMA(1,1,1)
살펴볼 수 있습니다 pacf(controlData)
.
그런 다음 Dickey-Fuller를 사용하여 데이터가 비정상적인지 확인합니다.
require('tseries')
adf.test(controlData)
# Augmented Dickey-Fuller Test
#
# data: controlData
# Dickey-Fuller = -2.4133, Lag order = 3, p-value = 0.4099
# alternative hypothesis: stationary
adf.test(controlData, k = 1)
# Augmented Dickey-Fuller Test
#
#data: controlData
# Dickey-Fuller = -3.1469, Lag order = 1, p-value = 0.1188
# alternative hypothesis: stationary
따라서 데이터가 ARIMA (2,0, *)라고 가정 할 수 있습니다. 그러면 auto.arima(controlData)
가장 잘 맞는 것을 사용 하려고합니까?
require('forecast')
naiveFit <- auto.arima(controlData)
naiveFit
# Series: controlData
# ARIMA(2,0,1) with non-zero mean
#
# Coefficients:
# ar1 ar2 ma1 intercept
# 1.4985 -0.5637 0.6427 -11.8690
# s.e. 0.1508 0.1546 0.1912 3.2647
#
# sigma^2 estimated as 0.8936: log likelihood=-64.01
# AIC=138.02 AICc=139.56 BIC=147.05
따라서 과거와 미래의 데이터가 ARIMA (1,1,1)이더라도 ARIMA (2,0,1)로 분류하고 싶을 수도 있습니다. tsdata(auto.arima(controlData))
좋아 보인다.
정보를 제공하는 모델러는 다음과 같이 찾을 수 있습니다.
informedFit <- arima(controlData, order = c(1,1,1))
# informedFit
# Series: controlData
# ARIMA(1,1,1)
#
# Coefficients:
# ar1 ma1
# 0.4936 0.6859
# s.e. 0.1564 0.1764
#
# sigma^2 estimated as 0.9571: log likelihood=-62.22
# AIC=130.44 AICc=131.04 BIC=135.79
1)이 정보 기준이 선택한 모델보다 나은 이유는 무엇입니까? auto.arima(controlData)
입니까?
이제 실제 데이터와 두 가지 모델을 그래픽으로 비교합니다.
plot(controlData)
lines(fitted(naiveFit), col = "red")
lines(fitted(informedFit), col = "blue")
2) 악마의 옹호자 역할을 수행 할 때 ARIMA (2, 0, 1)를 모델로 사용하면 어떤 결과가 발생합니까? 이 오류의 위험은 무엇입니까?
3) 나는 주로 다주기 순방향 예측에 대한 영향에 대해 우려하고 있습니다. 나는 그들이 덜 정확하다고 가정합니까? 증거를 찾고 있어요
4) 모델 선택을위한 다른 방법을 제안 하시겠습니까? "비 정보"모델러로서의 추론에 문제가 있습니까?
이런 종류의 오 분류의 다른 결과가 궁금합니다. 나는 몇 가지 출처를 찾고 있었고 아무것도 찾을 수 없었습니다. ARMA를 수행하기 전에 데이터가 고정되어 있어야한다고 말하면서이 주제에 대해서만 다룰 수있는 모든 문헌을 찾을 수있었습니다.
감사!