Я пытаюсь оценить множественную линейную регрессию в R с помощью следующего уравнения:
regr <- lm(rate ~ constant + askings + questions + 0)
Задания и вопросы представляют собой квартальные временные ряды данных, построенные с помощью askings <- ts(...)
.
Проблема в том, что я получил автокоррелированные остатки. Я знаю, что можно подогнать регрессию с помощью функции gls, но я не знаю, как определить правильную структуру ошибок AR или ARMA, которую я должен реализовать в функции gls.
Я бы попробовал еще раз оценить сейчас,
gls(rate ~ constant + askings + questions + 0, correlation=corARMA(p=?,q=?))
но я, к сожалению, не являюсь ни экспертом по R, ни статистическим экспертом в целом, чтобы определить p и q.
Я был бы рад, если бы кто-то мог дать мне полезную подсказку. Заранее большое спасибо!
Джо
источник
Если ваша цель - прогнозирование, вы можете установить диапазон моделей по параметрам:
где
P
иQ
- максимальные значения AR (p) и MA (q), которые вы хотите включить, и выберите наиболее подходящую модель, определенную BIC.auto.arima()
в прогнозе пакета поможет с этим, но это может быть легко закодировано вручную, используяexpand.grid()
и цикл иarima()
функцию, которая идет с R.Вышеуказанное соответствует остаткам
gls()
безcorrelation
структуры.Вы также можете сделать все это вручную непосредственно с
gls()
помощью только фитинга множества моделей для комбинацийp
иq
и во встроеннойAIC()
функции.Вы также можете построить график ACF (
acf()
) и частичного ACF (pacf()
) остатков из линейной модели без корреляционной структуры и использовать их, чтобы предложить порядок требуемой модели.источник