ARIMA (1,1,0) 시리즈 시뮬레이션

나는 ARIMA 모델을 원래 시계열에 맞추었고 가장 좋은 모델은 ARIMA (1, 1,0). 이제 해당 모델에서 시리즈를 시뮬레이션하고 싶습니다. 간단한 AR (1) 모델을 작성했지만 ARI (1,1,0) 모델 내에서 차이를 조정하는 방법을 이해할 수 없습니다. AR (1) 시리즈에 대한 다음 R 코드는 다음과 같습니다.

phi= -0.7048 z=rep(0,100) e=rnorm(n=100,0,0.345) cons=2.1 z[1]=4.1 for (i in 2:100) z[i]=cons+phi*z[i-1]+e[i] plot(ts(Y)) 

위 코드에 ARI (1,1)라는 차이점을 어떻게 포함시킬 수 있습니까? 누구든지이 점에서 도움이됩니다.

답변

ARIMA를 시뮬레이션하려는 경우 R에서 arima.sim를 사용할 수 있습니다. 직접 할 필요가 없습니다. 이렇게하면 원하는 시리즈가 생성됩니다.

e <- rnorm(100,0,0.345) arima.sim(n=100,model=list(ar=-0.7048,order=c(1,1,0)),start.innov=4.1,n.start=1,innov=2.1+e) 

arima.sim를 입력합니다. 또는 직접 수행하는 경우 아마도 찾고있는 함수는 diffinv입니다. 지연된 차이의 역을 계산합니다.

For 재귀 시퀀스 R에는 멋진 기능 filter이 있습니다. 따라서 루프를 사용하는 대신

z <- rep(NA,100) z[1] <- 4.1 for (i in 2:100) z[i]=cons+phi*z[i-1]+e[i] 

작성할 수 있습니다.

filter(c(4.1,2.1+e),filter=-0.7048,method="recursive") 

위의 arima.sim 예와 동일한 결과를 제공합니다.

diffinv(filter(c(4.1,2.1+e),filter=-0.7048,method="recursive")[-1]) 

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다