Zeitreihen-Datenverarbeitung: Beherrschen Sie grundlegende Techniken und Beispiele

Die Arbeit mit Zeitreihendaten ist eine wichtige und häufige Aufgabe bei der Datenanalyse und beim maschinellen Lernen. Von Aktienkursen bis hin zu Wettervorhersagen – viele Probleme der realen Welt erfordern die Analyse von Zeitreihen. In diesem Artikel wird ausführlich erläutert, wie Zeitreihendaten verarbeitet werden, und es werden detaillierte Python-Codebeispiele gegeben.

Was sind Zeitreihendaten?

Zeitreihendaten sind eine Reihe von Datenpunkten, die in zeitlicher Reihenfolge angeordnet sind. Diese Datenpunkte können in jedem Zeitintervall abgetastet werden, z. B. jede Sekunde, jede Minute, jede Stunde, jeden Tag usw. Ein wesentliches Merkmal von Zeitreihendaten ist, dass die Reihenfolge zwischen Datenpunkten wichtig ist, da sie sich auf die Erkenntnisse auswirkt, die wir aus den Daten ziehen können.

1. Zeitreihendaten importieren und verarbeiten

In Python verwenden wir normalerweise die Pandas-Bibliothek, um mit Zeitreihendaten zu arbeiten. Pandas bietet eine Fülle von Funktionen und Methoden zum Importieren, Verarbeiten und Analysieren von Zeitreihendaten.

Hier ist ein Beispiel, das zeigt, wie Zeitreihendaten mit Pandas importiert und verarbeitet werden:

import pandas as pd

# 导入数据
df = pd.read_csv('data.csv')

# 将日期列转换为datetime类型
df['date'] = pd.to_datetime(df['date'])

# 将日期列设置为索引
df = df.set_index('date')

# 显示数据
print(df.head())

In diesem Beispiel importieren wir zunächst read_csvdie Daten mithilfe einer Funktion. Anschließend verwenden wir to_datetimeeine Funktion, um die Datumsspalte in einen Datums-/Uhrzeittyp umzuwandeln, wodurch wir die von Pandas bereitgestellten Zeitreihenverarbeitungsfunktionen nutzen können. Schließlich verwenden wir set_indexeine Funktion, um die Datumsspalte als Index festzulegen.

2. Resampling von Zeitreihendaten

Resampling ist ein häufiger Schritt bei der Verarbeitung von Zeitreihendaten. Beim Resampling ändern wir die zeitliche Häufigkeit der Daten. Beispielsweise müssen wir möglicherweise Tagesdaten in Monatsdaten oder Minuten-in-Sekunden-Daten umwandeln.

Hier ist ein Beispiel, das zeigt, wie resampledie Methoden von Pandas zum Resampling verwendet werden:

# 将每日数据转换为每月数据
df_monthly = df.resample('M').mean()

# 显示数据
print(df_monthly.head())

In diesem Beispiel verwenden wir resampledie Methode, um Tagesdaten in Monatsdaten umzuwandeln. Der Parameter 'M'stellt die monatliche Häufigkeit dar. Anschließend verwenden wir meandie Funktion, um den Monatsdurchschnitt zu berechnen.

3. Schiebefenster für Zeitreihendaten

Sliding Window ist eine wichtige Technik für die Verarbeitung von Zeitreihendaten. Mithilfe eines Schiebefensters können wir Statistiken wie den gleitenden Mittelwert, die gleitende Standardabweichung usw. der Daten berechnen.

Hier ist ein Beispiel, das zeigt, wie man rollingmit den Methoden von Pandas einen gleitenden Durchschnitt berechnet:

# 计算7天的滑动平均值
df_rolling = df.rolling(window=7).mean()
# 显示数据
print(df_rolling.head(10))


In diesem Beispiel verwenden wir die „Rolling“-Methode, um ein Schiebefenster zu erstellen. Der Parameter „window=7“ gibt an, dass die Fenstergröße 7 Tage beträgt. Anschließend berechnen wir den Mittelwert für jedes Fenster mithilfe der Funktion „mean“.

## 4. Unterschied der Zeitreihendaten

Die Differenzierung ist ein weiterer häufiger Schritt bei der Verarbeitung von Zeitreihendaten. Durch Differenzieren der Daten können wir die Änderungsrate der Daten ermitteln, was für viele Analyseaufgaben sehr nützlich ist.

Hier ist ein Beispiel, das zeigt, wie die „diff“-Methode von Pandas zur Differenzierung verwendet wird:

# 计算一阶差分
df_diff = df.diff()

# 显示数据
print(df_diff.head())

In diesem Beispiel verwenden wir diffdie Methode, um die erste Differenz zu berechnen. Die erste Differenz stellt die Differenz zwischen dem aktuellen Datenpunkt und dem vorherigen Datenpunkt dar.

5. Zerlegung von Zeitreihendaten

Zeitreihendaten können normalerweise in drei Teile zerlegt werden: Trendkomponente, Saisonkomponente und Restkomponente. Die Zerlegung von Zeitreihendaten kann uns helfen, die Struktur der Daten besser zu verstehen.

seasonal_decomposeDas Folgende ist ein Beispiel, das zeigt, wie die Funktionen der Statsmodels-Bibliothek für die Zerlegung von Zeitreihendaten verwendet werden :

from statsmodels.tsa.seasonal import seasonal_decompose

# 分解时间序列数据
result = seasonal_decompose(df, model='additive', period=365)

# 显示结果
result.plot()

In diesem Beispiel seasonal_decomposezerlegen wir Zeitreihendaten mithilfe von Funktionen. Der Parameter model='additive'gibt an, dass wir davon ausgehen, dass die Zeitreihe die Summe aus Trend, Saisonalität und Residuen ist. Der Parameter period=365gibt an, dass der Zeitraum der Saisonkomponente 365 Tage beträgt.

abschließend

Die Arbeit mit Zeitreihendaten ist eine komplexe und wichtige Aufgabe, die von uns die Beherrschung vielfältiger Fähigkeiten erfordert. In diesem Artikel werden die grundlegenden Schritte und Methoden der Zeitreihendatenverarbeitung vorgestellt und detaillierte Python-Codebeispiele gegeben. Ich hoffe, dieser Artikel kann Ihnen dabei helfen, in der Praxis effektiver mit Zeitreihendaten umzugehen. Im nächsten Artikel werden wir untersuchen, wie man Methoden des maschinellen Lernens zur Vorhersage von Zeitreihendaten verwendet. Bleiben Sie also auf dem Laufenden!

Ich denke du magst

Origin blog.csdn.net/a871923942/article/details/131418524
Empfohlen
Rangfolge