Cálculo da Previsão de Modelos ARIMA

Boa tarde Grupo, estou com problemas para interpretar as saídas da função arima. Por exemplo, usando a base de dados de exemplo do R "USAccDeaths". Ajustando o modelo: fit <- arima(USAccDeaths, order = c(0,1,1), seasonal = list(order=c(0,1,1))) Tenho a seguinte saída: Series: USAccDeaths ARIMA(0,1,1)(0,1,1)[12] Call: arima(x = USAccDeaths, order = c(0, 1, 1), seasonal = list(order = c(0, 1, 1))) Coefficients: ma1 sma1 -0.4303 -0.5528 s.e. 0.1228 0.1784 sigma^2 estimated as 99347: log likelihood = -425.44 AIC = 856.88 AICc = 857.32 BIC = 863.11 Utilizando a função *"predict"* para calcular os próximos 4 meses tenho o seguinte resultado: $pred Jan Feb Mar Apr 1979 8336.061 7531.829 8314.644 8616.869 Como vou precisar utilizar o modelo fora do R preciso entender como é feita essa previsão pois utilizando os coeficientes *ma1* e *sma1* estou obtendo resultados diferentes. Mesmo ajustando um modelo mais simples como um AR(1) para esses dados (apenas como exemplo, sem me preocupar com a qualidade do ajuste) os preditos que calculo não batem com os preditos retornados pela função "* predict*". Aparentemente a função de predição não é montada diretamente dos coeficientes estimados (p. ex. no caso de um modelo AR(1) X(t) = intercept + ar1*X(t-1)). Alguém poderia me ajudar? Obrigada, Paola Tame

Ainda não é o que tu quer, mas talvez te ajude. Eu tentei fazer o ARIMA(0,0,0)(0,0,1) da mesma maneira que o MA(1) mas não consegui ## AR(1) (fit <- arima(USAccDeaths, order = c(1,0,0))) predict(fit,1)$pred sum(fit$coef[1] * (USAccDeaths[72] - fit$coef[2])) + fit$coef[2] ## AR(2) (fit <- arima(USAccDeaths, order = c(2,0,0))) predict(fit,1)$pred sum(fit$coef[1:2] * (USAccDeaths[72:71] - fit$coef[3])) + fit$coef[3] ## MA(1) (fit <- arima(USAccDeaths, order = c(0,0,1))) predict(fit)$pred fit$coef[1] * fit$res[72] + fit$coef[2] ## MA(2) (fit <- arima(USAccDeaths, order = c(0,0,2))) predict(fit)$pred sum(fit$coef[1:2] * (fit$res[72:71])) + fit$coef[3] ## ARIMA(1,1,0) (fit <- arima(USAccDeaths, order = c(1,1,0))) predict(fit,1)$pred diff(USAccDeaths)[71]*fit$coef+USAccDeaths[72] ## ARIMA(0,1,1) (fit <- arima(USAccDeaths, order = c(0,1,1))) predict(fit)$pred fit$coef[1] * fit$res[72] + USAccDeaths[72] ## ARIMA(0,0,0)(1,0,0) (fit <- arima(USAccDeaths, order = c(0,0,0), seasonal = c(1,0,0))) predict(fit,1)$pred fit$coef[1] * (USAccDeaths[61] - fit$coef[2]) + fit$coef[2] 2011/7/27 Paola Tame <paola.tame@gmail.com>
Boa tarde Grupo,
estou com problemas para interpretar as saídas da função arima. Por exemplo, usando a base de dados de exemplo do R "USAccDeaths". Ajustando o modelo:
fit <- arima(USAccDeaths, order = c(0,1,1), seasonal = list(order=c(0,1,1)))
Tenho a seguinte saída:
Series: USAccDeaths ARIMA(0,1,1)(0,1,1)[12]
Call: arima(x = USAccDeaths, order = c(0, 1, 1), seasonal = list(order = c(0, 1, 1)))
Coefficients: ma1 sma1 -0.4303 -0.5528 s.e. 0.1228 0.1784
sigma^2 estimated as 99347: log likelihood = -425.44 AIC = 856.88 AICc = 857.32 BIC = 863.11
Utilizando a função *"predict"* para calcular os próximos 4 meses tenho o seguinte resultado:
$pred Jan Feb Mar Apr 1979 8336.061 7531.829 8314.644 8616.869
Como vou precisar utilizar o modelo fora do R preciso entender como é feita essa previsão pois utilizando os coeficientes *ma1* e *sma1* estou obtendo resultados diferentes.
Mesmo ajustando um modelo mais simples como um AR(1) para esses dados (apenas como exemplo, sem me preocupar com a qualidade do ajuste) os preditos que calculo não batem com os preditos retornados pela função "* predict*". Aparentemente a função de predição não é montada diretamente dos coeficientes estimados (p. ex. no caso de um modelo AR(1) X(t) = intercept + ar1*X(t-1)).
Alguém poderia me ajudar?
Obrigada, Paola Tame
_______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.
participantes (2)
-
Paola Tame
-
Rodrigo Coster