Erstellen von Zeitreihenvorhersagen mit Ersetzungsdaten (Data Mining-Lernprogramm für Fortgeschrittene)
In dieser Aufgabe erstellen Sie auf Grundlage weltweiter Umsatzdaten ein neues Modell. Sie erstellen dann eine Vorhersageabfrage, mit der Sie das weltweite Umsatzmodell auf eine einzelnen Region anwenden.
Erstellen eines allgemeinen Modells
Denken Sie daran, dass die Analyse der Ergebnisse des ursprünglichen Miningmodells große Unterschiede zwischen Regionen und Produktreihen aufgedeckt hat. Das M200-Modell verzeichnete beispielsweise einen starken Umsatz für Nordamerika, was für die Verkäufe des T1000-Modells nicht der Fall war. Die Analyse wurde dadurch erschwert, dass einige Reihen nicht über aussagekräftige Daten verfügten bzw. der Zeitpunkt für den Beginn der Daten unterschiedlich war. Darüber hinaus fehlten einige Daten.
Um einige dieser Data Quality-Probleme zu beheben, entscheiden Sie sich für eine Zusammenführung der weltweiten Umsatzdaten, um aus diesem Satz allgemeiner Verkaufstrends ein allgemeines Modell zu erstellen, mit dem zukünftige Verkäufe in einer beliebigen Region vorhergesagt werden können.
Wenn Sie Vorhersagen erstellen, wenden Sie das an den weltweiten Umsatzdaten trainierte Muster an, ersetzen aber die Vergangenheitsdaten-Punkte durch die Umsatzdaten jeder einzelnen Region. So wird die Form des Trends beibehalten, während die vorhergesagten Werte an den historischen Umsatzzahlen für jede Region und jedes Modell ausgerichtet werden.
Kreuzvorhersagen mit einem Zeitreihenmodell
Das Verfahren, die Daten aus einer Reihe zur Vorhersage von Trends in einer anderen Reihe zu verwenden, wird "Kreuzvorhersage" genannt. Sie können Kreuzvorhersagen in vielen Szenarien verwenden: Sie könnten z. B. entscheiden, dass die Verkäufe von Fernsehern gute Rückschlüsse bei der Vorhersage der wirtschaftlichen Aktivität allgemein sind, und wenden ein an Umsatzdaten von Fernsehern trainiertes Modell auf allgemeine Wirtschaftsdaten an.
In SQL Server Data Mining führen Sie Kreuzvorhersagen durch, indem Sie den Parameter REPLACE_MODEL_CASES innerhalb der Argumente der Funktion PredictTimeSeries (DMX) verwenden.
In der nächsten Aufgabe lernen Sie, wie REPLACE_MODEL_CASES verwendet wird. Sie erstellen aus den zusammengeführten Weltumsatzdaten ein Modell und dann eine Vorhersageabfrage, die das allgemeine Modell den Ersatzdaten zuordnet.
Es wird davon ausgegangen, dass Sie inzwischen mit dem Erstellen von Data Mining-Modelle vertraut sind; daher wurden die Anweisungen zum Erstellen des Modells vereinfacht.
So erstellen Sie eine Miningstruktur und ein Miningmodell mit den aggregierten Daten
Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf Miningstrukturen und wählen Sie dann Neue Miningstruktur aus, um den Data Mining-Assistenten zu starten.
Wählen Sie im Data Mining-Assistenten folgende Optionen aus:
Algorithmus: Microsoft Time Series
Verwenden Sie die Datenquelle, die Sie in dieser fortgeschrittenen Lektion bereits als Quelle für das Modell erstellt haben. Informationen dazu finden Sie unter Erweiterte Zeitreihenvorhersagen (Data Mining-Lernprogramm für Fortgeschrittene).
Datenquellensicht: AllRegions
Wählen Sie die folgenden Spalten für den Reihenschlüssel und den Zeitschlüssel aus:
Key time: ReportingDate
Key: Region
Wählen Sie die folgenden Spalten für Input und Predict aus:
SumQty
SumAmt
AvgAmt
AvgQty
Geben Sie unter Miningstrukturname den Eintrag All Regions ein.
Geben Sie unter Miningmodellname den Eintrag All Regions ein.
Verarbeiten Sie die neue Struktur und das neue Modell.
So erstellen Sie die Vorhersageabfrage und ordnen Ersetzungsdaten zu
Doppelklicken Sie auf die AllRegions-Struktur, um das Modell ggf. zu öffnen, und klicken Sie im Data Mining-Designer auf die Registerkarte Miningmodellvorhersage.
Im Bereich Miningmodell sollte das Modell AllRegions bereits ausgewählt sein. Wenn dies nicht der Fall ist, klicken Sie auf Modell auswählen, und wählen Sie dann das Modell AllRegions aus.
Klicken Sie im Bereich Eingabetabelle(n) auswählen auf Falltabelle auswählen.
Ändern Sie im Dialogfeld Tabelle auswählen die Datenquelle in T1000 Pacific Region, und klicken Sie dann auf OK.
Klicken Sie mit der rechten Maustaste auf die Joinlinie zwischen dem Miningmodell und den Eingabedaten, und wählen Sie Verbindungen ändern aus. Ordnen Sie die Daten in der Datenquellensicht wie folgt dem Modell zu:
Vergewissern Sie sich, dass die Spalte ReportingDate im Miningmodell der Spalte ReportingDate in den Eingabedaten zugeordnet ist.
Klicken Sie im Dialogfeld Zuordnung ändern in der Zeile für die Modellspalte AvgQty unter Tabellenspalte, und wählen Sie dann T1000 Pacific.Quantity aus. Klicken Sie auf OK.
In diesem Schritt ordnen Sie die Spalte zu, die Sie im Modell für die Vorhersage der Durchschnittsmenge aus den tatsächlichen Umsatzdaten der Reihe T1000 erstellt haben.
Ordnen Sie die Spalte Region im Modell keiner Eingabespalte zu.
Da die Daten aller Reihen im Modell aggregiert sind, findet kein Abgleich der Reihenwerte wie T1000 Pacific statt, und bei der Ausführung der Vorhersageabfrage wird ein Fehler ausgegeben.
Nun erstellen Sie die Vorhersageabfrage.
Fügen Sie zunächst den Ergebnissen eine Spalte hinzu, die die Bezeichnung AllRegions aus dem Modell zusammen mit den Vorhersagen ausgibt. So wissen Sie, dass die Ergebnisse auf dem allgemeinen Modell basieren.
Klicken Sie im Raster auf die erste leere Zeile unter Quelle, und wählen Sie AllRegions mining model aus.
Wählen Sie für Feld die Option Region aus.
Geben Sie für Alias den Alias "Model Used" ein.
Im nächsten Schritt fügen Sie den Ergebnissen eine weitere Bezeichnung hinzu, der Sie entnehmen können, auf welche Reihe sich die Vorhersage bezieht.
Klicken Sie auf eine neue leere Zeile und wählen Sie unter Quelle die Option Benutzerdefinierter Ausdruck aus.
Geben Sie in der Spalte Alias die Zeichenfolge ModelRegion ein.
Geben Sie in der Spalte Kriterium/Argument die Zeichenfolge 'T1000 Pacific' ein.
Nun richten Sie die Funktion für die Kreuzvorhersage ein.
Klicken Sie auf eine leere Zeile und wählen Sie unter Quelle die Option Vorhersagefunktion aus.
Wählen Sie in der Spalte Feld den Eintrag PredictTimeSeries aus.
Geben Sie für Alias den Namen "Predicted Values" ein.
Ziehen Sie das Feld AvgQty aus dem Bereich Miningmodell in die Spalte Kriterium/Argument.
Geben Sie in der Spalte 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
Klicken Sie auf Ergebnisse.
Erstellen der Kreuzvorhersage-Abfrage in DMX
Möglicherweise ist Ihnen ein Problem aufgefallen, das bei Kreuzvorhersagen besteht: Sie müssen nämlich für jede Reihe eine neue Abfrage erstellen, um so das allgemeine Modell auf andere Datenreihen anwenden und jeden Satz von Eingaben dem Modell zuordnen zu können.
Sie haben aber die Möglichkeit, die Abfrage nicht im Designer zu erstellen, sondern zu DMX zu wechseln und die von Ihnen erstellte DMX-Anweisung zu bearbeiten. Die folgende DMX-Anweisung stellt beispielsweise 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 DW2003R2], '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]
Wenn Sie sie auf ein anderes Modell anwenden möchten, müssen Sie nur die Filterbedingung im Abfrageausdruck ersetzen und die mit den einzelnen Ergebnissen verknüpften Bezeichnungen aktualisieren.
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.