ПочатиПочніть безкоштовно

Показати ковзні середні

Можна також візуалізувати ковзні середні значення у вашому часовому ряді. Це рівнозначно «згладжуванню» даних і особливо корисно, коли часовий ряд містить багато шуму або викидів. Для заданого датафрейму 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()
Редагувати та запускати код