El algoritmo de series temporales

31.12.2013 01:20

A menudo, los profesionales de SQL Server deben proporcionar estimaciones de valores futuros, tales como proyecciones de ingresos o previsiones de ventas. Las Organizaciones a veces confían en la tecnología de minería de datos para construir modelos de predicción para proporcionar tales estimaciones. Voy a explicar los conceptos clave necesarios para la comprensión de cómo funcionan estas tecnologías de minería de datos. También  voy a presentar  algunos de los detalles subyacentes de manera que no parezca tan extraño y formidable la primera vez que las presente. Con una comprensión de los conceptos clave y la exposición de algunos de los detalles, estará en una mejor posición para empezar a utilizar las capacidades de predicción de SQL Server Analysis Services (SSAS).

¿Por qué la minería de datos no es más popular
En la última década, las tecnologías de inteligencia de negocio (BI) como OLAP  han estado ampliamente adoptadas. Durante ese tiempo, Microsoft también ha incluido  la tecnología de BI, minería de datos, en herramientas tan populares como Microsoft SQL Server y Microsoft Excel, pero la minería de datos aún no se ha convertido en una tecnología dominante. ¿Por qué? Aunque la mayoría de la gente puede entender conceptos de minería de datos básicos, incluso sin entrenamiento formal, los detalles subyacentes de los algoritmos están impregnadas de conceptos y fórmulas matemáticas. Hay un considerable "drop off" entre la comprensión conceptual de alto nivel y los detalles de implementación. Como resultado, la minería de datos es vista como un cuadro negro por  los profesionales de TI y por los usuarios de negocios por igual, lo que disminuye la confianza en el uso y la adopción de la tecnología. "Entender  los Conceptos de la serie temporal  de predicción" es mi intento de hacer que el "drop off" para la predicción de series temporales sea  menos acusado

Métodos de Pronostico

Existen diferentes enfoques para la predicción. Por ejemplo, el sitio web métodos de previsión  clasifica los métodos de previsión en varias categorías, incluyendo informal (aka econométrico), crítico, series de tiempo,  inteligencia artificial, el mercado de la predicción, la predicción probabilística, simulaciones de predicción y previsión clase de referencia. El sitio Principios de Pronostico  tiene un árbol que clasifica a los métodos, a partir de una escisión entre los métodos de juicio (es decir, los métodos utilizados cuando los datos disponibles son insuficientes para el análisis cuantitativo) y métodos estadísticos (es decir, los métodos utilizados cuando los datos numéricos pertinentes están disponibles) . En este artículo, me centraré en la predicción de series de tiempo, un tipo de enfoque estadístico en el que los datos históricos están disponibles para los valores que se pronostican.

El Pronóstico de series de tiempo asume que los datos del pasado pueden ayudar a explicar los valores futuros. Es importante saber que en algunas situaciones, puede haber circunstancias que no se reflejan en los datos históricos. Por ejemplo, podría haber un nuevo competidor que podría afectar negativamente a los ingresos futuros o un rápido cambio en la composición de la fuerza de trabajo (por ejemplo, un aumento en las estructuras familiares de doble ingreso como el que surgió en la década de 1960) que podría afectar a las tasas de desempleo en el futuro. En este tipo de situaciones, un pronóstico de series de tiempo no puede ser el mejor enfoque o no debe ser el único criterio considerado. A menudo, los diferentes enfoques de previsión se combinan para proporcionar las predicciones más precisas.

Principios básicos de la serie de tiempo en el presupuesto

Una serie de tiempo es un conjunto de valores observados durante un período de tiempo, por lo general a intervalos regulares. Los ejemplos más comunes incluyen los montos semanales de ventas, gastos trimestrales, y las tasas mensuales de desempleo. Los Datos de series de tiempo a menudo se presentan en un formato gráfico, con el intervalo de tiempo a lo largo del eje x de una tabla y los valores a lo largo del eje y, como muestra la Figura 1.

 

Figura 1: Lineal Trendline en un gráfico de serie temporal

Figura 1: Lineal Trendline en un gráfico de serie temporal

 

En cuanto a la comprensión de cómo se modifica un valor de un período a otro, y cómo predecir los valores futuros, los datos de series de tiempo tiene varias características principales:

  • Nivel de base. El nivel de base se define típicamente como el valor medio de la serie. En algunos modelos de predicción, el nivel de base se define como el valor inicial de los datos de series.
  • Tendencia. Una tendencia se define generalmente como la forma en que  la serie cambia de un período a otro. Por ejemplo, en la Figura 1, el número de desempleados tienden a la tendencia al alza desde principios de 2008 hasta enero de 2010, después de lo cual parece mostrar una tendencia a la baja. 

Calcular el Paro
En "Descripción de Conceptos de predicción de series temporales," el conjunto de datos para las tablas proviene de los datos de empleo publicados por la Oficina de Estadísticas Laborales de EE.UU. . El BLS publica la tasa de desempleo basado en una encuesta mensual de la Oficina del Censo de EE.UU. que extrapola el número total de personas empleadas y desempleadas. En concreto, el BLS utiliza la fórmula:           Tasa de desempleo = desempleados / (desempleados + empleados) Curiosamente, la tasa de desempleo por lo general citado en la noticia es una tasa ajustada estacionalmente. El ajuste estacional se logra con el algoritmo (ARIMA). Este es esencialmente el mismo algoritmo utilizado por muchos paquetes de minería de datos para la predicción de series de tiempo, incluyendo SQL Server Analysis Services (SSAS). Para obtener más información acerca de la implementación ARIMA utilizado por la Oficina del Censo, visite la página web X-12 ARIMA-Programa de Ajuste estacional . Tenga en cuenta que en el proyecto de ejemplo de este artículo, he incluido tanto los valores desestacionalizados y sin desestacionalizar.

 

  • Estacionalidad. Ciertos valores tenderán a subir y bajar sobre la base de ciertos períodos de tiempo, como el día de la semana o mes del año. Los ejemplos incluyen las ventas minoristas, que a menudo SPIKE durante la temporada de Navidad. En el caso del desempleo, hay una tendencia estacional, con mayor número de parados en enero y julio y los números más bajos en mayo y octubre, como muestra la Figura 2.

 

Figura 2: Evolución de temporada en un gráfico de serie temporal

Figura 2: Evolución de temporada en un gráfico de serie temporal

 

  • Ruido. Algunos modelos de previsión incluyen una cuarta característica, el ruido, que se refiere a las variaciones aleatorias y los movimientos irregulares en los datos. El ruido no se cubrirá aquí.

Por lo tanto, si usted puede identificar una tendencia, se aplica esa tendencia a nivel de base, y se da cuenta de cualquier estacionalidad que puedan existir en los datos, usted tiene un modelo de pronóstico que se puede utilizar para predecir valores futuros:

          Valor pronosticados = Nivel Base +tendencia + Estacionalidad

La identificación de un Valor Base y Tendencia

Una manera de identificar un valor de base y la tendencia es aplicar una técnica de regresión. El término regresión significa estudiar la relación entre las variables. En este caso, es la relación entre la variable independiente del tiempo y la variable dependiente del número de desempleados. Tenga en cuenta que la variable independiente se  la refiere a veces como el predictor.

Puede utilizar una herramienta como Microsoft Excel para aplicar la técnica de regresión. Por ejemplo, puede hacer que Excel la calcule automáticamente y agregue una línea de tendencia a un gráfico de series de tiempo utilizando el menú línea de tendencia en la ficha Herramientas de diseño gráfico o gráfico dinámico Herramientas ficha Diseño en  Excel 2010 o Excel 2007 . En la Figura 1, agregamos  una línea de tendencia lineal mediante la selección de la opción línea de tendencia lineal  en el menú Trendline. Después, elegimos  Más opciones de línea de tendencia en el menú Trendline y seleccionamos  la ecuación de visualización en el gráfico y Presentamos el valor R cuadrado en el gráfico , las opciones que se muestran en la Figura 3.

Figura 3: Opciones de Excel Trendline

Figura 3: Opciones de Excel Trendline

Este proceso de ajuste de una línea de tendencia para los datos históricos se llama regresión lineal. Como se puede ver en la figura 1, la línea de tendencia se calcula con una ecuación que identifica el nivel de base (8.248,8) y la tendencia (104.67x):

          y = 104.67x + 8248.8

Usted puede pensar que  la línea de tendencia es como una serie de coordenadas xy conectadas en que se puede conectar a un período de tiempo (es decir, el eje x) para llegar a un valor (el eje y). Excel determina la "mejor" línea de tendencia usando algo llamado el método de mínimos cuadrados (identificado como R ² en la Figura 1). La línea de mínimos cuadrados es la línea que minimiza la distancia vertical al cuadrado de cada punto de la línea de tendencia a su punto de la línea correspondiente. Los Valores cuadrados se usan para que las desviaciones por encima y por debajo de la línea actual no se anulen entre sí. En la Figura 1, R  ²  = 0,5039, indica la relación lineal explica el  50,39 por ciento de los cambios en las estadísticas de  parados en el tiempo.

La Identificación de una línea de tendencia precisa en Excel a menudo implica ensayo y error, junto con la inspección visual. En la Figura 1, la línea de tendencia lineal no es un gran ajuste. Excel proporciona otras opciones de línea de tendencia, que se puede ver en la Figura 3. Por ejemplo, en la Figura 4, he añadido una línea de puntos discontinuos sobre  cuatro  periodos de movimiento  de tendencia promedio,  sobre la base de un promedio de los períodos especificados actuales y pasados ​​de la serie temporal.

 

Figura 4: Media móvil Trendline en un gráfico de serie temporal

Figura 4: Media móvil Trendline en un gráfico de serie temporal

 

También he añadido una línea de tendencia polinómica, que utiliza una ecuación algebraica para construir una línea. Nota la línea de tendencia polinomio tiene un valor de R ² de 0,9318, lo que indica un mejor ajuste en la explicación de la relación entre la variable independiente y dependiente. Sin embargo, un R ² mayor no necesariamente indica si la línea de tendencia proporcionará pronósticos precisos. Existen otros métodos para calcular la precisión del pronóstico, que voy a discutir en breve.

Algunas de las opciones de la línea de tendencia en Excel (por ejemplo, lineal, polinómica) le permiten prever hacia  adelante y hacia atrás por una serie de períodos, con los valores de pronóstico resultantes representados en el gráfico. Decir que se puede "predecir hacia atrás" puede parecer extraño. La mejor manera de explicarlo es con un ejemplo. Supongamos que un nuevo factor de un rápido crecimiento en los empleos del gobierno (por ejemplo, los trabajos de la Defensa Nacional en la década de 2000, los trabajadores de la Oficina del Censo de EE.UU. temporales) provoca una rápida caída en el desempleo. Usted quiere pronosticar la tasa de crecimiento de este nuevo sector de trabajo hacia atrás durante varios meses, y luego volver a calcular el desempleo para llegar a una tasa de suavizado de cambio.

También puede utilizar manualmente la ecuación de línea de tendencia para calcular los valores pronosticados. En la Figura 5, agregué una línea de tendencia polinómica con una previsión de seis meses, tras haberse quitado los últimos seis meses de datos (es decir, los datos de abril a septiembre de 2012) de la serie de tiempo original.

 

Figura 5: Polinomio Trendline con una de seis meses Pronóstico

Figura 5: Polinomio Trendline con una de seis meses Pronóstico

 

Si se compara la figura 5 con la figura 1, se puede ver que  las previsiones de polinomios están en tendencia alcista, que no coincide con la tendencia a la baja de la serie histórica real.

Es importante tener en cuenta dos puntos adicionales sobre la regresión:

  • Como mencioné anteriormente, la regresión lineal implica una variable  independiente y una variable dependiente. Si usted quiere entender cómo las variables independientes adicionales pueden explicar el cambio en la variable dependiente, se puede construir un modelo de regresión múltiple. En el contexto de la previsión del  número de personas desempleadas en los Estados Unidos, es posible que pueda aumentar el R ² (y la precisión de las previsiones) por medio de tomar el crecimiento de la economía, la población de los EE.UU., y el crecimiento en el número de Personas ocupadas. SSAS puede acomodar múltiples variables (es decir, los regresores) en un modelo de predicción de series temporales.
  • Algoritmos de predicción de series temporales, incluyendo los de SSAS, pueden calcular la autocorrelación, que es la correlación entre los valores  vecinos en una serie de tiempo.Los modelos de previsión que incorporen directamente una autocorrelación se llaman modelos autorregresivo (AR). En un modelo AR, los predictores son los valores pasados ​​de la serie en lugar de algún factor de la variable independiente (s). Por ejemplo, un modelo de regresión lineal proporciona una ecuación de tendencia en función del período (por ejemplo, 104.67 * x), mientras que la tendencia de un modelo AR se basa en los valores del pasado (por ejemplo, -0,417 * Desempleados (-1) + 0.549 * Empleado (- 1)). Los Modelos AR tienen el potencial de mejorar la precisión de los pronósticos mediante la inclusión de información adicional más allá de la tendencia y la estacionalidad.

Contabilización de la Estacionalidad

Es común que la estacionalidad aparezca en una serie de tiempo, ya sea por  día de la semana, día del mes, o mes del año. Como se ha mencionado anteriormente, el número de personas desempleadas en los Estados Unidos por lo general se eleva y cae en un año del calendario. (Esto es cierto incluso cuando la economía va muy bien, como la figura 2 ilustra.) En cuanto a la previsión, es necesario tener en cuenta esta estacionalidad para hacer predicciones exactas. Un enfoque común es para suavizar la estacionalidad. En práctica predicción de series temporales: una guía práctica, Segunda Edición (CreateSpace Plataforma Independent Publishing, 2012), Galit Shmueli recomienda usar uno de tres métodos:

  • Calcular una media móvil
  • Agregar la serie de tiempo a un nivel menos granular (por ejemplo, mirar los números desempleados por trimestre en lugar de por meses)
  • Generar series de tiempo independientes (y las previsiones) por temporada

A nivel de la base y la tendencia se deriva entonces la generación de  predicciones en contra de la serie de tiempo suavizada. Opcionalmente, la estacionalidad o los ajustes granulares se pueden volver a aplicar a los valores pronosticados por el factoring de nuevo en la estacionalidad original utilizando el método de Holt-Winters. Si quieres ver cómo se podría tener en cuenta la estacionalidad utilizando Excel, realiza una búsqueda en Internet usando la frase método de Winters en Excel. También se puede encontrar una explicación detallada del método de Holt-Winters en Wayne L. Winston Microsoft Office Excel 2007: Datos Análisis y modelado de negocio, Segunda Edición (Microsoft Press, 2007).

En muchos de los paquetes de data mining como SSAS, los algoritmos de predicción de series temporales representan automáticamente la estacionalidad mediante la cuantificación de las relaciones de temporada y su inclusión en el modelo de previsión. Sin embargo, a menudo se desea proporcionar pistas sobre el patrón estacional real.

Medición de la precisión del modelo de pronóstico

Como mencioné anteriormente, el ajuste inicial de un modelo (medida por el método de mínimos cuadrados) no equivale necesariamente a las previsiones precisas. La mejor forma de comprobar la exactitud de predicción es la de dividir la serie de tiempo en dos conjuntos de datos: uno para la construcción (por ejemplo, la formación) del modelo y el otro para validarlo. El conjunto de datos de validación será la parte más reciente del conjunto de datos original e idealmente debería abarcar un período de tiempo igual a la futura línea de tiempo de predicción. Para validar el modelo, los valores pronosticados se comparan con los valores reales. Tenga en cuenta que después de producirse la validación, el modelo debe ser reconstruido utilizando toda la serie temporal para que las previsiones de futuro se pueden beneficiar de los valores reales más recientes.

Cuando se mide la precisión de un modelo de pronóstico, hay dos preguntas más frecuentes.

¿Cómo debo definir la exactitud de la  predicción? En algunos casos, los valores predichos  más altos que el valor real podrían ser perjudiciales (por ejemplo, las predicciones sobre el rendimiento de inversiones). En otras situaciones, los valores predichos que son más bajos que el valor real podrían ser perjudicial (por ejemplo, la predicción de la puja ganadora más baja en un artículo de subasta). Pero en los casos en los que se desea calcular algún tipo de puntuación ponderada de todas las predicciones (sin importarle si las predicciones son más altas o más bajos que el valor real), puede iniciarse mediante la cuantificación del error en un solo pronóstico utilizando la definición:

          error = valor previsto - valor real

Con esta definición de un error, dos de los métodos más populares para la exactitud de una medición son el de error absoluto medio (MAE) y el de error absoluto porcentual promedio (MAPE). Con el método MAE, los valores absolutos de los errores de pronóstico se suman y luego se dividen por el número total de las previsiones. Con el método de MAPE, las desviaciones medias de las previsiones se calculan como un porcentaje. Si desea ver un ejemplo de estos y varios otros métodos para medir la precisión, está disponible en la página web .Métrica Plantilla Diagnóstico demanda una plantilla de Excel con los datos de previsión de muestra y precisión resultados

¿Cuántos datos históricos debo usar para entrenar a mi modelo? Cuando se trabaja con una serie de tiempo que va mucho más atrás en el pasado, es posible que se pensemos en  incluir todos los datos históricos del modelo. En algún momento, sin embargo, los datos  históricos  adicionales podrían no mejorar la precisión de los pronósticos. Los datos más antiguos, incluso pueden sesgar la previsión si las condiciones anteriores son muy diferentes a las condiciones actuales (por ejemplo, hay una composición de la fuerza de trabajo diferente ahora que en el pasado). No he visto ninguna fórmula específica o regla que indique la cantidad de datos históricos a incluir, por lo que mi sugerencia es comenzar con una serie de tiempo que sea varias veces mayor que el marco de tiempo del pronóstico, a continuación, la prueba de precisión. A continuación, intente ajustar la cantidad de datos históricos  hacia arriba o hacia abajo y vuelva a probar.

Trabajar con el algoritmo Time Series Forecasting en SSAS

El Pronóstico de series de tiempo apareció por primera vez en SSAS 2005. Su algoritmo de serie temporal de Microsoft utiliza un único algoritmo llamado árbol autorregresivo con predicción de cruz (ARTXP) para generar pronósticos. ARTXP combina técnicas de AR con una minería de datos de  "árbol de decisiones", por lo que la ecuación de predicción puede cambiar (es decir, dividirse) en base a ciertos criterios. Por ejemplo, un modelo de predicción podría producir un mayor ajuste (y mejor precisión del pronóstico) si se divide primero por la fecha y a continuación se divide por el valor de una variable independiente, como se muestra en la Figura 6.

 

Figura 6: Ejemplo de la Decisión ARTXP Árbol en SSAS

Figura 6: Ejemplo de la Decisión ARTXP Árbol en SSAS

 

En SSAS 2008, el algoritmo de serie temporal Microsoft comenzó a utilizar un segundo algoritmo llamado autorregresivo integrado de media móvil (ARIMA), además de ARTxp para mejorar los pronósticos a largo plazo. Arima se considera un estándar de la industria y se puede considerar como una combinación del  AR y técnicas de promedio móvil. También evalúa los errores históricos de la previsión de mejorar el modelo.

El comportamiento predeterminado del algoritmo de serie temporal de Microsoft es combinar los resultados de los algoritmos ARIMA y ARTXP para lograr previsiones óptimas.(Puede anular este comportamiento predeterminado si lo desea.) De acuerdo con SQL Server Books Online (BOL) :

"El algoritmo entrena a dos modelos separados en los mismo los datos:.. Un modelo utiliza el algoritmo ARTXP y otro modelo utiliza el algoritmo ARIMA  A continuación, el algoritmo combina los resultados de los dos modelos para obtener la mejor predicción sobre un número variable de segmentos de tiempo Debido a que ARTXP es mejor para predicciones a corto plazo, se usa  en mayor medida al principio de una serie de predicciones. Sin embargo, en  los intervalos de tiempo que predicen movimientos  más hacia el futuro, ARIMA se usa en mayor  medida. "

Cuando se trabaja con la predicción de series temporales en SSAS, usted necesita mantener en mente lo siguiente:

  • Aunque hay una pestaña llamada Gráfico de Minería de precisión en SSAS, esta ficha no trabajar con modelos de minería de datos de series de tiempo. En consecuencia , se tendrá que medir manualmente la precisión con uno de los métodos que he mencionado (por ejemplo, MAE, MAPE) utilizando una herramienta como Excel para ayudar en  los cálculos.
  • La edición Enterprise de SSAS le permite segmentar un modelo de  serie única vez en varios "modelos históricos", por lo que no tiene que dividir manualmente los datos en formación y conjuntos de datos de validación cuando se realicen las pruebas de la exactitud de predicción. Desde el punto de vista de un usuario final, todavía hay un solo modelo de series de tiempo, pero se puede comparar los resultados actuales con los resultados previstos en el modelo, como se muestra en la Figura 7. Si no va a utilizar la versión Enterprise Edition o si usted no desea aprovechar esta característica, tendrá que dividir primero manualmente los datos.

 

Figura 7: Comparación de los resultados reales con los resultados predichos

Figura 7: Comparación de los resultados reales con los resultados predichos

 

El Siguiente Paso

En este artículo, se han visto  los conceptos necesarios para la comprensión de los conceptos básicos de previsión de series temporales. También se han  presentado algunos de los detalles de los algoritmos subyacentes de manera que no se conviertan en un obstáculo para la aplicación de series de tiempo. Como siguiente paso, los invito a caminar a través de una implementación de predicción de series temporales con SSAS. He incluido un proyecto de ejemplo que utiliza los datos del paro al que se hace referencia en este artículo. (. Para obtener este proyecto, haga clic en el icono Descargar el código en la parte superior de la página) Después, es posible que desee echa un vistazo a la guía de aprendizaje de TechNet " Tutorial intermedio de minería (Analysis Services - Minería de datos) . "

 

A menudo, los profesionales de SQL Server deben proporcionar estimaciones de valores futuros, tales como proyecciones de ingresos o previsiones de ventas. Las organizaciones a veces confían en la tecnología de minería de datos para construir modelos de predicción para proporcionar tales estimaciones. Voy a explicar los conceptos clave necesarios para la comprensión de cómo funcionan estas tecnologías de minería de datos. También  voy a presentar  algunos de los detalles subyacentes de manera que no parezca tan extraño y formidable la primera vez que las vea. Con una comprensión de los conceptos clave y la exposición de algunos de los detalles, estará en una mejor posición para empezar a utilizar las capacidades de predicción de SQL Server Analysis Services (SSAS).

¿Por qué la minería de datos no es más popular?
En la última década, las tecnologías de inteligencia de negocio (BI) como OLAP  han estado ampliamente adoptadas. Durante ese tiempo, Microsoft también ha incluido  la tecnología de BI, minería de datos, en herramientas tan populares como Microsoft SQL Server y Microsoft Excel, pero la minería de datos aún no se ha convertido en una tecnología dominante. ¿Por qué? Aunque la mayoría de la gente puede entender conceptos de minería de datos básicos, incluso sin entrenamiento formal, los detalles subyacentes de los algoritmos están impregnadas de conceptos y fórmulas matemáticas. Hay un considerable "drop off" entre la comprensión conceptual de alto nivel y los detalles de implementación. Como resultado, la minería de datos es vista como un cuadro negro por  los profesionales de TI y por los usuarios de negocios por igual, lo que disminuye la confianza en el uso y la adopción de la tecnología. "Entender  los Conceptos de la serie temporal  de predicción" es mi intento de hacer que el "drop off" para la predicción de series temporales sea  menos acusado

Métodos de Pronóstico

Existen diferentes enfoques para la predicción. Por ejemplo, el sitio web métodos de previsión  clasifica los métodos de previsión en varias categorías, incluyendo informal (aka econométrico), crítico, series de tiempo,  inteligencia artificial, el mercado de la predicción, la predicción probabilística, simulaciones de predicción y previsión  de  referencia de clase. El sitio Principios de Pronostico  tiene un árbol que clasifica los métodos, a partir de una escisión entre los métodos de juicio (es decir, los métodos utilizados cuando los datos disponibles son insuficientes para el análisis cuantitativo) y métodos estadísticos (es decir, los métodos utilizados cuando los datos numéricos pertinentes están disponibles) . En este artículo, me centraré en la predicción de series de tiempo, un tipo de enfoque estadístico en el que los datos históricos están disponibles para los valores que se pronostican.

El Pronóstico de series de tiempo asume que los datos del pasado pueden ayudar a explicar los valores futuros. Es importante saber que en algunas situaciones, puede haber circunstancias que no se reflejan en los datos históricos. Por ejemplo, podría haber un nuevo competidor que podría afectar negativamente a los ingresos futuros o un rápido cambio en la composición de la fuerza de trabajo (por ejemplo, un aumento en las estructuras familiares de doble ingreso como el que surgió en la década de 1960) que podría afectar a las tasas de desempleo en el futuro. En este tipo de situaciones, un pronóstico de series de tiempo no puede ser el mejor enfoque o no debe ser el único criterio considerado. A menudo, los diferentes enfoques de previsión se combinan para proporcionar las predicciones más precisas.

 

Principios básicos de la serie de tiempo en el presupuesto

Una serie de tiempo es un conjunto de valores observados durante un período de tiempo, por lo general a intervalos regulares. Los ejemplos más comunes incluyen los montos semanales de ventas, gastos trimestrales, y las tasas mensuales de desempleo. Los datos de series de tiempo a menudo se presentan en un formato gráfico, con el intervalo de tiempo a lo largo del eje x de una tabla y los valores a lo largo del eje y, como muestra la Figura 1.

 

Figura 1: Lineal Trendline en un gráfico de serie temporal

Figura 1: Lineal Trendline en un gráfico de serie temporal

 

En cuanto a la comprensión de cómo se modifica un valor de un período a otro, y cómo predecir los valores futuros, los datos de series de tiempo tiene varias características principales:

  • Nivel de base. El nivel de base se define típicamente como el valor medio de la serie. En algunos modelos de predicción, el nivel de base se define como el valor inicial de los datos de series.
  • Tendencia. Una tendencia se define generalmente como la forma en que  la serie cambia de un período a otro. Por ejemplo, en la Figura 1, el número de desempleados tienden a la tendencia al alza desde principios de 2008 hasta enero de 2010, después de lo cual parece mostrar una tendencia a la baja. 

Calcular el Paro
En "Descripción de Conceptos de predicción de series temporales," el conjunto de datos para las tablas proviene de los datos de empleo publicados por la Oficina de Estadísticas Laborales de EE.UU. . El BLS publica la tasa de desempleo basado en una encuesta mensual de la Oficina del Censo de EE.UU. que extrapola el número total de personas empleadas y desempleadas. En concreto, el BLS utiliza la fórmula:           Tasa de desempleo = desempleados / (desempleados + empleados) Curiosamente, la tasa de desempleo por lo general citado en la noticia es una tasa ajustada estacionalmente. El ajuste estacional se logra con el algoritmo (ARIMA). Este es esencialmente el mismo algoritmo utilizado por muchos paquetes de minería de datos para la predicción de series de tiempo, incluyendo SQL Server Analysis Services (SSAS). Para obtener más información acerca de la implementación ARIMA utilizado por la Oficina del Censo, visite la página web X-12 ARIMA-Programa de Ajuste estacional . Tenga en cuenta que en el proyecto de ejemplo de este artículo, he incluido tanto los valores desestacionalizados y sin desestacionalizar.

 

  • Estacionalidad. Ciertos valores tenderán a subir y bajar sobre la base de ciertos períodos de tiempo, como el día de la semana o mes del año. Los ejemplos incluyen las ventas minoristas, que a menudo SPIKE durante la temporada de Navidad. En el caso del desempleo, hay una tendencia estacional, con mayor número de parados en enero y julio y los números más bajos en mayo y octubre, como muestra la Figura 2.

 

Figura 2: Evolución de temporada en un gráfico de serie temporal

Figura 2: Evolución de temporada en un gráfico de serie temporal

 

  • Ruido. Algunos modelos de previsión incluyen una cuarta característica, el ruido, que se refiere a las variaciones aleatorias y los movimientos irregulares en los datos. El ruido no se cubrirá aquí.

Por lo tanto, si usted puede identificar una tendencia, se aplica esa tendencia a nivel de base, y se da cuenta de cualquier estacionalidad que puedan existir en los datos, usted tiene un modelo de pronóstico que se puede utilizar para predecir valores futuros:

          Valor pronosticados = Nivel Base +tendencia + Estacionalidad

 

La identificación de un Valor Base y Tendencia

Una manera de identificar un valor de base y la tendencia es aplicar una técnica de regresión. El término regresión significa estudiar la relación entre las variables. En este caso, es la relación entre la variable independiente del tiempo y la variable dependiente del número de desempleados. Tenga en cuenta que la variable independiente se  la refiere a veces como el predictor.

Puede utilizar una herramienta como Microsoft Excel para aplicar la técnica de regresión. Por ejemplo, puede hacer que Excel la calcule automáticamente y agregue una línea de tendencia a un gráfico de series de tiempo utilizando el menú línea de tendencia en la ficha Herramientas de diseño gráfico o gráfico dinámico Herramientas ficha Diseño en  Excel 2010 o Excel 2007 . En la Figura 1, agregamos  una línea de tendencia lineal mediante la selección de la opción línea de tendencia lineal  en el menú Trendline. Después, elegimos  Más opciones de línea de tendencia en el menú Trendline y seleccionamos  la ecuación de visualización en el gráfico y Presentamos el valor R cuadrado en el gráfico , las opciones que se muestran en la Figura 3.

Figura 3: Opciones de Excel Trendline

Figura 3: Opciones de Excel Trendline

Este proceso de ajuste de una línea de tendencia para los datos históricos se llama regresión lineal. Como se puede ver en la figura 1, la línea de tendencia se calcula con una ecuación que identifica el nivel de base (8.248,8) y la tendencia (104.67x):

          y = 104.67x + 8248.8

Usted puede pensar que  la línea de tendencia es como una serie de coordenadas xy conectadas en que se puede conectar a un período de tiempo (es decir, el eje x) para llegar a un valor (el eje y). Excel determina la "mejor" línea de tendencia usando algo llamado el método de mínimos cuadrados (identificado como R ² en la Figura 1). La línea de mínimos cuadrados es la línea que minimiza la distancia vertical al cuadrado de cada punto de la línea de tendencia a su punto de la línea correspondiente. Los Valores cuadrados se usan para que las desviaciones por encima y por debajo de la línea actual no se anulen entre sí. En la Figura 1, R  ²  = 0,5039, indica la relación lineal explica el  50,39 por ciento de los cambios en las estadísticas de  parados en el tiempo.

La Identificación de una línea de tendencia precisa en Excel a menudo implica ensayo y error, junto con la inspección visual. En la Figura 1, la línea de tendencia lineal no es un gran ajuste. Excel proporciona otras opciones de línea de tendencia, que se puede ver en la Figura 3. Por ejemplo, en la Figura 4, he añadido una línea de puntos discontinuos sobre  cuatro  periodos de movimiento  de tendencia promedio,  sobre la base de un promedio de los períodos especificados actuales y pasados ​​de la serie temporal.

 

Figura 4: Media móvil Trendline en un gráfico de serie temporal

Figura 4: Media móvil Trendline en un gráfico de serie temporal

 

También he añadido una línea de tendencia polinómica, que utiliza una ecuación algebraica para construir una línea. Nota la línea de tendencia polinomio tiene un valor de R ² de 0,9318, lo que indica un mejor ajuste en la explicación de la relación entre la variable independiente y dependiente. Sin embargo, un R ² mayor no necesariamente indica si la línea de tendencia proporcionará pronósticos precisos. Existen otros métodos para calcular la precisión del pronóstico, que voy a discutir en breve.

Algunas de las opciones de la línea de tendencia en Excel (por ejemplo, lineal, polinómica) le permiten prever hacia  adelante y hacia atrás por una serie de períodos, con los valores de pronóstico resultantes representados en el gráfico. Decir que se puede "predecir hacia atrás" puede parecer extraño. La mejor manera de explicarlo es con un ejemplo. Supongamos que un nuevo factor de un rápido crecimiento en los empleos del gobierno (por ejemplo, los trabajos de la Defensa Nacional en la década de 2000, los trabajadores de la Oficina del Censo de EE.UU. temporales) provoca una rápida caída en el desempleo. Usted quiere pronosticar la tasa de crecimiento de este nuevo sector de trabajo hacia atrás durante varios meses, y luego volver a calcular el desempleo para llegar a una tasa de suavizado de cambio.

También puede utilizar manualmente la ecuación de línea de tendencia para calcular los valores pronosticados. En la Figura 5, agregué una línea de tendencia polinómica con una previsión de seis meses, tras haberse quitado los últimos seis meses de datos (es decir, los datos de abril a septiembre de 2012) de la serie de tiempo original.

 

Figura 5: Polinomio Trendline con una de seis meses Pronóstico

Figura 5: Polinomio Trendline con una de seis meses Pronóstico

 

Si se compara la figura 5 con la figura 1, se puede ver que  las previsiones de polinomios están en tendencia alcista, que no coincide con la tendencia a la baja de la serie histórica real.

Es importante tener en cuenta dos puntos adicionales sobre la regresión:

  • Como mencioné anteriormente, la regresión lineal implica una variable  independiente y una variable dependiente. Si usted quiere entender cómo las variables independientes adicionales pueden explicar el cambio en la variable dependiente, se puede construir un modelo de regresión múltiple. En el contexto de la previsión del  número de personas desempleadas en los Estados Unidos, es posible que pueda aumentar el R ² (y la precisión de las previsiones) por medio de tomar el crecimiento de la economía, la población de los EE.UU., y el crecimiento en el número de Personas ocupadas. SSAS puede acomodar múltiples variables (es decir, los regresores) en un modelo de predicción de series temporales.
  • Algoritmos de predicción de series temporales, incluyendo los de SSAS, pueden calcular la autocorrelación, que es la correlación entre los valores  vecinos en una serie de tiempo.Los modelos de previsión que incorporen directamente una autocorrelación se llaman modelos autorregresivo (AR). En un modelo AR, los predictores son los valores pasados ​​de la serie en lugar de algún factor de la variable independiente (s). Por ejemplo, un modelo de regresión lineal proporciona una ecuación de tendencia en función del período (por ejemplo, 104.67 * x), mientras que la tendencia de un modelo AR se basa en los valores del pasado (por ejemplo, -0,417 * Desempleados (-1) + 0.549 * Empleado (- 1)). Los Modelos AR tienen el potencial de mejorar la precisión de los pronósticos mediante la inclusión de información adicional más allá de la tendencia y la estacionalidad.

Contabilización de la Estacionalidad

Es común que la estacionalidad aparezca en una serie de tiempo, ya sea por  día de la semana, día del mes, o mes del año. Como se ha mencionado anteriormente, el número de personas desempleadas en los Estados Unidos por lo general se eleva y cae en un año del calendario. (Esto es cierto incluso cuando la economía va muy bien, como la figura 2 ilustra.) En cuanto a la previsión, es necesario tener en cuenta esta estacionalidad para hacer predicciones exactas. Un enfoque común es para suavizar la estacionalidad. En práctica predicción de series temporales: una guía práctica, Segunda Edición (CreateSpace Plataforma Independent Publishing, 2012), Galit Shmueli recomienda usar uno de tres métodos:

  • Calcular una media móvil
  • Agregar la serie de tiempo a un nivel menos granular (por ejemplo, mirar los números desempleados por trimestre en lugar de por meses)
  • Generar series de tiempo independientes (y las previsiones) por temporada

A nivel de la base y la tendencia se deriva entonces la generación de  predicciones en contra de la serie de tiempo suavizada. Opcionalmente, la estacionalidad o los ajustes granulares se pueden volver a aplicar a los valores pronosticados por el factoring de nuevo en la estacionalidad original utilizando el método de Holt-Winters. Si quieres ver cómo se podría tener en cuenta la estacionalidad utilizando Excel, realiza una búsqueda en Internet usando la frase método de Winters en Excel. También se puede encontrar una explicación detallada del método de Holt-Winters en Wayne L. Winston Microsoft Office Excel 2007: Datos Análisis y modelado de negocio, Segunda Edición (Microsoft Press, 2007).

En muchos de los paquetes de data mining como SSAS, los algoritmos de predicción de series temporales representan automáticamente la estacionalidad mediante la cuantificación de las relaciones de temporada y su inclusión en el modelo de previsión. Sin embargo, a menudo se desea proporcionar pistas sobre el patrón estacional real.

Medición de la precisión del modelo de pronóstico

Como mencioné anteriormente, el ajuste inicial de un modelo (medida por el método de mínimos cuadrados) no equivale necesariamente a las previsiones precisas. La mejor forma de comprobar la exactitud de predicción es la de dividir la serie de tiempo en dos conjuntos de datos: uno para la construcción (por ejemplo, la formación) del modelo y el otro para validarlo. El conjunto de datos de validación será la parte más reciente del conjunto de datos original e idealmente debería abarcar un período de tiempo igual a la futura línea de tiempo de predicción. Para validar el modelo, los valores pronosticados se comparan con los valores reales. Tenga en cuenta que después de producirse la validación, el modelo debe ser reconstruido utilizando toda la serie temporal para que las previsiones de futuro se pueden beneficiar de los valores reales más recientes.

Cuando se mide la precisión de un modelo de pronóstico, hay dos preguntas más frecuentes.

¿Cómo debo definir la exactitud de la  predicción?

En algunos casos, los valores predichos  más altos que el valor real podrían ser perjudiciales (por ejemplo, las predicciones sobre el rendimiento de inversiones). En otras situaciones, los valores predichos que son más bajos que el valor real podrían ser perjudicial (por ejemplo, la predicción de la puja ganadora más baja en un artículo de subasta). Pero en los casos en los que se desea calcular algún tipo de puntuación ponderada de todas las predicciones (sin importarle si las predicciones son más altas o más bajos que el valor real), puede iniciarse mediante la cuantificación del error en un solo pronóstico utilizando la definición:

          error = valor previsto - valor real

Con esta definición de un error, dos de los métodos más populares para la exactitud de una medición son el de error absoluto medio (MAE) y el de error absoluto porcentual promedio (MAPE). Con el método MAE, los valores absolutos de los errores de pronóstico se suman y luego se dividen por el número total de las previsiones. Con el método de MAPE, las desviaciones medias de las previsiones se calculan como un porcentaje. Si desea ver un ejemplo de estos y varios otros métodos para medir la precisión, está disponible en la página web .Métrica Plantilla Diagnóstico demanda una plantilla de Excel con los datos de previsión de muestra y precisión resultados

¿Cuántos datos históricos debo usar para entrenar a mi modelo?

Cuando se trabaja con una serie de tiempo que va mucho más atrás en el pasado, es posible que se pensemos en  incluir todos los datos históricos del modelo. En algún momento, sin embargo, los datos  históricos  adicionales podrían no mejorar la precisión de los pronósticos. Los datos más antiguos, incluso pueden sesgar la previsión si las condiciones anteriores son muy diferentes a las condiciones actuales (por ejemplo, hay una composición de la fuerza de trabajo diferente ahora que en el pasado). No he visto ninguna fórmula específica o regla que indique la cantidad de datos históricos a incluir, por lo que mi sugerencia es comenzar con una serie de tiempo que sea varias veces mayor que el marco de tiempo del pronóstico, a continuación, la prueba de precisión. A continuación, intente ajustar la cantidad de datos históricos  hacia arriba o hacia abajo y vuelva a probar.

Trabajar con el algoritmo Time Series Forecasting en SSAS

El Pronóstico de series de tiempo apareció por primera vez en SSAS 2005. Su algoritmo de serie temporal de Microsoft utiliza un único algoritmo llamado árbol autorregresivo con predicción de cruz (ARTXP) para generar pronósticos. ARTXP combina técnicas de AR con una minería de datos de  "árbol de decisiones", por lo que la ecuación de predicción puede cambiar (es decir, dividirse) en base a ciertos criterios. Por ejemplo, un modelo de predicción podría producir un mayor ajuste (y mejor precisión del pronóstico) si se divide primero por la fecha y a continuación se divide por el valor de una variable independiente, como se muestra en la Figura 6.

 

Figura 6: Ejemplo de la Decisión ARTXP Árbol en SSAS

Figura 6: Ejemplo de la Decisión ARTXP Árbol en SSAS

 

En SSAS 2008, el algoritmo de serie temporal Microsoft comenzó a utilizar un segundo algoritmo llamado autorregresivo integrado de media móvil (ARIMA), además de ARTxp para mejorar los pronósticos a largo plazo. Arima se considera un estándar de la industria y se puede considerar como una combinación del  AR y técnicas de promedio móvil. También evalúa los errores históricos de la previsión de mejorar el modelo.

El comportamiento predeterminado del algoritmo de serie temporal de Microsoft es combinar los resultados de los algoritmos ARIMA y ARTXP para lograr previsiones óptimas.(Puede anular este comportamiento predeterminado si lo desea.) De acuerdo con SQL Server Books Online (BOL) :

"El algoritmo entrena a dos modelos separados en los mismo los datos:.. Un modelo utiliza el algoritmo ARTXP y otro modelo utiliza el algoritmo ARIMA  A continuación, el algoritmo combina los resultados de los dos modelos para obtener la mejor predicción sobre un número variable de segmentos de tiempo Debido a que ARTXP es mejor para predicciones a corto plazo, se usa  en mayor medida al principio de una serie de predicciones. Sin embargo, en  los intervalos de tiempo que predicen movimientos  más hacia el futuro, ARIMA se usa en mayor  medida. "

Cuando se trabaja con la predicción de series temporales en SSAS, usted necesita mantener en mente lo siguiente:

  • Aunque hay una pestaña llamada Gráfico de Minería de precisión en SSAS, esta ficha no trabajar con modelos de minería de datos de series de tiempo. En consecuencia , se tendrá que medir manualmente la precisión con uno de los métodos que he mencionado (por ejemplo, MAE, MAPE) utilizando una herramienta como Excel para ayudar en  los cálculos.
  • La edición Enterprise de SSAS le permite segmentar un modelo de  serie única vez en varios "modelos históricos", por lo que no tiene que dividir manualmente los datos en formación y conjuntos de datos de validación cuando se realicen las pruebas de la exactitud de predicción. Desde el punto de vista de un usuario final, todavía hay un solo modelo de series de tiempo, pero se puede comparar los resultados actuales con los resultados previstos en el modelo, como se muestra en la Figura 7. Si no va a utilizar la versión Enterprise Edition o si usted no desea aprovechar esta característica, tendrá que dividir primero manualmente los datos.

 

Figura 7: Comparación de los resultados reales con los resultados predichos

Figura 7: Comparación de los resultados reales con los resultados predichos

 

El Siguiente Paso

En este artículo, se han visto  los conceptos necesarios para la comprensión de los conceptos básicos de previsión de series temporales. También se han  presentado algunos de los detalles de los algoritmos subyacentes de manera que no se conviertan en un obstáculo para la aplicación de series de tiempo. Como siguiente paso, los invito a caminar a través de una implementación de predicción de series temporales con SSAS. He incluido un proyecto de ejemplo que utiliza los datos del paro al que se hace referencia en este artículo. (. Para obtener este proyecto, haga clic en el icono Descargar el código en la parte superior de la página) Después, es posible que desee echa un vistazo a la guía de aprendizaje de TechNet " Tutorial intermedio de minería (Analysis Services - Minería de datos) . "

fuente original:

https://sqlmag.com/sql-server-analysis-services/understanding-time-series-forecasting-concepts