Скользящее среднее – это метод сглаживания временного ряда, который используется для уменьшения шума и выявления общих трендов в данных. Этот метод подразумевает усреднение значений внутри подвижного окна (окна скользящего среднего) и помогает выявить общую динамику в данных.
2.1. Сглаживание данных: сглаживание шумов и обработка Выбросов (Outlier) в данных. Это позволяет выделить общую тенденцию и улучшить визуализацию данных.
2.2. Предсказание трендов: Скользящее среднее может использоваться для предсказания общих трендов в данных, что полезно при анализе экономических показателей, погоды, продаж и других временных рядов.
Давайте рассмотрим пример использования скользящего среднего на данных о ежедневных продажах с использованием библиотеки Pandas.
import pandas as pd
import matplotlib.pyplot as plt
Сгенерируем данные:
data = {'дата': pd.date_range(start='2022-01-01', end='2022-01-12'),
'продажи': [50, 48, 55, 60, 58, 70, 65, 80, 82, 75, 90, 88]}
df = pd.DataFrame(data)
df.set_index('дата', inplace=True)
Применим скользящеее среднее с окном (то есть числом дней, взятых в расчет при определении координат точки скользяшего среднего):
df['MA_3'] = df['продажи'].rolling(window=3).mean()
Визуализируем результат:
plt.figure(figsize=(10, 6))
plt.plot(df['продажи'], label='Продажи')
plt.plot(df['MA_3'], label='Скользящее среднее (окно=3)', linestyle='--', color='orange')
plt.title('Анализ временных рядов с использованием скользящего среднего')
plt.xlabel('Дата')
plt.ylabel('Продажи')
plt.legend()
plt.show()
Ноутбук, не требующий дополнительной настройки на момент написания статьи, можно скачать здесь.
© Лена Капаца. Все права защищены.