Začněte nyníZačněte zdarma

Zobrazení klouzavých průměrů

Časové řady lze vizualizovat i pomocí klouzavých průměrů. Jde o takzvané „vyhlazení" dat, které se hodí zejména tehdy, když časová řada obsahuje hodně šumu nebo odlehlých hodnot. Pro daný DataFrame df získáš klouzavý průměr časové řady tímto příkazem:

df_mean = df.rolling(window=12).mean()

Parametr window nastav podle granularity své časové řady. Například pokud pracuješ s denními daty a chceš klouzavé hodnoty za celý rok, zadej window=365. Klouzavé hodnoty lze snadno počítat i pro jiné metriky, například pro směrodatnou odchylku (.std()) nebo rozptyl (.var()).

Toto cvičení je součástí kurzu

Vizualizace dat časových řad v Pythonu

Zobrazit kurz

Pokyny k cvičení

  • Vypočítej 52týdenní klouzavý průměr proměnné co2_levels a výsledek ulož do ma.
  • Vypočítej 52týdenní klouzavou směrodatnou odchylku proměnné co2_levels a výsledek ulož do mstd.
  • Spočítej horní hranici časové řady jako klouzavý průměr + (2 × klouzavá směrodatná odchylka) a výsledek ulož do ma[upper]. Obdobně spočítej dolní hranici jako klouzavý průměr − (2 × klouzavá směrodatná odchylka) a ulož ji do ma[lower].
  • Vykresli spojnicový graf proměnné ma.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

# 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()
Upravit a spustit kód