Fbprophet python windows 10 install

Предсказываем будущее с помощью библиотеки Facebook Prophet

Прогнозирование временных рядов — это достаточно популярная аналитическая задача. Прогнозы используются, например, для понимания, сколько серверов понадобится online-сервису через год, каков будет спрос на каждый товар в гипермаркете, или для постановки целей и оценки работы команды (для этого можно построить baseline прогноз и сравнить фактическое значение с прогнозируемым).

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

Сегодня же мы познакомимся с библиотекой для прогнозирования временных рядов Facebook Prophet (в переводе с английского, «пророк», выпущена в open-source 23-го февраля 2017 года), а также попробуем в жизненной задаче – прогнозировании числа постов на Хабрехабре.

Библиотека

Подробнее про алгоритмы можно прочитать в публикации Sean J. Taylor, Benjamin Letham «Forecasting at scale».

В этой же публикации представлено и сравнение mean absolute percentage error для различных методов автоматического прогнозирования временных рядов, согласно которому Prophet имеет существенно более низкую ошибку.

MAPE (mean absolute percentage error) — это средняя абсолютная ошибка нашего прогноза. Пусть — это показатель, а — это соответствущий этой величине прогноз нашей модели. Тогда — это ошибка прогноза, a — это относительная ошибка прогноза.

MAPE часто используется для оценки качества, поскольку эта величина относительная и по ней можно сравнивать качество даже на различных наборах данных.

Cтоит сказать пару слов о тех алгоритмах, с которыми сравнивали Prophet в публикации, тем более, большинство из них очень простые и их часто используют как baseline:

Практика

Установка

Данные

В качестве показателя для предсказания я выбрала количество постов, опубликованных на Хабрахабре. Данные я взяла из учебного конкурса на Kaggle «Прогноз популярности статьи на Хабре». Тут рассказано подробнее о соревновании и курсе машинного обучения, в рамках которого оно проводится.

Для начала посмотрим на данные и построим time series plot за весь период. На таком длинном периоде удобнее смотреть на недельные точки.

Построение прогноза

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

Далее создаем объект класса Prophet (все параметры модели задаются в конструкторе класса, для начала возьмем default’ные параметры) и обучаем его.

В библиотеке Prophet есть встроенные средства визуализации, которые позволяют оценить результат построенной модели.

Во-первых, метод Prophet.plot отображает прогноз. Честно говоря, в данном случае такая визуализация не очень показательна. Основной вывод из этого графика, который я сделала — в данных много outlier ‘ов. Однако если при прогнозировании будет меньше исторических точек, то по ней можно будет что-нибудь понять.

На графике видно, что Prophet хорошо хорошо подстроился под рост числа постов «ступенькой» в начале 2015-го. По недельной сезонности можно сделать вывод, что меньше постов приходится на воскресенье и понедельник. На графике годовой сезонности ярче всего выделяется провал активности в Новогодние каникулы, также виден спад и на майских праздниках.

Оценка качества модели

Давайте оценим качество алгоритма и посчитаем MAPE для последних 30 дней, которые мы предсказывали. Для расчета нам нужны наблюдения и прогнозы для них .

Прежде чем продолжить, нам нужно объединить forecast с нашими исходными наблюдениями.

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

Визуализация

Давайте сделаем свою визуализацию построенной Prophet модели: с фактическими значениями, прогнозом и доверительными интервалами.

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

Читайте также:  Asus vivobook a540b драйвера windows 7

Визуально прогноз модели, кажется достаточно хорошим и разумным. Скорее всего такая низкая оценка качества объясняется аномальным высоким количеством постов 13 и 17 октября и снижением активности с 7 октября.

Также по графику можно сделать вывод, что большинство точек лежат внутри доверительного интервала.

Сравнение с ARIMA моделью

Стоит отметить, что построение ARIMA модели требует гораздо больших затрат по сравнению с Prophet : нужно исследовать исходный ряд, привести его к стационарному, подобрать начальные приближения и потратить немало времени на подбор гипер-параметров алгоритма (на моем компьютере модель подбиралась почти 2 часа).

Полезные ссылки

Немного материалов для более глубокого изучения библиотеки Prophet и предсказаний временных рядов, в общем:

Источник

Как скачать и установить Python 3 на Windows 10/7

Windows не содержит Python в списке предустановленных программ. Вы можете скачать его и установить дополнительно. Во время первой установки Python 3 на Windows могут возникнуть трудности, поэтому мы создали этот туториал. Просто следуйте инструкции и у вас все получится.

Какую версию Python скачать — 2 или 3?

Больше 10 лет назад вышла новая версия python, которая разделила сообщество на 2 части. Сразу это вызывало много споров, новичкам приходилось выбирать: python 2 или python 3. Сегодня большая часть обучается третей версии. На этой версии мы и покажем как установить язык программирования python на Windows.

На этой странице вы можете скачать python для Windows.
В вверху разработчики предлагают выбрать версию.
Нажмите на ссылку которая начинается словами “Последний выпуск Python 3…” и попадете на страницу последней версии Python 3. Сейчас это 3.7.2.

Если вы не планируете работать с проектом, который написан на Python 2, а таких довольно много. Скачайте python 2+. Для веб разработки, анализа данных и многих других целей лучшим вариантом будет python 3 версии.

Внизу страницы версии ссылки на скачивание установщиков. Есть возможность скачать python под 64-битную и 32-битную Windows.

Вне зависимости от версии и страны, python на английском языке. Вы не сможете скачать python на русском с официального сайта (и с любого другого).

Установка python 3 на Windows

Скачайте и запустите установщик Python 3, он называется “python-3.****.exe”.

Если на компьютере уже установлена python 2, нет необходимости удалять его. На установку Python 3 она не повлияет.

На первом экране отметьте пункт “Add Python 3.7 to PATH” и нажмите “Install Now”.

Советуем отключить эту опцию. Если вы точно уверены, что не столкнетесь с проблемой совместимости, нажмите “Close”

Как проверить уставился ли python

Самый быстрый и простой способ узнать, есть ли интерпретатор python на компьютере — через командную строку.

Если версия python 2 или вы получили ошибку:

Следуйте инструкциям ниже. Это легко исправить.

Как добавить python в переменную PATH (ADD to PATH)

Откройте окно “Система” с помощью поиска.

В окне “Система”, нажмите “Дополнительные параметры системы”. Откроется “Свойства системы”. Во вкладке “Дополнительно”, нажимайте “Переменные среды” как на фото ниже.

Нажмите “Создать” и добавьте 2 пути. К папке python и python\Scripts\

Как создать отдельную команду для python 2 и python 3

Теперь проверьте обе версии:

После этих не сложных действий, python установлен на вашем Windows и готов к работе в любом текстовом редакторе.

Появились вопросы? Задайте на Яндекс.Кью

У сайта есть сообщество на Кью >> Python Q 7 900 4 745 ₽/мес.

Источник

Установка fbprophet Python на Windows 10

Моя сборка продолжает терпеть неудачу на windows 10 для установки fbprophet в anaconda со следующим сообщением:

команда, которая дается:

Кто-нибудь успешно установил fbprophet на Windows 10? Если да, то, пожалуйста, дайте шаги.

Спасибо. Я тоже попробовал установить pip, но безуспешно. У меня есть Mac, и мне удалось установить на него fbprophet без каких-либо проблем.

3 ответа

Я пытаюсь установить fbprophet для Python с помощью Pip install, но безуспешно. Я уже установил Пыстан. Могу ли я импортировать его с помощью Anaconda Navigator? Может кто-нибудь, пожалуйста, помочь. Неудачное строительное колесо для fbprophet Running setup.py clean for fbprophet Failed to build.

1) Сначала установите Anaconda или miniconda на свой компьютер Windows и добавьте conda python path к переменной env по умолчанию python.

2) Откройте командную строку и выполните следующие команды.

Создайте виртуальную среду conda (необязательно)

Установите c++ complier

libpython автоматически создаст и настроит файл distutils.cfg для вас в PYTHONPATH\Lib\distutils, но если это не удалось, используйте следующие инструкции для его настройки вручную

создайте distutils.cfg с помощью текстового редактора (например, notepad, notepad++) и добавьте в этот файл следующие строки.

Читайте также:  Windows 10 окна не уменьшаются

У меня была такая же проблема. Но это работает после того, как я выполню эти шаги:

В командной строке установите Ephem:

Наконец, установите Fbprophet

Я столкнулся с той же проблемой, и мое решение состояло в том, чтобы:-

Создайте новую среду с помощью Python3.5

Установите Prophet с помощью команды.

Я не устанавливал ‘gcc’, хотя это было рекомендовано перед установкой Prophet.

Кто-нибудь успешно пытался установить fbprophet на anaconda? Когда я пытаюсь установить его, я получаю ошибку несовместимости. Я был бы очень удивлен, если бы не было fbprophet для python 3.7 + UnsatisfiableError: следующие технические характеристики были признаны несовместимыми с существующей.

Похожие вопросы:

У меня есть некоторые трудности, пытаясь установить Scipy для Python 3.5 на машине Windows 10, и я надеюсь, что смогу найти здесь некоторую помощь. Итак, вот что я сделал до сих пор. Я скачал.

При использовании библиотеки Python ‘fbprophet’ он выдает ошибку, объект TypeError: ‘module’ не вызывается import fbprophet as Prophet m = Prophet(weekly_seasonality= True) при выполнении он выдает.

Я пытаюсь установить fbprophet для Python с помощью Pip install, но безуспешно. Я уже установил Пыстан. Могу ли я импортировать его с помощью Anaconda Navigator? Может кто-нибудь, пожалуйста.

Кто-нибудь успешно пытался установить fbprophet на anaconda? Когда я пытаюсь установить его, я получаю ошибку несовместимости. Я был бы очень удивлен, если бы не было fbprophet для python 3.7 +.

Источник

Прогнозирование временных рядов с помощью Prophet в Python 3

Однако подбор правильных параметров ARIMA в Python – довольно сложный и трудоёмкий процесс. Другие статистические языки программирования (такие как R) предоставляют автоматизированные способы решения этой проблемы, но пока что они не были официально перенесены в Python. К счастью, команда Core Data Science из Facebook недавно предложила новый метод Prophet, который позволяет аналитикам и разработчикам выполнять прогнозирование в Python 3.

1: Загрузка данных и установка пакетов

Разверните среду разработки:

cd environments
. my_env/bin/activate

Читайте также:

Создайте каталог для проекта и откройте его (в руководстве он называется timeseries, но вы можете выбрать другое название).

mkdir timeseries
cd timeseries

Для работы можно использовать этот набор данных о пассажирах авиакомпании, который содержит временные ряды о ежемесячном количестве пассажиров авиакомпании в период с 1949 по 1960 год. Вы можете сохранить данные с помощью curl и флага –O (он поместит вывод в файл и загрузит CSV):

Для работы понадобятся библиотеки pandas, matplotlib, numpy, cython и fbprophet. Как и большинство других пакетов Python, pandas, numpy, cython и matplotlib можно установить с помощью пакетного менеджера pip.

pip install pandas matplotlib numpy cython

Библиотека fbprophet зависит от языка программирования STAN, потому сначала нужно установить pystan (оболочку Python для STAN).

pip install pystan

После этого можно установить Prophet с помощью pip:

pip install fbprophet

2: Импорт пакетов и данных

Запустите Jupyter Notebook, чтобы начать работу с данными:

Чтобы создать документ, выберите в выпадающем меню New → Python 3.

Создав документ, вы можете импортировать в него загруженные библиотеки.

Укажите список используемых библиотек в начале документа (вместо полных имен можно указать сокращённые):

%matplotlib inline
import pandas as pd
from fbprophet import Prophet
import matplotlib.pyplot as plt
plt.style.use(‘fivethirtyeight’)

Кроме того, нужно определить стиль matplotlib (в данном случае используется fivethirtyeight).

Примечание: После каждого блока кода в данном руководстве нужно нажимать ALT + ENTER, чтобы запустить код и перейти к следующему блоку.

После этого нужно загрузить временные ряды. Загрузите файл CSV и отобразите его первые 5 строк:

df = pd.read_csv(‘AirPassengers.csv’)
df.head(5)

Теперь DataFrame содержит столбцы Month и AirPassengers.

Согласно требованиям библиотеки Prophet, поступающий в качестве ввода DataFrame должен содержать столбец с информацией о времени и столбец, содержащий метрику, которую нужно спрогнозировать. Важно отметить, что столбец времени должен содержать данные типа datetime. Проверьте тип столбцов:

df.dtypes
Month object
AirPassengers int64
dtype: object

Столбец Month содержит данные другого типа, не datetime, поэтому его нужно конвертировать:

df[‘Month’] = pd.DatetimeIndex(df[‘Month’])
df.dtypes
Month datetime64[ns] AirPassengers int64
dtype: object

Теперь столбец содержит правильный тип данных.

Также Prophet требует, чтобы столбцы входных данных назывались ds (столбец времени) и y (столбец метрики). Переименуйте столбцы в DataFrame:

df = df.rename(columns= <'Month': 'ds',
‘AirPassengers’: ‘y’>)
df.head(5)

Попробуйте визуализировать данные, с которыми вы собираетесь работать.

ax = df.set_index(‘ds’).plot(figsize=(12, 8))
ax.set_ylabel(‘Monthly Number of Airline Passengers’)
ax.set_xlabel(‘Date’)
plt.show()

Теперь библиотека Prophet может работать с временными рядами.

Читайте также:  Windows 10 уменьшение пинга

3: Прогнозирование временных рядов с помощью Prophet

В этом разделе вы узнаете, как использовать библиотеку Prophet для прогнозирования значений временных рядов. Авторы библиотеки Prophet сумели значительно упростить процесс прогнозирования временных рядов и сделали его интуитивно понятным.

Для начала нужно создать объект Prophet. При этом Prophet позволяет указать несколько аргументов. Например, можно указать диапазон интервала неопределенности с помощью параметра interval_width.

# set the uncertainty interval to 95% (the Prophet default is 80%)
my_model = Prophet(interval_width=0.95)

Затем нужно вызвать метод fit созданного объекта. Это займёт пару секунд:

Вы получите примерно такой вывод:

Чтобы получить прогноз временного ряда, предоставьте библиотеке Prophet новый DataFrame, содержащий столбец ds. Этот DataFrame не нужно создавать вручную, поскольку Prophet предоставляет функцию make_future_dataframehelper:

future_dates = my_model.make_future_dataframe(periods=36, freq=’MS’)
future_dates.tail()

Теперь Prophet сгенерирует 36 меток времени.

При работе с Prophet важно указать частоту временных рядов, freq. Поскольку мы работаем с данными за месяц, в коде указано значение MS (начало месяца). Поэтому функция make_future_dataframe сгенерировала 36 ежемесячных временных отметок. Другими словами, это спрогнозирует значения временных рядов на три года вперед.

После этого DataFrame с предсказанными значениями используется как входные данные метода predict:

forecast = my_model.predict(future_dates)
forecast[[‘ds’, ‘yhat’, ‘yhat_lower’, ‘yhat_upper’]].tail()

Prophet вернёт объёмный DataFrame с большим количеством столбцов. Основные столбцы:

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

Также Prophet предоставляет удобную функцию для визуализации прогнозируемых данных:

Prophet показывает значения временных рядов (черные точки), прогнозируемые значения (синяя линия) и интервалы неопределенности прогнозов (синие заштрихованные области).

Еще одна особенная функция Prophet – способность возвращать компоненты прогнозов. Это помогает понять, как ежедневные, недельные и годовые модели временных рядов относятся к общим прогнозируемым значениям:

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

Заключение

Теперь вы умеете управлять временными рядами и визуализировать их с помощью Prophet. Чтобы потренироваться, попробуйте:

Загрузить другой набор данных временных рядов и создать собственные прогнозы.

Источник

Fbprophet python windows 10 install

Prophet: Automatic Forecasting Procedure

Prophet is a procedure for forecasting time series data based on an additive model where non-linear trends are fit with yearly, weekly, and daily seasonality, plus holiday effects. It works best with time series that have strong seasonal effects and several seasons of historical data. Prophet is robust to missing data and shifts in the trend, and typically handles outliers well.

Prophet is open source software released by Facebook’s Core Data Science team. It is available for download on CRAN and PyPI.

After installation, you can get started!

If you have custom Stan compiler settings, install from source rather than the CRAN binary.

Installation in Python

Prophet is on PyPI, so you can use pip to install it. From v0.6 onwards, Python 2 is no longer supported. As of v1.0, the package name on PyPI is «prophet»; prior to v1.0 it was «fbprophet».

It is also possible to install Prophet with two backends:

After installation, you can get started!

If you upgrade the version of PyStan installed on your system, you may need to reinstall prophet (see here).

On Windows, PyStan requires a compiler so you’ll need to follow the instructions. The easiest way to install Prophet in Windows is in Anaconda.

Make sure compilers (gcc, g++, build-essential) and Python development tools (python-dev, python3-dev) are installed. In Red Hat systems, install the packages gcc64 and gcc64-c++. If you are using a VM, be aware that you will need at least 4GB of memory to install prophet, and at least 2GB of memory to use prophet.

Version 1.0 (2021.03.28)

Version 0.7 (2020.09.05)

Version 0.6 (2020.03.03)

Version 0.5 (2019.05.14)

Version 0.4 (2018.12.18)

Version 0.3 (2018.06.01)

Version 0.2.1 (2017.11.08)

Version 0.2 (2017.09.02)

Version 0.1.1 (2017.04.17)

Version 0.1 (2017.02.23)

Prophet is licensed under the MIT license.

About

Tool for producing high quality forecasts for time series data that has multiple seasonality with linear or non-linear growth.

Источник

Поделиться с друзьями
Советы экспертов и специалистов
Adblock
detector