Arima 전 또는 Arima 내의 차이 시계열


13

Arima를 사용하기 전에 계열을 변경하는 것이 더 좋습니까 (또는 필요하다고 가정) Arima 내에서 d 매개 변수를 사용하는 것이 더 낫습니까?

동일한 모델과 데이터로 어떤 경로를 취했는지에 따라 피팅 값이 어떻게 다른지 놀랐습니다. 아니면 내가 잘못하고 있습니까?

install.packages("forecast")
library(forecast)

wineindT<-window(wineind, start=c(1987,1), end=c(1994,8))
wineindT_diff <-diff(wineindT)

#coefficients and other measures are similar
modA<-Arima(wineindT,order=c(1,1,0))
summary(modA)
modB<-Arima(wineindT_diff,order=c(1,0,0))
summary(modB)

#fitted values from modA
A<-forecast.Arima(modA,1)$fitted

#fitted from modB, setting initial value to the first value in the original series
B<-diffinv(forecast.Arima(modB,1)$fitted,xi=wineindT[1])


plot(A, col="red")
lines(B, col="blue")

더하다:

시리즈를 한 번 차별화하고 arima (1,0,0)를 피팅 한 다음 arima (1,1,0)을 원래 시리즈에 피팅합니다. 차이점이있는 파일의 arima (1,0,0)에 대한 적합 값의 차이점을 반전시킵니다.

예측이 아닌 적합치를 비교하고 있습니다.

다음은 음모입니다 (빨간색은 arima (1,1,0)이고 파란색은 원래 배율로 다시 바꾼 후 차이가 나는 계열의 arima (1,0,0)입니다).

여기에 이미지 설명을 입력하십시오

Dr. Hyndman의 답변에 대한 답변 :

1) Arima (1,1, 수동으로 다른 계열의 0) 및 Arima (1,0,0)? 나는 이것이 modA에 포함되지 않은 평균과 관련이 있다고 가정하지만 진행 방법을 완전히 확신하지는 못합니다.

2) 귀하의 # 3에 대하여. 나는 명백한 것을 놓치고 있지만 및 가 로 정의 된 경우 가 동일 합니까? 내가 "unifferencing"이라고 잘못 말하고 있습니까?X^t=Xt1+ϕ(Xt1Xt2)Y^t=ϕ(Xt1Xt2)Y^tX^tXt1


1
업데이트 관련. 1) 나는 이것을하는 데 아무런 의미가 없다. Arima ()는 적합치 및 예측을 생성합니다. Arima ()와 동일한 작업을 수행하기 위해 추가 R 코드를 생성해야하는 이유는 무엇입니까? 2) 그렇습니다.하지만 차이점 X-hat은 Y-hat을 제공하지 않습니다. 따라서 차별화되지 않은 Y-hat은 X-hat을 제공하지 않습니다.
Rob Hyndman

2
감사. 1) 나를위한 학습 운동이었다. 2) 원래 질문 (diffinv 사용)의 계산 오류가 적합 값을 사용하는 것이 었으며 원본이 아닌 것이 내가 생각하는 것입니다. (?) ... 무차별. Arima가 방정식을 사용하여 책 예제를 따르려고 시도한다는 것을 알고 있습니다.
B_Miner

답변:


14

여기 몇 가지 문제가 있습니다.

  1. 먼저 차이가 나면 Arima()모델을 차이가 나는 데이터에 맞 춥니 다. Arima()추정 절차의 일부로 차이 를 허용 하면 초기화 전에 확산을 사용합니다. 이에 대한 도움말 파일에 설명되어 arima()있습니다. 따라서 초기 관측이 처리되는 방식이 다르기 때문에 결과가 달라집니다. 나는 그것이 추정의 질면에서 큰 차이를 만들지 않는다고 생각합니다. 그러나 Arima()원래 (무차별) 데이터에 대한 예측 또는 적합 값을 원하는 경우 차이를 처리하는 것이 훨씬 쉽습니다 .

  2. 추정의 차이를 제외하고 modB는 상수를 포함 하지 않기 때문에 두 모델이 동일 modA하지 않습니다. 기본적으로Arima() 상수를 포함하고 상수를 포함하지 않습니다 . 인수를 사용하여 이러한 기본값을 무시할 수 있습니다 .d=0d>0include.mean

  3. 원래 데이터에 대한 적합치가 차이 데이터의 무차별 적합치와 같지 않습니다. 이를 확인하려면 원래 데이터의 피팅 된 값은 하십시오. 차이 데이터의 값은 로 여기서 는 원래 시계열이고 는 차이가 나는 시리즈. 따라서 Y의 t=φ(Xt-1-Xt-2){X의t}{Y의t} X t - X t-1 Y의 t.

    X^t=Xt1+ϕ(Xt1Xt2)
    Y^t=ϕ(Xt1Xt2)
    {Xt}{Yt}
    X^tX^t1Y^t.

1
+1, 나는 대답으로 2 점을 줄 것입니다. 다른 2를 포함하기위한 명성
mpiktas

Hyndman 박사, 답변 주셔서 감사합니다! 시계열 분석에 대해 배울 점이 많습니다. 후속 조치를 요청할 수 있습니까? 이 정보를 어떻게 처리해야할지 잘 모르겠으므로 원래 질문에 추가 내용을 게시하고 있습니다.
B_Miner

2

때로는 시리즈를 고정시키기 위해 로컬 수단을 제거해야합니다. 원본 시리즈에 죽지 않는 acf가 있으면 시리즈의 레벨 / 단계 이동으로 인한 것일 수 있습니다. 해결책은 시리즈를 의미하지 않는 것입니다.

바운티에 대한 답변 :

동일한 결과 / 적합한 값을 얻는 방법은 원래의 (Y (t) 시리즈를 물리적으로 차분한 후 첫 번째 차이 (사실)를 얻고 상수없이 AR (1)을 추정하는 것입니다. 양식 dely (t) = B1 * dely (t-1) + a (t) 절편없이.이 모델의 적합 값은 차수 1의 적합하게 통합됩니다 (믿습니다). 1-B] [AR (1)] Y (t) = a (t) AUTOBOX를 제외하고 대부분의 소프트웨어는 상수없이 AR (1) 모델을 추정 할 수 없습니다. DELY [(1- .675B + = 대한 방정식 [A (T)]를 Y에 대한 식 (1) 동안 - * 1)] **

[(1-B * 1)] Y (T) = + [(1-.676B * 1)] **-1 [A (T)]. Y의 물리적 차이로 인한 반올림 오류에 유의하십시오. 차이가 적용되는 경우 (모델에서) 또는 사용자가 상수 포함 여부를 선택할지 여부를 선택할 수 없습니다. 일반적인 프로세스는 고정 (즉, 무차별) ARIMA 모델에 대한 상수를 포함하고 차이가 모델에있을 때 선택적으로 상수를 포함하는 것입니다. 대체 접근법 (Arima)은 고정 된 모델로 상수를 강제하는 것으로 보입니다.


이 경우 델타 -y의 arima (1,0,0)과 y의 arima (1,1,0) 사이에 적합치가 영향을 주어야합니까?
B_Miner

두 경우 모두 AR (1)을 시계열의 첫 번째 차이에 맞추고 있습니까? 이 경우와 적합 방법이 동일하면 정확히 동일한 작업을 수행해야합니다. 작업 순서에는 차이가 없습니다.
Michael R. Chernick

여기에 해당되지 않는 것 같습니다. 아마도 @Rob_Hyndman이 체크인 할 것입니다.
B_Miner

1

어떻게 든 다른 방법보다 다른 방법으로 차이를 두지 않는 한 결과에 차이가있는 이유를 모르겠습니다. ARIMA (p, d, q)의 경우, d 차이는 모델 피팅 전에 먼저 수행됩니다. 그런 다음 고정 ARMA (p, q) 모델이 차이 계열에 적합합니다. 시리즈에서 다항식 추세를 제거한 후 나머지 시리즈는 정지 된 것으로 가정합니다. 차이의 수는 제거하려는 다항식의 순서에 해당합니다. 따라서 선형 추세의 경우 한 가지 차이 만 취하고 2 차 추세의 경우 두 가지 차이가 ​​있습니다. 나는 John의 대답에서 말한 대부분의 내용에 동의하지 않습니다.


0

I (1) 시리즈를 차별화하는 한 가지 이유는 고정 된 것입니다. ARIMA 모형에 대한 올바른 사양이 있다고 가정하면 모형의 잔차에 자동 회귀 및 이동 평균 구성 요소가 제거되며 정지해야합니다. 그런 점에서 차이를 고려하지 않고 모형에 잔차를 사용하는 것이 좋습니다. 그러나 대략 I (1)라고 생각되는 많은 데이터가있는 경우 ARIMA 모델을 전체적으로 추정하기보다는 데이터를 다르게하는 사람들이 있습니다. ARIMA 모델은 차이가없는 전체 시계열 문제에 적합합니다. 예를 들어, 데이터가 평균 복귀를 경험하는 경우, 데이터가 I (1)이 아닐 수 있으므로 차이에 항상 적합한 것은 아닙니다.


차이가 클 것으로 기대하십니까? 차이에서 원본으로 되 돌리는 방식에서 내가 잘못하고 있다고 생각하게 만들었습니다.
B_Miner

당신이 한 일을 정확히 설명해 주시겠습니까? R 코드를 읽는 데 능숙하지 않습니다. 두 가지 방법으로 동일한 수의 차이를 취하고 차이를 제거한 후 동일한 ARMA 모델에 적합하면 피팅 기법이 동일하다면 (일반적으로 조건부 최소 제곱이 사용되는 경우) 동일한 결과를 얻을 수 있습니다.
Michael R. Chernick 1

그는 일부 데이터를 가져 와서 ARIMA (1,1,0)에 적합시킨 다음 차이를 취하고 ARIMA (1,0,0)에 적합합니다. 마지막으로 표본 예측에서 한 기간을 서로 비교합니다. 아마도 그것들은 다르지만 우리는 게시물에서 그래프를 볼 수 없습니다.
John

내가 말하고있는 이유의 간단한 예는 입니다. 차이점을 취하면 됩니다. 그러나 을 찾으려면 을 추정하면 같은 대답을 얻을 수 없습니다.y t = ( β - 1 ) y t - 1 + ϵ t ϵ ty t = β y t 1 + ϵ tyt=βyt1+ϵtyt=(β1)yt1+ϵtϵtyt=βyt1+ϵt
John

1
마지막으로 맞습니다. LaTex를 5 분 안에 할 수 없습니다! 위의 방정식을 알 수있는 한 두 가지 방법으로 나옵니다.
Michael R. Chernick
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.