Freigeben über


Lektion 5: Erweitern des Zeitreihenmodells

In SQL Server 2014 Enterprise können Sie einem Zeitreihenmodell neue Daten hinzufügen und die neuen Daten automatisch in das Modell integrieren. Sie fügen einem Zeitreihen-Miningmodell auf zwei Arten neue Daten hinzu:

  • Verwenden Sie einen VORHERSAGE JOIN, um Daten in einer externen Quelle mit den Schulungsdaten zu verknüpfen.

  • Verwenden Sie eine Singleton-Vorhersageabfrage, um Daten scheibchenweise bereitzustellen.

Angenommen, Sie haben das Mining-Modell vor einigen Monaten mit vorhandenen Verkaufsdaten trainiert. Wenn Sie neue Verkäufe erhalten, sollten Sie die Umsatzvorhersagen aktualisieren, um die neuen Daten zu integrieren. Sie können dies in einem Schritt tun, indem Sie die neuen Verkaufszahlen als Eingabedaten bereitstellen und neue Vorhersagen basierend auf dem zusammengesetzten Dataset generieren.

Erstellen von Vorhersagen mit EXTEND_MODEL_CASES

Nachfolgend sind generische Beispiele für eine Zeitreihenvorhersage mithilfe von EXTEND_MODEL_CASES aufgeführt. Im ersten Beispiel können Sie die Anzahl der Vorhersagen angeben, die mit dem letzten Schritt des ursprünglichen Modells beginnen:

SELECT [<model columns>,] PredictTimeSeries(<table column reference>, n, EXTEND_MODEL_CASES)   
FROM <mining model>  
PREDICTION JOIN <source query>  
[WHERE <criteria>]  

Im zweiten Beispiel können Sie den Zeitschritt angeben, in dem Vorhersagen beginnen sollen und wo sie enden sollen. Diese Option ist wichtig, wenn Sie die Modellfälle erweitern, da die für Vorhersageabfragen verwendeten Zeitschritte standardmäßig immer am Ende der ursprünglichen Datenreihe beginnen.

SELECT [<model columns>,] PredictTimeSeries(<table column reference>, n-start, n-end, EXTEND_MODEL_CASES)   
FROM <mining model>  
PREDICTION JOIN <source query>  
[WHERE <criteria>}  

In diesem Lernprogramm erstellen Sie beide Arten von Abfragen.

So erstellen Sie eine Singleton-Vorhersageabfrage für ein Zeitreihenmodell

  1. Klicken Sie im Objekt-Explorer mit der rechten Maustaste auf die Instanz von Analysis Services, zeigen Sie auf Neue Abfrage, und klicken Sie dann auf DMX.

    Der Abfrage-Editor wird geöffnet und enthält eine neue, leere Abfrage.

  2. Kopieren Sie das generische Beispiel der Singleton-Anweisung in die leere Abfrage.

  3. Ersetzen Sie Folgendes:

    SELECT [<model columns>,] PredictTimeSeries(<table column reference>, n, EXTEND_MODEL_CASES)   
    

    Durch:

    SELECT [Model Region],  
    PredictTimeSeries([Quantity],6, EXTEND_MODEL_CASES) AS PredictQty  
    

    Die erste Zeile ruft einen Wert aus dem Modell ab, das die Datenreihe identifiziert.

    Die zweite Zeile enthält die Vorhersagefunktion, die sechs Vorhersagen für Menge liefert. Der Vorhersageergebnisspalte wird ein Alias zugewiesen, PredictQtyum die Ergebnisse leichter zu verstehen.

  4. Ersetzen Sie Folgendes:

    FROM <mining model>  
    

    Durch:

    FROM [Forecasting_MIXED]  
    
  5. Ersetzen Sie Folgendes:

    PREDICTION JOIN <source query>  
    

    Durch:

    NATURAL PREDICTION JOIN   
    (  
       SELECT 1 AS [Reporting Date],  
       '10' AS [Quantity],  
       'M200 Europe' AS [Model Region]  
       UNION SELECT  
       2 AS [Reporting Date],  
       15 AS [Quantity]),  
       'M200 Europe' AS [Model Region]  
    ) AS t  
    
  6. Ersetzen Sie Folgendes:

    [WHERE <criteria>]  
    

    Durch:

    WHERE [ModelRegion] = 'M200 Europe' OR  
    [ModelRegion] = 'M200 Pacific'  
    

    Die vollständige Anweisung sollte nun wie folgt aussehen:

    SELECT [Model Region],  
    PredictTimeSeries([Quantity],6, EXTEND_MODEL_CASES) AS PredictQty  
    FROM  
       [Forecasting_MIXED]  
    NATURAL PREDICTION JOIN   
       SELECT 1 AS [ReportingDate],  
      '10' AS [Quantity],  
      'M200 Europe' AS [ModelRegion]  
    UNION SELECT  
      2 AS [ReportingDate],  
      15 AS [Quantity]),  
      'M200 Europe' AS [ModelRegion]  
    ) AS t  
    WHERE [ModelRegion] = 'M200 Europe' OR  
    [ModelRegion] = 'M200 Pacific'  
    
  7. Klicken Sie im Menü Datei auf Speichern unter DMXQuery1.dmx.

  8. Navigieren Sie im Dialogfeld " Speichern unter " zum entsprechenden Ordner, und benennen Sie die Datei Singleton_TimeSeries_Query.dmx.

  9. Klicken Sie auf der Symbolleiste auf die Schaltfläche "Ausführen ".

    Die Abfrage gibt Vorhersagen der Verkaufsmenge für das M200-Fahrrad in den Regionen Europa und Pazifik zurück.

Einführung in die Vorhersage: Beginnen Sie mit EXTEND_MODEL_CASES

Nachdem Sie nun Vorhersagen basierend auf dem ursprünglichen Modell erstellt haben, und mit neuen Daten können Sie die Ergebnisse vergleichen, um zu sehen, wie sich die Aktualisierung der Umsatzdaten auf die Vorhersagen auswirkt. Bevor Sie dies tun, überprüfen Sie den soeben erstellten Code, und beachten Sie Folgendes:

  • Sie haben neue Daten nur für die Region Europa bereitgestellt.

  • Sie haben nur zwei Monate neue Daten bereitgestellt.

Die folgende Tabelle zeigt, wie sich die für M200 Europe bereitgestellten neuen Werte auf Vorhersagen auswirken. Sie haben keine neuen Daten für das M200-Produkt in der Region Pazifik bereitgestellt, aber diese Serie wird zum Vergleich präsentiert:

Produkt und Region: M200 Europe

Vorhandenes Modell (PredictTimeSeries) Modell mit aktualisierten Umsatzdaten (PredictTimeSeries mit EXTEND_MODEL_CASES)
M200 Europe 25.07.2008 12:00:00 Uhr 77 10
M200 Europe 25.08.2008 12:00:00 Uhr 64 15
M200 Europe 25.09.2008 12:00:00 Uhr 59 72
M200 Europe 10.25.2008 12:00:00 Uhr 56 69
M200 Europe 11.25.2008 12:00:00 Uhr 56 68
M200 Europe 12.25.2008 12:00:00 Uhr 74 89

Produkt und Region: M200 Pacific

Vorhandenes Modell (PredictTimeSeries) Modell mit aktualisierten Umsatzdaten (PredictTimeSeries mit EXTEND_MODEL_CASES)
M200 Pacific 25.07.2008 12:00:00 Uhr 41 41
M200 Pacific 25.08.2008 12:00:00 Uhr 44 44
M200 Pacific 25.09.2008 12:00:00 Uhr 38 38
M200 Pacific 10.25.2008 12:00:00 Uhr 41 41
M200 Pacific 11.25.2008 12:00:00 Uhr 36 36
M200 Pacific 12.25.2008 12:00:00 Uhr 39 39

Aus diesen Ergebnissen können Sie zwei Dinge sehen:

  • Die ersten beiden Vorhersagen für die Serie M200 Europe entsprechen genau den neuen Daten, die Sie angegeben haben. Im Design gibt Analysis Services die tatsächlichen neuen Datenpunkte zurück, anstatt eine Vorhersage zu erstellen. Das liegt daran, dass die Zeitschritte, die für Vorhersageabfragen verwendet werden, immer am Ende der ursprünglichen Datenreihe beginnen, wenn Sie die Modellfälle erweitern. Wenn Sie daher zwei neue Datenpunkte hinzufügen, überlappen sich die ersten beiden zurückgegebenen Vorhersagen mit den neuen Daten.

  • Nachdem alle neuen Datenpunkte verwendet wurden, erstellt Analysis Services Vorhersagen basierend auf dem aktualisierten Modell. Ab September 2005 können Sie daher den Unterschied zwischen den Vorhersagen für M200 Europe aus dem ursprünglichen Modell, in der linken Spalte und dem Modell sehen, das EXTEND_MODEL_CASES verwendet, in der rechten Spalte. Die Vorhersagen unterscheiden sich, da das Modell mit den neuen Daten aktualisiert wurde.

Verwenden von Start- und Endzeitschritten zum Steuern von Vorhersagen

Wenn Sie ein Modell erweitern, werden die neuen Daten immer am Ende der Datenreihe angefügt. Zum Zweck der Vorhersage beginnen jedoch die Zeitsegmente, die für Vorhersageabfragen verwendet werden, am Ende der ursprünglichen Datenreihe. Wenn Sie beim Hinzufügen der neuen Daten nur die neuen Vorhersagen abrufen möchten, müssen Sie den Ausgangspunkt als eine Reihe von Zeitsegmenten angeben. Wenn Sie beispielsweise zwei neue Datenpunkte hinzufügen und vier neue Vorhersagen erstellen möchten, gehen Sie wie folgt vor:

  • Erstellen Sie eine PROGNOSE JOIN für ein Zeitreihenmodell, und geben Sie zwei Monate neuer Daten an.

  • Fordern Sie Vorhersagen für vier Zeitsegmente an, wobei der Ausgangspunkt 3 ist, und der Endpunkt ist Zeitsegment 6.

Anders ausgedrückt: Wenn Ihre neuen Daten n Zeitsegmente enthalten und Sie Vorhersagen für Zeitschritte 1 bis n anfordern, werden die Vorhersagen mit demselben Zeitraum wie die neuen Daten übereinstimmen. Um neue Vorhersagen für einen Zeitraum zu erhalten, der nicht von Ihren Daten abgedeckt wird, müssen Sie entweder Vorhersagen zum Zeitpunkt des Datenschnitts n+1 nach der neuen Datenreihe starten oder sicherstellen, dass Sie zusätzliche Zeitsegmente anfordern.

Hinweis

Sie können keine historischen Vorhersagen erstellen, wenn Sie neue Daten hinzufügen.

Das folgende Beispiel zeigt die ANWEISUNG SHAPE, mit der Sie nur die neuen Vorhersagen für die beiden Datenreihen im vorherigen Beispiel abrufen können.

SELECT [Model Region],  
PredictTimeSeries([Quantity],3,6, EXTEND_MODEL_CASES) AS PredictQty  
FROM  
   [Forecasting_MIXED]  
NATURAL PREDICTION JOIN   
   SELECT 1 AS [ReportingDate],  
  '10' AS [Quantity],  
  'M200 Europe' AS [ModelRegion]  
UNION SELECT  
  2 AS [ReportingDate],  
  15 AS [Quantity]),  
  'M200 Europe' AS [ModelRegion]  
) AS t  
WHERE [ModelRegion] = 'M200 Europe'  

Die Vorhersageergebnisse beginnen zum Zeitpunkt des Datenschnitts 3, d. h. nach den 2 Monaten der von Ihnen bereitgestellten neuen Daten.

Produkt und Region: M200 Europe

Modell mit aktualisierten Daten (PredictTimeSeries mit EXTEND_MODEL_CASES)

M200 Europe 25.09.2008 12:00:00 Uhr 72
M200 Europe 10.25.2008 12:00:00 Uhr 69
M200 Europe 11.25.2008 12:00:00 Uhr 68
M200 Europe 12.25.2008 12:00:00 Uhr 89

Erstellen von Vorhersagen mit REPLACE_MODEL_CASES

Das Ersetzen der Modellfälle ist nützlich, wenn Sie ein Modell für eine Gruppe von Fällen trainieren und dieses Modell dann auf eine andere Datenreihe anwenden möchten. Eine detaillierte Anleitung zu diesem Szenario finden Sie in Lektion 2: Erstellen eines Prognoseszenarios (Data Mining für Fortgeschrittene Tutorial).

Siehe auch

Abfragebeispiele für Zeitreihenmodelle
PredictTimeSeries (DMX)