문제

data <-c(88, 84, 85, 85, 84, 85, 83, 85, 88, 89, 91, 99, 104, 112, 126, 138, 146,151,   150, 148, 147, 149, 143, 132, 131, 139, 147, 150, 148, 145, 140, 134, 131, 131, 129, 126, 126, 132, 137, 140, 142, 150, 159, 167, 170, 171, 172, 172, 174, 175, 172, 172, 174, 174, 169, 165, 156, 142, 131, 121, 112, 104, 102, 99, 99, 95, 88, 84, 84, 87, 89, 88, 85, 86, 89, 91, 91, 94, 101, 110, 121, 135, 145, 149, 156, 165, 171, 175, 177, 182, 193, 204, 208, 210, 215, 222, 228, 226, 222, 220)

데이터의 첫 번째 차이점에 작용하는 ARMA 모델이 해당 ARIMA 모델과 다른 이유는 무엇입니까?

for (p in 0:5)
{
for (q in 0:5)
{
#data.arma = arima(diff(data), order = c(p, 0, q));cat("p =", p, ", q =", q, "AIC =",  data.arma$aic, "\n");
data.arma = arima(data, order = c(p, 1, q));cat("p =", p, ", q =", q, "AIC =", data.arma$aic, "\n");
}
}

와 같다 Arima(data,c(5,1,4)) 그리고 Arima(diff(data),c(5,0,4)) 예측 패키지에서. 원하는 일관성을 얻을 수 있습니다

auto.arima(diff(data),max.p=5,max.q=5,d=0,approximation=FALSE, stepwise=FALSE, ic ="aic", trace=TRUE);
auto.arima(data,max.p=5,max.q=5,d=1,approximation=FALSE, stepwise=FALSE, ic ="aic", trace=TRUE);

그러나 이들 데이터에 대한 최소 AIC 추정치의 보유자는 Auto.arima 뒤의 알고리즘에 의해 고려되지 않은 것으로 보인다. 따라서 첫 번째 차이점에 작용하는 ARMA (5,4) 대신 ARMA (3,0)의 차선책 선택. 관련 질문은 두 AIC 추정치가 하나의 모델을 다른 모델보다 더 잘 고려하기 전에 두 AIC 추정치가 다른 방법으로 Wuth 프로그래밍을 수행 할 것이 거의 없다는 것입니다. 가장 작은 AIC 보유자는 적어도 9 계수가 너무 많을지라도 최소한 고려/보고해야합니다. 100 개의 관찰에서 예측.

내 질문은 다음과 같습니다.

1) 이중 루프의 벡터 버전이므로 더 빠르나요?

2) 왜 arima(5,1,4) 데이터에 대한 행동은 다릅니다 arma(5,4) 데이터의 첫 번째 차이점에 대해 행동합니까? 어느 것이보고되어야합니까?

3) 작은 출력을 먼저 정렬하면 먼저 AICS 출력을 어떻게 정렬합니까?

감사.

도움이 되었습니까?

해결책

여기에 제기 된 많은 질문과 문제가 있습니다. 나는 그들 각각에 응답하려고 노력할 것이다.

Arima() 래퍼 일뿐입니다 arima(), 따라서 동일한 모델을 제공합니다.

ARIMA ()는 확산 사전을 사용하여 차이가있는 모델을 처리합니다. 이는 모델을 맞추기 전에 데이터를 차별화하는 것과 다릅니다. 결과적으로, 당신은 약간 다른 결과를 얻을 것입니다 arima(x,order=c(p,1,q)) 그리고 arima(diff(x),order=c(p,0,q)).

auto.arima() 차이를 직접 처리하고 피팅시 이전에 확산을 사용하지 않습니다. 따라서 동일한 결과를 얻을 수 있습니다 auto.arima(x,d=1,...) 그리고 auto.arima(diff(x),d=0,...)

auto.arima() 논쟁이 있습니다 max.order 최대 P+Q를 지정합니다. 기본적으로, max.order=5, 당신의 arima(5,1,4) 고려되지 않습니다. 증가하다 max.order 그러한 대형 모델을 고려하고 싶다면 (권장하지는 않지만).

각 반복에서 비선형 최적화와 관련된 루프를 벡터화 할 수 없습니다.

출력을 정렬하려면 데이터를 데이터를 저장 한 다음 관련 열에 정렬해야합니다. 코드는 현재 결과가 나오면서 결과를 뱉어 내며 가장 최근의 모델을 제외하고는 저장되지 않습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top