Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Vorverarbeitung von Zeitreihendaten | Zeitreihenanalyse
Einführung in RNNs

bookVorverarbeitung von Zeitreihendaten

Die entscheidenden Schritte der Vorverarbeitung von Zeitreihendaten für ein Prognoseprojekt werden behandelt. Die Vorverarbeitung stellt sicher, dass die Daten sauber, gut strukturiert und bereit für das Modelltraining sind. Zu den Themen gehören Merkmals-Skalierung, Train-Test-Split und Sequenz-Erstellung, die alle für eine effektive Datenvorbereitung unerlässlich sind.

  • Merkmals-Skalierung: Die Merkmals-Skalierung ist wichtig, um sicherzustellen, dass alle Eingabemerkmale auf einer ähnlichen Skala liegen. Dies hilft Modellen wie LSTM und ARIMA, schneller zu konvergieren und ihre Leistung zu verbessern. Gängige Techniken zur Merkmals-Skalierung sind Min-Max-Skalierung und Standardisierung (z-Score-Normalisierung). Die Skalierung hilft dem Modell, sich auf die Beziehungen innerhalb der Daten zu konzentrieren, anstatt durch Merkmale mit größeren Wertebereichen verzerrt zu werden;
scaler = MinMaxScaler(feature_range=(0, 1))
scaled_train_data = scaler.fit_transform(train_data_raw)
scaled_test_data = scaler.transform(test_data_raw)
  • Train-Test-Split: Das Aufteilen des Datensatzes in Trainings- und Testdaten ist entscheidend für die Bewertung der Modellleistung. Typischerweise wird ein Zeitreihendatensatz chronologisch aufgeteilt, wobei der frühere Teil der Daten für das Training und der spätere Teil für das Testen verwendet wird. Dies stellt sicher, dass das Modell mit Daten bewertet wird, die es zuvor nicht gesehen hat, und simuliert reale Prognoseszenarien. Ein übliches Verhältnis ist 80 % für das Training und 20 % für das Testen, dies kann jedoch je nach Größe und Eigenschaften der Daten variieren;
train_split_ratio = 0.8
train_size = int(len(price_data) * train_split_ratio)
train_data_raw = price_data[:train_size]
test_data_raw = price_data[train_size:]
  • Sequenz-Erstellung: Bei der Zeitreihenprognose, insbesondere bei der Verwendung von Modellen wie LSTM, müssen die Daten in ein Sequenzformat umgewandelt werden. Der Schritt der Sequenz-Erstellung beinhaltet das Formen der Daten in Eingabe-Ausgabe-Paare, wobei jede Eingabe einer Sequenz vergangener Beobachtungen entspricht und die Ausgabe der vorhergesagte Wert für den nächsten Zeitschritt ist. Dies ist entscheidend, damit Modelle aus vorherigen Zeitschritten lernen und genaue Vorhersagen für zukünftige Schritte treffen können.
def create_sequences(data, seq_length):
xs = []
ys = []
      for i in range(len(data) - seq_length):
x = data[i:(i + seq_length)]
y = data[i + seq_length]
xs.append(x)
ys.append(y)
# Ensure numpy arrays are returned, helps with tensor conversion later
return np.array(xs), np.array(ys)

Zusammenfassend ist die Vorverarbeitung ein entscheidender Schritt bei der Zeitreihenprognose. Durch die Skalierung der Merkmale, das Aufteilen der Daten in Trainings- und Testdaten sowie das Erstellen von Sequenzen für die Modelleingabe stellen wir sicher, dass die Daten gut für eine genaue und effiziente Prognose vorbereitet sind.

question mark

Was ist der Zweck der Merkmals-Skalierung in der Zeitreihen-Vorverarbeitung?

Select the correct answer

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 3. Kapitel 3

Fragen Sie AI

expand

Fragen Sie AI

ChatGPT

Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen

Awesome!

Completion rate improved to 4.55

bookVorverarbeitung von Zeitreihendaten

Swipe um das Menü anzuzeigen

Die entscheidenden Schritte der Vorverarbeitung von Zeitreihendaten für ein Prognoseprojekt werden behandelt. Die Vorverarbeitung stellt sicher, dass die Daten sauber, gut strukturiert und bereit für das Modelltraining sind. Zu den Themen gehören Merkmals-Skalierung, Train-Test-Split und Sequenz-Erstellung, die alle für eine effektive Datenvorbereitung unerlässlich sind.

  • Merkmals-Skalierung: Die Merkmals-Skalierung ist wichtig, um sicherzustellen, dass alle Eingabemerkmale auf einer ähnlichen Skala liegen. Dies hilft Modellen wie LSTM und ARIMA, schneller zu konvergieren und ihre Leistung zu verbessern. Gängige Techniken zur Merkmals-Skalierung sind Min-Max-Skalierung und Standardisierung (z-Score-Normalisierung). Die Skalierung hilft dem Modell, sich auf die Beziehungen innerhalb der Daten zu konzentrieren, anstatt durch Merkmale mit größeren Wertebereichen verzerrt zu werden;
scaler = MinMaxScaler(feature_range=(0, 1))
scaled_train_data = scaler.fit_transform(train_data_raw)
scaled_test_data = scaler.transform(test_data_raw)
  • Train-Test-Split: Das Aufteilen des Datensatzes in Trainings- und Testdaten ist entscheidend für die Bewertung der Modellleistung. Typischerweise wird ein Zeitreihendatensatz chronologisch aufgeteilt, wobei der frühere Teil der Daten für das Training und der spätere Teil für das Testen verwendet wird. Dies stellt sicher, dass das Modell mit Daten bewertet wird, die es zuvor nicht gesehen hat, und simuliert reale Prognoseszenarien. Ein übliches Verhältnis ist 80 % für das Training und 20 % für das Testen, dies kann jedoch je nach Größe und Eigenschaften der Daten variieren;
train_split_ratio = 0.8
train_size = int(len(price_data) * train_split_ratio)
train_data_raw = price_data[:train_size]
test_data_raw = price_data[train_size:]
  • Sequenz-Erstellung: Bei der Zeitreihenprognose, insbesondere bei der Verwendung von Modellen wie LSTM, müssen die Daten in ein Sequenzformat umgewandelt werden. Der Schritt der Sequenz-Erstellung beinhaltet das Formen der Daten in Eingabe-Ausgabe-Paare, wobei jede Eingabe einer Sequenz vergangener Beobachtungen entspricht und die Ausgabe der vorhergesagte Wert für den nächsten Zeitschritt ist. Dies ist entscheidend, damit Modelle aus vorherigen Zeitschritten lernen und genaue Vorhersagen für zukünftige Schritte treffen können.
def create_sequences(data, seq_length):
xs = []
ys = []
      for i in range(len(data) - seq_length):
x = data[i:(i + seq_length)]
y = data[i + seq_length]
xs.append(x)
ys.append(y)
# Ensure numpy arrays are returned, helps with tensor conversion later
return np.array(xs), np.array(ys)

Zusammenfassend ist die Vorverarbeitung ein entscheidender Schritt bei der Zeitreihenprognose. Durch die Skalierung der Merkmale, das Aufteilen der Daten in Trainings- und Testdaten sowie das Erstellen von Sequenzen für die Modelleingabe stellen wir sicher, dass die Daten gut für eine genaue und effiziente Prognose vorbereitet sind.

question mark

Was ist der Zweck der Merkmals-Skalierung in der Zeitreihen-Vorverarbeitung?

Select the correct answer

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 3. Kapitel 3
some-alt