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.
Al crear una consulta en un modelo de minería de datos, puede crear una consulta de contenido, que proporciona detalles sobre los patrones detectados en el análisis, o bien puede crear una consulta de predicción, que usa los patrones del modelo para realizar predicciones para nuevos datos. Por ejemplo, una consulta de contenido para un modelo de serie temporal podría proporcionar detalles adicionales sobre las estructuras periódicas detectadas, mientras que una consulta de predicción podría proporcionar predicciones para los siguientes segmentos de tiempo de 5 a 10. También puede recuperar metadatos sobre el modelo mediante una consulta.
En esta sección se explica cómo crear ambos tipos de consultas para modelos basados en el algoritmo de serie temporal de Microsoft.
Consultas de contenido
Recuperar sugerencias de periodicidad para el modelo
Recuperación de la ecuación para un modelo ARIMA
Recuperación de la ecuación para un modelo ARTxp
Consultas de predicción
Descripción de cuándo reemplazar y cuándo ampliar los datos de serie temporal
Realizar predicciones con EXTEND_MODEL_CASES
Realización de predicciones con REPLACE_MODEL_CASES
Sustitución de valores que faltan en los modelos de serie temporal
Obtener información sobre un modelo de serie temporal
Una consulta de contenido del modelo puede proporcionar información básica sobre el modelo, como los parámetros que se usaron cuando se creó el modelo, la hora en que se procesó por última vez el modelo. En el ejemplo siguiente se muestra la sintaxis básica para consultar el contenido del modelo mediante los conjuntos de filas del esquema de minería de datos.
Consulta de ejemplo 1: Recuperar sugerencias de periodicidad para el modelo
Puede recuperar las periodicidades que se encontraron en la serie temporal consultando el árbol ARIMA o el árbol ARTXP. Sin embargo, es posible que las periodicidades del modelo completado no sean las mismas que los períodos especificados como sugerencias al crear el modelo. Para recuperar las sugerencias proporcionadas como parámetros al crear el modelo, puede consultar el conjunto de filas del esquema de contenido del modelo de minería mediante la siguiente sentencia DMX.
SELECT MINING_PARAMETERS
FROM $system.DMSCHEMA_MINING_MODELS
WHERE MODEL_NAME = '<model name>'
Resultados parciales:
| PARÁMETROS_DE_MINERÍA |
|---|
| COMPLEXITY_PENALTY=0,1,MINIMUM_SUPPORT=10,PERIODICITY_HINT={1,3},.... |
La sugerencia de periodicidad predeterminada es {1} y aparece en todos los modelos; este modelo de ejemplo se creó con una sugerencia adicional que podría no estar presente en el modelo final.
Nota:
Los resultados se han truncado aquí para mejorar la legibilidad.
Consulta de ejemplo 2: Recuperación de la ecuación para un modelo ARIMA
Puede recuperar la ecuación de un modelo ARIMA consultando cualquier nodo de un árbol individual. Recuerde que cada árbol dentro de un modelo ARIMA representa una periodicidad diferente y, si hay varias series de datos, cada serie de datos tendrá su propio conjunto de árboles de periodicidad. Por lo tanto, para recuperar la ecuación de una serie de datos específica, primero debe identificar el árbol.
Por ejemplo, el prefijo TA indica que el nodo forma parte de un árbol ARIMA, mientras que el prefijo TS se usa para árboles ARTXP. Puede encontrar todos los árboles raíz arIMA consultando el contenido del modelo para los nodos con un valor de NODE_TYPE de 27. También puede usar el valor de ATTRIBUTE_NAME para buscar el nodo raíz ARIMA para una serie de datos determinada. En este ejemplo de consulta se buscan los nodos ARIMA que representan cantidades vendidas del modelo R250 en la región de Europa.
SELECT NODE_UNIQUE_NAME
FROM Forecasting.CONTENT
WHERE ATTRIBUTE_NAME = 'R250 Europe: Quantity"
AND NODE_TYPE = 27
Con este identificador de nodo, puede recuperar detalles sobre la ecuación ARIMA de este árbol. La siguiente expresión DMX obtiene la forma corta de la ecuación ARIMA para la serie de datos. También recupera el intercepto de la tabla anidada NODE_DISTRIBUTION. En este ejemplo, la ecuación se obtiene haciendo referencia al identificador único del nodo TA00000007. Sin embargo, es posible que tenga que usar un identificador de nodo diferente y puede obtener resultados ligeramente diferentes del modelo.
SELECT FLATTENED NODE_CAPTION as [Short equation],
(SELECT ATTRIBUTE_NAME, ATTRIBUTE_VALUE
FROM NODE_DISTRIBUTION) as t
FROM Forecasting.CONTENT
WHERE NODE_NAME = 'TA00000007'
Resultados de ejemplo:
| Ecuación corta | t.ATTRIBUTE_NAME | t.ATTRIBUTE_VALUE |
|---|---|---|
| ARIMA (2,0,7)x(1,0,2)(12) | R250 Europe:Cantidad(Intercepción) | 15.24.... |
| ARIMA (2,0,7)x(1,0,2)(12) | R250 Europa:Cantidad(Periodicidad) | 1 |
| ARIMA (2,0,7)x(1,0,2)(12) | R250 Europa:Cantidad(Periodicidad) | 12 |
Para obtener más información sobre cómo interpretar esta información, vea Contenido del modelo de minería de datos para modelos de serie temporal (Analysis Services - Minería de datos).
Consulta de ejemplo 3: Recuperación de la ecuación para un modelo ARTXP
Para un modelo ARTxp, se almacena información diferente en cada nivel del árbol. Para obtener más información sobre la estructura de un modelo ARTxp y cómo interpretar la información de la ecuación, vea Contenido del modelo de minería de datos para modelos de serie temporal (Analysis Services - Minería de datos).
La siguiente instrucción DMX recupera información que es parte del árbol ARTxp y representa la cantidad de ventas del modelo R250 en Europa.
Nota:
El nombre de la columna de tabla anidada, VARIANCE, debe incluirse entre corchetes para distinguirlo de la palabra clave reservada del mismo nombre. Las columnas de la tabla anidada, PROBABILITY y SUPPORT, no se incluyen porque están en blanco en la mayoría de los casos.
SELECT NODE_CAPTION as [Split information],
(SELECT ATTRIBUTE_NAME, ATTRIBUTE_VALUE,
[VARIANCE]
FROM NODE_DISTRIBUTION) AS t
FROM Forecasting.CONTENT
WHERE NODE_ATTRIBUTE_NAME = 'R250 Europe:Quantity'
AND NODE_TYPE = 15
Para obtener más información sobre cómo interpretar esta información, vea Contenido del modelo de minería de datos para modelos de serie temporal (Analysis Services - Minería de datos).
Creación de predicciones en un modelo de serie temporal
A partir de SQL Server 2008 Enterprise, puede agregar nuevos datos a un modelo de serie temporal e incorporar automáticamente los nuevos datos al modelo. Puede agregar nuevos datos a un modelo de minería de datos de serie temporal de una de estas dos maneras:
Usa un
PREDICTION JOINpara unir datos de un origen externo a los datos de entrenamiento.Use una consulta de predicción singleton para proporcionar datos de un segmento a la vez. Para obtener información sobre cómo crear una consulta de predicción singleton, consulte Interfaces de consulta de minería de datos.
Descripción del comportamiento de las operaciones de reemplazo y extensión
Al agregar nuevos datos a un modelo de serie temporal, puede especificar si quiere ampliar o reemplazar los datos de entrenamiento:
Extender: Al extender una serie de datos, Analysis Services agrega los nuevos datos al final de los datos de entrenamiento existentes. El número de casos de entrenamiento también aumenta.
Extender los casos de modelo es útil para actualizar continuamente el modelo con nuevos datos. Por ejemplo, si desea que el conjunto de entrenamiento crezca con el tiempo, simplemente hay que extender el modelo.
Para ampliar los datos, cree un
PREDICTION JOINen un modelo de serie temporal, especifique el origen de los nuevos datos y use elEXTEND_MODEL_CASESargumento .Reemplazar: Al reemplazar los datos de la serie de datos, Analysis Services mantiene el modelo entrenado, pero usa los nuevos valores de datos para reemplazar algunos o todos los casos de entrenamiento existentes. Por lo tanto, el tamaño de los datos de entrenamiento nunca cambia, pero los propios casos se reemplazan continuamente por datos más recientes. Si proporciona suficientes datos nuevos, puede reemplazar los datos de entrenamiento por una serie completamente nueva.
Reemplazar los casos de modelo es útil cuando desea entrenar un modelo en un conjunto de casos y, a continuación, aplicar ese modelo a una serie de datos diferente.
Para reemplazar los datos, cree un
PREDICTION JOINen un modelo de serie temporal, especifique el origen de los nuevos datos y use elREPLACE_MODEL_CASESargumento .
Nota:
No puede realizar predicciones históricas al agregar nuevos datos.
Independientemente de si decide extender o reemplazar los datos de entrenamiento, las predicciones siempre comienzan en la marca de tiempo que finaliza el conjunto de entrenamiento original. En otras palabras, si los nuevos datos contienen n segmentos de tiempo y solicita predicciones para los pasos de tiempo 1 a n, las predicciones coincidirán con el mismo período que los nuevos datos y no obtendrá ninguna predicción nueva.
Para obtener nuevas predicciones para períodos de tiempo que no se superpongan con los nuevos datos, debe iniciar predicciones en el segmento de tiempo n+1 o asegurarse de solicitar segmentos de tiempo adicionales.
Por ejemplo, supongamos que el modelo existente tiene seis meses de datos. Desea ampliar este modelo agregando las cifras de ventas de los últimos tres meses. Al mismo tiempo, quieres realizar una predicción sobre los próximos tres meses. Para obtener solo las nuevas predicciones al agregar los nuevos datos, especifique el punto inicial como segmento de tiempo 4 y el punto final como segmento de tiempo 7. También podría solicitar un total de seis predicciones, pero los segmentos de tiempo de los tres primeros se superponerían con los nuevos datos recién agregados.
Para obtener ejemplos de consultas y más información sobre la sintaxis para usar REPLACE_MODEL_CASES y EXTEND_MODEL_CASES, vea PredictTimeSeries (DMX).
Realizar predicciones con EXTEND_MODEL_CASES
El comportamiento de predicción difiere en función de si extiende o reemplaza los casos del modelo. Al extender un modelo, los nuevos datos se adjuntan al final de la serie y aumenta el tamaño del conjunto de entrenamiento. Sin embargo, los segmentos de tiempo usados para las consultas de predicción siempre comienzan al final de la serie original. Por lo tanto, si agrega tres nuevos puntos de datos y solicita seis predicciones, las tres primeras predicciones se superponen con los nuevos datos. En este caso, Analysis Services devuelve los nuevos puntos de datos reales en lugar de realizar una predicción, hasta que se usen todos los nuevos puntos de datos. A continuación, Analysis Services realiza predicciones basadas en la serie compuesta.
Este comportamiento le permite agregar nuevos datos y, a continuación, mostrar las cifras reales de ventas en el gráfico de predicción, en lugar de ver proyecciones.
Por ejemplo, para agregar tres nuevos puntos de datos y realizar tres nuevas predicciones, haría lo siguiente:
Cree un
PREDICTION JOINobjeto en un modelo de serie temporal y especifique el origen de tres meses de datos nuevos.Solicite predicciones para seis segmentos de tiempo. Para ello, especifique 6 segmentos de tiempo, donde el punto inicial es el segmento de tiempo 1 y el punto final es el segmento de tiempo 7. Esto solo es cierto para EXTEND_MODEL_CASES.
Para obtener solo las nuevas predicciones, especifique el punto inicial como 4 y el punto final como 7.
Debe usar el argumento
EXTEND_MODEL_CASES.Las cifras reales de ventas se devuelven para los tres primeros segmentos de tiempo y las predicciones basadas en el modelo extendido se devuelven para los próximos tres segmentos de tiempo.
Realización de predicciones con REPLACE_MODEL_CASES
Al reemplazar los casos de un modelo, el tamaño del modelo permanece igual, pero Analysis Services reemplaza los casos individuales del modelo. Esto es útil para la predicción cruzada y los escenarios en los que es importante mantener el conjunto de datos de entrenamiento en un tamaño coherente.
Por ejemplo, una de las tiendas tiene datos de ventas insuficientes. Puede crear un modelo general promediando las ventas de todas las tiendas de una región determinada y, a continuación, entrenando un modelo. A continuación, para realizar predicciones para la tienda sin suficientes datos de ventas, cree un PREDICTION JOIN en los nuevos datos de ventas para solo ese almacén. Al hacerlo, Analysis Services mantiene los patrones derivados del modelo regional, pero reemplaza los casos de entrenamiento existentes por los datos del almacén individual. Como resultado, los valores de predicción estarán más cerca de las líneas de tendencia del almacén individual.
Cuando se usa el REPLACE_MODEL_CASES argumento , Analysis Services agrega continuamente nuevos casos al final del conjunto de casos y elimina un número correspondiente desde el principio del conjunto de casos. Si agrega más datos nuevos de los que se encontraban en el conjunto de entrenamiento original, Analysis Services descarta los datos más antiguos. Si proporciona suficientes nuevos valores, las predicciones se pueden basar en datos completamente nuevos.
Por ejemplo, ha entrenado el modelo en un conjunto de datos de casos que contenía 1000 filas. A continuación, agregue 100 filas de datos nuevos. Analysis Services quita las primeras 100 filas del conjunto de entrenamiento y agrega las 100 filas de datos nuevos al final del conjunto para un total de 1000 filas. Si agrega 1100 filas de datos nuevos, solo se usan las 1000 filas más recientes.
Este es otro ejemplo. Para agregar tres nuevos datos del mes nuevo y realizar tres predicciones nuevas, realizaría las siguientes acciones:
Cree un
PREDICTION JOINen un modelo de serie temporal y use el argumentoREPLACE_MODEL_CASE.Especifique el origen de tres meses de nuevos datos. Estos datos pueden ser de un origen completamente diferente al de los datos de entrenamiento originales.
Solicite predicciones para seis segmentos de tiempo. Para ello, especifique 6 segmentos de tiempo o especifique el punto inicial como segmento de tiempo 1 y el punto final como segmento de tiempo 7.
Nota:
A diferencia de
EXTEND_MODEL_CASES, no puede devolver los mismos valores que agregó como datos de entrada. Los seis valores devueltos son predicciones basadas en el modelo actualizado, que incluye datos antiguos y nuevos.Nota:
Con REPLACE_MODEL_CASES, a partir de la marca de tiempo 1 obtendrá nuevas predicciones basadas en los nuevos datos, que reemplazan los datos de entrenamiento antiguos.
Para obtener ejemplos de consultas y más información sobre la sintaxis para usar REPLACE_MODEL_CASES y EXTEND_MODEL_CASES, vea PredictTimeSeries (DMX).
Sustitución de valores que faltan en los modelos de serie temporal
Al agregar nuevos datos a un modelo de serie temporal mediante una PREDICTION JOIN instrucción , el nuevo conjunto de datos no puede tener valores que falten. Si alguna serie está incompleta, el modelo debe proporcionar los valores que faltan mediante un valor NULL, un medio numérico, una media numérica específica o un valor predicho. Si especifica EXTEND_MODEL_CASES, Analysis Services reemplaza los valores que faltan por predicciones basadas en el modelo original. Si usa REPLACE_MODEL_CASES, Analysis Services reemplaza los valores que faltan por el valor especificado en el parámetro MISSING_VALUE_SUBSTITUTION .
Lista de funciones de predicción
Todos los algoritmos de Microsoft admiten un conjunto común de funciones. Sin embargo, el algoritmo de serie temporal de Microsoft admite las funciones adicionales, enumeradas en la tabla siguiente.
| Función de predicción | Uso |
| Retraso (DMX) | Devuelve un número de segmentos de tiempo entre la fecha del caso actual y la última fecha del conjunto de entrenamiento. Un uso típico de esta función es identificar casos de entrenamiento recientes para que pueda recuperar datos detallados sobre los casos. |
| PredictNodeId (DMX) | Devuelve el identificador de nodo de la columna de predicción especificada. Un uso típico de esta función es identificar el nodo que generó un valor previsto determinado para que pueda revisar los casos asociados al nodo, o recuperar la ecuación y otros detalles. |
| PredictStdev (DMX) | Devuelve la desviación estándar de las predicciones de la columna de predicción especificada. Esta función reemplaza el argumento INCLUDE_STATISTICS, que no se admite para los modelos de serie temporal. |
| PredictVariance (DMX) | Devuelve la varianza de las predicciones de la columna de predicción especificada. Esta función reemplaza el argumento INCLUDE_STATISTICS, que no se admite para los modelos de serie temporal. |
| PredictTimeSeries (DMX) | Devuelve valores históricos previstos o valores de predicción futuros para una serie temporal. También puede consultar modelos de serie temporal mediante la función de predicción general Predict (DMX). |
Para obtener una lista de las funciones que son comunes a todos los algoritmos de Microsoft, consulte Funciones de predicción general (DMX). Para obtener la sintaxis de funciones específicas, vea Referencia de funciones de Extensiones de Minería de Datos (DMX).
Véase también
Consultas de minería de datos
Algoritmo de serie temporal de Microsoft
Referencia técnica del algoritmo de serie temporal de Microsoft
Contenido del modelo de minería de datos para modelos de serie temporal (Analysis Services - Minería de datos)