R - использовать прогнозируемые значения ets() в качестве предикторов в моделях glm()

В настоящее время я использую три модели на панели данных. У меня 378 клиентов за 12 периодов. Я использую прямые лаги моих переменных ответа. Например, частота в периоде t-1 является предиктором частоты в периоде t:

покупка <- glm (pur ~ freq.t-1 + sales.t-1 + больше переменных, семейство = биномиальное (link = "logit"), data = dat)

частота <- glm.nb (freq ~ freq.t-1 + sales.t-1 + больше переменных, data = dat.pur)

продажи <- glm (продажи ~ частота + частота.t-1 + продажи.t-1 + больше переменных, data = dat.pur)

Я оцениваю частоту и продажи только в том случае, если прогнозируемая покупка == 1. Я использую прогнозируемые значения частоты в качестве предиктора для продаж.

У меня есть значительная последовательная корреляция в моих данных, которая ожидается. Я хочу использовать это в своих интересах, включая динамические структуры лагов.

Я прочитал несколько книг, темы о стекопереработке и учебные пособия (например, мне очень нравится https://bookdown.org/ccolonescu/RPoE4/time-series-stationary-variables.html). Но я потерян сейчас. Я имею в виду использование экспоненциального сглаживания вместо структуры прямого лага.

См. Код ниже, который представляет собой вектор частоты для клиента 57. Для каждого периода я прогнозирую частоту t+1 на основе предыдущих наблюдений частоты.

Теперь я хочу использовать freq.ets (или freq.hw) в качестве предикторов в моих моделях выше. Разрешено ли это по дороге, как я это сделал сейчас?

c.57$freq <- c(2, 1, 2, 1, 1, 2, 1, 2, 2, 1, 2, 2)

for (i in 2:12) {
  c.57$freq.ets[i] <- forecast(ets(c.57$freq[1:i]), 1)$mean
  c.57$freq.hw[i] <- forecast(HoltWinters(c.57$freq[1:i], beta=FALSE, gamma=FALSE), 1)$mean
}

   freq freq.ets  freq.hw
1     2       NA       NA
2     1 1.800000 1.000066
3     2 2.000000 1.999934
4     1 1.546773 1.546758
5     1 1.237072 1.237079
6     2 1.586379 1.586379
7     1 1.428557 1.401724
8     2 1.500029 1.589050
9     2 1.555596 1.682220
10    1 1.500029 1.539794
11    2 1.545460 1.640922
12    2 1.583327 1.705174

PS Мне известно о том факте, что, вероятно, существуют более эффективные способы оценки моих моделей, чем использование вышеуказанной структуры с тремя отдельными моделями (например, модель одновременных систем / случайных эффектов), но я хочу начать с этой базовой установки и работать оттуда. Так что в данный момент мне просто интересно, является ли включение этих структур лагов правильным способом сделать это.

0 ответов

Другие вопросы по тегам