Показати ковзні середні
Можна також візуалізувати ковзні середні значення у вашому часовому ряді. Це рівнозначно «згладжуванню» даних і особливо корисно, коли часовий ряд містить багато шуму або викидів. Для заданого датафрейму df ви можете отримати ковзне середнє часової серії за допомогою команди:
df_mean = df.rolling(window=12).mean()
Параметр window слід налаштувати відповідно до гранулярності вашого часового ряду. Наприклад, якщо ваш ряд містить денні дані, а ви шукаєте ковзні значення за цілий рік, задайте параметр window=365. Крім того, легко отримати ковзні значення й для інших метричних показників, як-от стандартне відхилення (.std()) або дисперсія (.var()).
Ця вправа є частиною курсу
Візуалізація часових рядів у Python
Інструкції до вправи
- Обчисліть 52-тижневе ковзне середнє для
co2_levelsі присвойте його зміннійma. - Обчисліть 52-тижневе ковзне стандартне відхилення для
co2_levelsі присвойте його зміннійmstd. - Обчисліть верхню межу часового ряду як ковзне середнє + (2 × ковзне стандартне відхилення) і присвойте її
ma[upper]. Аналогічно, обчисліть нижню межу як ковзне середнє − (2 × ковзне стандартне відхилення) і присвойте їїma[lower]. - Побудуйте лінійний графік
ma.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# 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()