Ablauf der Forecast App
Ablauf der Forecast App mit den Basisparametern
Wenn nur die grundlegenden Parameter an die App übergeben werden, z. B.:
führt die Forecast App automatisch die folgenden Schritte aus:
1. Start von Training und Forecasting
Sobald die Anfrage abgeschickt wurde, startet das Training und Forecasting gleichzeitig.
Forecasting wartet jedoch darauf, dass das erste Modell gespeichert wird.
2. Hyperparameter-Suche
Um ein für Ihre Daten passendes Modell zu finden, startet die App automatisch die Hyperparameter-Suche. Damit brauchen Sie sich nicht um die Auswahl der Modellparameter kümmern, da die App die beste Konfiguration flexibel und basierend auf den Eigenschaften Ihrer Daten bestimmt.
Ablauf der Hyperparameter-Suche
Teildatensatz: Die Suche wird auf 1% der Daten ausgeführt, um Zeit und Rechenleistung zu sparen.
Wichtig: Stellen Sie sicher, dass genug Daten vorhanden sind. Falls nötig, erhöhen Sie den Wert
percent_data
, z. B. auf0.05
(5% der Daten).
Maximale Versuche: Standardmäßig testet die App 100 verschiedene Modellkonfigurationen (
max_trials: 100
).Tipp: Falls Sie sicherstellen wollen, dass die beste Architektur gefunden wird, erhöhen Sie diesen Wert.
Trainingseinstellungen: Jede getestete Modellkonfiguration wird mit folgenden Standardparametern trainiert:
Epochs: 50 Durchläufe durch die Trainingsdaten. (
epochs: 50
)Patience: 5 Durchläufe ohne Verbesserung auf den Validationsdaten, bevor das Training abgebrochen wird. (
patience: 5
)Validation Split: 20% der Daten werden zur Validierung verwendet, um die Leistung der Konfiguration zu messen. (
validation_split: 0.2
)
Speichern der besten Architektur: Nach jeder getesteten Modellkonfiguration überprüft die App deren Leistung auf den Validationsdaten.
Die beste Konfiguration wird zwischengespeichert und steht bereits für erste Vorhersagen zur Verfügung.
3. Optimierung der besten Architektur
Sobald die Hyperparameter-Suche abgeschlossen ist, wird die Top 5% der besten Modelle auf noch nicht gesehenen Testdaten getestet (
best_trails_percent: 0.05
).Das am besten abschneidende Modell wird ausgewählt und anschließend auf den gesamten Datensatz trainiert.
Die finalen Parameter der besten Modellkonfiguration werden gespeichert.(
parameters: {}
)
4. Trainingsprozess und Aktualisierung des Modells
Nachdem das Modell auf allen Daten trainiert wurde:
Trainingsruhe: Der Trainingsprozess „schläft“ für 1 Stunde (
sleep_time: 3600
Sekunden).Neues Training: Nach der Ruhezeit prüft die App, ob neue Daten vorhanden sind:
Sobald die Datenmenge um mindestens 15% gestiegen ist (
percentage_data_when_to_retrain: 1.15
), startet das Training erneut.Das Modell wird inklusive der neuen Daten aktualisiert, um immer auf dem neuesten Stand zu bleiben.
5. Forecasting im laufenden Betrieb
Während das Training läuft oder pausiert:
Mit jedem neuen Datenpunkt, der in das Target-Attribut geschrieben wird, lädt die App das zuletzt gespeicherte Modell.
Dieses Modell wird auf den aktuellen Stand der Daten gebracht.
Eine neue Vorhersage für die nächsten Werte wird berechnet und in das Forecast-Attribut gespeichert.
Zusammenfassung des Ablaufs
Start des Trainings: Hyperparameter-Suche auf 1% der Daten, um die beste Modellarchitektur zu finden.
Optimierung: Top 5% der Architekturen werden getestet, das beste Modell wird auf allen Daten trainiert.
Kontinuierliche Aktualisierung: Bei 15% neuen Daten wird das Training neu gestartet.
Forecasting: Mit jedem neuen Datenpunkt wird das Modell aktualisiert und die nächste Vorhersage berechnet.
Bei großen Datenmengen wird empfohlen, Forecasting während der Hyperparameter-Suche zu deaktivieren (forecast: false
), da jede neue gespeicherte Modellversion zu einem hohen Rechenaufwand führen kann.
Beispielhafte Hyperparameter-Konfiguration
Wenn keine eigenen Hyperparameter angegeben werden, verwendet die App folgende Standards für die Suche:
Mit diesen Standardparametern sorgt die App dafür, dass selbst ohne technisches Vorwissen ein optimales Modell gefunden und kontinuierlich aktualisiert wird.
Bei komplexeren Daten macht es sinn die "epochs" und "patience" deutlich zu erhöhen.
Last updated