НАВИГАЦИЯ
КОНТАКТЫ
  • LinkedIn - White Circle
  • Facebook - White Circle
  • Twitter - White Circle

info@DDM.center

Телефон: +380 67 341 7101

© 2017 DDM.center

Время, в ряд!

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

Временно́й ряд (или ряд динамики) — собранный в разные моменты времени статистический материал о значении каких-либо параметров (в простейшем случае одного) исследуемого процесса.

 

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

 

Это то, чтоговорит Википедия о такой сущности как временной ряд. А если "своими словами", то это значения одного или нескольких параметров, измеренные через одинаковый промежуток времени. Например, цена на электроэнергию на свободном рынке, измеренная каждый час, или количество посетителей медицинского центра за день, или количество звонков в контакт-центр, каждые сутки и т.п. 

 

Если какой-то показатель имеет для бизнеса экономический смысл и может быть разложен во временной ряд, то мы должны уметь его анализировать и прогнозировать, чтобы эффективнее им управлять.

 

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

 

Задача №1.

Контакт-центр. Для соблюдения качества (SLA) необходимо достаточно точно прогнозировать количество звонков и для этого количества планировать операторов(*).

 

(*) Обычно, специальное программное обеспечение для управления персоналом в КЦ (Call Center Workforce Management Software) умеет такое делать, но как планировать, когда такого ПО нет. Можно воспользоваться электронными таблицами и получить уже результат немногим лучше, чем интуиция, а можно использвоать специализированное статистическое ПО, например R с необходимыми библиотеками (все это бесплатно).

 

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

 

Задача №2.

Медицинский центр. Необходимо прогнозировать количество пациентов, чтобы правильно спланировать потребность в докторах.

 

Задача №3.

Энергетическая компания. Необходимо прогнозировать почасовый спрос на электроэнергию и ее цену для панирования работы мощностей.

 

Будем рассматривать Задачу №1, а по оставшимся двум просто делать комментарии с иллюстрациями в виде графиков.

 

Возьмем информацию о посуточном количестве звонков в КЦ за 3 месяца и посмотрим, какой проноз мы можем получить.

Мы можем представить себе временной ряд как некоторую совокупность трех величин:

- тренда или тенденции;

- циклиечских колбаний или сезонности;

- случайных факторов;

Если в модели временного ряда эти величины перемножаются, то это мультипликативный временной ряд, если складываются - аддитивный.

 

На графике хорошо видна "сезонность" с периодном одна неделя (если бы мы взяли детальные данные - почасовые, то могли бы увидеть еще и суточную сезонность). И казалось бы, что кроме тренда, который видится в графике скользящего среднего за месяц (30 дней) больше никаких циклических колебаний нет.

 

Воспользуемся специальными библиотеками R для анализа временных рядов. Разложим наш ряд на составляющие и нарисуем графики. 

 

На самом верхнем мы видим оригинальные значения нашего ряда.

Следуюший график - level - это наш тренд, Он отражает базу, к которой добавляется сезонность и случайные отклонения. 

И мы видим 3 сезона, которые на оригинальном графике были совсем не очевидны.

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

Сезон 2 - месяц, мы видим явные всплески активности в начале и конце месяца.

Сезон 3- год. Если бы мы взяли выборку данных за несколько лет, то увидели бы явную цикличность.

 

Покажем аналогичные графики для медицинского центра и энергетической компании

 

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

 

В спросе на электроэнергию хорошо видны суточная сезонность и недельная сезононсть.

Если добавим данных, то будет заметна еще годовая сезонность.

 Ниже фрагмент графика.

Перейдем теперь к прогнозированию значений временного ряда.

 

При моделировании изменений уровня процесса можно выделить три широких класса имеющих практическую ценность: авторегрессионые модели, интегральные модели и модели скользящего среднего. Эти три класса линейно зависят от предшествующих данных. На их основе построены модели авторегрессионного скользящего среднего (Autoregressive Moving Average, ARMA) и авторегрессионного интегрированного скользящего среднего (Autoregressive Integrated Moving Average, ARIMA). 

 

Воспользуемся  моделью TBATS Model (Exponential Smoothing State Space Model With Box-Cox Transformation, ARMA Errors, Trend And Seasonal Components) и визуализируем результат.

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

 

Посмотрим на наш медицинский центр.

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

 

Построим прогноз на несколько недель с использованием разных моделей и сравним его с фактическими данными за эти же дни (модель не знала об этих фактических данных)

 

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

 

И последний график с прогнозом потребности в элетроэнергии.

 

 Фрагмент с прогнозом.

 

Можно придумывать еще большое количество примеров из жизни и бизнеса, но мы видим, что есть ряд задач, которые довольно хорошо описываются и решаются.

 

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

 

Интересно? Подписывайтесь на блог, чтобы не пропустить интересную статью.

 

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

 

 

 

 

 

 

 

Share on Facebook
Share on Twitter
Please reload

Избранные посты

Уйдет или не уйдет?

March 23, 2018

1/4
Please reload

Недавние посты