Wyświetlanie średnich kroczących
Szeregi czasowe można też wizualizować za pomocą średnich kroczących. To technika „wygładzania" danych, szczególnie przydatna, gdy szereg czasowy zawiera dużo szumów lub wartości odstających. Dla danej ramki danych df kroczącą średnią szeregu czasowego obliczysz za pomocą polecenia:
df_mean = df.rolling(window=12).mean()
Parametr window należy dobrać do granularności szeregu czasowego. Na przykład, jeśli dane są dzienne i chcesz obliczyć wartości kroczące dla całego roku, ustaw parametr na window=365. Równie łatwo możesz uzyskać wartości kroczące dla innych metryk, takich jak odchylenie standardowe (.std()) czy wariancja (.var()).
To ćwiczenie jest częścią kursu
Wizualizacja danych szeregów czasowych w Pythonie
Instrukcje do ćwiczenia
- Oblicz 52-tygodniową kroczącą średnią dla
co2_levelsi przypisz ją do zmiennejma. - Oblicz 52-tygodniowe kroczące odchylenie standardowe dla
co2_levelsi przypisz je do zmiennejmstd. - Oblicz górną granicę szeregu czasowego jako kroczącą średnią + (2 * kroczące odchylenie standardowe) i przypisz wynik do
ma[upper]. Analogicznie oblicz dolną granicę jako kroczącą średnią - (2 * kroczące odchylenie standardowe) i przypisz ją doma[lower]. - Narysuj wykres liniowy dla
ma.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# Compute the 52 weeks rolling mean of the co2_levels DataFrame
ma = ____.rolling(window=____).____()
# Compute the 52 weeks rolling standard deviation of the co2_levels DataFrame
mstd = ____
# Add the upper bound column to the ma DataFrame
ma['upper'] = ma['co2'] + (____ * ____)
# Add the lower bound column to the ma DataFrame
ma['lower'] = ma['co2'] - (____ * ____)
# Plot the content of the ma DataFrame
ax = ____(linewidth=0.8, fontsize=6)
# Specify labels, legend, and show the plot
ax.set_xlabel('Date', fontsize=10)
ax.set_ylabel('CO2 levels in Mauai Hawaii', fontsize=10)
ax.set_title('Rolling mean and variance of CO2 levels\nin Mauai Hawaii from 1958 to 2001', fontsize=10)
plt.show()