УДК 519.6:311
ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ИНТЕРВАЛЬНОГО ПРОГНОЗИРОВАНИЯ НЕСТАЦИОНАРНЫХ ДИНАМИЧЕСКИХ ПОКАЗАТЕЛЕЙ
© Ю.М. Краковский1, А.Н. Лузгин2
1Иркутский государственный университет путей сообщения, 664074, Россия, Иркутск, ул. Чернышевского, 15. 2Евразийский лингвистический институт (филиал МГЛУ в г. Иркутске), 664025, Россия, Иркутск, ул. Ленина, 8.
Приведено описание созданного на языке R программного обеспечения «Интервальное прогнозирование нестационарных динамических показателей», реализующего алгоритмы, разработанные на основе адаптивной вероятностно-статистической кластерной модели и модели вероятностной нейронной сети. Задача интервального прогнозирования нестационарных динамических показателей заключается в оценке их будущих «значений» на основе вероятности того, что они превысят (не превысят) заранее установленное значение на момент прогнозирования. Проведена оценка точности интервального прогнозирования и времени работы алгоритмов по результатам тестирования.
Ключевые слова: интервальное прогнозирование; нестационарные динамические показатели; математическое моделирование; программные комплексы.
SOFTWARE FOR INTERVAL PREDICTION OF NON-STATIONARY DYNAMIC INDICATORS Yu.M. Krakovsky, A.N. Luzgin
Irkutsk State University of Railway Engineering, 15 Chernyshevsky St., Irkutsk, 664074, Russia.
Eurasian Linguistic Institute (Branch of Moscow State Linguistic University in Irkutsk), 8 Lenin St., Irkutsk, 664025, Russia.
The article describes an R-language software "Interval prediction of non-stationary dynamic indicators" that implements the algorithms developed on the basis of an adaptive probabilistic statistical cluster model and the model of a probabilistic neural network. The task of interval prediction of non-stationary dynamic indicators is to estimate their future "values" based on the assumption that they will exceed (will not exceed) the predetermined value at the time of the prediction. The accuracy of interval prediction and the runtime of the algorithms have been estimated by the test results. Keywords: interval prediction; non-stationary dynamic indicators; mathematical modeling; software systems.
В настоящее время большинство организаций и предприятий осуществляют свою деятельность в условиях неопределенности, когда принятие эффективных решений по управлению производственными, технологическими и финансовыми процессами зависит от качества прогнозирования различных динамических показателей. В постоянно усложняющихся социально-экономических процессах и явлениях особенно трудно добиваться приемлемой точности прогнозирования нестационарных динамических показателей (НДП) [1, 5]. Часто классический подход в прогнозировании НДП (когда оцениваются непосредственно будущие значения показателя) просто неприемлем. В то же время проводить оценку непосредственно будущих значений НДП нужно далеко не всегда. На практике для выработки управленческих решений часто достаточно знать, превысит или не превысит будущее значение НДП некоторое заранее заданное значение.
Задача интервального прогнозирования НДП (ИП НДП) заключается в оценке будущих «значений» НДП
на основе вероятности того, что они превысят (не превысят) заранее установленное значение на момент прогнозирования. Так как при таком прогнозировании оценивается не само будущее значение НДП, а то, в каком интервале оно будет находиться, такое прогнозирование названо интервальным.
Учитывая рекомендации, данные в работе [3], для решения задачи ИП НДП и последующей оценки точности ИП НДП были разработаны два алгоритма: на основе адаптивной вероятностно-статистической кластерной модели (АВСКМ) [2] и на основе модели вероятностной нейронной сети (ВНС) [4]. Данные алгоритмы были реализованы в качестве прикладного программного обеспечения - программного комплекса «Интервальное прогнозирование нестационарных динамических показателей» (ПК «ИП НДП»).
Формализованное описание интервального прогнозирования нестационарных динамических показателей
Формализуем понятие НДП следующим образом:
^ = е Т} (1)
1Краковский Юрий Мечеславович, доктор технических наук, профессор кафедры информационных систем и защиты информации, тел.: 89149267772, e-mail: [email protected]
Krakovsky Yuri, Doctor of technical sciences, Professor of the Department of Information Systems and Information Security, tel.: 89149267772, e-mail: [email protected]
2Лузгин Александр Николаевич, аспирант, тел.: 89025159719, e-mail: [email protected] Luzgin Aleksandr, Postgraduate, tel.: 89025159719, e-mail: [email protected]
Здесь s - значения НДП, доступные в дискретные моменты времени t , где t принимает значения из множества T = {0,...,n — 1}, а n - количество доступных значений НДП.
Для каждого НДП (1) выбраны следующие характеристики:
1) n - количество доступных значений НДП;
2) s ■ - минимальное значение НДП;
' min м '
3) ^ - максимальное значение НДП;
4) s - среднее арифметическое значение НДП,
ср
определяемое по формуле:
z -,
Scp =
teT
n
(2)
5) ^ - среднеквадратическое отклонение НДП, определяемое по формуле:
SCKO =
Z(S - Sp )2
(3)
n
6) 5 - среднее арифметическое значение модулей разности соседних значений НДП:
ZК -st-il
s = ■
n -1
(4)
Введем величину Д , рассчитывать которую будем как
Д = а ■ 5,
(5)
где а е[-1;1] - коэффициент, который задается заранее, 5 - определяется по формуле (4).
При ИП НДП (1) в момент времени г = п — 1 необходимо провести оценку вероятности р* того,
что будущее значение НДП 5 >( ^ + Д) или оценку вероятности р— того, что будущее значение НДП
t+p
<(^ + Д), где р = 1,...,г есть время упреждения, а р* + р— = 1. Если оценки вероятностей р]+р= р—+ = 1/2 (ситуация неопределенности), то
прогноз не делается. Величина (5 + Д) является
разделительной границей интервалов, где величина Д определяется по формуле (5).
Среда разработки и требования к программному обеспечению
Для создания ПК «ИП НДП» был выбран свободно распространяемый интерпретируемый язык программирования для статистической обработки данных R [7]. Язык программирования R представляет собой консоль последовательного ввода команд и не удобен для разработки сложных алгоритмов. Для этой цели существуют различные оболочки (среды разработки) к нему. В качестве наиболее оптимальной была выбрана среда RStudio [6]. Любые реализованные на языке R алгоритмы является кроссплатформенными и способны работать в 32/64-битных операционных системах типа Microsoft Windows/Linux.
К ПК «ИП НДП» предъявлялись следующие требования:
- наличие графического объектно-ориентированного интерфейса взаимодействия с пользователем;
- возможность загрузки исходных данных по НДП из файлов формата CSV и DAT;
- возможность сохранения преобразованных данных по НДП в файл формата DAT;
- возможность определения характеристик НДП после загрузки данных по НДП;
- возможность построения графика по значениям НДП;
- возможность проводить сглаживание простым скользящим средним значений НДП;
- возможность увеличения исходной выборки НДП;
- возможность выбора алгоритма ИП НДП (на основе АВСКМ или ВНС);
- возможность вручную устанавливать значения параметров выбранного алгоритма и осуществлять ИП НДП;
- возможность устанавливать значения параметров тестирования выбранного алгоритма и осуществлять тестирование ИП НДП;
- возможность вывода результатов тестирования ИП НДП;
- возможность определения времени выполнения ИП НДП и тестирования ИП НДП.
Для языка программирования R доступно множество различных пакетов расширения, позволяющих реализовать данные требования:
- gWidgets2 - позволяет реализовывать графический объектно-ориентированный интерфейс пользователя;
- RGtk2 - позволяет использовать дополнительные (расширенные) возможности графического объектно-ориентированного интерфейса пользователя;
- PNN - позволяет строить и обучать ВНС;
- tictoc - позволяет определять время выполнения алгоритмов и работать с таймером;
- cairoDevice - позволяет выводить графики в графическом интерфейсе пользователя.
Общая структура кода ПК «ИП НДП» на языке R приведена на рис. 1.
t=1
Загрузка вспомогательных пакетов расширения Инициализация глобальных переменных Функции и подпрограммы графического объектно-ориентированного ин
терфейса пользователя Общие функции для всех алгоритмов ГШ НДП Частные функции для алгоритма ИП НДП на основе АВСКМ Частные функции для алгоритма ИП НДП на основе ВНС Общие программные функции Основное тело программы
Рис. 1. Общая структура кода ПК «ИП НДП» на языке R
Описание программного комплекса «Интервальное прогнозирование нестационарных динамических показателей»
При запуске ПК «ИП НДП» появляется главное окно, посредством которого пользователь имеет доступа ко всем функциям и настройкам программы (рис. 2).
Кнопка «Загрузить данные» позволяет загрузить в оперативную память компьютера данные по НДП из файлов в формате CSV и DAT (возможен выбор формата файла) и в последующем работать с этими данными. После того как данные по НДП загружены, ПК «ИП НДП» позволяет рассчитать характеристики НДП при помощи нажатия на кнопку «Характеристики НДП» (рис. 3). Расчет этих характеристик производится по формулам (2)-(4).
График НДП можно просмотреть путем нажатия на кнопку «График НДП» (рис. 4).
Загруженные в память компьютера значения НДП можно сглаживать простым скользящим средним с заданным периодом сглаживания путем нажатия на кнопку «Сгладить НДП». Увеличивать объем исходной выборки НДП по алгоритму, основанному на генераторе псевдослучайных чисел, до заданного количества значений можно путем нажатия на кнопку «Увеличить объем исходной выборки НДП» и сохранять полученный в итоге НДП в файл формата DAT путем нажатия на кнопку «Сохранить данные по НДП».
Кнопка «Выбрать алгоритм ИП НДП» позволяет выбрать алгоритм ИП НДП на основе АВСКМ или на основе ВНС. По умолчанию выбран алгоритм ИП НДП на основе АВСКМ. После выбора алгоритма ИП НДП возможно задать параметры его работы путем нажатия на кнопку «Параметры алгоритма ИП НДП» (рис. 5). Более подробное описание этих параметров приведено в работе [2].
ПК "ИП НДП" 1 1=1 ' ■
Загрузить дгнные по НДП Выбрать алгоритм ИП НДП
Сохранить дгнные по НДП Параметры алгоритма ИП НДП
Характеристики НДП Выполнить ИП НДП
График НДП Параметры,тестирования алгоритма ИП НДП
Сгладить НДП Выполнить тестирование алгоритма ИП НДП
Увеличить объём исходной выборки НДП 0 программе,.,
Рис. 2. Главное окно программы
Рис. 3. Характеристики НДП
Рис. 4. График НДП
^ Параметры... öl
Выберите параметры алгортима ИП НДП:
|~о р изо нт уг режден ид (р): 1
Размер кластера (f): :
Параметр (Alpha): :
Параметр [Rd}: :
Параметр [Sigma): :|
За р. уст, знач. НДП: 46.59796
Ok
Рис. 5. Окно выбора параметров алгоритма ИП НДП
Алгоритмы ИП НДП на основе АВСКМ и ВНС имеют три общих параметра:
1) f - количество значений НДП в кластере,
f = 1,..., q;
2) a - коэффициент, влияющий на значение границы интервала (3), а е [ —1;1];
3) p - время упреждения, p = 1,..., r.
Алгоритм на основе АВСКМ имеет индивидуальный параметр R е(0;1] (допустимое значение коэффициента «линейного сопряжения»), а алгоритм на основе ВНС - индивидуальный параметр а е(0;1]
(отклонение Гауссовой функции нейронов первого скрытого слоя ВНС). Значения параметров подбираются эмпирически или на основании экспертного оценивания. На рис. 5 показано окно выбора параметров для алгоритма ИП НДП на основе АВСКМ, где поле «Параметр (Sigma)» недоступно для изменения, так как параметр имеет отношение к алгоритму ИП НДП на основе ВНС.
Для установки параметров тестирования выбранного алгоритма ИП НДП необходимо нажать кнопку «Параметры тестирования ИП НДП» и задать значения в соответствующих полях: «Начало периода тестирования» и «Конец периода тестирования». В поле «Тестовый период» (обозначается буквой w) значе-
ние рассчитается автоматически.
Для тестирования выбранного алгоритма ИП НДП с установленными параметрами необходимо нажать на кнопку «Тестирование алгоритма ИП НДП».
Метод тестирования и показатели тестирования описаны в работе [2]: L - число оправдавшихся прогнозов по модели; M - число ошибочных прогнозов по модели; PL = L x100/(L + M) - процент оправдавшихся прогнозов по модели; PM = Mx100/(L + M) - процент ошибочных
прогнозов по модели; PS - число случаев, когда прогноз по модели не делался; PPS = PS x100/(L + M + PS) - процент случаев, когда прогноз по модели не делался. При этом L +M + PS = w, PL + PM = 100, PPS < 100. Чем выше процент оправдавшихся прогнозов PL, тем точнее прогнозирование. Алгоритм ИП НДП имеет приемлемую точность прогнозирования, если показатель PL > 60. Если, PL < 50 модель нужно признать неадекватной. Вместе с тем желательно, чтобы процент случаев, когда прогноз не делался, был равен, либо стремился к нулю.
После завершения тестирования открывается окно с результатами тестирования, представленное на рис. 6.
Г^Й Результаты тестирования Алгоритма ИП НДП l4^ 1
[Показатель L: Л
Показатель М: 29
Показатель PS: 0
Показатель PL: I71
Показатель РМ: 29
Показатель PPS: 0
Тестовый интервал (знач.): 100
Загтраченное на ИП НДП время [сек.}: 4
Ок
Рис. 6. Результаты тестирования алгоритма ИП НДП
Краткую информацию о ПК «ИП НДП» можно получить при нажатии на кнопку «О программе...».
Тестирование программного комплекса «Интервальное прогнозирование нестационарных динамических показателей»
Учитывая коммерческий характер производственно-финансовых показателей организаций, в качестве подходящих и общедоступных примеров НДП был выбран ежедневный курс доллара США в рублях, предварительно сглаженный простым скользящим средним, его характеристики приведены на рис. 3.
Для тестирования были заданы: w = 100 (тестовый период в 100 интервалов), / = 3, < = 0,20 (выбран экспертным путем), ^ = 0,70 (выбран экспертным путем), а = 0, параметр р варьировался.
В табл. 1 приведены результаты тестирования алгоритма ИП НДП на основе АВСКМ.
Таблица 1
Результаты тестирования алгоритма ИП НДП на основе АВСКМ
В табл. 2 приведены результаты тестирования алгоритма ИП НДП на основе ВНС.
Таблица 2
Результаты тестирования алгоритма ИП НДП на основе ВНС
USD/RUR
Р 1 2 3 4 5 6
L 70 73 70 68 63 54
M 30 27 30 32 37 45
PS 0 0 0 0 0 1
PL 70 73 70 68 63 55
PM 30 27 30 32 37 45
PSS 0 0 0 0 0 1
Среднее время тестирование алгоритма на основе АВСКМ на тестовом периоде составило 4 с, алгоритма на основе ВНС - 90 с.
Из таблиц видно, что приемлемая точность ИП
НДП достигается при р = 1,...,5 . С увеличением
времени упреждения р точность ИП НДП падает
(увеличивается доля неопределенности (случайности) в значениях НДП при более отдаленном прогнозе). При выбранных параметрах алгоритмов лучшую точность ИП НДП на 1-5% демонстрирует алгоритм на основе ВНС. Однако алгоритм на основе АВСКМ работает значительно быстрее. Результаты тестирования ПК «ИП НДП» подтвердили возможность его практического применения, в том числе в системе поддержки принятия управленческих решений.
Статья поступила 06.03.2015 г.
USD/RUR
Р 1 2 3 4 5 6
L 71 71 68 63 60 54
M 29 29 32 37 40 45
PS 0 0 0 0 0 1
PL 71 71 68 63 60 55
PM 29 29 32 37 40 45
PSS 0 0 0 0 0 1
1. Журавлева Л.В. О проблеме прогнозирования временных рядов в экономике // Актуальные вопросы экономических наук. 2010. № 14. С. 20-27.
2. Краковский Ю.М., Лузгин А.Н. Адаптивная вероятностно-статистическая кластерная модель интервального прогнозирования нестационарных динамических показателей // Современные технологии. Системный анализ. Моделирование. 2015. № 1 (45). С. 116-121.
3. Краковский Ю.М., Лузгин А.Н. Прогнозирование стохастических нестационарных динамических показателей на основе математических моделей // Вопросы естествознания. 2014. № 2 (3). С. 42-50.
ческий список
4. Мартынов И.Э., Равлюк В.Г., Михалков С.В. Оценка виброакустики буксовых узлов // Мир транспорта. 2013. № 3 (47). С. 52-57.
5. Мельнов Д.В. Постановка проблем прогнозирования и управления финансовой устойчивости предприятия // Горный информационно-аналитический бюллетень (научно-технический журнал). 2007. № 7. С. 147-148.
6. Среда разработки приложений «RStudio» / Официальный сайт [Электронный ресурс]. URL: https://www.rstudio.com (02 марта 2015).
7. Язык программирования «R» / Официальный сайт [Электронный ресурс] URL: http://www.r-project.org (15 февр. 2015).