Я подгоняю модель, используя функцию auto.arima
в пакете forecast
. Например, я получаю модель AR (1). Затем я извлекаю остатки этой модели. Как это генерирует такое же количество остатков, что и исходный вектор? Если это AR (1) модель, то число остатков должно быть на 1 меньше размерности исходного временного ряда. Что мне не хватает?остатки в R с использованием auto.arima и прогнозного пакета
Пример:
require(forecast)
arprocess = as.numeric(arima.sim(model = list(ar=.5), n=100))
#auto.arima(arprocess, d=0, D=0, ic="bic", stationary=T)
# Series: arprocess
# ARIMA(1,0,0) with zero mean
# Coefficients:
# ar1
# 0.5198
# s.e. 0.0867
# sigma^2 estimated as 1.403: log likelihood=-158.99
# AIC=321.97 AICc=322.1 BIC=327.18
r = resid(auto.arima(arprocess, d=0, D=0, ic="bic", stationary=T))
> length(r)
[1] 100
Обновление: Копаем в код auto.arima
, я вижу, что он использует Arima
который, в свою очередь, использует stats:::arima
. Поэтому вопрос в том, как stats:::arima
вычисляет остатки для самого первого наблюдения?
ваша модель «ARIMA (1,0,1) с нулевым средним», а не ARIMA (1,0,0) с нулевым средним значением. Вам нужно установить 'max.q = 0', чтобы получить ARIMA (1,0,0) – Metrics
, можете ли вы объяснить, почему вы считаете, что это так? независимо от того, остается ли этот вопрос прежним, даже если это «ARIMA (1,0,1)». – Alex
Да, это все равно. Я иду через это. – Metrics