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