Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
El algoritmo de serie temporal de Microsoft proporciona algoritmos de regresión optimizados para la previsión de valores continuos, como las ventas de productos, con el tiempo. Mientras que otros algoritmos de Microsoft, como los árboles de decisión, requieren columnas adicionales de nueva información como entrada para predecir una tendencia, un modelo de serie temporal no lo hace. Un modelo de serie temporal puede predecir tendencias basadas solo en el conjunto de datos original que se usa para crear el modelo. También puede agregar nuevos datos al modelo al realizar una predicción e incorporar automáticamente los nuevos datos en el análisis de tendencias.
En el diagrama siguiente se muestra un modelo típico para predecir las ventas de un producto en cuatro regiones de ventas diferentes a lo largo del tiempo. El modelo que se muestra en el diagrama muestra las ventas de cada región trazadas como líneas rojas, amarillas, púrpuras y azules. La línea de cada región tiene dos partes:
La información histórica aparece a la izquierda de la línea vertical y representa los datos que usa el algoritmo para crear el modelo.
La información prevista aparece a la derecha de la línea vertical y representa la previsión que realiza el modelo.
La combinación de los datos de origen y los datos de predicción se denomina serie.
Una característica importante del algoritmo de serie temporal de Microsoft es que puede realizar una predicción cruzada. Si entrena el algoritmo con dos series independientes, pero relacionadas, puede usar el modelo resultante para predecir el resultado de una serie en función del comportamiento de la otra serie. Por ejemplo, las ventas observadas de un producto pueden influir en las ventas previstas de otro producto. La predicción cruzada también es útil para crear un modelo general que se puede aplicar a varias series. Por ejemplo, las predicciones de una región determinada son inestables porque la serie carece de datos de buena calidad. Puede entrenar un modelo general en una media de las cuatro regiones y, a continuación, aplicar el modelo a la serie individual para crear predicciones más estables para cada región.
Ejemplo
El equipo de administración de Adventure Works Cycles quiere predecir las ventas mensuales de bicicletas para el próximo año. La empresa está especialmente interesada en si la venta de un modelo de bicicleta se puede usar para predecir la venta de otro modelo. Mediante el uso del algoritmo de serie temporal de Microsoft en datos históricos de los últimos tres años, la empresa puede producir un modelo de minería de datos que prevé futuras ventas de bicicletas. Además, la empresa puede realizar predicciones cruzadas para ver si las tendencias de ventas de modelos individuales de bicicletas están relacionadas.
Cada trimestre, la empresa planea actualizar el modelo con datos de ventas recientes y actualizar sus predicciones a tendencias recientes. Para corregir los almacenes que no actualizan de forma precisa o coherente los datos de ventas, crearán un modelo de predicción general y lo usarán para crear predicciones para todas las regiones.
Funcionamiento del algoritmo
En SQL Server 2005, el algoritmo de serie temporal de Microsoft usó un único algoritmo, ARTXP. El algoritmo ARTXP se ha optimizado para predicciones a corto plazo y, por lo tanto, predijo el siguiente valor probable de una serie. A partir de SQL Server 2008, el algoritmo de serie temporal de Microsoft usa el algoritmo ARTXP y un segundo algoritmo, ARIMA. El algoritmo ARIMA está optimizado para la predicción a largo plazo. Para obtener una explicación detallada sobre la implementación de los algoritmos ARTXP y ARIMA, consulte Referencia técnica del algoritmo de serie temporal de Microsoft.
De forma predeterminada, el algoritmo de serie temporal de Microsoft usa una combinación de los algoritmos cuando analiza patrones y realiza predicciones. El algoritmo entrena dos modelos independientes en los mismos datos: un modelo usa el algoritmo ARTXP y un modelo usa el algoritmo ARIMA. A continuación, el algoritmo combina los resultados de los dos modelos para producir la mejor predicción en un número variable de segmentos de tiempo. Dado que ARTXP es mejor para las predicciones a corto plazo, se pondera más al principio de una serie de predicciones. Sin embargo, a medida que los segmentos de tiempo que va a predecir se mueven más lejos en el futuro, ARIMA se pondera más en gran medida.
También puede controlar la combinación de algoritmos para favorecer la predicción a corto o largo plazo en la serie temporal. A partir de SQL Server 2008 Standard, puede especificar que el algoritmo de serie temporal de Microsoft use una de las siguientes opciones:
Use solo ARTXP para la predicción a corto plazo.
Use solo ARIMA para la predicción a largo plazo.
Use la combinación predeterminada de los dos algoritmos.
A partir de SQL Server 2008 Enterprise, puede personalizar cómo el algoritmo de serie temporal de Microsoft combina los modelos para la predicción. Cuando se usa un modelo mixto, el algoritmo de serie temporal de Microsoft combina los dos algoritmos de la siguiente manera:
Solo ARTXP siempre se usa para realizar el primer par de predicciones.
Después del primer par de predicciones, se usa una combinación de ARIMA y ARTXP.
A medida que aumenta el número de pasos de predicción, las predicciones dependen más en ARIMA hasta que ya no se use ARTXP.
Controla el punto de mezcla, la velocidad a la que disminuye el peso de ARTXP y el peso de ARIMA aumenta estableciendo el parámetro PREDICTION_SMOOTHING.
Ambos algoritmos pueden detectar estacionalidad en los datos en varios niveles. Por ejemplo, los datos pueden contener ciclos mensuales anidados en ciclos anuales. Para detectar estos ciclos estacionales, puede proporcionar una sugerencia de periodicidad o especificar que el algoritmo debe detectar automáticamente la periodicidad.
Además de la periodicidad, hay varios otros parámetros que controlan el comportamiento del algoritmo de serie temporal de Microsoft cuando detecta periodicidad, realiza predicciones o analiza casos. Para obtener información sobre cómo establecer parámetros de algoritmo, vea Referencia técnica del algoritmo de serie temporal de Microsoft.
Datos necesarios para los modelos de serie temporal
Al preparar los datos para su uso en el entrenamiento de cualquier modelo de minería de datos, asegúrese de comprender los requisitos del modelo concreto y de cómo se usan los datos.
Cada modelo de previsión debe contener una serie de casos, que es la columna que especifica los segmentos de tiempo u otras series sobre las que se produce el cambio. Por ejemplo, los datos del diagrama anterior muestran la serie de ventas históricas y previstas de bicicletas durante un período de varios meses. Para este modelo, cada región es una serie y la columna de fecha contiene la serie temporal, que también es la serie de casos. En otros modelos, la serie de casos puede ser un campo de texto o algún identificador, como un identificador de cliente o un identificador de transacción. Sin embargo, un modelo de serie temporal siempre debe usar una fecha, hora u otro valor numérico único para su serie de casos.
Los requisitos de un modelo de serie temporal son los siguientes:
Una sola columna de tiempo clave Cada modelo debe contener una columna numérica o de fecha que se use como serie temporal, la cual define los segmentos de tiempo que usará el modelo. El tipo de datos para la columna clave temporal puede ser de tipo datetime o numérico. Sin embargo, la columna debe contener valores continuos y los valores deben ser únicos para cada serie. La serie de casos de un modelo de serie temporal no se puede almacenar en dos columnas, como una columna Year y una columna Month.
Una columna predecible Cada modelo debe contener al menos una columna de predicción en torno a la cual el algoritmo compilará el modelo de serie temporal. El tipo de datos de la columna de predicción debe tener valores continuos. Por ejemplo, puede predecir cómo cambian los atributos numéricos, como ingresos, ventas o temperatura, a lo largo del tiempo. Sin embargo, no puede usar una columna que contenga valores discretos, como el estado de compra o el nivel de educación, como la columna de predicción.
Una columna de clave de serie opcional Cada modelo puede tener una columna de clave adicional que contenga valores únicos que identifiquen una serie. La columna de clave de serie opcional debe contener valores únicos. Por ejemplo, un único modelo puede contener ventas para muchos modelos de producto, siempre que solo haya un registro para cada nombre de producto para cada segmento de tiempo.
Puede definir datos de entrada para el modelo de serie temporal de Microsoft de varias maneras diferentes. Sin embargo, dado que el formato de los casos de entrada afecta a la definición del modelo de minería de datos, debe tener en cuenta sus necesidades empresariales y preparar los datos en consecuencia. En los dos ejemplos siguientes se muestra cómo afectan los datos de entrada al modelo. En ambos ejemplos, el modelo de minería de datos completado contiene patrones para cuatro series distintas:
Ventas del producto A
Ventas del producto B
Volumen del producto A
Volumen del producto B
En ambos ejemplos, puede predecir nuevas ventas y volúmenes futuros para cada producto. No se pueden predecir nuevos valores para el producto o para el tiempo.
Ejemplo 1: Conjunto de datos de serie temporal con series representadas como valores de columna
En este ejemplo se usa la siguiente tabla de casos de entrada:
| TimeID | Producto | Ventas | Volumen |
|---|---|---|---|
| 1/2001 | Un | 1 000 | 600 |
| 2/2001 | Un | 1100 | 500 |
| 1/2001 | B | 500 | 900 |
| 2/2001 | B | 300 | 890 |
La columna TimeID de la tabla contiene un identificador de hora y tiene dos entradas para cada día. La columna TimeID se convierte en la serie de casos. Por lo tanto, designaría esta columna como la columna clave de tiempo para el modelo de serie temporal.
La columna Product define un producto en la base de datos. Esta columna contiene la serie de productos. Por lo tanto, designaría esta columna como segunda clave para el modelo de serie temporal.
En la columna Ventas se describen los beneficios brutos del producto especificado durante un día y la columna Volumen describe la cantidad del producto especificado que permanece en el almacén. Estas dos columnas contienen los datos que se usan para entrenar el modelo. Tanto Sales como Volume pueden ser atributos predecibles para cada serie de la columna Product.
Ejemplo 2: Conjunto de datos de serie temporal con cada serie en columna independiente
Aunque en este ejemplo se usan básicamente los mismos datos de entrada que el primer ejemplo, los datos de entrada se estructuran de forma diferente, como se muestra en la tabla siguiente:
| TimeID | A_Sales | A_Volume | B_Ventas | B_Volume |
|---|---|---|---|---|
| 1/2001 | 1 000 | 600 | 500 | 900 |
| 2/2001 | 1100 | 500 | 300 | 890 |
En esta tabla, la columna TimeID todavía contiene la serie temporal para el modelo de serie temporal, que se designa como la columna clave de tiempo. Sin embargo, las columnas Sales y Volume anteriores ahora se dividen en dos columnas y cada una de esas columnas va precedida por el nombre del producto. Como resultado, solo existe una sola entrada para cada día en la columna TimeID. Esto crea un modelo de serie temporal que contendrá cuatro columnas predecibles: A_Sales, A_Volume, B_Sales y B_Volume.
Además, dado que ha separado los productos en columnas diferentes, no es necesario especificar una columna de clave de serie adicional. Todas las columnas del modelo son una columna de serie de casos o una columna de predicción.
Visualización de un modelo de serie temporal
Una vez entrenado el modelo, los resultados se almacenan como un conjunto de patrones, que puede explorar o usar para realizar predicciones.
Para explorar el modelo, puede usar el Visor de series temporales. El visor incluye un gráfico que muestra predicciones futuras y una vista de árbol de las estructuras periódicas de los datos.
Si desea obtener más información sobre cómo se calculan las predicciones, puede examinar el modelo en el Visor de árbol de contenido genérico de Microsoft. El contenido almacenado para el modelo incluye detalles como las estructuras periódicas detectadas por los algoritmos ARIMA y ARTXP, la ecuación usada para combinar los algoritmos y otras estadísticas.
Creación de predicciones de serie temporal
De forma predeterminada, cuando se ve un modelo de serie temporal, Analysis Services muestra cinco predicciones para la serie. Sin embargo, puede crear consultas para devolver un número variable de predicciones y puede agregar columnas a las predicciones para devolver estadísticas descriptivas. Para obtener información sobre cómo crear consultas en un modelo de serie temporal, consulte Ejemplos de consultas de modelos de serie temporal. Para obtener ejemplos de cómo usar extensiones de minería de datos (DMX) para realizar predicciones de series temporales, consulte PredictTimeSeries (DMX).
Al usar el algoritmo de serie temporal de Microsoft para realizar predicciones, debe tener en cuenta las siguientes restricciones y requisitos adicionales:
La predicción cruzada solo está disponible cuando se usa un modelo mixto o un modelo basado en el algoritmo ARTXP. Si usa un modelo basado solo en el algoritmo ARIMA, no es posible realizar predicciones cruzadas.
Un modelo de serie temporal puede realizar predicciones que difieren, a veces significativamente, en función del sistema operativo de 64 bits que usa el servidor. Estas diferencias se producen debido a la forma en que un sistema basado en Itanium representa y controla números para la aritmética de punto flotante, que difiere de la forma en que un sistema basado en x64 realiza estos cálculos. Dado que los resultados de la predicción pueden ser específicos del sistema operativo, se recomienda evaluar los modelos en el mismo sistema operativo que usará en producción.
Observaciones
No admite el uso del lenguaje de marcado de modelos predictivos (PMML) para crear modelos de minería de datos.
Admite el uso de modelos de minería de datos OLAP.
No admite la creación de dimensiones de minería de datos.
Admite la obtención de detalles.
Véase también
Algoritmos de minería de datos (Analysis Services - Minería de datos)
Examinar un modelo mediante el Visor de series temporales de Microsoft
Referencia técnica del algoritmo de serie temporal de Microsoft
Ejemplos de consultas del modelo de serie temporal
Contenido del modelo de minería de datos para modelos de serie temporal (Analysis Services - Minería de datos)