Научная статья на тему 'Разработка алгоритма поиска оптимальной модели'

Разработка алгоритма поиска оптимальной модели Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
285
71
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
МОНИТОРИНГ / ПРОГНОЗИРОВАНИЕ / АППРОКСИМАЦИЯ / ИНТЕРПОЛЯЦИЯ / КРИТЕРИИ ОПТИМАЛЬНОСТИ / MONITORING / FORECASTING / APPROXYMATION / INTERPOLATION / OPTIMALITY CRITERIA

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Шароватов Александр Сергеевич, Лоба Инна Сергеевна, Решетняк Михаил Геннадиевич

В статье рассмотрены вопросы прогнозирования многопараметрических систем. Представлен алгоритм поиска оптимальной модели

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Шароватов Александр Сергеевич, Лоба Инна Сергеевна, Решетняк Михаил Геннадиевич

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

development of optimal model search algorithm

In the article, some problems of multiparameter systems' state forecasting are reviewed. The algorithm of optimal model searching is given

Текст научной работы на тему «Разработка алгоритма поиска оптимальной модели»

УДК 004.41

РАЗРАБОТКА АЛГОРИТМА ПОИСКА ОПТИМАЛЬНОЙ МОДЕЛИ

Дьяченко Роман Александрович к.т.н., доцент кафедры Информатики Кубанский Государственный Технологический Университет, Краснодар, Россия

Шароватов Александр Сергеевич инженер

ОАО Конструкторское Бюро «Селена»

Лоба Инна Сергеевна

ст. преподаватель кафедры Информатики и ИТО Армавирская Государственная Педагогическая Академия, Армавир, Россия

Решетняк Михаил Г еннадиевич ассистент кафедры Информатики Кубанский Государственный Технологический Университет, Краснодар, Россия

В статье рассмотрены вопросы прогнозирования многопараметрических систем. Представлен алгоритм поиска оптимальной модели

Ключевые слова: МОНИТОРИНГ, ПРОГНОЗИРОВАНИЕ, АППРОКСИМАЦИЯ, ИНТЕРПОЛЯЦИЯ, КРИТЕРИИ ОПТИМАЛЬНОСТИ

В настоящее время для решения задач мониторинга и прогнозирования состояния различных технических объектов (в том числе объектов энергетики и ЖКХ) применяют различные методики (методы линейного регрессионного анализа, нейросетевые и нечёткие методы прогнозирования и т. д.). В процессе аппроксимации создается несколько моделей прогнозирования для определенного параметра. Так как все они дают разные результаты прогноза, возникает необходимость найти оптимальную модель среди построенных.

В [1] представлены основные современные методы прогнозирования. Основным недостатком приведенных методов является использования одного критерия для поиска оптимальных параметров модели

UDC 004.41

DEVELOPMENT OF OPTIMAL MODEL SEARCH ALGORITHM

Dyachenko Roman Aleksandrovich Cand.Tech.Sci., associate professor of the Computer Science Department

Kuban State Technological University, Krasnodar, Russia

Sharovatov Aleksandr Sergeevich engineer

Open Joint Stock Company Design Office "Selena" Loba Inna Sergeevna

senior lecturer of the Computer Science and Information Technology in Education Department Armavir State Pedagogical Academy, Armavir, Russia

Reshetnyak Michael Gennadievich assistant of the Computer Science Department Kuban State Technological University, Krasnodar, Russia

In the article, some problems of multiparameter systems’ state forecasting are reviewed. The algorithm of optimal model searching is given

Keywords: MONITORING, FORECASTING, APPROXYMATION, INTERPOLATION, OPTIMALITY CRITERIA

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

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

Стандартными аппроксимирующими зависимостями являются следующие [2]:

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

у( ) = a0 + a1 ■ 4

у(4) = a0 + a1 ■ t + a2 • 42 + ... + an ■ ^

у (/ )=^ ■ ^ 4

(1)

(2)

(3)

(4)

(5)

К таким критериям относятся [2]:

Я

Я2

1 _ £ (У - €)2

£ (у _ У)2

1 _ £ (у _ У)2 £ (у _ У)2

КМ8Е

£ (у _ €)2

N

МАЕ = £ у _ у

МАРЕ = £

У _ У

У

Я2 п _ т _ 1

1 _ Я2 т

£ (ег _ ег_1)2

= і=2_________________

N

£ Єг2

где значение уравнения регрессии;

у - среднее значение экспериментальных значений у; N п - количество экспериментов; т - количество факторов модели;

е =Уг - у .

(6)

(7)

(8)

(9)

(10)

(11)

(12)

г=1

Алгоритм поиска оптимальной модели по заданному критерию оптимальности и ограничениям по другим критериям состоит из следующих шагов:

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

2. Построение необходимых моделей.

3. Вычисление необходимых критериев оптимальности для каждой модели.

4. Определение моделей, удовлетворяющих заданным ограничениям по критериям.

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

Далее в тексте будем использовать обозначения и названия типов данных для языка программирования С# версии 4.0 [3].

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

Поиск оптимального значения среди критериев, а так же проверка значения критерия на соответствие ограничению осуществляются путём сравнения двух критериев одного типа и выбора критерия с оптимальным значением, причём для одних критериев оптимальным значением считается большее, для других - меньшее. Для сравнения значений критериев целесообразно перегрузить операторы сравнения “<” и “>”. Блок-схема оператора “<” представлена на рисунке 1.

Рис. 1. Блок-схема оператора “<” сравнения значений двух критериев cl, c2 - соответственно первый и второй сравниваемые критерии оптимальности (значения типа EstimationCriteria).

result - результат сравнения (переменная типа bool). cl.Direction - “направление” сравнения, определяется типом критерия (переменная типа bool). При Direction = true оптимальным является критерий с наибольшим значением, при false - наименьшим.

cl.Value, c2.Value - значения критериев оптимальности (переменные типа double).

Оператор “>” отличается использованием противоположных операторов сравнения - “<” меняется на “>” и наоборот.

Блок-схема алгоритма поиска оптимальной модели представлена на рисунке 2.

Рис. 2. Блок-схема алгоритма поиска оптимальной модели models - массив моделей, среди которых необходимо найти оптимальную (переменная типа Model).

models.Count - количество моделей в списке (переменная типа int). type - тип критерия, по которому следует выбирать оптимальную модель (переменная типа Type).

restrictions - словарь ограничений, где ключом каждого значения является его тип (ассоциативный массив пар типа Type, EstimationCriteria).

restrictions.Count - количество заданных ограничений (переменная типа int).

restrictions.Keys - типы заданных ограничений (массив элементов типа Type).

model - рассматриваемая модель (переменная типа Model). restricted - переменная, отражающая соответствие рассматриваемой модели заданным ограничениям (переменная типа bool).

ttype - тип рассматриваемого ограничения (переменная типа Type). model.Criterias - список критериев модели (массив элементов типа EstimationCriteria).

Операторы “<” и “>” - операторы сравнения критериев. Вышеописанный алгоритм реализован в программе “PredictPro”, написанной на языке C# в среде Microsoft Visual Studio 2010 на технологии .NET Framework 4.0 [2].

Принципы работы системы состоят в следующем:

• пользователь работает с проектом, в который можно добавлять наборы данных (представляют собой параметры).

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

логарифмическая, степенная, экспоненциальная.

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

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

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

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

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

• Проект может быть сохранён на любой носитель информации в виде XML-файла.

• Наборы данных могут быть экспортированы в Excel.

• Для любой модели может быть сгенерирован отчёт в виде PDF-файла.

Интерфейс системы представлен на рисунках 3, 4, 5.

Рис. 3. - Интерфейс системы “PredictPro” http://ej.kubagro.ru/2012/03/pdf/34.pdf

■ f Elti-берите параметры поиска опгима/t-ной модел/

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Критерии оптимизации

Бремя создания модели в миллисекундах Ограничение

Коэффициент корреляции (И) Ограничение

э Коэффициент детерминации -(132) Ц Ограничение

Среднеквадратическая ошибка (RM.SE) Ограничение

Максимальная абсолютная ошибка (МАЕ) Ограничение

Средняя абсолютная ошибка в процентах(МАРЕ) Ограничение

Критерий Фишера Ограничение

Критерий Ларбина-Уотсона Ограничение

ОК

Рис. 4. Меню выбора параметров поиска оптимальной модели

PredictPro [«=, | а ЫМ

Файл Помощь _ к У [Ж# JZ2 К»

_| L - ЬЬгый гроокт jJ _ Itefcop ланч-.*

_ П/ІІ-^ЙМЯЯ vr.Aftfb _ ГЬло-омиггьная недель

___ ГЪгаритми-еская ^одел=

__ * к cnoM^-ij'a льма я v-оделз

___ Стеле-і-гя модель

___ к спом t-i г льмо тепем -і з я модгл=

__ О миме. tMdH vcjejib (Koj a-iepr-vi-dunn (КД)

3 _ HdCct UdM-lsJt (2)

І Іл-ейная недель

___ 11V.aQ-OMHd; tHdll «СДСЛЬ

JІУІ dpniMH tCKdH VHHfcfJb

___ Jku lUM—ij'c.ibMdii подань

__ С Itf ls!-l-cH M J^z. b

__Экспонента льно -с тепеш з п модгп=

И _____ Нзбсс даг 1ЫХ (3)

__Ги еРмая vcacnu

__ ГЬлИ» OMrl,--| нля vr.Trni.

_ ГЬглрихми-гскля vo/югт •

_ Зкглот-І УГЛЫПЯ VfWfb # Гттн- І ГгЯ МП,'/ 1,

.'тКГЛОНЛ-і у? Л( .110 Г.ТҐПҐЛІ ПЯ МОПГгП

Наименование

Цвет

Визуализация Оценка модели

Время создания модели в милл Коэффициент корреляции {Я) Коэффициент детерминации {И! Среднеквадратическая ошибка Максимальная абсолютная оши Средняя абсолютная ошибка в г Критерий Фишера Критерий Дарбина-Уотсона Параметры модели

УГО

W1

W2

Степень погинома

Степень полинома Формула

Формула

Общий вид модели

Оптимальная модега (Коэффициен-■ Black Да

0.98810000000000009

0.99920753771177717 0.998415703420032Є1 1.0929957806877546 1.8857701603423323 0.061167163663655821 2205,6823237237791 2.7546402239656969

10.689971755735542 -4.8429865622866828 1.2590115318772988

= W0 W1-X + W2*X'l2+,..+Wn*X'n = 10.БЭ*Х"0 + -4,84*>П + 1,26*Х"2

График

Y - 10,69'ХЛ0 + -4,Й4’ХЛ1 - 1,26*ХЛ2

100

90

80

70

60

50

40

30

20

10

О

Набор данных

3.0000

4.0000

8.0000

3,0000

6

Оси X

Значения Функции

7.4233 12,0SSS

537350

07,1973

7,4921

11.4622

52.5228

69.0830

7 /

/ ж.

7*

J 7

— • 1 + . , f + + —1—.—.— —♦—♦—♦— —(—,—і—

Ошибки модели (Errors)

0.0688

0.6266

1.2121

1,8858

Рис. 5. Результат поиска оптимальной модели

На рисунке 5 продемонстрирован результат поиска оптимальной модели по критерию Я2.

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

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

Литература

1. Меламед А.М. Современные методы анализа и прогнозирования режимов электропотребления в электроэнергетических системах // Итоги науки и техники. Энерг. системы и их автоматизация. 1988. Т. 4.

2. Гайдышев И.П. Анализ и обработка данных: спец. справ. — СПб.: Питер, 2001. — 752 с.

3. Атрощенко В. А., Дьяченко Р. А., Шароватов А.С., Литвинов Ю.Н. Разработка алгоритма определения критического параметра ресурса технических систем // Научнотехнические ведомости СПбГПУ. 2011. № 3(126). С. 89-93.

i Надоели баннеры? Вы всегда можете отключить рекламу.