Seite 1 von 1

Vorhersage treffen aus Zeitreihe mittels ML

Verfasst: Mittwoch 14. Februar 2024, 13:40
von torsten_156
Hallo,
ich versuche schon eine Weile mit ML eine Zeitreihe auf Basis vorhandener Daten vorherzusagen. Um das passende Modell zu finden, habe ich mir einige Seiten im www angeschaut. Was ich jetzt sagen kann, ist dass die Daten keine Tendenz und auch keinen Trend aufweisen. Das führt mich dazu Modell RandomForestRegressor zu nutzen.

Der Datensatz ist ca. 9.000 Datensätze lang und hat lediglich eine Spalte (Feature) mit Messwerten. Das Zeitraster ist im 15min Abstand. Ich splitte diesen DS in Trainings- (80%) und Testdaten(20%) auf.
Nach dem Teilen erzeuge ich dann anhand des Datums weitere Features für das Training mit Werten aus Tag, Monat, Stunde. Somit erhalte ich ja dann drei Features für das Training.

Nach dem Training erhalte ich einen R2-Score von 1.0 (was ich nicht ganz glauben kann!). Nach dem Training lasse ich mir eine Vorhersage erstellen und plotte diese dann zusammen mit den Testdaten aus. Dabei zeigt sich allerdings eine aus meiner Sicht große Abweichung der Vorhersage zu den tatsächlichen Werten (Testdaten).

Bild

Den RFRegressor nutze ich mit folgenden Parametern:

Code: Alles auswählen

    model = RandomForestRegressor(
        bootstrap = False,
        ccp_alpha = 0.0,
        criterion = 'squared_error',
        max_depth = None,
        max_features = 'sqrt',
        max_leaf_nodes = None,
        max_samples = None,
        min_impurity_decrease = 0.0,
        min_samples_leaf = 1,
        min_samples_split = 2,
        min_weight_fraction_leaf = 0.0,
        monotonic_cst = None,
        n_estimators = 1000,
        n_jobs = -1,
        oob_score = False,
        random_state = None,
        verbose = 0,
        warm_start = False     
        )
Hier noch ein Auszug meines Datensatzes:

Code: Alles auswählen

01.11.2023, 00:15:00;2.078,03
01.11.2023, 00:30:00;1.568,97
01.11.2023, 00:45:00;2.265,16
01.11.2023, 01:00:00;2.146,81
01.11.2023, 01:15:00;2.322,03
01.11.2023, 01:30:00;2.413,89
01.11.2023, 01:45:00;2.161,25
01.11.2023, 02:00:00;2.035,89
01.11.2023, 02:15:00;1.895,81
01.11.2023, 02:30:00;1.695,30
01.11.2023, 02:45:00;1.574,23
01.11.2023, 03:00:00;1.917,37
01.11.2023, 03:15:00;1.768,80
01.11.2023, 03:30:00;1.586,68
01.11.2023, 03:45:00;1.530,01
01.11.2023, 04:00:00;1.878,30
01.11.2023, 04:15:00;2.182,48
01.11.2023, 04:30:00;2.094,95
01.11.2023, 04:45:00;2.120,60
...

Meine Fragen sind nun folgende:
1. ist das verwendete Modell überhaupt das richtige?
2. ist das schon die beste Vorhersage oder geht es besser?
3. welche Parameter muss ich wie verändern oder kombinieren, um eine genauere Vorhersage zu erhalten?

VG
Torsten

Re: Vorhersage treffen aus Zeitreihe mittels ML

Verfasst: Mittwoch 14. Februar 2024, 21:12
von __deets__
Was ist denn der unterliegende Prozess? Hat der irgendwelche Trends und Periodizitaeten? Wenn nicht, und er sich einfach wie ein Zufallsprozess verhaelt, dann kann da ja nun auch nix anderes bei rumkommen.