Каталог статей

Коробейников С.А.

Практическое применение методов линейной регрессии для прогнозирования продаж компании

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

Доклад посвящен использованию метода линейной регрессии, который активно используется в технических задачах, но пока недостаточно распространен в экономическом прогнозировании. Кроме теории, в докладе будет продемонстрирован вариант практической реализации описанного алгоритма с использованием аналитической платформы Deductor 5, разработанной фирмой BaseGroup.

Аналитическая платформа Deductor 5 является BI (Business Intelligent) системой, позволяющей проводить анализ и прогнозирование экономических показателей с применением средств извлечения знаний  KDE (Knowledge Discovery in Databases) и Data Mining. Определение этих понятий приводится, например, в [1]:

Knowledge Discovery in Databases (KDD) – процесс получения из данных знаний в виде зависимостей, правил, моделей, обычно состоящий из таких этапов, как отбор, очистка, трансформация, моделирование и интерпретация полученных результатов.

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

Аналитическая платформа Deductor 5 оперирует данными, полученными из различных внешних источников, таких, как: текстовые файлы, таблицы Excel, различных баз данных, включая системы учета 1С: Предприятие и многие другие. Полученные данные содержатся в Хранилище значений системы в удобной для анализа структуре и могут быть проанализированы с использованием различных средств визуализации.

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

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

Зависимость ищется между несколькими входными и одной выходной переменной. Для ее поиска применяется множественная (многомерная) регрессия, задача которой сводится к нахождению коэффициентов уравнения:

, (1)

где Y- вектор выходного переменной X1,X2…Xn – вектора входных переменных, n – количество входных переменных.

Для нахождения коэффициентов используется метод наименьших квадратов. Формулы приводятся в соответствующей литературе и реализованы в Deductor как один из инструментов DataMinig.

Для решения задачи линейной регрессии и прогнозирования (в нашем случае будем исследовать именно такой вид зависимости) к временным рядам требуется предварительно применить метод «скользящего окна» [2]. Окно – это период времени, используемый для каждого случая обучения алгоритма. Например, если мы еженедельно получаем данные о цене в течение 50 недель, и мы установили окно в 5 недель, то в первом случае обучения используются данные с 1 по 5 неделю и полученный прогноз сравниваем с данными за 6 неделю. Во втором случае используются данные со 2 по 6 неделю, и полученный прогноз сравнивается с 7 и т.д.

 

Рис 1. «Скользящее окно»

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

Результатом выполнения алгоритма линейной регрессии в Deductor является таблица коэффициентов линейной регрессии (b0, b … bn уравнения (1)). Дополнительно можно получить форму анализа «Что-если», позволяющего рассчитывать значение выходной переменной, задав значения входных. Кроме того, можно сформировать Диаграмму рассеивания, проанализировав которую можно визуально оценить качество восстановленной зависимости. Если, глядя на эту диаграмму вид полученной модели будет сильно расходиться с характером изменений исходных значений, это будет означать, что для восстановления данной зависимости требуется использовать методы, отличные от линейной регрессии.

Пример диаграммы рассеивания и форма анализа «Что-если» приведены на рисунках 2 и 3.

 

Рис 2. Диаграмма рассеивания

Рис 3. Анализ «Что-если»

Рисунок 2 демонстрирует линейный характер функциональной зависимости, все точки сосредоточены вокруг восстановленной прямой, и практически отсутствуют случаи выхода за границы допустимого интервала. Следовательно, применение линейной регрессии для восстановления зависимости вполне оправдано.

После восстановления исходной зависимости можно применить инструмент Deductor – прогнозирование [2]. Прогнозирование позволяет получать предсказание значений временного ряда на число отсчетов, соответствующее заданному горизонту прогнозирования. Алгоритм прогнозирования работает следующим образом. Пусть в результате преобразования методом скользящего окна была получена последовательность временных отсчетов: x(-n), …, x(-2), x(-1), x.

Прогноз на x(+1) строится на основании полученной модели. Чтобы построить прогноз для значения x(+2), нужно сдвинуть всю последовательность на один отсчет влево, чтобы ранее сделанный прогноз x(+1) тоже вошел в число исходных значений. Затем снова будет запущен алгоритм расчета прогнозируемого значения и x(+2) будет рассчитан с учетом x(+1) и так далее в соответствии с заданным горизонтом прогноза.

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

Полученные коэффициенты линейной регрессии приведены в таблице:

Рис 4. Таблица коэффициентов регрессии

Таким образом, восстановленная зависимость имеет вид:

         , (2)

Где Sn – сумма продаж в прогнозируемом (n-ном) месяце, Sn-1, Sn-2, Sn-3 – сумма продаж на предыдущем (n-1-ом), n-2-ом, n-3-ем месяцах соответственно.

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

Рис 5. Результаты прогнозирования по шагам

Таким образом, прогнозируемый оборот на первом шаге (первом месяце) составляет 2623205 рублей, в следующем месяце 2545812 рублей, а на 3-ем шаге 2437923 рубля.

График, изображающий реальные и прогнозные суммы продаж представлен на рисунке.

Рис 6. Результаты прогнозирования по шагам

Литература:

1. Паклин Н. Б., Орешков В.И. Бизнес-аналитика: от данных к знаниям (+CD). – СПб.: Притер, 2009. – 624 с.

2. Deductor. Руководство аналитика. Версия 5.2. // BaseGroup Labs, 2009. – 192 c.

3. Материалы сайта BaseGroup [сылка более недоступна}