Treffen von Vorhersagen mit dem gemittelten Forecasting-Modell (Data Mining-Lernprogramm für Fortgeschrittene)

In einer früheren Aufgabe in dieser Lektion haben Sie mit dem Generator für Vorhersageabfragen eine Abfrage zur Generierung von Standardvorhersagen für das Forecasting-Modell erstellt. In dieser Aufgabe lernen Sie, eine Vorhersageabfrage zu erstellen, mit der das weltweite Vertriebsmodell auf eine einzelnen Region angewendet wird.

Verwenden von Ersetzungsdaten in einer Zeitreihenvorhersage

Die PredictTimeSeries (DMX)-Funktion in SQL Server 2008 verfügt über zwei neue Parameter (EXTEND_MODEL_CASES und REPLACE_MODEL_CASES), die es Ihnen ermöglichen, Zeitreihenvorhersagen anzupassen.

  • Mit der EXTEND_MODEL_CASES-Funktion können Sie einem vorhandenen Modell Daten hinzufügen und Vorhersagen anhand der neu hinzugefügten Daten treffen.

  • Mit der REPLACE_MODEL_CASES-Funktion können Sie die Datenreihen ersetzen, die zum Erstellen des Modells mit Daten aus einer anderen Reihe verwendet wurden.

In diesem Szenario verwenden Sie REPLACE_MODEL_CASES. Zuvor müssen Sie jedoch eine Datenquellensicht einrichten, die nur die Ersetzungsdaten enthält. Ersetzungsdaten bezeichnen die Daten für die einzelnen Reihen. Im Anschluss erstellen Sie eine Vorhersageabfrage, um das allgemeine Modell auf die Ersetzungsdaten anzuwenden.

So erstellen Sie die Datenquellensicht mit den Ersetzungsdaten

  1. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf Datenquellensichten, und wählen Sie Neue Datenquellensicht aus.

  2. Treffen Sie im Datenquellensicht-Assistenten die folgende Auswahl:

    Datenquelle: Adventure Works DW2008

    Tabellen und Sichten auswählen: keine Auswahl

    Name: T1000 Pacific Region

  3. Klicken Sie auf Fertig stellen.

  4. Klicken Sie mit der rechten Maustaste auf die leere Entwurfsoberfläche für T1000 Pacific Region.dsv, und wählen Sie Neue benannte Abfrage aus.

    Das Dialogfeld Benannte Abfrage erstellen wird geöffnet. Geben Sie den Namen erneut ein, und fügen Sie die folgende Beschreibung hinzu:

    Name: T1000 Pacific Region

    Beschreibung: vTimeSeries nach Region und Modell filtern

  5. Geben Sie im Textbereich folgende Abfrage ein:

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

    Sie können die Abfrage auch mit dem Abfrage-Generator erstellen; die Eingabe des Abfragetexts nimmt jedoch weniger Zeit in Anspruch. Nachdem Sie den Abfragetext eingegeben haben, können Sie auf einen anderen Bereich klicken, um die Analyse des Abfragetexts und das Erstellen der Abfrage aus den unterstützenden Tabellen anzuzeigen. Sie können den Abfragetext auch kopieren und als Textdatei speichern, um ihn für andere Datenreihen wiederzuverwenden.

  6. Klicken Sie auf OK.

  7. Klicken Sie auf der Entwurfsoberfläche der Datenquellensicht mit der rechten Maustaste auf T1000 Pacific, und wählen Sie Daten durchsuchen aus, um zu überprüfen, ob die Daten ordnungsgemäß gefiltert wurden.

Sie erstellen nun wie gewohnt eine Vorhersage für eine Zeitreihenfunktion, fügen jedoch den REPLACE_MODEL_CASES-Parameter hinzu, um anzugeben, dass die Datenreihe, auf der die Vorhersage basiert, durch die neuen Daten ersetzt werden soll, die Sie bereitgestellt haben. Außerdem müssen Sie die Zuordnung zwischen dem Miningmodell und der Eingabetabelle angeben.

So erstellen Sie die Vorhersageabfrage und stellen Ersetzungsdaten bereit

  1. Doppelklicken Sie auf die AllRegions-Struktur, um das Modell ggf. zu öffnen, und klicken Sie im Data Mining-Designer auf die Registerkarte Miningmodellvorhersage.

  2. Im Bereich Miningmodell sollte das AllRegions-Modell bereits ausgewählt sein. Klicken Sie andernfalls auf Modell auswählen, und wählen Sie das AllRegions-Modell aus.

  3. Klicken Sie im Bereich Eingabetabelle(n) auswählen auf Falltabelle auswählen.

  4. Ändern Sie im Dialogfeld Tabelle auswählen die Datenquelle in T1000 Pacific Region, und klicken Sie auf OK.

    Die Datenquellensicht, die Sie erstellt haben, wird als Tabelle mit Spalten angezeigt. Es kann sein, dass den Spalten des Miningmodells bereits einige Spalten zugeordnet sind.

  5. Klicken Sie mit der rechten Maustaste auf die Verknüpfungslinie zwischen dem Miningmodell und den Eingabedaten, und wählen Sie Verbindungen ändern aus.

  6. Vergewissern Sie sich, dass im Dialogfeld Zuordnung bearbeiten die ReportingDate-Spalte im Miningmodell der ReportingDate-Spalte in den Eingabedaten zugeordnet ist.

  7. Klicken Sie im Dialogfeld Zuordnung bearbeiten in der Zeile für AvgQty unter Tabellenspalte, und wählen Sie T1000 Pacific.Quantity aus. Klicken Sie auf OK.

    In diesem Schritt wird die Spalte mit der aggregierten Menge im allgemeinen Modell der Spalte mit der Menge in der Ersetzungsdatenreihe zugeordnet.

  8. Klicken Sie im Raster auf die erste leere Zeile unter Quelle, und wählen Sie AllRegions aus. Wählen Sie Region als Feld aus. Geben Sie für Alias den Alias Model Used ein.

    In diesem Schritt wird den Ergebnissen eine Spalte zur Erinnerung daran hinzugefügt, dass sich die Vorhersagen auf das allgemeine Modell beziehen.

  9. Klicken Sie auf eine neue leere Zeile, und wählen Sie unter Quelle die Option Benutzerdefinierter Ausdruck aus. Geben Sie für Alias den Namen ModelRegion ein. Geben Sie unter Kriterium/Argument die Bezeichnung 'T1000 Pacific' ein.

    In diesem Schritt wird den Ergebnissen eine Bezeichnung zur Erinnerung daran hinzugefügt, auf welche Reihen sich die Vorhersagen beziehen.

  10. Klicken Sie auf eine neue leere Zeile, und wählen Sie unter Quelle die Option Vorhersagefunktion aus. Wählen Sie für Feld den Eintrag PredictTimeSeries aus. Geben Sie für Alias den Namen Predicted Values ein.

  11. Ziehen Sie das AvgQty-Feld aus dem Bereich Miningmodell in die Spalte Kriterium/Argument.

  12. Geben Sie in das Feld Kriterium/Argument folgenden Text nach dem Namen des Felds ein: ,5, REPLACE_MODEL_CASES

    Der vollständige Text im Feld Kriterium/Argument sollte wie folgt lauten: [AllRegions].[AvgQty],5,REPLACE_MODEL_CASES

  13. Klicken Sie auf Ergebnisse.

Anzeigen der Ergebnisse

Die Vorhersageabfrage gibt Ergebnisse wie im folgenden Beispiel zurück:

Verwendetes Modell

ModelRegion

Vorhergesagte Menge

Alle Regionen

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

Wenn Sie das allgemeine Modell auf eine andere Datenreihe anwenden möchten, beispielsweise auf das Modell T1000 in Nordamerika, müssen Sie eine andere Abfrage für die entsprechenden Reihen erstellen. Anstatt jedoch den gesamten Prozess der Erstellung einer Datenquellensicht zu durchlaufen, können Sie auch die erstellte DMX-Anweisung bearbeiten, und einen anderen Filter auf die Eingaben anwenden. So stellt die folgende DMX-Anweisung die Abfrage dar, die Sie gerade erstellt haben:

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]

Zur Verwendung mit einem anderen Modell bearbeiten Sie einfach die Abfrage und ersetzen die Filterbedingung sowie die Bezeichnungen für die einzelnen Ergebnisse. Wenn Sie beispielsweise die Filterbedingungen und die Spaltenbezeichnungen ändern, indem Sie "Pacific" durch "North America" ersetzen, erhalten Sie Vorhersagen für das T1000-Produkt in Nordamerika auf Basis des allgemeinen Modells.

Verwendetes Modell

ModelRegion

Vorhergesagte Menge

Alle Regionen

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