У меня есть ежедневные данные о продажах для продукта, который является очень сезонным. Я хочу уловить сезонность в регрессионной модели. Я читал, что если у вас есть квартальные или месячные данные, в этом случае вы можете создать 3 и 11 фиктивных переменных соответственно - но могу ли я иметь дело с ежедневными данными?
У меня есть три года ежедневных данных. Независимыми переменными являются цена, рекламный флаг (да / нет) и температура. Зависимая переменная - продажи этого продукта. Я не ищу модель временного ряда, поскольку я использую модель множественной регрессии.
Ответы:
@Irishstat подробно рассказал о том, что я собирался сказать, но я бы ответил своим личным опытом моделирования этих данных с помощью регрессии временных рядов и регрессии OLS.
Если это ежедневные данные, я бы сделал следующее:
Создайте фиктивную переменную для различной сезонности:
Создайте фиктивную переменную для трендовых переменных:
Если временной ряд демонстрирует линейный тренд, добавьте переменную временного тренда.
Если временной ряд показывает нелинейный тренд, добавьте переменную нелинейного временного тренда, такую как квадратичный / кубический / лог
Добавить независимые переменные Переменные
Это данные временного ряда, поэтому следует проявлять осторожность в отношении опережающих и запаздывающих эффектов независимых вариабельных значений. Например, в вашем примере вы упоминаете рекламный флаг ценовой категории, он может не иметь немедленного влияния на ваш ответ, т. Е. Может быть запаздывание и затухающий / постоянный эффект. Так, например, если вы проведете рекламную кампанию сегодня, вы можете увеличить продажи сегодня, но эффект от рекламы исчезнет через несколько дней. Нет простого способа смоделировать это с использованием множественной регрессии, вы бы хотели использовать моделирование передаточной функции, которое является parsimonoius и может обрабатывать любые типы опережающих и запаздывающих эффектов. Посмотрите на этот пример, который я опубликовал ранее, где есть интервенция (в вашем случае цена), и есть резкое повышение, за которым следует эффект затухания. Сказав это, если у вас естьаприорные знания об эффекте опережения и отставания, создайте дополнительные переменные в фиктивных переменных вашего случая до и после ценовой отметки и (да / нет) изменения рекламной акции.
Вам также необходимо добавить переменные индикатора движущихся праздничных дней, например, как указал Irishstat, вы хотели бы добавить пасхальные / благодарственные (в США), которые перемещают праздничные дни. Праздники с фиксированными датами будут автоматически учтены, если вы используете фиктивную схему кодирования для определения сезонности.
Кроме того, вам нужно будет определить выбросы, такие как аддитивная / импульсная (одноразовое событие) или сдвиг уровня (постоянное смещение), и добавить их в качестве регрессоров. Выявить выбросы в множественной регрессии для данных временных рядов практически невозможно; вам потребуются методы обнаружения выбросов во временном ряду, такие как процедура Цая или процедура Чена и Лю, встроенная в такие программы, как AUTOBOX, SPSS, SAS или
tsoutlier
пакет в R.Потенциальные проблемы:
Ниже приведены проблемы, с которыми вы столкнетесь, если будете моделировать данные временных рядов с использованием множественной регрессии OLS.
И есть много других недостатков использования множественной регрессии. Если прогноз для вас важнее, я бы оставил данные как минимум за 6 месяцев и проверил бы предсказательную способность вашей множественной регрессии. Если ваша главная цель - объяснить корреляцию между независимыми переменными, я бы с осторожностью использовал множественную регрессию, а вместо этого я бы использовал подход временных рядов, такой как ARIMAX / GLS.
Если вам интересно, вы можете обратиться к превосходному тексту Панкраца , для передачи функции и динамического регрессионного моделирования. Для общего прогнозирования временных рядов, пожалуйста, обратитесь к Makridakis et al . Кроме того, Diebold может предложить хороший справочный текст для прогнозирования на основе регрессии и временных рядов.
источник
Что вам нужно, так это модель, которая будет включать ежедневные эффекты, еженедельные эффекты, ежемесячные эффекты, эффекты недели месяца, эффекты дня месяца, опережающие и запаздывающие эффекты праздников, неопределенные, но эмпирически идентифицируемые сдвиги уровня / шага, местные тренды времени, изменения в сезонных импульсах и импульсах при включении структуры ARIMA и, возможно, в связи с изменениями параметров и дисперсией ошибок во времени. Это называется передаточной функцией и может быть легко пересчитано (НО НЕ ПАРСИНОМНО) как множественная линейная регрессия.
В частности, дневной индикатор будет принимать 6 предикторов. В общем, нужно тщательно спланировать (определить), какие именно предикторы нужны. Если у вас много времени, вы можете поэкспериментировать с некоторыми из структур, которые я упомянул. В качестве альтернативы вам может потребоваться продвинутое программное обеспечение / консультации, чтобы вы могли решить свою проблему в течение жизни.
источник