Predecir utilizando el modelo de cálculo del promedio de la predicción (Tutorial intermedio de minería de datos)

En una tarea anterior en esta lección, utilizó el Generador de consultas de predicción para crear una consulta que genera predicciones predeterminadas para el modelo de predicción. En esta tarea, aprenderá a crear una consulta de predicción que aplica el modelo de ventas mundial a una de las regiones individuales.

Usar los datos sustitutos en una predicción de serie temporal

En SQL Server 2008, la función PredictTimeSeries (DMX) s tiene dos parámetros nuevos, EXTEND_MODEL_CASES y REPLACE_MODEL_CASES, que permiten personalizar las predicciones de serie temporal.

  • EXTEND_MODEL_CASES permite agregar datos a un modelo existente y realizar predicciones basadas en los datos nuevos.

  • REPLACE_MODEL_CASES permite reemplazar la serie de datos que se usó para crear el modelo a partir de otra serie.

En este escenario, utilizará REPLACE_MODEL_CASES. Sin embargo, primero debe configurar una vista del origen de datos que solo contenga los datos de reemplazo. Los datos de reemplazo son los que se usan para cada serie individual. Después de haber creado la vista del origen de datos de reemplazo, puede crear una consulta de predicción que aplique el modelo general a los datos de reemplazo.

Para crear la vista del origen de datos que contiene los datos de reemplazo

  1. En el Explorador de soluciones, haga clic con el botón secundario en Vistas del origen de datos y, después, seleccione Nueva vista del origen de datos.

  2. En el Asistente para vistas del origen de datos, realice las selecciones siguientes:

    Origen de datos: Adventure Works DW2008R2

    Seleccionar tablas y vistas: no seleccione ninguna tabla

    Nombre: T1000 Pacific Region

  3. Haga clic en Finalizar.

  4. Haga clic con el botón secundario en la superficie de diseño vacía correspondiente a T1000 Pacific Region.dsv y, después, seleccione Nueva consulta con nombre.

    Aparecerá el cuadro de diálogo Crear consulta con nombre. Vuelva a escribir el nombre y agregue la descripción siguiente:

    Nombre: T1000 Pacific Region

    Descripción: Filtro vTimeSeries por región y modelo

  5. En el panel de texto, escriba la consulta siguiente:

    SELECT ReportingDate, ModelRegion, Quantity, Amount
    FROM dbo.vTimeSeries
    WHERE (ModelRegion = N'T1000 Pacific')
    

    Nota

    También puede generar la consulta utilizando el Generador de consultas, pero es más rápido escribir el texto de la consulta. Sin embargo, después de escribir el texto de la consulta, puede hacer clic en otro panel para ver cómo se analiza el texto y se genera la consulta con las tablas complementarias. También podría desear copiar el texto de la consulta y guardarlo en un archivo de texto para que pueda reutilizarlo en otra serie de datos.

  6. Haga clic en Aceptar..

  7. En la superficie de diseño de la Vista del origen de datos, haga clic con el botón secundario en T1000 Pacific y seleccione Explorar datos para comprobar que los datos se filtran correctamente.

Ahora, generará una consulta de predicción de serie temporal como de costumbre, pero agregará el parámetro REPLACE_MODEL_CASES para especificar que las series de datos en las que la predicción se basa se deberían reemplazar con los datos nuevos que se proporcionen. También debe especificar la asignación entre el modelo de minería de datos y la tabla de entrada.

Para generar la consulta de predicción y proporcionar los datos de reemplazo

  1. Si el modelo aún no está abierto, haga doble clic en la estructura AllRegions y, en el Diseñador de minería de datos, haga clic en la ficha Predicción de modelo de minería de datos.

  2. En el panel Modelo de minería de datos, el modelo AllRegions ya debería estar seleccionado. Si no lo está, haga clic en Seleccionar modelo y, a continuación, seleccione el modelo AllRegions.

  3. En el panel Seleccionar tabla(s) de entrada, haga clic en Seleccionar tabla de casos.

  4. En el cuadro de diálogo Seleccionar tabla, cambie el origen de datos por T1000 Pacific Region y haga clic en Aceptar.

    La vista del origen de datos que creó aparece como una tabla con columnas. Algunas columnas podrían estar ya asignadas a las columnas del modelo de minería de datos.

  5. Haga clic con el botón secundario en la línea de unión entre el modelo de minería de datos y los datos de entrada, y seleccione Modificar conexiones.

  6. En el cuadro de diálogo Modificar asignación, compruebe que la columna ReportingDate del modelo de minería de datos está asignada a la columna ReportingDate en los datos de entrada.

  7. En el cuadro de diálogo Modificar asignación, en la fila correspondiente a AvgQty, haga clic en Columna de la tabla y seleccione T1000 Pacific.Quantity. Haga clic en Aceptar.

    Este paso asigna la columna de cantidad agregada en el modelo general a la columna de cantidad en la serie de datos de reemplazo.

  8. En la cuadrícula, haga clic en la primera fila vacía, en Origen y, después, seleccione AllRegions. En la columna Campo, seleccione Region y en la columna Alias, escriba Modelo Utilizado.

    Este paso agrega una columna a los resultados que ayuda a recordar que las predicciones son del modelo general.

  9. Haga clic en una fila vacía y en Origen, seleccione Expresión personalizada. En la columna Alias, escriba ModelRegion. En la columna Criterios o argumento, escriba 'T1000 Pacific'.

    Este paso agrega una etiqueta a los resultados, de modo que pueda ver para qué serie son las predicciones.

  10. Haga clic en una fila vacía y en Origen, seleccione Función de predicción. En la columna Campo, seleccione PredictTimeSeries. En la columna Alias, escriba Valores predichos.

  11. Arrastre el campo AvgQty del panel Modelo de minería de datos a la columna Criterios o argumento mediante una operación de arrastrar y colocar.

  12. En la columna Criterios o argumento, después del nombre de campo, escriba el texto siguiente: ,5, REPLACE_MODEL_CASES

    El texto completo del cuadro de texto Criterios o argumento debería ser como sigue: [AllRegions].[AvgQty],5,REPLACE_MODEL_CASES

  13. Haga clic en Resultados.

Ver los resultados

La consulta de predicción devuelve resultados similares a la tabla siguiente:

Model Used

ModelRegion

Predicted Quantity

All Regions

T-1000 Pacific

$TIMEAvg Qty
7/25/2008 12:00:00 AM68
8/25/2008 12:00:00 AM52
9/25/2008 12:00:00 AM48
10/25/2008 12:00:00 AM56
11/25/2008 12:00:00 AM44

Debe crear una consulta diferente para cada serie si desea aplicar el modelo general a una serie de datos distinta, como el modelo del producto T1000 en la región de Norteamérica. Sin embargo, en lugar de empezar el proceso de nuevo, puede modificar la instrucción DMX que creó y filtrar las entradas de manera diferente. Por ejemplo, la instrucción DMX siguiente representa la consulta recién generada:

SELECT
  ([All Regions].[Region]) as [Model Used],
  ( 'T-1000 Pacific') as [ModelRegion],
  (PredictTimeSeries([All Regions].[Avg Qty],5, REPLACE_MODEL_CASES)) as [Predicted Quantity]
FROM
  [All Regions]
PREDICTION JOIN
  OPENQUERY([Adventure Works DW2008R2],
    'SELECT
      [ReportingDate]
    FROM
      (SELECT        ReportingDate, ModelRegion, Quantity, Amount
FROM            dbo.vTimeSeries
WHERE        (ModelRegion = N''T1000 Pacific'')) as [T1000 Pacific]
    ') AS t
ON
  [All Regions].[Reporting Date] = t.[ReportingDate] AND
   [All Regions].[Avg Qty] = t.[Quantity]

Para aplicar esto a un modelo diferente, puede modificar la instrucción de consulta para reemplazar la condición de filtro y las etiquetas aplicadas a cada resultado. Por ejemplo, si cambia las condiciones de filtro y las etiquetas de las columnas reemplazando 'Pacific' con 'North America', obtendrá las predicciones para el producto T1000 de Norteamérica, según los patrones del modelo general.

Model used

ModelRegion

Predicted Quantity

All Regions

T-1000 North America

$TIMEAvg Qty
7/25/2008 12:00:00 AM103
8/25/2008 12:00:00 AM84
9/25/2008 12:00:00 AM79
10/25/2008 12:00:00 AM85
11/25/2008 12:00:00 AM68