Prédiction à l'aide du modèle Prévision moyenne (Didacticiel intermédiaire sur l'exploration de données)

Dans une tâche antérieure de cette leçon, vous avez utilisé le Générateur de requêtes de prédiction pour créer une requête qui génère les prédictions par défaut pour le modèle Prévision. Dans cette tâche, vous apprendrez à créer une requête de prédiction qui applique le modèle de ventes internationales à l'une des régions.

Utilisation de données de remplacement dans une prédiction de série chronologique

Dans SQL Server 2008, la fonction PredictTimeSeries (DMX) possède deux nouveaux paramètres, EXTEND_MODEL_CASES et REPLACE_MODEL_CASES, qui vous permettent de personnaliser des prédictions de série chronologique.

  • EXTEND_MODEL_CASES vous permet d'ajouter des données à un modèle existant et de faire des prédictions sur la base des nouvelles données.

  • REPLACE_MODEL_CASES vous permet de remplacer la série de données utilisée pour créer le modèle avec les données issues d'une autre série.

Dans ce scénario, vous utiliserez REPLACE_MODEL_CASES. Toutefois, vous devez d'abord configurer une vue de source de données qui contient uniquement les données de remplacement. Les données de remplacement sont les données pour chaque série individuelle. Puis, vous créerez une requête de prédiction qui applique le modèle général aux données de remplacement.

Pour créer la vue de source de données qui contient les données de remplacement

  1. Dans l'Explorateur de solutions, cliquez avec le bouton droit sur Vues des sources de données et choisissez Nouvelle vue de source de données.

  2. Dans l'Assistant Vue de source de données, faites les sélections suivantes :

    Source de données : Adventure Works DW2008

    Sélectionner des tables et des vues : ne sélectionnez pas de tables

    Nom : T1000 Pacific Region

  3. Cliquez sur Terminer.

  4. Cliquez avec le bouton droit sur l'aire de conception vide pour 1000 Pacific Region.dsv et sélectionnez Nouvelle requête nommée.

    La boîte de dialogue Créer une requête nommée s'ouvre. Retapez le nom et ajoutez la description suivante :

    Nom : T1000 Pacific Region

    Description : Filtre vTimeSeries par région et modèle

  5. Dans le volet de texte, tapez la requête suivante :

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

    [!REMARQUE]

    Vous pouvez générer également la requête en utilisant le Générateur de requêtes, mais il est plus rapide de taper le texte de la requête. Toutefois, après avoir tapé le texte de la requête, vous pouvez cliquer sur un autre volet pour voir comment le texte de la requête est analysé et la requête construite à partir des tables de prise en charge. Vous pouvez également copier le texte de la requête et l'enregistrer dans un fichier texte afin de le réutiliser pour une autre série de données.

  6. Cliquez sur OK.

  7. Dans l'aire de conception Vue de source de données, cliquez avec le bouton droit sur T1000 Pacific et sélectionnez Explorer les données pour vérifier que les données sont filtrées correctement.

Maintenant, vous allez générer une requête de prédiction de série chronologique normale, mais vous ajouterez le paramètre REPLACE_MODEL_CASES pour spécifier que les séries de données sur lesquelles la prédiction est basée doivent être remplacées par les nouvelles données que vous fournissez. Vous devez aussi spécifier le mappage entre le modèle d'exploration de données et la table d'entrée.

Pour générer la requête de prédiction et fournir des données de remplacement

  1. Si le modèle n'est pas déjà ouvert, double-cliquez sur la structure AllRegions, et dans le Concepteur d'exploration de données, cliquez sur l'onglet Prévision de modèle d'exploration de données.

  2. Dans le volet Modèle d'exploration de données, le modèle AllRegions doit être déjà sélectionné. Si ce n'est pas le cas, cliquez sur Sélectionner un modèle et sélectionnez le modèle AllRegions.

  3. Dans le volet Sélectionner une ou plusieurs tables d'entrée, cliquez sur Sélectionner la table de cas.

  4. Dans la boîte de dialogue Sélectionner une table, remplacez la source de données par T1000 Pacific Region et cliquez sur OK.

    La vue de source de données que vous avez créée est affichée sous la forme d'une table avec des colonnes. Certaines colonnes peuvent déjà être mappées aux colonnes de modèle d'exploration de données.

  5. Cliquez avec le bouton droit sur la ligne de jointure entre le modèle d'exploration de données et les données d'entrée, puis sélectionnez Modifier les connexions.

  6. Dans la boîte de dialogue Modifier le mappage, vérifiez que la colonne ReportingDate dans le modèle d'exploration de données est mappée à la colonne ReportingDate dans les données d'entrée.

  7. Dans la boîte de dialogue Modifier le mappage, dans la ligne pour AvgQty, cliquez sous Colonne de table et sélectionnez T1000 Pacific.Quantity. Cliquez sur OK.

    Cette étape mappe la colonne de quantité agrégée dans le modèle général à la colonne de quantité dans la série de données de remplacement.

  8. Dans la grille, cliquez sur la première ligne vide au-dessous de Source et sélectionnez AllRegions. Pour Champ, sélectionnez Region. Pour Alias, tapez Modèle utilisé.

    Cette étape ajoute une colonne aux résultats qui vous permet de vous rappeler que les prédictions proviennent du modèle général.

  9. Cliquez sur une nouvelle ligne vide, et sous Source, sélectionnez Expression personnalisée. Pour Alias, tapez ModelRegion. Dans Critère/Argument, tapez 'T1000 Pacific'.

    Cette étape ajoute un intitulé aux résultats qui vous permet de vous rappeler à quelle série sont destinées les prédictions.

  10. Cliquez sur une nouvelle ligne vide, et sous Source, sélectionnez Fonction de prédiction. Pour Champ, sélectionnez PredictTimeSeries. Pour Alias, tapez Valeurs prédites.

  11. Faites glisser le champ AvgQty du volet Modèle d'exploration de données et déposez-le dans la colonne Critères/Argument.

  12. Dans la zone Critères/Argument, après le nom de champ, tapez le texte suivant : ,5, REPLACE_MODEL_CASES

    Le texte complet de la zone de texte Critères/Argument doit être comme suit : [AllRegions].[AvgQty],5,REPLACE_MODEL_CASES

  13. Cliquez sur Résultats.

Affichage des résultats

La requête de prédiction retourne des résultats semblables aux éléments suivants :

Modèle utilisé

ModelRegion

Quantité prédite

Toutes les régions

T-1000 Pacific

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

Pour appliquer le modèle général à une autre série de données, telle que le modèle de produit T1000 dans la région North America, vous devez créer une requête différente pour chaque série. Toutefois, au lieu de répéter tout le processus permettant de générer une vue de source de données, vous pouvez modifier l'instruction DMX que vous avez créée et filtrer les entrées différemment. Par exemple, l'instruction DMX suivante représente la requête que vous venez de créer :

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 DW2008],
    '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]

Pour appliquer ceci à un autre modèle, modifiez simplement l'instruction de requête pour remplacer la condition de filtre et les intitulés qui s'appliquent à chaque résultat. Par exemple, si vous modifiez les conditions de filtre et les intitulés de colonne en remplaçant « Pacific » par « North America », vous recevrez des prédictions pour le produit T1000 en Amérique du Nord, selon le modèle général.

Modèle utilisé

ModelRegion

Quantité prédite

Toutes les régions

T-1000 North America

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