Prophet для автоматического прогнозирования
Facebook Prophet, точки изменения тренда, праздничные эффекты, интервалы неопределённости, кросс-валидация
«Prophet для автоматического прогнозирования» — бесплатный урок Learn AI with Python на CoddyKit. Это урок 3 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Learn AI with Python, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Learn AI with Python содержит 4 уроков всего.
Что такое Prophet
Prophet — это библиотека прогнозирования с открытым исходным кодом от Meta. Она автоматически подбирает тренд, сезонность и влияние праздников, корректно работает с пропущенными данными и выбросами и требует гораздо меньше настройки, чем ARIMA, поэтому отлично подходит для бизнес-прогнозов.
Установка и импорт
После установки Prophet достаточно одной команды импорта.
# pip install prophet
from prophet import Prophet
import pandas as pdТребуемый формат DataFrame
Prophet требует ровно два столбца: ds (дата и время) и y (значение для прогнозирования). Переименование столбцов в эти названия обязательно.
df = df.rename(columns={"date": "ds", "sales": "y"})
df["ds"] = pd.to_datetime(df["ds"])
print(df.head())Создание модели
Создайте экземпляр Prophet, при необходимости выбрав способ объединения сезонности с трендом. Режим мультипликативный подходит для рядов, в которых сезонные колебания растут вместе с уровнем ряда.
m = Prophet(seasonality_mode="multiplicative")Аддитивная и мультипликативная сезонность
По умолчанию используется аддитивная сезонность с постоянной амплитудой. Используйте мультипликативную, когда пики становятся выше по мере роста тренда, например если продажи сильнее колеблются в годы с большим объёмом.
Обучение модели
Вызовите fit для подготовленного DataFrame. Prophet автоматически оценивает точки изменения тренда и сезонные компоненты.
m.fit(df)Создание будущего DataFrame
make_future_dataframe продлевает индекс дат вперёд, чтобы Prophet знал, для каких дат нужно построить прогноз.
future = m.make_future_dataframe(periods=90, freq="D")
print(future.tail())Создание прогнозов
predict возвращает DataFrame со столбцом yhat (прогноз), а также границами неопределённости yhat_lower и yhat_upper.
forecast = m.predict(future)
forecast[["ds", "yhat", "yhat_lower", "yhat_upper"]].tail()Построение графика прогноза
В Prophet есть встроенные графики: прогноз с неопределённостью и график компонентов, на котором отдельно показаны тренд и каждая сезонность.
fig1 = m.plot(forecast)
fig2 = m.plot_components(forecast)Добавление праздников и регрессоров
Можно зарегистрировать праздники страны или пользовательские события и добавить дополнительные объясняющие переменные с помощью add_regressor, что часто повышает точность на бизнес-данных.
m.add_country_holidays(country_name="US")
m.add_regressor("promo_flag")Перекрёстная проверка
Prophet выполняет проверку с последовательным продвижением точки отсечения с помощью cross_validation, после чего performance_metrics рассчитывает RMSE, MAE и MAPE для разных горизонтов.
from prophet.diagnostics import cross_validation, performance_metrics
cv = cross_validation(m, initial="365 days",
period="90 days", horizon="90 days")
performance_metrics(cv).head()Быстрая проверка
Проверьте свои знания о Prophet.
Повторение
Вы использовали Prophet: переименовали столбцы в ds и y, создали Prophet(seasonality_mode="multiplicative"), выполнили fit, построили будущий фрейм с помощью make_future_dataframe, вызвали predict, использовали plot и выполнили проверку с помощью cross_validation. Далее: прогнозирование с помощью LSTM.
Часто задаваемые вопросы
Урок «Prophet для автоматического прогнозирования» бесплатный?
Да — полный текст урока «Prophet для автоматического прогнозирования» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Learn AI with Python, подпишись на CoddyKit PRO. Курс Learn AI with Python содержит 4 уроков всего.
Чему я научусь в уроке «Prophet для автоматического прогнозирования»?
Facebook Prophet, точки изменения тренда, праздничные эффекты, интервалы неопределённости, кросс-валидация Ты практикуешь Learn AI with Python с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Learn AI with Python?
Предыдущий опыт не требуется. Learn AI with Python на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 3 из 4.
Сколько времени занимает урок «Prophet для автоматического прогнозирования»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Learn AI with Python?
Да. Каждый урок Learn AI with Python включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Компоненты временных рядов и стационарность
- Модели ARIMA и SARIMA
- Prophet для автоматического прогнозирования
- LSTM для прогнозирования временных рядов