Anhang A: Häufig gestellte Fragen
F: Welche ersten Schritte sind für die Benutzung von Amazon Forecast notwendig?
-
Sie benötigen zunächst ein AWS-Konto.
-
Öffnen Sie als Nächstes in der AWS Management Console
den Forecast-Service, erstellen Sie eine Datensatzgruppe und importieren Sie eine .csv-Datei in den Zielzeitreihen-Datensatz (erforderlich). Um zu beginnen, benötigen Sie zumindest historische Daten für die Menge, die Sie vorhersagen wollen, z. B. Strom pro Zeitstempel pro Haushalt. -
Erstellen Sie abschließend ein Modell, indem Sie CreatePredictor ausführen, und generieren Sie Ergebnisse, indem Sie CreateForecast ausführen. Weitere Informationen finden Sie auf der Dokumentationsseite Erste Schritte.
Lesen Sie auch den Leitfaden für die Einführung in GitHub und für bewährte Methoden
F: Ist Amazon Forecast die richtige Wahl für mich?
Nicht alle Probleme, die mit dem maschinellen Lernen zusammenhängen, sind Prognoseprobleme. Die erste Frage, die Sie sich stellen sollten, lautet: „Beinhaltet mein Geschäftsproblem in seiner Aussage Zeitreihen?“ Benötigen Sie beispielsweise einen bestimmten Wert für eine bestimmte Uhrzeit und ein bestimmtes Datum, das in der Zukunft liegt? Prognosen eignen sich nicht für allgemeine, statische Probleme, bei denen ein bestimmtes Datum/eine bestimmte Uhrzeit keine Rolle spielt (wie z. B. bei der Erkennung von Betrug oder wenn es darum geht, einem Benutzer einen Filmtitel zu empfehlen. Für statische Probleme gibt es viel schnellere Lösungen.
Neben der Tatsache, dass Sie Zeitreihendaten haben sollten, sollten die Daten selbst „dicht“ beieinander liegen und eine lange Historie aufweisen. Dies ist in der folgenden Tabelle zusammengefasst:
Tabelle 2 – Kriterien und Amazon Forecast-Algorithmusklassen
| Kriterien | Amazon-Forecast-Algorithmusklasse |
|---|---|
| Großer Datensatz mit bis zu fünf Millionen Zeitreihen mit ähnlichen zugrundeliegenden Mustern + saisonalen Effekten + verwandten Daten. Wenn versucht wird, jährliche Ereignisse zu erfassen, sollte jede Zeitreihe eine lange Historie (idealerweise mehr als zwei Jahre) haben und jede Zeitreihe sollte mehr als 300 Datenpunkte (idealerweise mindestens 1.000) aufweisen. | Proprietäres Deep Learning DeepAR+, CNN-QR von Amazone Forecast |
| Kleiner Datensatz mit Zeitreihen von 1–100, wobei die meisten Zeitreihen mehr als 300 Datenpunkte + saisonale Effekte + verwandte Daten aufweisen. | Prophet |
| Kleiner Datensatz mit Zeitreihen von 1–10, wobei die meisten Zeitreihen mehr als 300 Datenpunkte und saisonale Effekte aufweisen. | ETS, ARIMA |
| Intermittierend (spärlich, enthält viele 0) mit Zeitreihen von 1–10, wobei die meisten Zeitreihen mehr als 300 Datenpunkte aufweisen. | Proprietäres NPTS von Amazon Forecast |
| Kleiner Datensatz (regulär oder spärlich) mit Zeitreihen von 1–10, wobei die meisten Zeitreihen weniger als 300 Datenpunkte aufweisen. | Die Daten sind für Amazon Forecast zu klein. Probieren Sie stattdessen ETS in Excel oder die traditionellen statistischen Modelle ARIMA und Prophet aus. |
Am besten ist es, das erste Mal mit Ihren Daten im AutoML-Modus in Ihrem Predictor zu trainieren. AutoML durchläuft automatisch alle Algorithmen (die DL-Algorithmen werden bei aktivierter HPO durchlaufen), um festzustellen, welcher Algorithmus für Ihre Daten am besten geeignet ist.
F: Was muss ich bei fehlenden Daten bedenken? Ab wann lassen sich keine vernünftigen Prognosen erstellen?
Es kann vorkommen, dass es Probleme mit der Erfassung von Daten gibt oder dass das Aggregationsniveau der Daten zu niedrig oder zu hoch ist. Allgemein gilt, dass die Prognoselänge nicht länger sein darf als 1/3 der Trainingsdaten.
Neben der Menge der fehlenden Daten ist außerdem die Imputation der fehlenden Daten zu berücksichtigen. Sie können alle 0-Werte in Nullen umwandeln und Amazon Forecast die aufwendige Aufgabe überlassen, fehlende Werte automatisch zu imputieren. Amazon Forecast erkennt automatisch, ob die fehlenden Werte auf die Einführung neuer Produkte (Cold-Starts) oder auf Altprodukte zurückzuführen sind. Sie können für fehlende Werte mehrere Logiken verwenden, darunter Wert, Median, Minimum, Maximum, Null, Durchschnitt und NaNt (nur für Zielzeitreihen). In der-Dokumentation finden Sie Informationen zur Syntax zum Ausfüllen von fehlenden Werten.
-
„Frontfill“ (nur TTS) bezieht sich auf neue Produkte oder Kaltstarts und darauf, wie Sie mit Nullen umgehen möchten, bevor das Produkt eine Historie aufweist
-
„Middlefill“ bezieht sich auf Nullen in der Mitte der Zeitreihenwerte
-
„Backfill“ bezieht sich auf Altprodukte und darauf, wie Sie mit Nullen umgehen möchten, nachdem ein Produkt aus dem Umlauf gezogen wurde
-
„Futurefill“ (nur RTS) bezieht sich auf Nullen, die nach dem Ende der Trainingsdaten auftreten
F: Meine historischen Eingabedaten enthalten keine negativen Werte, in der Nachfrageprognose sehe ich aber negative Werte? Wie ist das möglich? Wie kann ich dies vermeiden?
Für alle Modelle außer NPTS (trainiert auf den nicht negativen Daten) und DeepAR (mit negativer Binomial-Wahrscheinlichkeitsfunktion) gibt es keine Garantie dafür, dass positive Zahlen generiert werden. Die Lösung besteht darin, zu einem der oben genannten Modelle zu wechseln oder die Prognosewerte auf nicht negative Werte zu kürzen.
F: Warum variieren Genauigkeitsmetriken bei Quantilen? Da es sich um dasselbe Modell handelt, müsste der Fehler doch derselbe sein?
Weitere Erläuterungen zur Abhängigkeit der Gewichtung vom Quantil finden Sie unter Weighted Quantile Loss (wQL).
Stellen Sie sich vor, Sie haben alle Ihre Prognosen für drei verschiedene Quantile erstellt: p10, p50, p90. Die drei Vorhersagen sind selbst Zufallsvariablen. Die Genauigkeiten werden separat auf jeder Quantilebene zwischen tatsächlichen Werten und Prognosen berechnet. Sie sehen möglicherweise eine Tabelle mit „wQL“ (Weighted Quantile Losses), wie unten dargestellt. Die wQL-Werte stehen nicht in einer deterministischen Beziehung zueinander. (Verlust wegen Rückruf bedeutet Fehler und ist daher ungeordnet; Quantilprognosen sind jedoch geordnet). Es gibt also keinen Grund dafür, dass p90 wQL größer sein muss als beispielsweise p50 wQL.
Tabelle 3 – Beispiel für Prognosequantile
| A | B | C | |
|---|---|---|---|
| 1 | P10 wQL | P50 wQL | P90 wQL |
| 2 | 0.18647 | 0.50879 | 0.30428 |
F: Wie kann ich die Prognosegenauigkeit verbessern?
Die Prognosegenauigkeit hängt davon ab, ob die richtigen Daten in der richtigen Menge vorliegen und der erwarteten Qualität entsprechen. Wenn die Genauigkeit unbefriedigend ist, kann es sinnvoll sein, sich die Frage zu stellen, wie vorhersehbar das Problem ist (oder wie zufällig/verrauscht/stationär die Daten sind). Weitere Faktoren, die berücksichtigt werden sollten, sind die Bewertung verschiedener Modelle, Hyperparametereinstellungen und die Integration zusätzlicher Funktionen mithilfe der zugehörigen Zeitreihen und Elementmetadaten-Datasets. Konkrete Vorschläge finden Sie in diesem Best Practices-Dokument zu GitHub unterhttps://github.com/aws-samples/amazon-forecast-samples/blob/master/ForecastCheatSheet.md#iteratebp
F: Ich habe einen Algorithmus, der bei meinem Anwendungsfall sehr gut funktioniert und der in Amazon Forecast nicht angeboten wird. Was soll ich tun?
Das Amazon-Forecast-Team hilft Ihnen gerne bei diesem Anwendungsfall. Wenden Sie sich per E-Mail an das Service-Team von Amazon Forecast <amazonforecast-poc@amazon.com>.