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).
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
)
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