Capturando la estacionalidad en regresión múltiple para datos diarios

13

Tengo datos de ventas diarias de un producto que es altamente estacional. Quiero capturar la estacionalidad en el modelo de regresión. He leído que si tiene datos trimestrales o mensuales, en ese caso puede crear 3 y 11 variables ficticias respectivamente, pero ¿puedo tratar con datos diarios?

Tengo tres años de datos diarios. Las variables independientes son el precio, la marca promocional (sí / no) y la temperatura. La variable dependiente son las ventas de ese producto. No estoy buscando un modelo de serie temporal ya que estoy usando un modelo de regresión múltiple.

Arushi
fuente
¿Cuántos datos tienes? ¿Cuántos años valen? ¿Tienes datos sobre algo como la temperatura? ¿Cómo es el resto de tu modelo? ¿Cuáles son sus DV y IVs?
Peter Flom - Restablece a Monica
Además de lo que Peter Flom preguntó, ¿está modelando sus datos como series de tiempo univariadas o series de tiempo multivariadas? Si es multivariante, ¿tiene otras variables? ¿Estas variables exhiben un comportamiento estacional? de ser así, sería innecesario agregar una variable ficticia. ¿Puede proporcionar esta información adicional?
pronosticador
He editado mi pregunta. ¿Podría por favor proporcionar alguna solución? Gracias
Arushi
Estoy totalmente de acuerdo con @IrishStat, no supondremos ignorar los modelos de series de tiempo, un modelo bastante bueno que captura la estacionalidad múltiple. Sugeriría que puede consultar el modelo de espacio de estado de suavizado exponencial que tiene la capacidad de manejar estacionalidad múltiple, Tendencia, simultáneamente. Se encuentra exclusivamente en R. Puede usar el paquete de pronóstico ().
Karthi V

Respuestas:

10

@Irishstat cubrió más o menos lo que estaba a punto de decir, pero respondería con mi propia experiencia personal en el modelado de estos datos con regresión de series temporales y regresión OLS.

Si se trata de datos diarios, haría lo siguiente:

Cree una variable ficticia para una estacionalidad diferente:

  • Para capturar la estacionalidad del día de la semana, cree 6 variables ficticias.
  • Para capturar la estacionalidad del día del mes, cree 30 variables ficticias
  • Para capturar el mes del año, cree 11 variables ficticias.

Crear variable ficticia para variables de tendencia:

  • Si la serie temporal presenta una tendencia lineal, entonces agregue una variable de tendencia temporal.

  • Si la serie temporal presenta una tendencia no lineal, agregue una variable de tendencia temporal no lineal como cuadrática / cúbica / log

Agregar variables independientes Variables

  • Estos son datos de series de tiempo, por lo que se debe tener cuidado con los efectos de plomo y retraso de las varibales independientes. Por ejemplo, en su ejemplo, usted menciona una bandera promocional de precio, puede que no tenga un efecto inmediato en su respuesta, es decir, puede haber un retraso y un efecto decadente / permanente . Entonces, por ejemplo, si ejecuta una promoción hoy, puede tener un aumento en las ventas hoy pero el efecto de la promoción decae después de unos días. No hay una manera fácil de modelar esto usando regresión múltiple, usted querría usar el modelado de la función de transferencia que es parsimonoius y puede manejar cualquier tipo de efectos de adelanto y retraso. Vea este ejemplo que publiqué anteriormente, donde hay una intervención (en su punto de precio de caso) y hay un aumento abrupto, seguido de un efecto decadente. Habiendo dicho eso si tienesconocimiento a priori sobre el efecto de adelanto y retraso, cree variables adicionales en las variables ficticias de su caso antes y después del punto de precio y (sí / no) el cambio de promoción.

  • También necesitará agregar variables indicadoras de días festivos en movimiento, por ejemplo, como Irishstat señaló que desea agregar Pascua / Acción de Gracias (en EE. UU.) Que son días festivos en movimiento. Las vacaciones que son fechas fijas se atenderán automáticamente si está utilizando un esquema de codificación ficticio para capturar la estacionalidad.

  • Además, necesitaría identificar valores atípicos como aditivo / pulso (evento único) o cambio de nivel (cambio permanente) y agregarlos como regresores. Identificar valores atípicos en regresión múltiple para datos de series temporales es casi imposible; necesitaría métodos de detección de valores atípicos de series temporales como el procedimiento de Tsay o el procedimiento de Chen y Liu que se ha incorporado en software como AUTOBOX, SPSS, SAS o el tsoutlierpaquete en R.

Problemas potenciales:

Los siguientes son los problemas con los que se encontraría si modela datos de series de tiempo utilizando la regresión múltiple de OLS.

  • Los errores pueden estar autocorrelacionados. Vea este bonito sitio web y este sitio web que explica este problema. Una forma de evitar esto es usar el método de mínimos cuadrados generalizados (GLS) o ARIMAX frente a la regresión múltiple de OLS, donde puede corregir la correlación automática.
  • 6 6+30+11=47
  • Al usar variables ficticias, está asumiendo que su estacionalidad es determinista, es decir, que no cambia con el tiempo. Como solo tiene 3 años de datos, no me preocuparía, pero aún así vale la pena trazar la serie y ver si la estacionalidad no cambia.

Y hay muchas más desventajas de usar la regresión múltiple. Si la predicción es más importante para usted, entonces tendré al menos 6 meses de datos y probaré la capacidad predictiva de su regresión múltiple. Si su objetivo principal es explicar la correlación entre variables independientes, entonces sería cauteloso usando regresión múltiple, y en su lugar usaría un enfoque de series de tiempo como ARIMAX / GLS.

Si está interesado, puede consultar el excelente texto de Pankratz , para la función de transferencia y el modelado de regresión dinámica. Para el pronóstico general de series de tiempo, consulte Makridakis et al . Además, Diebold sería un buen texto de referencia para la regresión y el pronóstico basado en series de tiempo.

pronosticador
fuente
Muy buen resumen PERO quisiera agregar que usted ignoró los efectos particulares de la semana del mes y del día del mes en particular, además de los posibles efectos de fin de semana, que he encontrado que son muy importantes. Además, los efectos previos y posteriores al evento no deben ignorarse. Considere la actividad alrededor de Semana Santa y otras fiestas / eventos importantes. A menudo hay un patrón de respuesta individual que requiere la incorporación de una especificación LEAD. También debe tener en cuenta que los parámetros pueden y, a menudo, cambian con el tiempo y es necesario validar la suposición de constancia de los parámetros.
IrishStat el
Gracias @Irishstat. Tienes razón. Olvidé las vacaciones en movimiento y sus efectos de adelanto y retraso.
pronosticador
2

Lo que necesita es un modelo que incorpore efectos diarios, efectos semanales, efectos mensuales, efectos de la semana del mes, efectos del día del mes, efectos de adelanto y retraso de las vacaciones, cambios de nivel / paso no especificados pero identificables empíricamente, tendencias de tiempo local, cambios en pulsos estacionales y pulsos al incorporar la estructura ARIMA y posiblemente tratar con cambios en los parámetros y la varianza del error a lo largo del tiempo. Esto se llama una función de transferencia y se puede restablecer fácilmente (PERO NO PARSIMONIOSAMENTE) como una regresión lineal múltiple.

En específico, un indicador diario tomaría 6 predictores. En general, uno tiene que orquestar (identificar) cuidadosamente qué tipo de predictores se necesitan. Si tienes mucho tiempo libre, puedes experimentar con algunas de las estructuras que he mencionado. Alternativamente, es posible que necesite un software / consultoría avanzada para que pueda resolver su problema en su vida.

IrishStat
fuente