Отображение скользящих средних
Временной ряд можно также визуализировать с помощью скользящих средних. Это равносильно «сглаживанию» данных и особенно полезно, когда временной ряд содержит много шумов или выбросов. Для заданного DataFrame df скользящее среднее временного ряда вычисляется следующей командой:
df_mean = df.rolling(window=12).mean()
Параметр window следует задавать в соответствии с гранулярностью вашего временного ряда. Например, если временной ряд содержит дневные данные и вы хотите получить скользящие значения за целый год, укажите параметр window=365. Кроме того, скользящие значения легко получить и для других метрик, например стандартного отклонения (.std()) или дисперсии (.var()).
Это упражнение является частью курса
Визуализация данных временных рядов в Python
Инструкции к упражнению
- Вычислите скользящее среднее
co2_levelsза 52 недели и сохраните результат в переменнуюma. - Вычислите скользящее стандартное отклонение
co2_levelsза 52 недели и сохраните результат в переменную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()