Я разрабатываю модель временных рядов векторной авторегрессии (VAR) в R. Спецификация модели включает в себя матрицу (xts
класс) эндогенных переменных под названием «endog» и матрицу (также класс xts
) экзогенных переменных, называемых «exog» «. Данные являются сезонными, и я хочу прогнозировать сезонность, поэтому я также указываю «сезон = 12», поскольку данные являются ежемесячными. Таким образом, мой код R для выполнения модели var:R var предсказывает, как список экзогенных переменных, так и список фиктивных переменных, что, если моя спецификация не включает фиктивные переменные?
fit <- var(endog, p = 1, season = 12, type = 'const', exogen = exog)
Этот код работает гладко. Но теперь я хочу предсказать данные за 24 периода. Так мой предсказать код:
predictions <- predict(fit, exo.fcst = exog_future, n.ahead = 24, ci = 0.95)
где «exog_future» является матрица (также xts
класс) из одних и тех же переменных, как в exog, но включает в себя 24 будущих периодов, чтобы прогнозировать. (Я пробовал два варианта:. Один с исторической exog данных плюс новые данные в течение следующих 24 периодов, а другая версия включает в себя только в 24 периодов)
Я получаю следующее сообщение об ошибке:
Ошибка в predict.varest (ВАР (endog, р = 1, сезон = 12, тип = "Const",:. Нет матрица для dumvar поставляется, но объект varest содержит экзогенные переменные
Ясно, что R ожидает матрица фиктивных переменных в дополнение к экзогенным переменным. Если R не учитывает спецификацию «сезон = 12» как ma трикс фиктивных переменных, спецификация модели не содержит фиктивных переменных, поэтому почему она ожидает фиктивные переменные сейчас? В случае, если он учитывает сезонные спецификации как фиктивные переменные, я добавил «сезон = 12» в свой код прогноза. Я получил такое же сообщение об ошибке.
Я понимаю, что если модель включает в себя экзогенные переменные, то я должен указать будущие значения для них в коде прогнозирования. Я также понимаю, что если бы я предоставил фиктивные переменные, для этого прогнозирования понадобятся будущие значения этих значений по одной и той же причине. Они являются экзогенными переменными, только двоичными.
Итак, если в спецификации модели не указаны фиктивные переменные, что я ожидаю от поставки для «dumvar?»?
Возможно, я понял, но решение нелогично. Возможно, кто-то может проверить правильность решения. – Joe
Возможно, я понял, но решение нелогично. Возможно, кто-то может проверить правильность решения.Когда я представляю матрицу будущих экзогенных переменных как _dumbvar = matrix_of_future_exogenous_variables_, ошибка исчезает. Логично представить эти переменные, потому что предсказание нуждается в их значениях для расчета прогнозируемых значений эндогенных переменных. Нет смысла называть их _dumbvar_, потому что они не являются двоичными. Они являются непрерывными переменными, такими как _unemployment_rate_. Обратите внимание: матрица находится в формате xts, так как это временные ряды. – Joe
Извините за дублирование. Я попытался немедленно отредактировать, но система не допустила бы этого, потому что я потратил более 5 минут на то, чтобы завершить редактирование. Возможно, это ограничение может быть удалено на сайте, что поощряет продуманные решения. – Joe