트렌드 고정 시리즈를 ARIMA로 모델링 할 수 있습니까?


12

ARIMA (X)로 모델링하는 데 필요한 고정 시리즈에 대한 질문 / 혼란이 있습니다. 나는 이것을 추론 (interference)의 영향에 대해 더 많이 생각하고 있지만 예측 대 추론이 반응에 어떤 차이가 있는지 알고 싶다.

질문:

내가 읽은 모든 입문 자료는 시리즈가 고정되어 있어야한다는 말을 들었다. 이는 나에게 의미가 있고 그것이 arima의 "I"가 들어오는 곳이다 (차등).

나를 혼란스럽게하는 것은 ARIMA (X)의 트렌드와 드리프트를 사용하고 고정 요구 사항에 대한 의미 (있는 경우)를 사용하는 것입니다.

외생 변수로 상수 / 드리프트 항 및 / 또는 추세 변수를 사용하면 (즉, 't'를 회귀 변수로 추가) 고정 된 시리즈의 요구 사항을 무효화합니까? 시리즈에 단위근 (예 : adf 테스트)이 있거나 결정 론적 경향이 있지만 단위근이 없는지에 따라 답이 달라 집니까?

또는

ARIMA (X)를 사용하기 전에 차등 및 / 또는 디트 렌딩을 통해 시리즈를 항상 고정해야합니까?

답변:


12

의견을 보면 결정 론적 또는 확률 적 추세 중에서 선택하는 방법에 대한 질문을 다루지 않은 것 같습니다. 즉, 각 사례의 결과 나 속성보다는 실제로 진행하는 방법입니다.

진행하는 한 가지 방법은 다음과 같습니다. ADF 테스트를 적용하여 시작하십시오.

  • 단위 루트의 null이 거부되면 완료됩니다. 추세 (있는 경우)는 결정적인 선형 추세로 나타낼 수 있습니다.
  • ADF 검정의 널 (NULL)이 기각되지 않으면 KPSS 검정을 적용합니다 (여기서 귀무 가설은 선형 추세와 반대, 정상 또는 정상입니다).

    o KPSS 테스트의 널 (NULL)이 기각되면 단위 루트가 있고 데이터의 첫 번째 차이점에 대해 작업합니다. 시리즈의 첫 번째 차이점에 따라 다른 회귀 변수의 중요성을 테스트하거나 ARMA 모델을 선택할 수 있습니다.

    o KPSS 검정의 널 (NULL)이 기각되지 않으면 귀무 가설 중 어느 것도 기각 할 수 없었기 때문에 데이터에 대한 정보가 많지 않다고 말해야합니다. 이 경우 시리즈의 첫 번째 차이점을 다루는 것이 더 안전 할 수 있습니다.

이전 답변에서 언급했듯이 이러한 테스트는 특이 치 (예 : 데이터 기록시 오류로 인한 단일 시점의 특이 치 또는 예를 들어 주어진 시점에서 시리즈). 따라서 이러한 문제를 확인하고 잠재적 인 이상치에 대한 회귀자를 포함시킨 후 이전 분석을 반복하는 것이 좋습니다.


대박! 위의 내 의견 질문은 추세처럼 보이는 것을 볼 때 추세 (내가 게시 한 링크의 # 3 옵션)를 포함하는 ADF 테스트를 사용한다는 것입니까?
B_Miner

마지막 질문-ARIMA (0,1,1)을 ARIMA에 맞추고 그 차이의 평균이 0이 아닌 상황에 대해 무엇을합니까? 이것은 모델에 상수를 추가한다고 믿습니다. 이는 원래 시리즈의 선형 추세를 나타냅니다. 이 사건은 무엇을 의미합니까? 시리즈를 차별화해도 추세가 제거되지 않기 때문에 원래 시리즈의 추세가 결정적입니까?
B_Miner

@B_Miner 첫 코멘트에 대해서는 인터셉트 만 포함시키는 것으로 시작하겠습니다. 추세가 다소 지수 적으로 보이는 경우 선형 추세의 기울기 매개 변수를 추가하고 중요한지 확인할 수 있습니다. 일반적으로 매개 변수가 적은 모델로 시작하는 것이 좋으며 잔차 진단이 만족스럽지 않으면 다른 요소를 추가하는 것이 좋습니다.
javlacalle

@B_Miner 첫 번째 차이를 취하면 결정론과 확률 론적 추세가 모두 제거됩니다. 절편이있는 모델에서 차이가 나는 계열의 추세가 보이면 다시 차이를 고려해야합니다 (예 : 두 번째 단위 근 테스트).
javlacalle

1
@pidosaurus와 ADF 및 KPSS 테스트 사이의 일치 부족은 작은 표본 크기, 특이 치의 존재, 비선형 추세로 인해 발생할 수 있습니다 .... 추가 검사 후에도 어느 것이 더 적합한 지 명확하지 않으면 고려하는 것이 더 안전 할 수 있습니다 단위근의 존재. 귀하의 데이터를 비선형 추세가 있음을 제안했습니다. 형식의 2 차 추세 가 적합 할 수 있습니다. a1t+a2t2
javlacalle

5

비정규성에는 여러 가지가 있으며 그것들을 다루는 방법에는 다른 방법이 있습니다. 일반적인 네 가지는 다음과 같습니다.

1) 결정적 추세 또는 추세 고 정성. 계열이 이런 종류의 추세를 벗어나면 회귀 / 모델에 시간 추세를 포함 시키십시오. 이것에 대한 Frisch–Waugh-Lovell 정리를 확인하고 싶을 수도 있습니다.

2) 레벨 시프트 및 구조적 중단. 이 경우 각 브레이크에 더미 변수를 포함 시키거나 샘플이 충분히 길면 각 레밍을 별도로 모델링하십시오.

3) 분산 변경. ARCH 또는 GARCH 모델링 클래스를 사용하여 표본을 개별적으로 모델링하거나 변동 분산을 모델링하십시오.

4) 시리즈에 단위 루트가 포함 된 경우. 일반적으로 변수 간의 공적분 관계를 확인해야하지만 일 변량 예측에 관심이 있으므로 적분 순서에 따라 한두 번 차이를 내야합니다.

ARIMA 모델링 클래스를 사용하여 시계열을 모델링하려면 다음 단계가 적절해야합니다.

1) ACF와 PACF를 시계열 도와 함께보고 시리즈가 정지인지 아닌지를 확인하십시오.

2) 단위근의 시리즈를 테스트합니다. 이것은 광범위한 테스트, ADF 테스트, Phillips-Perron (PP) 테스트, 정상 성이없는 KPSS 테스트 또는 가장 효율적인 DF-GLS 테스트 등 광범위한 테스트로 수행 할 수 있습니다. 앞에서 언급 한 테스트 중 노트! 시리즈에 구조적 중단이 포함 된 경우 이러한 테스트는 단위 루트의 널을 거부하지 않도록 바이어스됩니다. 이러한 테스트의 견고성을 테스트하려는 경우 하나 이상의 구조적 파손이 의심되는 경우 내생 적 구조적 파괴 테스트를 사용해야합니다. 두 가지 일반적인 것은 하나의 내생 구조적 휴식을 허용하는 Zivot-Andrews 테스트와 두 개의 구조적 휴식을 허용하는 Clemente-Montañés-Reyes입니다. 후자는 두 가지 모델을 허용합니다.

3) 시리즈에 단위 루트가 있으면 시리즈를 바꿔야합니다. 그런 다음 ACF, PACF 및 시계열도를 살펴보고 안전한쪽에 두 번째 단위 루트가 있는지 확인해야합니다. ACF 및 PACF는 포함해야 할 AR 및 MA 용어 수를 결정하는 데 도움이됩니다.

4) 계열에 단위근이 포함되어 있지 않지만 시계열도 및 ACF에 계열에 결정 론적 추세가 있음이 표시되면 모형을 피팅 할 때 추세를 추가해야합니다. 어떤 사람들은 프로세스에서 정보가 손실 될 수 있지만 결정 론적 추세를 포함 할 때 시리즈를 다르게하는 것이 완전히 유효하다고 주장합니다. 포함해야 할 AR 및 / 또는 MA 용어가 많이 있는지 확인하기 위해 차이를 만드는 것이 좋습니다. 그러나 시간 추세는 유효합니다.

5) 다른 모델을 장착하고 일반적인 진단 검사를 수행하십시오. 정보 기준 또는 MSE를 사용하여 적합한 샘플이 제공된 최상의 모델을 선택할 수 있습니다.

6) 가장 적합한 모델에 대한 샘플 예측을 수행하고 MSE, MAPE, MAD와 같은 손실 함수를 계산하여 예측에 사용할 때 실제로 가장 잘 수행되는 기능을 확인하십시오.

7) 보스처럼 샘플 예측을 수행하고 결과에 만족하십시오!


그리고 귀하의 질문에 신속하게 답변하십시오. 예, 그럴 수 있습니다.
Plissken

나는 평판이 충분하지 않기 때문에 위의 내용에 대해 언급 할 수 없었지만 백색 잡음 과정이 정지되어 있음을 지적하고 싶습니다. 그 평균과 분산은 시간이 지남에 따라 변하지 않으므로 고정되어 있습니다!
Plissken

댄, 좋은 대답입니다! 마지막 의견에 관해서는 정지 상태 인 백색 잡음 잔류로 끝났다면 시리즈를 적절하게 모델링했음을 나타냅니다 (즉, 정상 성의 문제를 올바르게 / 적절하게 처리 함).
B_Miner

1
네 맞습니다. Ljung-Box Q 테스트는 잔차가 랜덤인지 여부를 확인하기 위해 잔차를 테스트하는 데 사용됩니다. 그것들이 모델 인 경우 데이터는 적절한 표현입니다. 위의 답변에서 언급 한 것을 잊어 버린 것은 모델을 피팅 한 후 피팅 된 계열의 잔차에 대한 ACF 및 시계열 그림을 볼 수 있다는 것입니다. 이는 잔차가 백색 잡음인지 아닌지에 대한 좋은 표시를 제공합니다 (ACF는 현저한 지연이 없어야 함). 어쨌든 대부분의 통계 패키지에는 Ljung-Box Q 테스트를위한 명령이 있습니다.
Plissken

다음은 Ljung-Box Q 테스트 용 wiki 링크입니다. en.wikipedia.org/wiki/Ljung%E2%80%93Box_test
Plissken

5

추세 (또는 계절 성과 같은 다른 구성 요소)가 결정적이거나 확률 적인지 여부를 결정하는 것은 시계열 분석에서 퍼즐의 일부입니다. 나는 말한 것에 몇 가지 요점을 추가 할 것입니다.

1) 데이터에 단위 근이 존재하는 경우 (예 : 랜덤 보행) 추론에 사용 된 검정 통계량이 기존 분포를 따르지 않기 때문에 결정 론적 확률론과 확률 론적 경향성의 구분이 중요합니다. 자세한 내용과 참고 자료는 이 게시물 을 참조하십시오.

무작위 보행 (첫 번째 차이를 가져야하는 확률 적 추세)을 시뮬레이션하고 결정 론적 추세의 중요성을 테스트하고 결정 론적 추세의 널이 거부되는 경우의 백분율을 볼 수 있습니다. R에서는 다음을 수행 할 수 있습니다.

require(lmtest)
iter <- 10000
cval <- 0.05
n <- 120
rejections <- 0
set.seed(123)
for (i in seq.int(iter))
{
  x <- cumsum(rnorm(n)) # random walk
  fit <- lm(x ~ seq(n))
  if (coeftest(fit)[2,"Pr(>|t|)"] < cval)
    rejections <- rejections + 1
}
100 * rejections / iter
#[1] 88.67

5 % 유의 수준에서는 95 %의 경우 Null을 기각 할 것으로 예상되지만이 실험에서는 10,000 개의 시뮬레이션 된 임의 보행 중 ~ 89 % 만 거부되었습니다.

유닛 루트 테스트 를 적용 하여 유닛 루트가 있는지 테스트 할 수 있습니다 . 그러나 선형 추세는 단위 루트의 null을 거부하지 못할 수 있음을 알아야합니다. 이 문제를 해결하기 위해 KPSS 테스트 는 선형 추세를 중심으로 정지성 이없는 것으로 간주합니다.

2) 또 다른 문제는 프로세스의 결정적 구성 요소를 수준 또는 첫 번째 차이점으로 해석하는 것입니다. 절편의 효과는 임의의 보행에서와 같이 선형 추세의 모형에서 동일하지 않습니다. 이 게시물 을 참조하십시오 .

분석적으로 드리프트로 임의의 보행을하겠습니다 :

yt=μ+yt1+ϵt,ϵtNID(0,σ2).

지연된 버전의 을 반복적으로 대체하는 경우 :ytiyt

yt=μ+yt1μ+yt2+ϵt1+ϵt=2μ+yt2μ+yt3+ϵt2+ϵt1+ϵt=3μ+yt3+ϵt2+ϵt1+ϵt...

우리는 다음에 도착합니다.

yt=y0+μt+i=1tϵi

여기서 은 임의의 초기 값입니다. 따라서, 충격의 누적과 랜덤 워크의 긴 메모리는 절편 가 기울기 를 갖는 선형 추세의 영향을 미치도록합니다 (이 경우 상수 항 는 드리프트라고 함). μ μ μy0μμμ

시리즈의 그래픽 표현이 상대적으로 명확한 선형 추세를 나타내는 경우 결정적 선형 추세가 존재하는지 또는 랜덤 워크 프로세스의 드리프트 때문인지 확실하지 않습니다. 보완적인 그래픽 및 테스트 통계가 적용되어야합니다.

단위 루트 및 기타 테스트 통계를 기반으로 한 분석은 절대적이지 않기 때문에 명심해야 할 몇 가지주의 사항이 있습니다. 이러한 테스트 중 일부는 외부 관찰 또는 레벨 시프트의 영향을받을 수 있으며 항상 간단한 것은 아닌 지연 순서를 선택해야합니다.

이 퍼즐의 해결 방법으로, 일반적인 관행은 시리즈가 정지 상태가 될 때까지 데이터의 차이를 취한 다음 (예를 들어 자동 상관 기능을보고 0으로 빠르게 이동해야 함) ARMA 모델을 선택하는 것입니다.


Greta post- 당신은 분명히이 사이트에 큰 자산입니다! 나는 여기와 다른 게시물을보고 호기심이 많았습니다. ADF 또는 KPSS 테스트를 사용하여 일련의 수준에서 추세처럼 보이는 것이 결정적이거나 확률 적인지 여부를 결정할 수 있습니까? 나는 이것을 발견했다 : faculty.smu.edu/tfomby/eco6375/BJ%20Notes/ADF%20Notes.pdf 당신이 시리즈에서 시각적으로 추세를 볼 때, 테스트의 옵션 # 3을 사용하고 거부하지 않으면 그것을 보이게합니다. 널이면 결정 론적 경향에 대한 증거가 있습니다.
B_Miner

댄의 의견을 바탕으로, 화이트 노이즈 잔차가 발생하면 다음 중 어느 것도 중요하지 않은 것 같습니다.
B_Miner

5

매우 흥미로운 질문입니다. 다른 사람들의 의견도 알고 싶습니다. 저는 통계 전문가가 아닌 훈련을받은 엔지니어이므로 누군가 내 논리를 확인할 수 있습니다. 엔지니어로서 우리는 시뮬레이션하고 실험하기를 원하므로 귀하의 질문을 시뮬레이션하고 테스트하도록 동기를 부여했습니다.

아래에 경험적으로 보여 지듯이, ARIMAX에서 트렌드 변수를 사용하면 차이의 필요성이 없어지고 시리즈 트렌드가 정지됩니다. 여기 내가 확인하는 데 사용한 논리가 있습니다.

  1. AR 프로세스 시뮬레이션
  2. 결정 론적 트렌드 추가
  3. 외래 변수로서 트렌드로 모델링 된 ARIMAX를 사용하여 위의 시리즈를 차이없이 사용합니다.
  4. 백색 잡음의 잔차를 확인했으며 순전히 무작위입니다.

아래는 R 코드와 플롯입니다 :

set.seed(3215)

##Simulate an AR process
x <- arima.sim(n = 63,list(ar = c(0.7)));
plot(x)

## Add Deterministic Trend to AR
t <- seq(1, 63)
beta <- 0.8
t_beta <- ts(t*beta,frequency=1)
ar_det <- x+t_beta
plot(ar_det)

## Check with arima

ar_model <- arima(ar_det,order=c(1,0,0),xreg=t,include.mean=FALSE)

## Check whether residuals of fitted model is random

pacf(ar_model$residuals)

AR (1) 시뮬레이션 플롯 여기에 이미지 설명을 입력하십시오

결정적 경향이있는 AR (1) 여기에 이미지 설명을 입력하십시오

ARIMAX 잔류 PACF : 외인성 경향. 잔차는 무작위이며 패턴이 남지 않습니다. 여기에 이미지 설명을 입력하십시오

위에서 볼 수 있듯이, ARIMAX 모델에서 외인성 변수로서 결정 론적 경향을 모델링하면 차이가 필요하지 않습니다. 결정적인 경우에는 이상적입니다. 나는 이것이 예측이나 모델링하기가 어려운 확률 론적 경향으로 어떻게 행동 할 것인지 궁금합니다.

두 번째 질문에 답하기 위해, 예. ARIMAX를 포함한 모든 ARIMA는 고정되어 있어야합니다. 적어도 그것은 교과서가 말하는 것입니다.

또한 언급 한대로이 기사를 참조 하십시오 . 결정 론적 경향과 확률 론적 경향에 대한 매우 명확한 설명과이를 제거하여이 주제를 고정적으로 트렌드 화하고 매우 훌륭한 문헌 조사를 수행하는 방법. 신경망 환경에서 사용하지만 일반적인 시계열 문제에 유용합니다. 최종 권장 사항은 결정적 추세로 명확하게 식별되고 선형 추세 제거를 수행하거나 시계열을 고정시키기 위해 차이를 적용하는 것입니다. 배심원은 여전히 ​​저기 있지만이 기사에서 인용 된 대부분의 연구자들은 선형 디트 렌딩과 달리 차등화를 권장합니다.

편집하다:

아래는 외생 변수와 차이 arima를 사용하는 드리프트 확률 론적 과정을 이용한 랜덤 워크입니다. 둘 다 같은 대답을하는 것처럼 보이고 본질적으로 동일합니다.

library(Hmisc)

set.seed(3215)

## ADD Stochastic Trend to simulated Arima this is AR(1) with unit root with non zero mean

y = rep(NA,63)
y[[1]] <- 2


for (i in 2:63)  {
y[i] <-3+1*y[i-1]+ rnorm(1, mean = 0, sd = 1)
} 

plot(y,type="l")

y_ts <- ts(y,frequency=1)

## Lag to create Xreg

y_1 <- Lag(y,shift=1)


## Start from 2 value to avoid NA and make it equal length with xreg

y <- window(y_ts,start =2,end=63)
xreg1 <- y_1[-1]

## Check the values with ARIMA and xreg

g <- arima(y,order=c(0,0,0),xreg=xreg1)

pacf(g$residuals)

## Check the values with ARIM

g1 <- arima(y,order=c(0,1,0))

pacf(g1$residuals)

## 

ARIMA(0,0,0) with non-zero mean 

Coefficients:
      intercept   xreg1
         3.1304  0.9976
s.e.     0.2664  0.0025

도움이 되었기를 바랍니다!


다른 견해에도 관심이 있습니다. 확실하지 않습니다. 잔여 백색 잡음이 고정되는 시리즈의 요구 사항을 충족합니까? 즉, 백색 잡음을 달성하면 만족할 수 있습니까? 아니면 외인성 변수를 포함시켜 실제로 "추세를 떨어 뜨리고"이 시리즈를 정지 상태로 만드는가? 이 나중의 질문에 대한 검사가 선형 회귀로 추세를 줄이고 arima (1,0,0)을 맞추면 동일한 모델 (ar1 계수 등)을 얻는 지 궁금합니다 ... 결과가 가깝습니다. 따라서 외인성 변수를 추가하는 것은 디트 렌딩과 동일합니다.
B_Miner

그렇습니다. 몇 개월 전에 신경망 예측 기사 에서이 문제를 발견했습니다. 찾은 경우 참조를 제공합니다.
예측 자

단위근이 있거나 모형에 상수가있는 경우에 대한 아이디어가 있습니까?
B_Miner

내가 참조하고있는 기사로 답변을 업데이트했습니다.
예측 자

당신이 그것을 저장하지 않은 것 같아요.
B_Miner
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.