BI Consult Desktop Logo BI Consult Mobile Logo
  • Russian BI Исследование российских bi
  • Перейти на Fine BI
  • Контакты
  • +7 812 334-08-01
    +7 499 608-13-06
  • Отправить сообщение
  • Главная
  • Продукты Эксперт-BI
    • Дистрибуция
    • Розничная торговля
    • Производство
    • Операторы связи
    • Страхование
    • Банки
    • Лизинг
    • Логистика
    • Нефтегазовый сектор
    • Медицина
    • Сеть ресторанов
    • E-Commerce
    • Сельское хозяйство
    • Энергетика
    • FMCG
    • Девелоперы
    • Маркетплейсы
    • Пищевая промышленность
    • Фармацевтика
    • Построение Data Platform
    • Цифровая трансформация
    • Управление по KPI
    • Финансы
    • Продажи
    • Склад
    • HR
    • Маркетинг
    • Внутренний аудит
    • Категорийный менеджмент
    • S&OP и FP&A
    • Геоаналитика
    • Цепочки поставок (SCM)
    • AutoML
    • Process Mining
    • IBP
    • ИТ (CIO)
    • Закупки
  • Платформы
    • Системы бизнес-анализа (BI)
    • Интегрированное бизнес-планирование (IBP)
    • Хранилища данных (DWH / Lakehouse)
    • Каталоги данных (Data Catalog)
    • Системы ETL и ELT
    • AI / Исскуственный интеллект
    • Шина данных (ESB)
    • Система управления мастер-данными (MDM)
    • Семантический слой
  • Услуги
    • Переход на отечественные BI и DWH системы
    • Консалтинг
    • Пилотный проект
    • Обучение и сертификация
    • Бесплатное обучение
    • Поддержка
    • Технические задания
    • Сбор требований для проекта внедрения BI-системы
    • CI/CD для DWH
    • Аудит BI приложений и DWH
    • Выделенная команда
    • Настойка и поддержка баз данных
    • Разработка BI Стратегии
    • Styleguide для BI-системы
    • Как выбрать BI-систему
  • Курсы
    • Учебный курс Информационная грамотность (Data Literacy)
    • Учебный курс для бизнес-аналитиков
    • Учебный курс для системных аналитиков
    • Учебный курс по Data Governance
    • Учебный курс Как стать CDO
    • Учебный курс Современная архитектура хранилища данных
    • Учебный курс по Fine BI
    • Учебный курс по FineReport
    • Учебный курс по DWH
    • Учебный курс по Data Science (ML, AI)
    • Учебный курс по PostgreSQL
    • Учебный курс по Greenplum
    • Учебный курс по Apache Airflow и NiFi
    • Учебный курс по Open-source BI
    • Учебный курс по ClickHouse
    • Учебный курс по DataLens
    • Учебный курс по Loginom
    • Учебный курс по Modus BI и ETL
    • Учебный курс по Visiology
    • Учебный курс по dbt (Data Build Tool)
  • Компания
    • Руководство
    • Новости
    • Клиенты
    • Карьера
    • Скачать
    • Контакты

BI

  • FineBI
  • FineReport
  • FineDataLink
  • FineChatBI (FineAI)
  • Коннекторы данных из 1С в BI
  • Airflow / Nifi
  • Visiology
  • PIX BI
  • Modus BI
  • Yandex.DataLens
  • Open-source BI: Superset/Metabase
  • Luxms BI
  • AW BI + Alpha BI
  • FlyBI + Форсайт. Аналитическая Платформа
  • Loginom
  • Триафлай
  • AI / Исскуственный интеллект
  • Optimacros
  • Навигатор BI
  • Семантический слой

СУБД

  • Arenadata
  • ClickHouse
  • Greenplum
  • Postgres Professional
  • TData

Другое

  • Построение Data Platform
    • Аналитическое хранилище данных
    • Data Lake и Data Engineering
    • Подробнее про Data Lake
    • Внедрение Lakehouse
      • Apache Doris
      • StarRocks
      • Trino
    • Миграция витрин из пропиетарных DWH на новый стек
    • Учебный курс "Современная архитектура хранилища данных"
Главная » Курсы по системам бизнес-анализа и методологии » Учебный курс по MLOps и Data Science (ML, AI) » Модель Facebook Prophet с использованием Python

Модель Facebook Prophet с использованием Python

Учебное пособие по созданию модели Facebook Prophet с помощью Python.

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

 

Введение в модель Facebook Prophet

Исследовательская группа Facebook разработала более простую реализацию прогнозирования временных рядов с помощью своей новой библиотеки под названием Prophet (Предсказатель). Редко можно встретить аналитика, способного давать качественные прогнозные данные. Это одна из причин, по которой исследовательская группа Facebook придумала легко доступный способ использования передовых концепций для прогнозирования временных рядов.

Мы, пользователи Python, можем легко познакомиться с этой библиотекой, потому что она использует API, похожий на Scikit-Learn. Основная цель команды Prophet – дать возможность экспертам и неспециалистам делать качественные прогнозы, удовлетворяющие существующие запросы.

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

 

Реализация модели Facebook Prophet с помощью Python

А теперь давайте проанализируем цены на акции и воспользуемся моделью Facebook Prophet с языком программирования Python. Я начну с импорта необходимых библиотек Python и набора данных:

Скачать набор данных

 

import numpy as np
 import pandas as pd
 import matplotlib.pyplot as plt
 import seaborn as sns
 import datetime as dt
 from fbprophet import Prophet
 df = pd.read_csv('all_stocks_5yr.csv')
 df.head()

 

Результат:

 

date

open

high

low

close

volume

Name

0

2013-02-08

15.07

15.12

14.63

14.75

8407500

AAL

1

2013-02-11

14.89

15.01

14.26

14.46

8882000

AAL

2

2013-02-12

14.45

14.51

14.10

14.27

8126000

AAL

3

2013-02-13

14.30

14.94

14.25

14.66

10259500

AAL

4

2013-02-14

14.94

14.96

13.16

13.99

31879900

AAL

 

Здесь я заменю название столбца на «Ticks»:

 

1 df = df.rename(columns={'Name': 'Ticks'})

 

В этой простой реализации модели Facebook Prophet на Python я проанализирую акции Amazon и посмотрю, как будет выглядеть тренд в ближайшем будущем для этих акций на основе прошлых цен на акции:

 

 amzn = df.loc[df['Ticks'] == 'AMZN']

 

Нам нужно убедиться, что столбец даты относится к категориальному типу или типу данных. В нашем случае столбец даты является категориальным типом данных, поэтому нам нужно изменить его на DateTime. Перед этим я сначала создам копию данных, чтобы избежать Предупреждений (SettingWarning):

 

 amzn_df = amzn.copy()
 # Change to datetime datatype.
 amzn_df.loc[:, 'date'] = pd.to_datetime(amzn.loc[:,'date'], format="%Y/%m/%d")

 

Визуализация данных

Теперь давайте нарисуем наши данные, чтобы увидеть, для чего нам нужно создать модель:

 

 

Использование модели Facebook Prophet с Python

Шаги по использованию шаблона Facebook Prophet:

  1. Обязательно замените цену закрытия на 'y' и дату на 'ds'.
  2. Подгоните этот фрейм данных к Prophet, чтобы обнаружить будущие закономерности.
  3. Предскажите цены выше и ниже цены закрытия.

 

Теперь давайте посмотрим, как использовать модель Facebook Prophet с помощью языка программирования Python:

 

 m = Prophet()

 # Drop the columns
 ph_df = amzn_df.drop(['open', 'high', 'low','volume', 'Ticks'], axis=1)
 ph_df.rename(columns={'close': 'y', 'date': 'ds'}, inplace=True)

 ph_df.head()

 

Результат:

 

ds

y

46387

2013-02-08

261.95

46388

2013-02-11

257.21

46389

2013-02-12

258.70

46390

2013-02-13

269.47

46391

2013-02-14

269.24

 

    m = Prophet()
    m.fit(ph_df)
    # Create Future dates
    future_prices = m.make_future_dataframe(periods=365)
   
        # Predict Prices
    forecast = m.predict(future_prices)
        import matplotlib.dates as mdates
     
       # Dates
    starting_date = dt.datetime(2018, 4, 7)
    starting_date1 = mdates.date2num(starting_date)
    trend_date = dt.datetime(2018, 6, 7)
    trend_date1 = mdates.date2num(trend_date)
     

       pointing_arrow = dt.datetime(2018, 2, 18)
    pointing_arrow1 = mdates.date2num(pointing_arrow)
      

       # Learn more Prophet tomorrow and plot the forecast for amazon.
    fig = m.plot(forecast)
    ax1 = fig.add_subplot(111)
    ax1.set_title("Amazon Stock Price Forecast", fontsize=16)
    ax1.set_xlabel("Date", fontsize=12)
    ax1.set_ylabel("Close Price", fontsize=12)
     
        # Forecast initialization arrow
    ax1.annotate('Forecast \n Initialization', xy=(pointing_arrow1, 1350), xytext=(starting_date1,1700),
                arrowprops=dict(facecolor='#ff7f50', shrink=0.1),
                )

   
        # Trend emphasis arrow
    ax1.annotate('Upward Trend', xy=(trend_date1, 1225), xytext=(trend_date1,950),
                arrowprops=dict(facecolor='#6cff6c', shrink=0.1),
                )

     
       ax1.axhline(y=1260, color='b', linestyle='-')
     

       plt.show()

 

 

 fig2 = m.plot_components(forecast)
 plt.show()

 

 m = Prophet(changepoint_prior_scale=0.01).fit(ph_df)
 future = m.make_future_dataframe(periods=12, freq='M')
 fcst = m.predict(future)
 fig = m.plot(fcst)
 plt.title("Monthly Prediction \n 1 year time frame")

 plt.show()

 

 

Наблюдения:

Из описанных визуализаций выше мы можем заметить, что:

  1. Курс акций Amazon с каждым годом демонстрирует признаки восходящего тренда.
  2. Цена акций Amazon показывает признаки восходящего тренда в январе (декабрьские продажи, как правило, повышают цену акций Amazon).
  3. Недельный тренд цен на акции отсутствует.

Надеюсь, вам понравилась эта статья о реализации модели Facebook Prophet с помощью языка программирования Python.

 

Узнать стоимость решенияЗапросить видео презентацию

← Предыдущая статья
BERT в машинном обучении
Следующая статья →
Реализация модели NeuralProphet с помощью Python

 

Внедряем AI в бизнес-процессы крупных компаний
От стратегии и инфраструктуры до AI-агентов, интеграций и промышленной эксплуатации.

Подробнее об AI-решениях

 

Запросить видео презентацию Запросить доступ к демо стенду online Узнать стоимость лицензий

Задать вопрос

loading...

Решения

Анализировать ФинансыУвеличивайте ПродажиОптимальный Склад и ЛогистикаМаркетинговые Метрики

Клиенты
  • ООО «Модум-Транс» — независимый оператор грузовых железнодорожных перевозок, лидирующий по количеству инновационного парка на сети РЖД.

  • НПФ «Будущее» — один из крупнейших негосударственных пенсионных фондов России, предоставляющий услуги по пенсионному обеспечению и накоплениям. Фонд активно внедряет цифровые технологии для повышения качества обслуживания клиентов.

  • Розничный и интернет-магазин 12 Storeez один из лидеров на рынке женской одежды. С географией рынка не только на территории России, своя продукция представлена еще и в таких странах как Казахстан и Дубай.

  • Авиакомпания NordStar (АО «АК «НордСтар») – работает под данным брендом с 2008 г. и сейчас входит в топ-15 крупнейших российских авиакомпаний (данные Росавиации) с пассажирооборотом более 1 млн человек в год. АО «АК «НордСтар» выполняет и внутренние, и внешние рейсы, а ее основные хабы - Домодедово, Пулково и Емельяново. С 2021 года компания является базовым перевозчиком аэропорта Норильск.

  • Решения
    • Дистрибуция
    • Розничная торговля
    • Производство
    • Операторы связи
    • Страхование
    • Банки
    • Лизинг
    • Логистика
    • Нефтегазовый сектор
    • Медицина
    • Сеть ресторанов
    • E-Commerce
    • Энергетика
    • Фармацевтика
  • Услуги
    • Переход на отечественные BI и DWH
    • Консалтинг
    • Пилотный проект
    • Обучение и сертификация
    • Бесплатное обучение
    • Техническая поддержка
    • Технические задания
    • Сбор требований для проекта внедрения BI-системы
    • CI/CD для DWH
    • Аудит BI приложений
    • Выделенная команда
    • Настойка и поддержка баз данных
    • Разработка BI Стратегии
    • Styleguide для BI-системы
    • Как выбрать BI-систему
  • Платформы
    • FineBI
    • FineReport
    • FineDataLink
    • Коннекторы данных из 1С в BI
    • Airflow + NiFi
    • Visiology
    • Luxms BI
    • Modus BI
    • PIX BI
    • Arenadata
    • ClickHouse
    • Greenplum
    • Postgres Professional
    • Open-source BI: Superset/Metabase
    • Loginom
    • Yandex.DataLens
    • AI / Исскуственный интеллект
    • Optimacros
    • Шины данных
  • Курсы
    • Учебный курс Информационная грамотность
    • Учебный курс для бизнес-аналитиков
    • Учебный курс для системных аналитиков
    • Учебный курс по Data Governance
    • Учебный курс Как стать CDO
    • Учебный курс Современная архитектура хранилища данных
    • Учебный курс по Fine BI
    • Учебный курс по FineReport
    • Учебный курс по DWH
    • Учебный курс по Data Science (ML, AI)
    • Учебный курс по PostgreSQL
    • Учебный курс по Apache Airflow и NiFi
    • Учебный курс по Open-source BI
    • Учебный курс по ClickHouse
    • Учебный курс по DataLens
    • Учебный курс по Loginom
    • Учебный курс по Modus BI и ETL
    • Учебный курс по Visiology
    • Учебный курс по dbt
  • Функциональные решения
    • Создание Data Lake
    • Цифровая трансформация
    • Управление по KPI
    • Финансы
    • Продажи
    • Склад
    • HR
    • Маркетинг
    • Внутренний аудит
    • Категорийный менеджмент
    • S&OP и прогнозная аналитика
    • Геоаналитика
    • Цепочки поставок (SCM)
    • AutoML
    • Process Mining
    • Сквозная аналитика
  • Компания
    • О нас
    • Руководство
    • Новости
    • Клиенты
    • Скачать
    • Контакты
    • Политика конфиденциальности
RutubeVkontakteLinkedInYouTube
ООО "Би Ай Консалт",
ИНН: 7811437757,
ОГРН: 1097847154184
199178, Россия,
Санкт-Петербург,
6-ая линия В.О., Д. 63, 4 этаж
Тел: +7 (812) 334-08-01
Тел: +7 (499) 608-13-06
E-mail: info@biconsult.ru

 

 

 

 

 

×

Пользуясь сайтом, вы соглашаетесь с использованием cookies и политикой конфиденциальности.