Share via


Algoritmo de serie temporal de Microsoft

Actualizado: 15 de septiembre de 2007

El algoritmo de serie temporal de Microsoft es un algoritmo de regresión que proporciona Microsoft SQL Server 2005 Analysis Services (SSAS) para crear modelos de minería de datos y predecir columnas continuas, como ventas de productos, en un escenario de predicción. Mientras otros algoritmos de Microsoft crean modelos, como un modelo de árbol de decisión, que dependen de que se reciban columnas de entrada para predecir la columna de predicción, la predicción en un modelo de serie temporal sólo se basa en las tendencias que el algoritmo deriva del conjunto de datos original mientras crea el modelo. El siguiente diagrama muestra un modelo típico para predecir las ventas de un producto a lo largo del tiempo.

Ejemplo de una serie temporal

El modelo que se muestra en el diagrama se compone de dos partes: información histórica, en el lado izquierdo del grafo, e información de predicción, en el lado derecho del grafo. Los datos históricos representan la información que el algoritmo utiliza para crear el modelo, mientras que los datos de predicción representan las previsiones que realiza el modelo. La línea formada por la combinación de los datos históricos y los datos de predicción se llama serie. Cada modelo de previsión debe contener una serie de escenarios, que es la columna que distingue entre los puntos de una serie. Por ejemplo, dado que los datos del diagrama muestran la serie de ventas de bicicletas históricas y previstas en un período de varios meses, la columna de la fecha es la serie de escenarios.

Una característica importante del algoritmo de serie temporal de Microsoft es su capacidad para llevar a cabo predicciones cruzadas. Esto significa que, si entrena el algoritmo con dos series independientes pero relacionadas, puede utilizar el modelo generado para predecir el resultado de una serie basándose en el comportamiento de la otra serie. Por ejemplo, las ventas observadas de un producto pueden influir en las ventas previstas de otro producto.

Ejemplo

El equipo de dirección de la empresa Adventure Works Cycles desea predecir las ventas mensuales de bicicletas para el próximo año. La organización está especialmente interesada en saber si las ventas de distintos modelos de bicicletas están relacionadas entre ellas, es decir, si la venta de un modelo de bicicleta se puede utilizar para predecir la venta de otro modelo. Al utilizar el algoritmo de serie temporal de Microsoft en los datos históricos de los últimos tres años, la empresa puede crear un modelo de minería de datos que prevea la venta futura de bicicletas. Además, la organización puede llevar a cabo predicciones cruzadas para ver si las tendencias de venta de modelos individuales de bicicleta están relacionadas.

Cómo funciona el algoritmo

El algoritmo de árboles de decisión de Microsoft entrena a un modelo mediante un árbol de decisión con regresión automática. Cada modelo contiene una columna de clave temporal que define los segmentos de tiempo que establecerá el modelo. El algoritmo relaciona un número variable de elementos pasados con cada elemento actual que se predice.

Para obtener una explicación más detallada acerca de cómo funciona el algoritmo de serie temporal de Microsoft, vea el artículo sobre modelos de árbol con regresión automática para el análisis de series temporales.

Puede definir los datos de entrada para el modelo de serie temporal de Microsoft de dos formas. Para comprender el primer método, observe la siguiente tabla de escenarios de entrada:

TimeID Product Sales Volume

1/2001

A

1000

600

2/2001

A

1100

500

1/2001

B

500

900

2/2001

B

300

890

La columna TimeID de la tabla contiene un identificador de tiempo e incluye dos entradas para cada día. La columna Product define un producto de la base de datos. La columna Sales describe los beneficios brutos del producto especificado para un día y la columna Volume describe la cantidad del producto especificado que permanece en el almacén. En este caso, el modelo contendría dos columnas de predicción: Sales y Volume.

Opcionalmente, los datos de entrada del modelo de serie temporal podrían definirse como se indica en esta tabla:

TimeID A_Sales A_Volume B_Sales B_Volume

1/2001

1000

600

500

900

2/2001

1100

500

300

890

En esta tabla, las columnas Sales y Volume se dividen en dos columnas cada una, precedidas por el nombre del producto. Como resultado, sólo existe una única entrada para cada día en la columna TimeID. El modelo contendría cuatro columnas de predicción: A_Sales, A_Volume, B_Sales y B_Volume.

Si bien ambos métodos para definir los datos de entrada provocan que se muestre la misma información en el modelo, el formato de los escenarios de entrada cambia la forma en que se define el modelo de minería de datos.

Usar el algoritmo

Un algoritmo de serie temporal requiere que la columna o columnas que se van a predecir sean continuas. Sólo se permite una serie de escenarios para cada modelo.

El algoritmo de serie temporal de Microsoft admite tipos de contenido de columna de entrada, tipos de contenido de columna de predicción e indicadores de modelado específicos, que se indican en esta tabla.

Tipos de contenido de columna de entrada

Continuous, Key, Key Time y Table

Tipos de contenido de columna de predicción

Continuous y Table

Indicadores de modelado

NOT NULL y REGRESSOR

Todos los algoritmos de Microsoft admiten un conjunto común de funciones. No obstante, el algoritmo de serie temporal de Microsoft admite funciones adicionales, que aparecen en la siguiente tabla.

Lag

PredictTimeSeries

PredictNodeId

PredictVariance

PredictStdev

Para consultar una lista de las funciones comunes a todos los algoritmos de Microsoft, vea Algoritmos de minería de datos. Para obtener más información acerca del modo de utilizar estas funciones, vea Referencia de funciones de Extensiones de minería de datos (DMX).

El algoritmo de serie temporal de Microsoft no admite el uso del lenguaje de marcado de modelos de predicción (PMML) para crear modelos de minería de datos.

El algoritmo de serie temporal de Microsoft admite varios parámetros que afectan al rendimiento y la precisión del modelo de minería de datos resultante. En la siguiente tabla se describen estos parámetros.

Parámetro Descripción

MINIMUM_SUPPORT

Especifica el número mínimo de segmentos de tiempo necesarios para generar una división en cada árbol de serie temporal.

El valor predeterminado es 10.

COMPLEXITY_PENALTY

Controla el crecimiento del árbol de decisión. Al disminuir este valor, aumentan las posibilidades de una división. Al aumentar este valor, disminuyen las posibilidades de una división.

El valor predeterminado es 0,1.

PERIODICITY_HINT

Proporciona una sugerencia al algoritmo en cuanto a la periodicidad de los datos. Por ejemplo, si las ventas varían anualmente y la unidad de medida de la serie son los meses, la periodicidad será 12. Este parámetro toma el formato {n [, n]}, donde n es un número positivo. La n entre corchetes [] es opcional y puede repetirse con la frecuencia que sea necesaria.

El valor predeterminado es {1}.

MISSING_VALUE_SUBSTITUTION

Especifica el método utilizado para llenar los espacios en los datos históricos. De forma predeterminada, no se admiten los espacios o bordes irreguales en los datos. A continuación se muestran los métodos disponibles para rellenar bordes o huecos irregulares: por valor anterior, por valor medio o por una constante numérica específica.

AUTO_DETECT_PERIODICITY

Especifica un valor numérico entre 0 y 1 que se utiliza para detectar la periodicidad. Cuando este valor es más cercano a 1 se favorece el descubrimiento de varios patrones casi periódicos y la generación automática de sugerencias de periodicidad. Un gran número de sugerencias de periodicidad puede aumentar el tiempo de entrenamiento de los modelos y proporcionar modelos más precisos. Si el valor está más próximo a 0, la periodicidad sólo se detecta en datos con una periodicidad muy marcada.

El valor predeterminado es 0,6.

HISTORIC_MODEL_COUNT

Especifica el número de modelos históricos que se generarán.

El valor predeterminado es 1.

HISTORICAL_MODEL_GAP

Especifica el intervalo temporal entre dos modelos históricos consecutivos. Por ejemplo, si establece este valor en g, se generarán modelos históricos para datos truncados por segmentos temporales a intervalos de g, 2*g, 3*g, etc.

El valor predeterminado es 10.

[!NOTA] La sugerencia de periodicidad es muy sensible a la calidad del modelo. Si la sugerencia que se proporciona es distinta de la periodicidad real, los resultados pueden verse afectados negativamente.

Historial de cambios

Lanzamiento Historial

15 de septiembre de 2007

Contenido modificado:
  • Descripciones actualizadas de gráfico de serie temporal.

Vea también

Conceptos

Algoritmos de minería de datos
Asistente para minería de datos
Usar las herramientas de minería de datos
Ver un modelo de minería de datos con el Visor de series temporales de Microsoft

Otros recursos

CREATE MINING MODEL (DMX)

Ayuda e información

Obtener ayuda sobre SQL Server 2005