Проверка остатков: Прогноз -> проверка остатков и bgtest - PullRequest
0 голосов
/ 16 декабря 2018

Я использую пакет Роба Хиндмана forecast, и я хотел бы извлечь некоторые значения из функции checkresiduals.Есть ли способ вызвать checkresiduals(model) и затем извлечь значения p, lag и df для теста Льюнга-Бокса, который вызывает функция?Функция просто выводит вывод на консоль следующим образом:

> checkresiduals(arima_model)

    Ljung-Box test

data:  Residuals from ARIMA(0,1,3)(2,0,1)[7]
Q* = 29.221, df = 8, p-value = 0.00029

Если бы мне было интересно вместо этого запустить тест Бреуша-Годфри с использованием параметров, определенных моделью, обнаруженной auto.arima, то

bgtest (auto.arima (time_series))

достаточно, чтобы указать правильный максимальный порядок и регрессоры?

Спасибо!

1 Ответ

0 голосов
/ 16 декабря 2018

Обе части вашего вопроса касаются того, как на самом деле работает функция forecast::checkresiduals.Эта функция написана на чистом R, поэтому я бы посоветовал пройтись по коду, просто запустив команду forecast::checkresiduals в консоли.

Для случая LB вы можете получить значение p следующим образом:

arima_model <- forecast::auto.arima(WWWusage)
LBtest <- Box.test(zoo::na.approx(residuals(arima_model))
                   , fitdf = length(arima_model$coef)
                   , lag = max( length(arima_model$coef) + 3
                                , min(10, length(residuals(arima_model))/5) )
                   , type = 'Ljung')

LBtest$p.value

Вторая часть вашего вопроса имеет больше сложностей и зависит от ваших данных и контекста вашего анализа, но вы должны быть осторожны при использовании функции auto.arima.

HTH

...