Preprocessing für ML mit Zeitreihen

Entscheidungsbäume, Random Forest, Support Vektor Maschinen, Neuronale Netze, ...

Moderator: consuli

Antworten
Schmou

Preprocessing für ML mit Zeitreihen

Beitrag von Schmou »

Hey Leute,

ich bin noch relativ neu auf dem Gebiet des maschinellen Lernens und stehe vor einem Problem:
  • Ich habe ein Netz aus Messstationen, verteilt über mehrere Km².
  • Für alle Messstationen liegen in stündlichen Intervallen Messwerte vor.
  • Ich will eine Interpolation zwischen den Messstationen, basierend auf ML berechnen
Ich habe also zu jedem Zeitpunkt folgende Werte vorliegen:
Zeitstempel, X-Koordinate, Y-Koordinate, Höhe über NN, Messwert [Label], Abstände und Messwerte zu den N nächsten Stationen

Zur Interpolation:
  • Ich habe einen neuen Satz Messwerte für alle Stationen, die dem Modell unbekannt sind.
  • Für Datenpunkte aus einem digitalen Höhenmodell (Koordinaten in regelmäßigem Raster und deren Höhe über NN) berechne ich mir jeweils die N nächsten Stationen und deren Messwerte aus dem Messdatensatz.
  • Anschließend soll für jeden Punkt des Höhenmodells ein Wert interpoliert werden.
Das Problem mit dem ich nicht so richtig klar komme liegt in der Zeit. Ich beobachte ja stets alle Stationen zu EINEM Zeitpunkt, also gemeinsam.
Ich habe jedoch noch keinen Ansatz gefunden, wie ich meine Daten gebündelt in ein Regressionsmodell einspeisen kann.

Ursprünglich wollte ich die Daten mittels Random Forest trainieren und anschließend für Koordinaten aus einem digitalen Höhenmodell die zwischenliegenden Werte interpolieren - Random Forest sieht jedoch keine Gruppierungen oder dergleichen vor.
Versucht hatte ich auch eine One-Hot-Kodierung, was aber aufgrund des großen Beobachtungszeitraumes zu einer enormen Explosion der Feature-Anzahl führte.

Habt ihr irgendwelche Ideen hierzu? Sollte ich meine Daten völlig anders aufbereiten? Gibt es geeignetere ML-Modelle für Multi-Temporale, räumliche Problemstellungen?
Benutzeravatar
EDi
Beiträge: 1599
Registriert: Sa Okt 08, 2016 3:39 pm

Re: Preprocessing für ML mit Zeitreihen

Beitrag von EDi »

Muss es Machine Learning sein, oder können es auch klassische raum-zeitliche Modelle sein?

Ich denke z. B. an https://github.com/eric-pedersen/mgcv-e ... 20data.Rmd

Wunderschön interpretierbar, ansonsten siehe #prediction-of-spatio-temporal-variable
Bitte immer ein reproduzierbares Minimalbeispiel angeben. Meinungen gehören mir und geben nicht die meines Brötchengebers wieder.

Dieser Beitrag ist lizensiert unter einer CC BY 4.0 Lizenz
Bild.
Schmou

Re: Preprocessing für ML mit Zeitreihen

Beitrag von Schmou »

Muss es Machine Learning sein, oder können es auch klassische raum-zeitliche Modelle sein?
Machine Learning ist die Vorgabe, alles andere kommt vergleichend zu späteren Zeitpunkten hinzu.
consuli
Beiträge: 479
Registriert: Mo Okt 10, 2016 8:18 pm

Re: Preprocessing für ML mit Zeitreihen

Beitrag von consuli »

Solange es sich um eine reine Interpolation handelt, namentlich die Berechnung von Zwischenwerten, würde ich das Problem eher im Bereich einer klassischen Regression verorten. Da Du Paneldaten hast, käme ein Linear Mixed Effect Model (Package lme) oder ein Nonlinear Mixed Effect Model (Package nlme) in Frage.

Sofern Du eine extrapolierende (zukunftsgerichtete) Prognose willst und die Zusammenhänge nicht-linear sind, wärst Du beim Machine-Learning richtig. Allerdings unterscheiden die meisten Machine-Learning Verfahren keine Paneldaten. Für die ist ein zeitparalleles Datum einfach irgendein anderes Datum. Bei denen musst Du die Zeitkomponente selbst handeln.
Irmgard.
Benutzeravatar
EDi
Beiträge: 1599
Registriert: Sa Okt 08, 2016 3:39 pm

Re: Preprocessing für ML mit Zeitreihen

Beitrag von EDi »

Da war wohl der Link kaputt: https://github.com/thengl/GeoMLA/blob/m ... l-variable

Vorgabe zuerst ML finde ich blöd. Wie hat mal einer auf einer R-konferenz gesagt: Machine-Learning is just Regression. Das gitl übrigens auch für weite Teile von Deep Learning...
Bitte immer ein reproduzierbares Minimalbeispiel angeben. Meinungen gehören mir und geben nicht die meines Brötchengebers wieder.

Dieser Beitrag ist lizensiert unter einer CC BY 4.0 Lizenz
Bild.
consuli
Beiträge: 479
Registriert: Mo Okt 10, 2016 8:18 pm

Re: Preprocessing für ML mit Zeitreihen

Beitrag von consuli »

Ich denke, dass ist wirklich ein statistisch interessantes Problem. Leider heißt "statistisch interessant" für den Fragesteller i.d.R. schwierig zu lösen.

Imho kommt es auf die geforderte Goodness-of-Fit Qualität des Models an. Für eine reine Interpolation (Zwischenwert für einen Zwischengitterpunkt) sollte Regression reichen.

Wenn mehr als Interpolation gefordert ist, also ein Model mit einer sehr hohen Goodness-of-Fit Qualität, dann kommt es darauf an, ob
  • die 3D Dimension (oder Spatial Dimension) oder
  • die Panel-Zeitdimension
die Werte der Zielvariablen stärker prägen.

Ich würde mich an den Modellen von anderen Meterologen orientieren, solange sie für Deine Zielvariablen einschlägig sind.

Wenn Du kein einschlägiges Meterologenmodel findest, wird Dir nichts viel anderes übrig bleiben, als verschiedene Modelle rechnen zu lassen und deren Goodnes of Fit zu vergleichen. Anregungen, welche das sein könnten, hast Du von uns bekommen.
Irmgard.
Benutzeravatar
EDi
Beiträge: 1599
Registriert: Sa Okt 08, 2016 3:39 pm

Re: Preprocessing für ML mit Zeitreihen

Beitrag von EDi »

Ich vermute das man in spatio-temporal Bereich leicht böse overfitten kann, sofern man nicht geeignete Gegenmaßnahmen trifft...
Bitte immer ein reproduzierbares Minimalbeispiel angeben. Meinungen gehören mir und geben nicht die meines Brötchengebers wieder.

Dieser Beitrag ist lizensiert unter einer CC BY 4.0 Lizenz
Bild.
Antworten