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

Отчет

по преддипломной практике

Тема проекта:

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



Выполнил: студент группы ПОВТ 2-05

Дудников Александр

Проверила: ст. преп. Стамкулова Г.К.




Введение



Описание проблемы

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

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

Цель проектирования.

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

Система должна обеспечивать: 

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

анализ результатов прогнозирования;

накопление статистических данных наблюдаемого показателя.

Задачи:

Разработать концептуальную и функциональную схемы работы системы;

Разработать базу данных, содержащую фактические и прогнозные данные;

		Разработать пользовательский интерфейс системы прогнозирования;

Организовать защиту пользователей системы, используя аутентификацию;

Разработать программу, которая позволяет: 

пополнять, изменять, просматривать введенные статистические данные;

выбирать метод прогнозирования;

выбирать критерий оценки качества прогноза;

получать прогнозные значения наблюдаемого показателя;

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

Актуальность проблемы

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

Обзор и анализ существующих программ

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

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

Такие приложения могут быть как локальными (для использования на одном компьютере), так и Интернет - приложениями (доступными в виде веб - сайта, например). В качестве локальных приложений следует выделить такие программы, как ForExSal, ForecastPRO, Forecast Expert.

ForExSal - программа для прогнозирования продаж товаров с учетом факторов влияния, сезонности и трендов [10].

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

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

Forecast Expert – используется для построения прогноза временного ряда с помощью параметрической модели Бокса-Дженкинса. Модель предусматривает для корректного прогноза не менее 30 наблюдений. Программный продукт предназначен для прогнозирования любого параметра, в отношении которого имеется должное количество замеров в конкретном промежутке времени.

Достоинствами данного программного продукта является:

Невысокие требования к уровню подготовки специалиста в области прогнозирования для работы с ПО (если такое вообще допустимо для специалиста в этой области).

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

Недостатками являются:

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

Избыточная требовательность к собираемым (подготавливаемым) для анализа данным, объясняемая сущностью применяемой в ПО модели Бокса-Дженкинса. Модель предусматривает для корректного прогноза не менее 30 наблюдений.

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

Обзор и анализ существующих методов прогнозирования

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

Методы краткосрочного прогнозирования применяются в тех случаях когда:

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

прогноз делается для конкретного объекта отдельно и последовательно на каждый следующий момент времени;

прогнозы строятся для большого числа объектов;

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

Очевидно, для подобного рода применений прогностические методы и модели (или набор моделей) должны быть:

легкими в обращении – в смысле вычислений и затрат, связанных с хранением информации;

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

достаточно полно автоматизированными и требующими по возможности минимального вмешательства человека;

достаточно обоснованными в научном смысле, реализованными в виде программ на ЭВМ.

Среднесрочное прогнозирование, как правило, целесообразно в случаях, когда:

		имеются ежегодные данные и их можно взять из официальных источников;

		прогнозы являются одноразовыми, т.е. не повторяются и не подправляются (адаптируются) с поступлением новых данных;

		прогнозы осуществляются для временных рядов относительно малой длины;

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

Адаптивное прогнозирование.

Необходимость в том, чтобы прогнозы были чувствительными к изменениям данных, очевидна. Более чувствительный прогноз, в конечном счете, приведет и к меньшей разнице между прогнозируемым и фактическим значениями, а значит, точность будет выше. Другое требование, по которому прогноз должен быть малочувствителен в условиях устойчивости (малого изменения данных), не так очевидно, поскольку в этом случае и высоко - и низкочувствительный прогноз приведет приблизительно к одним и тем же назначениям.

Первые адаптивные модели были разработаны в начале 50-х годов XX века [1]. В их основе лежит метод экспоненциального сглаживания, предложенный Р.Г. Брауном. В дальнейшем в развитие и совершенствование методов адаптивного прогнозирования большой вклад внесли Р. Вейд, Д. Мат, Дж. Бокс, Г. Дженкинс, П. Харрисон, Д. Вард, Г. Тейл, С. Вейдж, Р. Маркланд, П.Р.Уинтерс, Р.Ф. Майер, Й. А Мюллер, Д. Тригг, А. Лич, М.Л. Шоун, У. Чоу, С. Роберте, Р. Рид, А. Рао, А. Шапиро, Ю.П. Лукашин, Е.М. Левитский, А.Г. Иваненко, А.А. Френкель, Е.М. Четыркин, В.В. Венсель.

система прогнозирование спрос


Выбор и обоснование инструментального программного средства, используемого при решении задачи



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

Для разработки системы прогнозирования я выбрал инструментальное средство разработки Microsoft Visual Studio 2008 (язык С#), Microsoft Access 2003. Microsoft Visual Studio 2008 является объектно–ориентированным средством разработки клиент – серверных, многоуровневых, а также WEB - приложений. Для реализации поставленных задач было необходимо использование стандартных элементов управления, таких как окна, формы, кнопки, через которые пользователь передает входные данные и получает результаты в виде выходных данных. Microsoft Visual Studio 2008 позволяет создавать библиотеки, а также подключать ранее созданные динамические библиотеки.

Предложен широкий спектр инструментальных средств, включающих простые в использовании графические инструменты, богатый набор экспертов для проектирования всех элементов интерфейса и данных, а также технологии для работы с базами данных, начиная с простых и заканчивая распределенными. Поддержка доступа к Microsoft Access, SQL Server, Oracle, Informix. Встроены драйверы для доступа к нескольким СУБД.

Описание используемых математических моделей

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

В системе выбраны следующие методы решения прогнозных задач: Метод простого экспоненциального сглаживания, адаптивное сглаживание прогноза Брауна, метод Тригга – Лича, самоорганизующийся метод прогнозирования. Данные методы были выбраны для краткосрочного прогнозирования по временному ряду.

Метод простого экспоненциального сглаживания.

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







Где  - прогноз на момент времени 

 - текущий момент времени

 - период упреждения прогноза

 - фактическое значение наблюдаемого показателя

 - константа сглаживания ()

Алгоритм вычисления прогноза методом экспоненциального сглаживания представлен на рисунке 2.





Рис.2. Блок-схема вычисления прогноза методом экспоненциального сглаживания

Адаптивное сглаживание прогноза Брауна.

Этот метод основывается на вычислении оценок по методу взвешенных наменьших квадратов dt [4].













Где  - прогноз на момент времени 

 - текущий момент времени

 - период упреждения прогноза

 - коэффициент дисконтирования ()

- ошибка прогноза

 - экспоненциальное взвешенное среднее

 - показатель линейного роста

 - фактическое значение наблюдаемого показателя



Алгоритм вычисления прогноза методом адаптивного сглаженного прогноза Брауна представлен на рисунке 3.



Рис.3. Блок-схема вычисления адаптивного сглаженного прогноза Брауна



Метод Тригг –Лича

В 1964 году Тригг предложил метод сглаживания ошибок, основанный на определении так называемого “следящего контрольного сигнала”. Значение следящего контрольного сигнала указывает с некоторым уповнем статистического доверия на степень неадекватности прогностической системы данным и, в частности на неудовлетворительность прогноза. В 1967 г. в целях контроля за прогностической системой Триггом и Личем было выдвинуто предложение применить следящий контрольный сигнал для адаптации скорости реакции прогностического метода. По этому методу, если в результате резких изменений показателя применяемый метод становится неудовлетворительным, значение следящего контрольного сигнала автоматически увеличивается, вследствие чего больший вес придается последним наблюдениям, а прогноз переходит на новый уровень среднего. После того как система перестроилась на новый уровень, значение  автоматически уменьшится и прогнозы станут менее чувствительны к изменению данных.

Для стационарных показателей прогноз на любой момент времени по модели адаптивной скорости реакции Тригга и Лича вычисляется по формуле





Где 







Где  - прогноз на момент времени 

 - текущий момент времени

 - период упреждения прогноза

 - фактическое значение наблюдаемого показателя

 - экспоненциально взвешенная ошибка

- ошибка прогноза

 - следящий контрольный сигнал

 - средне абсолютное отклонение

 - константа сглаживания ()



Алгоритм вычисления прогноза методом Тригга-Лича представлен на рисунке 4.





Рис.4. Блок-схема вычисления прогноза методом Тригга-Лича



Ошибки прогнозирования рассчитываются по формулам:

 - абсолютная ошибка прогноза

 - относительная ошибка прогноза

Где  - фактическое значение наблюдаемого показателя

 - прогноз на момент времени 

 - текущий момент времени

- ошибка прогноза



Сезонно-декомпозиционная прогностическая модель Холта-Винтера

Модель Холта-Винтера в практике прогнозирования сезонных временных рядов встречается чаще всего. Ее прогностическая точность не уступает точности других еще более сложных моделей поведения сезонно изменяющихся временных рядов (среднеабсолютная процентная ошибка по этой модели в большинстве случаев меньше 50%). Сезонно-декомпозиционная модель Холта-Винтера основана на применении метода экспоненциального взвешенного среднего. Оценка стационарно-линейного и сезонного фактора для нее производится следующим образом.

а) Оценка стационарного фактора (т.е. оценка среднеежемесячного значения независимо от времени года). Уравнение оценки стационарного фактора:







б) Оценка линейного роста вычисляется на основе модели роста Холта:





в) Оценка сезонного фактора (адаптация коэффициента сезонности). Коэффициент сезонности представляет собой отношение значения текущего наблюдения к среднестационарному значению, т.е. этот коэффициент в момент времени t равен . Определение экспоненциального взвешенного среднего текущего значения коэффициента сезонности:







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







Алгоритм вычисления прогноза методом Холта-Винтера представлен на рисунке 5.



 



Рис.5 Блок-схема модели Холта-Винтера



Самоорганизующийся алгоритм прогнозирования

Процесс построения самоорганизующегося алгоритма (САП) состоит из нескольких шагов. 

Шаг 1. Формирование первоначального множества простых алгоритмов прогнозирования.

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

Шаг 2. Выбор критерия отбора лучшего алгоритма для формирования прогноза.

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

Шаг 3. Стадия обучения САП.

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

Шаг 4. Оценивание качества прогноза.

Оценивание качества прогноза проводится с использованием критерия, выбранного на шаге 2. Алгоритм, показывающий минимальное значение критерия (ошибки прогнозирования), будем считать лучшим.

Шаг 5. Прогнозирование на будущий момент времени с использованием САП.

Прогнозное значение наблюдаемого показателя на следующий момент будет определяться с помощью алгоритма, отобранного на шаге 4.

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

Алгоритм отбора комбинации лучших алгоритмов прогнозирования за период

Шаг 1. Выбор критерия отбора

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

Шаг 2. Подбор комбинаций алгоритмов

На этом шаге формируется комбинация нескольких (2 и более) алгоритмов прогнозирования из множества простых алгоритмов, используемых системой.

Шаг 3. Прогнозирование и оценивание качества прогноза

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

Шаг 4. Определение лучшей комбинации алгоритмов

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


Описание структуры данных. Описание алгоритмов обработки данных



Логическая модель данных



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







Физическая модель данных

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



Таблица «prognoz»

Данная таблица содержит данные о данных наблюдаемого показателя.

Название поля

Тип поля

Описание

N

Long

Используется для индексации записей в данной таблице

Date

Datetime

Дата наблюдения

Fact

Number

Фактическое значение наблюдаемого показателя

Forecast

Number

Прогнозное значение наблюдаемого показателя



Таблица «users»

Данная таблица содержит данные о пользователях системы.

Название поля

Тип поля

Описание

ID

Bigint (20)

Код записи

Username

text

Имя пользователя

password

text

Пароль



Входные и выходные данные

Входные данные – это статистические данные, о наблюдаемом показателе получаемые системой от пользователя.

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


Заключение



В рамках выполнения проекта была разработана система прогнозирования, которая обеспечивает пользователя возможностью:

Ввода, изменения, просмотра введенных статистических данных;

Выбора метода прогнозирования и получение справочной информации о методе;

Выбора критерия оценки качества прогноза;

Просмотра результатов прогнозирования (прогноз и ошибка на заданный период);

Сохранение прогнозных данных в файле с выбранным форматом.

В процессе проектирования системы прогнозирования были достигнуты следующие результаты:

Разработана концептуальная и функциональная схемы работы системы;

Спроектирована логическая структура данных;

		Разработан пользовательский интерфейс системы прогнозирования;

Разработана система защиты от несанкционированного доступа на основе аутентификации пользователей (вход в систему осуществляется после ввода логина и пароля).

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




Литература



		Лукашин Ю.П. Адаптивные методы краткосрочного прогнозирования временных рядов // Москва, Статистика, 1997.

		Льюис К.Д. Методы прогнозирования экономических показателей // Москва: Финансы и статистика, 1996.

		Четыркин Е.М. Статистические методы прогнозирования // 2-е издание, Москва: Статистика, 1977. 

		Липатова Н. Прогнозирование прибыли. // Финансы, 1995. - № 2

		Borwn R.G. Smothing forecasting and prediction of discrete time series // New-Yourk, 1963.

		V. Vovk, G. Shafer Good sequential probability forecasting is always possible, //manuscript, 2006.

		Астринский Д., Наонян В. Экономический анализ финансового положения предприятия // Экономист. – 2000. № 12.

		Головач В.В. Дизайн пользовательского интерфейса // Usethics, 2004

		http://forecastpro.com/products/fpfamily/whichedition.html

		http://forexsal.ru

		http://polbu.ru/management_economy/ch20_i.html




Приложение



Концептуальная модель данных





Рис.1. Прогнозирование





Рис.2. Процесс «Прогнозирование»



Рис.3 «Определение прогноза по принципу самоорганизации»



Модель потоков данных





Рис.4. Модель потоков данных «Система прогнозирования»



Рис.5 Модель потоков данных «Система прогнозирования»





Рис. 6. Декомпозиция процесса «Выбор метода прогнозирования»

Функциональная модель системы



Рис.7 Функциональная модель «Система прогнозирования»


UML-ДИАГРАММЫ ВАРИАНТОВ ИСПОЛЬЗОВАНИЯ





Рис.8 Ввод статистических данных





Рис.9 Выбор критерия оценки прогноза



Рис.10 Выбор метода прогнозирования





Рис.11 Определение прогноза



Рис.12 Формирование отчета





Рис.13 Окно регистрация статистических данных

азмещено на 



2