Das Resampling von Zeitreihendaten bedeutet, die Daten für einen neuen Zeitraum zusammenzufassen oder zu aggregieren.
Wir können die folgende grundlegende Syntax verwenden, um Zeitreihendaten in Python neu abzutasten:
#Finde die …
Die Autokorrelation misst den Ähnlichkeitsgrad zwischen einer Zeitreihe und einer verzögerten Version von sich selbst über aufeinanderfolgende Zeitintervalle.
Es wird manchmal auch als "serielle Korrelation" oder "verzögerte Korrelation" bezeichnet, da es die Beziehung zwischen den aktuellen Werten einer Variablen und ihren historischen Werten misst.
Wenn die Autokorrelation in einer Zeitreihe hoch ist, können zukünftige Werte leicht vorhergesagt werden, indem einfach auf vergangene Werte Bezug genommen wird.
Angenommen, wir haben die folgenden Zeitreihen in Python, die den Wert einer bestimmten Variablen in 15 verschiedenen Zeiträumen anzeigen:
# Daten definieren
x = [22, 24, 25, 25, 28, 29, 34, 37, 40, 44, 51, 48, 47, 50, 51]
Wir können die Autokorrelation für jede Verzögerung in der Zeitreihe mithilfe der Funktion acf() aus der statsmodels Bibliothek berechnen:
import statsmodels.api as sm
# Autokorrelationen berechnen
sm.tsa.acf(x)
array([ 1. , 0.83174224, 0.65632458, 0.49105012, 0.27863962,
0.03102625, -0.16527446, -0.30369928, -0.40095465, -0.45823389,
-0.45047733])
Die Interpretation der Ausgabe ist wie folgt:
Und so weiter.
Wir können auch die Anzahl der Verzögerungen mit dem Argument nlags angeben:
sm.tsa.acf(x, nlags=5)
array([1.0, 0.83174224, 0.65632458, 0.49105012, 0.27863962, 0.03102625])
Wir können die Autokorrelationsfunktion für eine Zeitreihe in Python mithilfe der Funktion tsaplots.plot_acf() aus der Bibliothek statsmodels zeichnen:
from statsmodels.graphics import tsaplots
import matplotlib.pyplot as plt
#Autokorrelationsfunktion plotten
fig = tsaplots.plot_acf(x, lags=10)
plt.show()
Die x-Achse zeigt die Anzahl der Verzögerungen an und die y-Achse zeigt die Autokorrelation bei dieser Anzahl von Verzögerungen an. Standardmäßig beginnt der Plot bei Verzögerung = 0 und die Autokorrelation ist bei Verzögerung = 0 immer 1.
Wir können auch die ersten Verzögerungen vergrößern, indem wir mit dem Verzögerungsargument weniger Verzögerungen verwenden:
from statsmodels.graphics import tsaplots
import matplotlib.pyplot as plt
#Autokorrelationsfunktion plotten
fig = tsaplots.plot_acf(x, lags=5)
plt.show()
Wir können auch den Titel und die Farbe der im Plot verwendeten Kreise mit den Argumenten title und color ändern:
from statsmodels.graphics import tsaplots
import matplotlib.pyplot as plt
#Autokorrelationsfunktion plotten
fig = tsaplots.plot_acf(x, lags=5, color='g', title='Autocorrelation function')
plt.show()
Weitere Python-Tutorials finden Sie auf dieser Seite.
Das Resampling von Zeitreihendaten bedeutet, die Daten für einen neuen Zeitraum zusammenzufassen oder zu aggregieren.
Wir können die folgende grundlegende Syntax verwenden, um Zeitreihendaten in Python neu abzutasten:
#Finde die …
Ein rollierender Median ist der Median einer bestimmten Anzahl früherer Perioden in einer Zeitreihe.
Um den gleitenden Median für eine Spalte in einem Pandas DataFrame zu berechnen, können wir die …