Use Cases

LSTM für Zeitreihen implementieren: Aufbau, Architektur und Ergebnisse

LSTM-Architektur mit Hidden State, Cell State und Gates

Use Case

Eine LSTM verarbeitet eine Zeitreihe Schritt für Schritt und führt dabei einen kurzfristigen internen Zustand (Hidden State) sowie einen Speicherzustand (Cell State) fort. Drei Steuermechanismen (Forget-, Input- und Output-Gate) entscheiden, welche Information erhalten, ergänzt und ausgegeben wird. Für eine belastbare Implementierung müssen die Daten chronologisch getrennt, Tensorformen korrekt gewählt und Mehrschrittprognosen unter autoregressiven Bedingungen getestet werden.
Finales Kontextfenster · Schritte
RRE · 10.000 Schritte

Direktantwort

Was ist eine LSTM – und warum eignet sie sich für Zeitreihen?

LSTM steht für Long Short-Term Memory und bezeichnet ein rekurrentes neuronales Netz mit kontrolliertem Speicher für Sequenzdaten. Während ein klassisches rekurrentes Netz frühere Information beim Training über lange Sequenzen nur schwer erhalten kann, entscheidet die LSTM bei jedem Schritt neu, was sie behält, ergänzt und als aktuelle Repräsentation ausgibt.

Damit ist ihre Erinnerung weder unbegrenzt noch automatisch korrekt. Die Architektur kann ihre effektive Erinnerungsdauer jedoch aus den Daten lernen, statt ausschließlich auf ein starres Lag-Fenster beschränkt zu sein.

LSTM-Aufbau

Hidden State, Cell State und die drei Gates

Die zentralen Bestandteile einer LSTM-Zelle.
BestandteilAufgabe
Hidden State h(t)Kurzfristige Repräsentation, die für die aktuelle Ausgabe und den nächsten Zeitschritt verwendet wird.
Cell State c(t)Fortlaufender Speicherpfad, der Information mit kontrollierten Änderungen durch viele Schritte transportieren kann.
Forget Gate f(t)Entscheidet mit Werten zwischen null und eins, welcher Anteil des bisherigen Cell State erhalten bleibt.
Input Gate i(t)Steuert gemeinsam mit einem Kandidatenzustand, welche neue Information in den Cell State geschrieben wird.
Output Gate o(t)Bestimmt, welcher Anteil des aktualisierten Cell State als neuer Hidden State sichtbar wird.

Vereinfacht gilt: c(t) = f(t) · c(t−1) + i(t) · Kandidatenzustand und h(t) = o(t) · tanh(c(t)). Die Gate-Werte werden mit einer Sigmoid-Funktion berechnet.

Architektur

Abbildung: LSTM-Netzarchitektur, angepasst an die Zeitreihenprognose eines Regressionsmodells. Der Cell State bildet den Speicherpfad; die Gates regeln Erhalten, Schreiben und Ausgeben von Information.
Abbildung LSTM-Netzarchitektur, angepasst an die Zeitreihenprognose eines Regressionsmodells. Der Cell State bildet den Speicherpfad; die Gates regeln Erhalten, Schreiben und Ausgeben von Information.
LSTM-Architektur für eine Zeitreihenprognose mit historischen Eingangsmerkmalen, bekannten Anregungen, Hidden State, Cell State sowie Forget-, Input- und Output-Gate
100%

Mehrschrittvorhersage

Drei Wege von der bekannten Historie zur Mehrschrittprognose

1

Direkter Vorhersageblock

Ein Output-Layer erzeugt den gesamten zukünftigen Horizont in einem Schritt. Die Modellierung ist direkt, legt aber die Ausgabelänge fest.
2

Autoregressiver Decoder

Die LSTM prognostiziert einen Schritt, führt das Ergebnis in die nächste Eingabe zurück und wiederholt den Ablauf. Dieser Modus macht die Fehlerakkumulation über lange Horizonte sichtbar.
3

Encoder-Decoder-LSTM

Ein Encoder verdichtet die bekannte Historie in Zustände; ein separater Decoder erzeugt daraus die Zukunftssequenz.

Bidirektionalität

Bidirectional LSTM einsetzen, ohne zukünftige Ziele preiszugeben

Eine bidirektionale LSTM liest eine Eingabesequenz vorwärts und rückwärts. Für Vorhersagen ist das nur zulässig, wenn die gesamte verarbeitete Sequenz zum Prognosezeitpunkt bereits bekannt ist; eine abgeschlossene historische Beobachtungsperiode darf somit in beide Richtungen verarbeitet werden.

Ein Informationsleck (Data Leakage) entsteht, sobald zukünftige Zielwerte oder zum Prognosezeitpunkt unbekannte Eingabewerte in den Encoder gelangen. Die entscheidende Prüffrage lautet daher: War jeder Wert im Eingabetensor zum Prognosezeitpunkt tatsächlich verfügbar?

Attention

Attention gewichtet relevante Stellen der bekannten Historie

Ohne Attention muss eine einfache Architektur die Historie stark über ihre rekurrenten Zustände verdichten. Ein Attention-Mechanismus kann stattdessen die Hidden States der einzelnen Eingabeschritte gewichten, damit der Decoder gezielt auf relevante Stellen im Kontext zugreift.

In der Bachelorarbeit zeigte sich der messbare Vorteil vor allem bei kurzen, bereits gut gewählten Kontextfenstern. Attention ersetzte dort keine beliebig lange Erinnerung, sondern half, wichtige Prädiktoren innerhalb der bekannten Historie genauer zu gewichten.

Kontextfenster

Abbildung: Im untersuchten Datensatz lag das günstigste Kontextfenster ungefähr bei acht bis zehn Abtastwerten; bei 1.000 Hz entspricht das acht bis zehn Millisekunden. Das Ergebnis gilt für diese isolierte Lag-Studie, nicht als allgemeine LSTM-Regel.
Abbildung Im untersuchten Datensatz lag das günstigste Kontextfenster ungefähr bei acht bis zehn Abtastwerten; bei 1.000 Hz entspricht das acht bis zehn Millisekunden. Das Ergebnis gilt für diese isolierte Lag-Studie, nicht als allgemeine LSTM-Regel.
Relativer Bereichsfehler und Rechenaufwand der LSTM für unterschiedliche Lag-Größen bei aktivierter Attention
100%

Implementierung

LSTM für Zeitreihen in sechs Schritten implementieren

1

Zeitliche Splits festlegen

Training, Validierung und Test chronologisch trennen. Zusätzlich können vollständige Betriebszustände für einen echten Generalisierungstest zurückgehalten werden.
2

Skalierung ohne Leakage berechnen

Mittelwerte, Spannweiten oder andere Skalierungsstatistiken ausschließlich auf dem Trainingssplit bestimmen und unverändert auf Validierung und Test anwenden.
3

Sliding Windows je Split erzeugen

Historisches Eingabefenster und zukünftiges Zielfenster separat speichern. Kein Fenster darf über eine Split-Grenze reichen.
4

Tensorvertrag definieren

Features, Zielkanäle, Sequenzlänge sowie Initialisierung und Rücksetzung von Hidden und Cell State explizit festlegen.
5

Teacher-forced trainieren und absichern

Checkpoints, Early Stopping, Gradient Clipping und Metriken pro Zielkanal ergänzen. Mehrere Seeds zeigen, ob das Ergebnis reproduzierbar ist.
6

Autoregressiv und außerhalb des Trainings testen

Eigene Prognosen über einen langen Rollout zurückführen und unbekannte Betriebszustände getrennt auswerten. Erst dieser Test zeigt Drift und Fehlerakkumulation.

Tensorformen

Welche Form erwartet eine PyTorch-LSTM?

Mit batch_first=True ist die übliche Eingabeform [Batch, Sequenzlänge, Features]. torch.nn.LSTM liefert einen Hidden State für jeden Eingabeschritt sowie die finalen Hidden- und Cell-States pro Layer und Richtung.

Bei einer multivariaten Zeitreihe umfasst Features alle Größen, die am jeweiligen Prognosezeitpunkt bekannt sind. Historische Zielkanäle dürfen Teil des Inputs sein, solange ausschließlich vergangene Werte verwendet werden.

PyTorch

Kompaktes Many-to-Many-Grundgerüst

Das Grundgerüst bildet jeden Hidden State auf Zielkanäle ab. Für eine reine Next-Step-Prognose kann stattdessen nur states[:, -1] an den Head übergeben werden.

import torch
from torch import nn

class LSTMForecaster(nn.Module):
    def __init__(
        self,
        input_dim,
        target_dim,
        hidden_dim=128,
        num_layers=1,
        bidirectional=False,
        dropout=0.0,
    ):
        super().__init__()
        self.lstm = nn.LSTM(
            input_size=input_dim,
            hidden_size=hidden_dim,
            num_layers=num_layers,
            batch_first=True,
            bidirectional=bidirectional,
            dropout=dropout if num_layers > 1 else 0.0,
        )
        directions = 2 if bidirectional else 1
        self.head = nn.Linear(hidden_dim * directions, target_dim)

    def forward(self, x):
        states, _ = self.lstm(x)
        return self.head(states)

Produktionsreife

Was das Code-Skelett noch nicht löst

1

Zustände und variable Sequenzlängen

Initialisierung, Weitergabe und Rücksetzung von Hidden und Cell State brauchen einen eindeutigen Vertrag; unterschiedlich lange Sequenzen benötigen Masken.
2

Training und Modellselektion

Early Stopping, Checkpoints, Gradient Clipping und mehrere Seeds gehören außerhalb des minimalen Netzwerkcodes in die Trainingspipeline.
3

Faire Evaluation

Metriken pro Zielkanal, Rückskalierung in physikalische Einheiten sowie Naive- und Persistenz-Baselines verhindern eine irreführende Gesamtkennzahl.
4

Getrennte Inferenzmodi

Teacher-forced Evaluation misst Prognosen aus korrekter Historie. Der autoregressive Modus misst den späteren Einsatz mit zurückgeführten Modellprognosen.

Mehrschrittprognose

Der Trainingshorizont entscheidet über die spätere Rollout-Stabilität

Bei einem sehr kurzen Trainingshorizont sieht die LSTM überwiegend saubere reale Historie. In der autoregressiven Inferenz arbeitet sie dagegen zunehmend mit eigenen, leicht fehlerhaften Prognosen. Stimmen diese Bedingungen nicht überein, kann ein Modell im Einzelschritttest überzeugen und im langen Rollout dennoch driften.

In der Bachelorarbeit überfitten Sequenzlängen von einem bis acht Schritten auf kurzfristige Korrelationen. Mit längerem Training sank der RRE zunächst stetig; in der Parameterstudie lag ein günstiger Bereich ungefähr bei 128 Schritten, danach flachte der Nutzen ab.

Trainingshorizont

Abbildung: Sehr kurze Trainingssequenzen lieferten hohe Fehler. Mit längeren Horizonten sank der RRE deutlich; nach dem günstigen Bereich flachte der zusätzliche Nutzen ab.
Abbildung Sehr kurze Trainingssequenzen lieferten hohe Fehler. Mit längeren Horizonten sank der RRE deutlich; nach dem günstigen Bereich flachte der zusätzliche Nutzen ab.
Zusammenhang zwischen Trainingssequenzlänge, Rechenaufwand und relativem Bereichsfehler der untersuchten LSTM-Modelle
100%

Rollout-Diagnose

Abbildung: Kurzer Trainingshorizont von acht Schritten: Im Rollout wird deutliche Drift sichtbar, besonders bei einem schlecht angepassten Zielkanal.
Abbildung: Langer Trainingshorizont von 512 Schritten: Die Vorhersage folgt der Referenz auch bei einem schwierigen Zielkanal deutlich stabiler.
Abbildung Kurzer Trainingshorizont von acht Schritten: Im Rollout wird deutliche Drift sichtbar, besonders bei einem schlecht angepassten Zielkanal.
LSTM-Prognose bei 110 Kilometern pro Stunde nach Training mit acht Schritten; die Vorhersage driftet bei schlecht angepassten Zielkanälen von der Referenz ab
100%

Validierung

Drei Tests beantworten drei unterschiedliche Fragen

1

Teacher-forced Validation

Wie gut prognostiziert das Modell, wenn es für jeden Startpunkt eine korrekte reale Historie erhält?
2

Autoregressiver Rollout

Wie entwickelt sich der Fehler, wenn frühere Modellprognosen Teil der folgenden Eingabe werden?
3

Out-of-Distribution-Test

Wie verhält sich die LSTM bei Betriebszuständen, die im Training nicht vorkamen?

Hyperparameter

Welche LSTM-Hyperparameter waren im Versuch entscheidend?

Dokumentierte Beobachtungen aus der Parameterstudie und finale Konfiguration.
ParameterBeobachtung im untersuchten Datensatz
Hidden-GrößeDie Genauigkeit verbesserte sich bis ungefähr 512 Einheiten. Eine moderat breite LSTM war stabiler als immer größere Varianten.
Anzahl LayerZusätzliche gestapelte Layer verschlechterten das Ergebnis und trafen schneller auf Speichergrenzen. Die finale LSTM nutzte eine Schicht.
KontextfensterDas lokale Optimum der isolierten Lag-Studie lag bei ungefähr zehn Samples. Die finale Gesamtkonfiguration nutzte dennoch Lag 64, weil Hyperparameter zusammenwirken.
TrainingssequenzlängeEin günstiger Bereich lag in der Parameterstudie ungefähr bei 128 Schritten. Sehr kurze Horizonte verstärkten spätere Drift.
RegularisierungFinal dokumentiert wurden Dropout 0,1, Gradient Clipping mit maximaler Norm 0,93 und Early-Stopping-Patience 200.
ReproduzierbarkeitDie finale Bewertung nutzte sieben Seeds. Trotz robuster Reaktion auf viele Parameteränderungen blieb die Streuung damit prüfbar.

Diese Werte sind Startpunkte aus einem klar abgegrenzten Versuch, keine universellen Defaults. Kontextfenster und Trainingshorizont beschreiben unterschiedliche Größen und müssen separat validiert werden.

Ergebnisse

Was erreichte die finale LSTM?

Ergebnisse des dokumentierten MVP; niedrigere RRE-Werte sind besser.
KennzahlFinale LSTM
RRE über 1.024 Schritte, alle Geschwindigkeiten1,54 %
RRE bei unbekannten Geschwindigkeiten1,58 %
RRE über 10.000 Schritte1,277 %
Mittlere Trainingszeit im dokumentierten Setup13 Stunden
Inferenzgeschwindigkeit88.279 Schritte/s

Gültigkeitsbereich: ein nicht parametrisiertes Schienenfahrzeug, vertikale Dynamik, gerade Strecke, konstante Geschwindigkeiten und Simulationsdaten bei 1.000 Hz. Der Relative Range Error normalisiert den Prognosefehler anhand der Signalspannweite. Die Werte sind keine allgemeinen LSTM-Benchmarks.

Langer Vorhersagehorizont

Die Stärke der LSTM wurde erst über 10.000 Schritte sichtbar

Über 1.024 Schritte erzielte die finale LSTM 1,54 % RRE. Im erweiterten autoregressiven Rollout erreichte sie über 10.000 Schritte 1,277 % RRE und war damit im untersuchten MVP bei sehr langen Vorhersagen am stabilsten.

Die Kehrseite der rekurrenten Verarbeitung: Jeder Zeitschritt hängt vom vorherigen Zustand ab. Deshalb ließ sich die Zeitachse schlechter parallelisieren, und die LSTM war im dokumentierten Setup beim Training und bei der Inferenz langsamer als NARX und Transformer.

10.000-Schritte-Test

Abbildung: Die Abbildung zeigt eine frühere LSTM-Beispielkonfiguration über 10.000 Vorhersageschritte. Sie veranschaulicht den Fehlerverlauf nach Signaltypen, ist jedoch keine Darstellung der finalen Kennzahl von 1,277 % RRE.
Abbildung Die Abbildung zeigt eine frühere LSTM-Beispielkonfiguration über 10.000 Vorhersageschritte. Sie veranschaulicht den Fehlerverlauf nach Signaltypen, ist jedoch keine Darstellung der finalen Kennzahl von 1,277 % RRE.
Relativer Bereichsfehler der LSTM nach Beschleunigungen, Geschwindigkeiten, Positionen und Kräften über 10.000 autoregressive Vorhersageschritte
100%

Bewertung

Stärken und Schwächen einer LSTM für Zeitreihen

StärkenSchwächen
Adaptive Erinnerung über Hidden und Cell StateSequenzielle Verarbeitung begrenzt die Parallelisierung
Stabile autoregressive Rollouts im untersuchten MVPHöherer Trainings- und Inferenzaufwand im dokumentierten Setup
Vergleichsweise robust gegenüber HyperparameteränderungenHidden- und Cell-State-Logik erschwert die Fehlersuche
Für multivariate Sequenzen geeignetUnterschiede zwischen Training und Inferenz können Drift erzeugen
Mit Attention und Bidirektionalität erweiterbarFalsche bidirektionale Datenschnitte führen zu Leakage

Auswahl

Wann ist eine LSTM die richtige Wahl?

1

Zeitliche Abhängigkeiten sind nicht durch ein einziges starres Fenster beschrieben

Hidden und Cell State geben dem Modell einen erlernten, kontrollierten Speicher über die Sequenz.
2

Sehr lange autoregressive Stabilität ist wichtiger als maximale Geschwindigkeit

Im untersuchten MVP war die LSTM über 10.000 Schritte am stabilsten, obwohl ihre Inferenz langsamer war.
3

Die Anwendung ist naturgemäß sequenziell

Eine etablierte rekurrente Architektur kann passen, wenn Datenmenge und Modellgröße keinen großen Transformer rechtfertigen.

Alternativen

NARX oder Transformer statt LSTM?

Ein NARX-Modell kann die einfachere Baseline sein, wenn ein kurzes explizites Fenster genügt und maximale Übersichtlichkeit zählt. Der Implementierungsleitfaden für NARX-Zeitreihenmodelle zeigt diesen Ansatz.

Ein Encoder-Decoder-Transformer für Zeitreihen wird interessant, wenn lange Kontexte oder eine parallele Multi-Step-Ausgabe den zusätzlichen Tuning-Aufwand rechtfertigen.

Anwendung

LSTM als Surrogat für rechenintensive Simulationsverläufe

In der Bachelorarbeit lernte die LSTM, zukünftige Beschleunigungen, Geschwindigkeiten, Positionen und Kräfte aus historischen Fahrzeugreaktionen und bekannten Streckenanregungen zu prognostizieren. Die Simulation erzeugte Trainings- und Validierungsdaten; das trainierte Netz lieferte später schnelle vorläufige Prognosen.

Wie das Sequenzmodell in einen Engineering-Workflow eingebettet wird und warum FEM beziehungsweise Mehrkörpersimulation die Referenz bleibt, zeigt der Use Case zur Echtzeit-Vorhersage von FEM-Simulationen.

FAQ

Häufige Fragen zur LSTM-Implementierung

1

Ist eine LSTM immer besser als ein normales RNN?

Nein. Ihre Gates erleichtern das Lernen längerer Abhängigkeiten, erhöhen aber Parameterzahl und Rechenaufwand. Bei kurzen, einfachen Sequenzen kann ein kleineres RNN oder ein Feedforward-Modell genügen.
2

Wie lang sollte das Eingabefenster sein?

Das hängt von Abtastrate und Systemdynamik ab. In der Bachelorarbeit lag das lokale Optimum einer isolierten Lag-Studie bei ungefähr zehn Samples, während die finale Gesamtkonfiguration Lag 64 nutzte. Kontextfenster und Trainingshorizont müssen getrennt optimiert werden.
3

Darf man eine bidirektionale LSTM für Forecasting einsetzen?

Ja, wenn beide Richtungen ausschließlich eine vollständig bekannte historische Eingabesequenz verarbeiten. Werden zukünftige Zielwerte oder zum Prognosezeitpunkt unbekannte Features einbezogen, entsteht Data Leakage.
4

Warum driftet eine LSTM trotz Memory?

Der Cell State verhindert Fehlerakkumulation nicht automatisch. Bei rekursiver Inferenz verändern eigene Prognosefehler spätere Eingaben. Zu kurze Trainingshorizonte und unterschiedliche Bedingungen zwischen Training und Einsatz können Drift verstärken.
5

Wann ist ein Transformer geeigneter?

Wenn lange Kontexte, parallele Verarbeitung und blockweise Multi-Step-Prognosen entscheidend sind und genügend Daten sowie Rechenbudget für sorgfältiges Tuning vorhanden sind, kann ein Transformer Vorteile bieten.

Quelle

Datengrundlage und weiterführende technische Quellen

Bachelorarbeit: Oscar Johann Schumacher, Surrogate Modeling of Rail Vehicle Dynamics using Neural Networks, insbesondere Kapitel 4.4, 6.2–6.7, 7.1 und Anhang A. Alle Messergebnisse gelten für den dokumentierten MVP und die verwendete Hard- und Softwareumgebung.

Technische Quellen: PyTorch-Dokumentation zu torch.nn.LSTM und Hochreiter & Schmidhuber: Long Short-Term Memory.

Modellvergleich

Wie schlägt sich die LSTM im direkten Vergleich?

Vergleichen Sie dieses Modell mit NARX und Transformer – bei Genauigkeit über 1.024 Schritte, Stabilität über 10.000 Schritte und Inferenzgeschwindigkeit.