BI Consult
  • Перейти на QlikSense
  • Перейти на QlikView
  • Перейти на Tableau
  • Перейти на Power BI
  • Контакты
  • +7 812 334-08-01
    +7 499 608-13-06
  • EN
  • Отправить сообщение
  • Главная
  • Продукты Business-Qlik
    • Дистрибуция
    • Розничная торговля
    • Производство
    • Операторы связи
    • Страхование
    • Банки
    • Лизинг
    • Логистика
    • Нефтегазовый сектор
    • Медицина
    • Сеть ресторанов
    • Энергетика
    • Фрод-менеджмент
    • E-Commerce
    • Фармацевтика
    • Построение хранилища данных
    • Создание Data Lake
    • Цифровая трансформация
    • Управление по KPI
    • Финансы
    • Продажи
    • Склад
    • HR
    • Маркетинг
    • Внутренний аудит
    • Категорийный менеджмент
    • S&OP и прогнозная аналитика
    • Геоаналитика
    • Цепочки поставок (SCM)
    • Process Mining
    • Сквозная аналитика
  • Платформы
    • Qlik Sense
    • QlikView
    • Tableau
    • Microsoft Power BI
    • Геоаналитика Qlik GeoAnalytics
    • Qlik NPrinting - рассылка отчетности QlikView/Qlik Sense
    • KliqPlanning Suite - бюджетирование в QlikView
    • ATK BiView-1C Коннектор (для Qlik/Tableau/PowerBI)
    • QlikView/Qlik Sense SAP Коннектор
    • QlikView R-Коннектор
    • Qlik Web Connectors - коннектор Google, Facebook, Twitter
    • Vizlib Qlik Sense extentions (библиотека экстеншнов)
    • Библиотека extention для Qlik
    • Qlik Alerting
    • Qlik Data Integration Platform - создание Data Lake
    • Qlik Data Catalog решение для Data Governance
    • ATK BiView документация
  • Услуги
    • Консалтинг
    • Пилотный проект
    • План обучения и сертификации
    • Подготовка специалистов по Qlik
    • Бесплатное обучение Qlik
    • Сертификация Qlik
    • Поддержка
    • Технические задания
    • Сбор требований для проекта внедрения BI-системы
    • Аудит приложений Qlik и Tableau
    • Разработка BI Стратегии
    • Styleguide для BI-системы
    • Как выбрать BI-систему
  • Курсы
    • Учебный курс по Qlik Sense
    • Учебный курс по Tableau
    • Учебный курс по Microsoft Power BI
    • Учебный курс Информационная грамотность (Data Literacy)
    • Учебный курс Современная архитектура хранилища данных
    • Учебный курс для бизнес-аналитиков
    • Учебный курс по NPrinting
    • Учебный курс по BigQuery
    • Учебный курс по Azure Databricks
    • Учебный курс по DWH
    • Учебный курс по Data Governance
    • Учебный курс по Data Science (ML, AI)
    • Учебный курс администратора Qlik Sense
  • Компания
    • Руководство
    • Новости
    • Клиенты
    • Карьера
    • Скачать
    • Контакты

QlikView / Qlik Sense

  • Qlik Sense
    • Возможности Qlik Sense
    • Qlik Sense Enterprise
    • Qlik Sense Desktop
    • Qlik Sense Saas облачная инфраструктура для компаний
    • Источники данных и хранение данных
    • Безопасность и разграничение прав доступа
    • Масштабируемость
    • Политика лицензирования Qlik Sense
    • Qlik Sense November 2021: новые возможности
    • Географические карты в Qlik Sense
    • Qlik Sense Cloud / Qlik Sense в облаке
    • Учебное пособие по Qlik Sense
  • QlikView
    • Архитектура
    • Отличия QlikView от традиционных BI-систем
    • Политика лицензирования QlikView
    • Системные требования и сайзинг
    • Отличие от OLAP-систем
    • QlikView on Mobile
    • Qlik и Big Data
    • Демонстрационные примеры
    • QlikView в "облаке" (Amazon) / QlikView in the cloud
    • Интеграция QlikView с Microsoft SharePoint
    • Учебное пособие по QlikView
    • Что такое QlikView Publisher
    • QlikView Extranet Server и дистрибуция отчетности внешним пользователям
  • Qlik Data Catalog
  • Qlik Alerting
  • Qlik Data Integration Platform
  • Add-ons для QlikView
    • Vizlib Qlik Sense extentions (библиотека экстеншнов)
    • QlikView/Qlik Sense ATK BiView-1C Коннектор
    • Документация ATK BiView
    • Qlik NPrinting
    • Геоаналитика Qlik GeoAnalytics
    • GeoQlik
    • KliqPlanning Suite
    • QlikView/Qlik Sense SAP Коннектор
    • QlikView R-Коннектор
    • Qlik Web Connectors
    • QlikView Cognos TM1 Коннектор
    • Визуализация графов в Qlik Sense с помощью Ogma / Linkurious
  • Учебный курс по Qlik Sense

Tableau

  • Tableau
    • Tableau Desktop
    • Tableau Server
    • Tableau Prep
    • Технологии
    • Источники данных Tableau
    • Безопасность в Tableau
    • Политика лицензирования
    • Tableau 2021: новые возможности
    • Сравнение продуктов Tableau (Desktop, Server, Online, Public)
    • Демонстрационные примеры
    • Учебный портал Tableau
    • Коробочное решение "Мониторинг Tableau Server"
    • Чем отличаются Tableau Reader и Viewer?
  • Учебный курс по Tableau

Другое

  • Microsoft Power BI
    • Power BI Desktop
    • Power BI Report Server
    • Отраслевые решения Microsoft Power BI
    • Политика лицензирования Microsoft Power BI
    • Power BI Mobile
    • Учебные курсы Microsoft Power BI
    • Архитектура Power BI
    • Обработка данных в Power BI
    • Аудит системы Power BI
  • Учебный курс по Microsoft Power BI
  • Alteryx
    • Alteryx Designer
    • Инструменты Alteryx Designer
    • Alteryx Server
    • Alteryx Analytics Gallery
    • Alteryx. Создание приложения, workflow, ETL
  • Data Engeneering
    • Создание Data Lake
    • Создание Data Warehouse
    • Учебный курс "Современная архитектура хранилища данных"
Главная » Курсы » Учебный курс по Data Science (ML, AI)

Модель 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.

 

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

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

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

loading...

Решения

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

Клиенты

  • Стройландия

    Анализ продаж по направлениям; план-фактный анализ; прогноз продаж и выполнения планов; анализ складской деятельности; анализ эффективности ассортимента;

  • Решение "Анализ контейнерных перевозок в QlikView"
  • Консолидация корпоративной финансовой отчетности по группе компаний; система учета версий и сценариев формирования бюджета

  • classic-spb

    Созданная в 1998 году, компания "Классик" сегодня - современная, обладающая огромными возможностями организация, специализирующаяся в сфере оптовых и розничных продаж продовольствия, оказания услуг по логистике.

  • Решения
    • Дистрибуция
    • Розничная торговля
    • Производство
    • Операторы связи
    • Банки
    • Страхование
    • Фармацевтика
    • Лизинг
    • Логистика
    • Медицина
    • Нефтегазовый сектор
    • Сеть ресторанов
  • Продукты
    • Qlik Sense
    • QlikView
    • Tableau
    • Microsoft Power BI
    • ATK BiView-1C Коннектор (для Qlik/Tableau/PowerBI)
    • Vizlib Qlik Sense extentions (библиотека экстеншнов)
    • NPrinting
    • Геоаналитика Qlik GeoAnalytics
    • KliqPlanning Suite
    • Qlik WebConnectors
    • QlikView R Коннектор
    • QlikView/Qlik Sense SAP Коннектор
    • Alteryx
    • Qlik Data Catalog
    • Документация ATK BiView
  • Услуги
    • Консалтинг
    • Пилотный проект
    • Поддержка
    • План обучения и сертификации Qlik
    • Бесплатное обучение
    • Учебные курсы
    • Сертификация Qlik
    • Аудит приложений
  • Курсы
    • Учебный курс по Qlik Sense
    • Учебный курс по Tableau
    • Учебный курс по Microsoft Power BI
    • Учебный курс Современная архитектура хранилища данных
    • Учебный курс Информационная грамотность
    • Учебный курс для бизнес-аналитиков
    • Учебный курс по NPrinting
    • Учебный курс по Azure Databricks
    • Учебный курс по Google BigQuery
  • Компания
    • О нас
    • Руководство
    • Новости
    • Клиенты
    • Скачать
    • Контакты
  • Функциональные решения
    • Продажи
    • Финансы
    • Склад
    • HR
    • S&OP и прогнозная аналитика
    • Внутренний аудит
    • Геоаналитика
    • Категорийный менеджмент
    • Построение хранилища данных
    • Система управления KPI и BSC
    • Управление цепочками поставок
    • Маркетинг
    • Цифровая трансформация
    • Сквозная аналитика
    • Process Mining
QlikView Partner
LinkedInYouTubeVkontakteFacebook
ООО "Би Ай Консалт",
ИНН: 7811437757,
ОГРН: 1097847154184
199178, Россия,
Санкт-Петербург,
6-ая линия В.О., Д. 63, 4 этаж
Тел: +7 (812) 334-08-01
Тел: +7 (499) 608-13-06
E-mail: info@biconsult.ru