Prophet — это программное обеспечение с открытым исходным кодом, выпущенное командой Facebook Core Data Science. Он доступен для загрузки на CRAN и PyPI.

Prophet — это процедура прогнозирования данных временных рядов на основе аддитивной модели, в которой нелинейные тренды соответствуют годовой, еженедельной и ежедневной сезонности, а также праздничным эффектам. Он лучше всего работает с временными рядами, которые имеют сильные сезонные эффекты и несколько сезонов исторических данных. Пророк устойчив к отсутствующим данным и сдвигам в тренде и обычно хорошо справляется с выбросами.

  1. Точно и быстро.
  2. Полностью автоматический.
  3. Настраиваемые прогнозы.
  4. Доступно в R или Python.

Давайте рассмотрим это на примере. Здесь мы используем набор данных Air Passenger и нашу рабочую книгу Jupyter. (вы можете получить ссылку на этот набор данных в конце)

предупреждения об импорте

warnings.filterwarnings («игнорировать»)

импортировать numpy как np

из даты и времени импортировать дату и время

импортировать панд как pd

импорт ОС

для имени каталога, _, имен файлов в os.walk(‘/kaggle/input’):

для имени файла в именах файлов:

печать (os.path.join (имя каталога, имя файла))

df = pd.read_csv(‘..//AirPassengers.csv’)

Установка Prophet с использованием pip и импорта пророка

!pip установить пророка

from prophet import Prophet
df.rename(columns={'Month':'ds','#Passengers':'y'},inplace=True)
df.rename(columns={'Month':'ds','#Passengers':'y'},inplace=True)
df.head()

Теперь мы подгоняем модель и создаем экземпляр нового объекта-пророка. Затем вы называете его методом подгонки и передаете его во фрейме данных.

model = Prophet()
model.fit(df)

Затем делаются прогнозы во фрейме данных со столбцом ds, содержащим даты, для которых должен быть сделан прогноз. Вы можете получить подходящий фрейм данных, который простирается в будущее на указанное количество месяцев, используя вспомогательный метод Prophet.make_future_dataframe. По умолчанию он также будет включать даты из истории, поэтому мы также увидим, что модель подходит.

future = model.make_future_dataframe(periods=0, freq='M')
future.tail()

Модель присвоит прогнозируемое значение по имени yhat. Если вы передадите исторические даты, это обеспечит подгонку в выборке. Объектом прогноза здесь является новый фрейм данных, включающий столбец yhat с прогнозом, а также столбцы для компонентов и интервалов неопределенности.

forecast = model.predict(future)
forecast[['ds', 'yhat', 'yhat_lower', 'yhat_upper']].tail()

Теперь постройте прогноз, вызвав метод Prophet.plot и передав свой кадр данных прогноза.

fig1 = model.plot(forecast)

fig2 = model.plot_components(forecast)

Итак, мы можем увидеть тренд прогноза и сезонность с помощью библиотеки Facebook Prophet. Это обертка для библиотеки Пророка в Jupyter. Для получения более подробной информации вы можете посетить https://facebook.github.io/prophet/docs/quick_start.html#python-api. Вы можете скачать набор данных с Kaggle https://www.kaggle.com/rakannimer/air-passengers

Надеюсь, вы найдете его полезным и информативным. Следите за моим блогом, чтобы узнать больше о квестах, связанных с данными.

-Датадевил

Милая Шайни