Predicciones de serie temporal avanzadas (Tutorial intermedio de minería de datos)

 

Se aplica a: SQL Server 2016 Preview

Al explorar el modelo de predicción, observó que, aunque las ventas de la mayoría de las regiones siguen un patrón similar, algunas regiones y algunos modelos, como el modelo M200 en la región del Pacífico, muestran tendencias muy diferentes. Esto no le sorprende, ya que sabe que las diferencias entre regiones son comunes y pueden deberse a muchos factores, como las promociones de marketing, los informes inexactos o los acontecimientos geopolíticos.

Sin embargo, los usuarios piden un modelo que se puede aplicar a todo el mundo. Por consiguiente, para reducir el efecto de los factores individuales en las proyecciones, decide crear un modelo de minería de datos basado en medidas agregadas de ventas mundiales. Puede usar este modelo para realizar las predicciones de cada región individual.

En esta tarea, creará todos los orígenes de datos que necesita para realizar las tareas de predicción avanzada. Creará dos vistas de origen de datos que usará como entradas en la consulta de predicción, y una vista de origen de datos que usará para crear un nuevo modelo.

Pasos

  1. Preparar los datos extendidos de ventas (para la predicción)

  2. Preparar los datos agregados (para crear el modelo)

  3. Preparar los datos de la serie (para la predicción cruzada)

  4. Predecir mediante EXTEND

  5. Crear el modelo de predicción cruzada

  6. Predecir con REPLACE

  7. Revisar las nuevas predicciones

Crear nuevos datos extendidos de ventas

Para actualizar los datos de ventas, necesitará obtener las últimas cifras de ventas. Los datos que se acaban de introducir de la región del Pacífico son de interés particular. Allí se inició una promoción de ventas regional para llamar la atención sobre las nuevas tiendas y aumentar el conocimiento de sus productos.

En este escenario, asumiremos que los datos se han importado de un libro de Excel que contiene únicamente tres meses de los nuevos datos para un par de regiones. Creará una tabla para los datos mediante un script Transact-SQL y, a continuación, definirá una vista de origen de datos que usará para la predicción.

Crear la tabla con nuevos datos de ventas

  1. En una ventana de consulta de Transact-SQL, ejecute la instrucción siguiente para agregar los datos de ventas a la base de datos AdventureWorksDW (o a cualquier otra base de datos).

    USE [database name];  
    GO  
    IF OBJECT_ID ([dbo].[NewSalesData]) IS NOT NULL   
        DROP TABLE [dbo].[NewSalesData];  
    GO  
    CREATE TABLE [dbo].[NewSalesData](  
    [Series] [nvarchar](255) NULL,  
    [NewDate] [datetime] NULL,  
    [NewQty] [float] NULL,  
    [NewAmount] [money] NULL  
    ) ON [PRIMARY]  
    
    GO  
    
  2. Inserte los nuevos valores mediante el siguiente script.

    INSERT INTO [NewSalesData]  
    (Series,NewDate,NewQty,NewAmount)  
    VALUES('T1000 Pacific', '7/25/08', 55, '$130,170.22'),  
    ('T1000 Pacific', '8/25/08', 50, '$114,435.36 '),  
    ('T1000 Pacific', '9/25/08', 50, '$117,296.24 '),  
    ('T1000 Europe', '7/25/08', 37, '$88,210.00 '),  
    ('T1000 Europe', '8/25/08', 41, '$97,746.00 '),  
    ('T1000 Europe', '9/25/08', 37, '$88,210.00 '),  
    ('T1000 North America', '7/25/08', 69, '$164,500.00 '),  
    ('T1000 North America', '8/25/08', 66, '$157,348.00 '),  
    ('T1000 North America', '9/25/08', 58, '$138,276.00 '),  
    ('M200 Pacific', '7/25/08', 65, '$149,824.35'),  
    ('M200 Pacific', '8/25/08', 54,  '$124,619.46'),  
    ('M200 Pacific', '9/25/08', 61, '$141,143.39'),  
    ('M200 Europe', '7/25/08', 75, '$173,026.00'),  
    ('M200 Europe', '8/25/08', 76, '$175,212.00'),  
    ('M200 Europe', '9/25/08', 84, '$193,731.00'),  
    ('M200 North America', '7/25/08', 94, '$216,916.00'),  
    ('M200 North America', '8/25/08', 94, '$216,891.00'),  
    ('M200 North America', '9/25/08', 91,'$209,943.00');  
    

    Advertencia


    Se usan comillas con los valores de moneda para evitar problemas con el separador de coma y el símbolo de moneda. También podría pasar los valores de moneda en este formato: 130170.22

    Observe que las fechas usadas en la base de datos de ejemplo han cambiado en esta versión. Si está usando una edición anterior de AdventureWorks, quizás necesite ajustar las fechas insertadas en consecuencia.

Crear una vista de origen de datos con nuevos datos de ventas

  1. En el Explorador de soluciones, haga clic en vistas del origen de datos, y, a continuación, 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 DW Multidimensional 2012

    Seleccionar tablas y vistas: seleccione la tabla que acaba de crear, NewSalesData.

  3. Haga clic en Finalizar.

  4. En la superficie de diseño de la vista del origen de datos, haga clic en NewSalesData y, a continuación, seleccione explorar datos para comprobar los datos.

Advertencia


Usará estos datos solo para la predicción, por lo que no importa que sean incompletos.

Crear datos para el modelo de predicción cruzada

Los datos que se usan en el original ya estaba el modelo de previsión agrupados de algún modo por la vista vTimeSeries que contraen diversos modelos de bicicletas en un número menor de categorías y combinar los resultados de países individuales en regiones. Para crear un modelo que se puede usar para las proyecciones mundiales, creará algunas agregaciones simples adicionales directamente en el Diseñador de vistas del origen de datos. La nueva vista del origen de datos contiene solo una suma y un promedio de las ventas de todos los productos para todas las regiones.

Después de crear el origen de datos usado para el modelo, debe crear una nueva vista del origen de datos que usará para la predicción. Por ejemplo, si desea predecir las ventas de Europa con el nuevo modelo mundial, debe suministrar los datos de la región de Europa solamente. De esta forma, configurará una nueva vista del origen de datos que filtra los datos originales y cambiará la condición de filtro para cada conjunto de consultas de predicción.

Para crear los datos del modelo mediante una vista personalizada del origen de datos

  1. En el Explorador de soluciones, haga clic en vistas del origen de datos, y, a continuación, seleccione nueva vista del origen de datos.

  2. En la página de bienvenida del asistente, haga clic en Siguiente.

  3. En la página Seleccionar origen de datos , seleccione Adventure Works DW Multidimensional 2012y, después, haga clic en Siguiente.

  4. En la página, Seleccionar tablas y vistas, no agregue ninguna tabla; sólo haga clic en Siguiente.

  5. En la página Finalización del asistente, escriba el nombre AllRegionsy, después, haga clic en Finalizar.

  6. A continuación, haga clic en la superficie de diseño de vista del origen de datos en blanco y, a continuación, seleccione nueva consulta con nombre.

  7. En el cuadro de diálogo Crear consulta con nombre , en Nombre, escriba AllRegionsy en Descripción, escriba Suma y promedio de ventas para todos los modelos y regiones.

  8. En el panel de texto SQL, escriba la siguiente instrucción y, a continuación, haga clic en Aceptar:

    SELECT ReportingDate,   
    SUM
    ([Quantity]) as SumQty, AVG
    ([Quantity]) as AvgQty,  
    SUM
    ([Amount]) AS SumAmt, AVG
    ([Amount]) AS AvgAmt,  
    'All Regions' as [Region]  
    FROM dbo.vTimeSeries   
    GROUP BY ReportingDate  
    
  9. Haga clic en el AllRegions de tabla y, a continuación, seleccione explorar datos.

Para crear los datos de la serie para predicción cruzada

  1. En el Explorador de soluciones, haga clic en vistas del origen de datos, y, a continuación, 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 DW Multidimensional 2012

    Seleccionar tablas y vistas: no seleccione ninguna tabla

    Nombre: T1000 Pacific Region

  3. Haga clic en Finalizar.

  4. Haga clic en la superficie de diseño vacía para T1000 Pacific Region.dsv, y, a continuación, 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 devTimeSeriespor región y modelo.

  5. En el panel de texto, escriba la siguiente consulta y, a continuación, haga clic en Aceptar:

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

    Nota


    Puesto que deberá crear predicciones para cada serie por separado, puede que desee copiar el texto de la consulta y guardarlo en un archivo de texto para poder usarlo de nuevo con la otra serie de datos.

  6. En la superficie de diseño de la vista del origen de datos, haga clic en T1000 Pacific y, a continuación, seleccione explorar datos para comprobar que los datos se filtran correctamente.

    Usará estos datos como la entrada del modelo al crear consultas de predicción cruzada.

Siguiente tarea de la lección

Predicciones de serie temporal con datos actualizados ( Tutorial intermedio de minería de datos )

Vea también

Algoritmo de serie temporal de Microsoft
Referencia técnica del algoritmo de serie temporal de Microsoft
Vistas del origen de datos en modelos multidimensionales