Prophet — это программное обеспечение с открытым исходным кодом, выпущенное командой Facebook Core Data Science. Он доступен для загрузки на CRAN и PyPI.
Prophet — это процедура прогнозирования данных временных рядов на основе аддитивной модели, в которой нелинейные тренды соответствуют годовой, еженедельной и ежедневной сезонности, а также праздничным эффектам. Он лучше всего работает с временными рядами, которые имеют сильные сезонные эффекты и несколько сезонов исторических данных. Пророк устойчив к отсутствующим данным и сдвигам в тренде и обычно хорошо справляется с выбросами.
- Точно и быстро.
- Полностью автоматический.
- Настраиваемые прогнозы.
- Доступно в 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
Надеюсь, вы найдете его полезным и информативным. Следите за моим блогом, чтобы узнать больше о квестах, связанных с данными.
-Датадевил
Милая Шайни