Содержание к диссертации
Введение
ГЛАВА 1. Методы, алгоритмы и программные средства, применяемые для построения моделей идентификации 15
1.1. Задача идентификации. Основные подходы и этапы её решения 15
1.2. Математическое обеспечение процесса построения моделей идентификации 18
1.2.1. Этап предварительной обработки данных 18
1.2.2. Этап построения модели 27
1.2.3. Этап оценки качества модели 34
1.3. Программные средства, применяемые для построения моделей идентификации 36
1.4. Постановка задачи диссертации 41
ГЛАВА 2. Методическое и математическое обеспечение процесса построения моделей идентификации 43
2.1. Методика построения моделей идентификации 43
2.2. Регуляризация исходных данных 47
2.3. Математическое обеспечение задачи нелинейной параметрической идентификации 54
2.3.1. Проблемы параметрической идентификации сугубо нелинейных зависимостей 54
2.3.2. Сравнительная характеристика методов оптимизации 57
2.3.3. Метод нелинейной параметрической идентификации 61
2.4. Комплексная оценка качества моделей идентификации 72
2.5. Структурная идентификация с использованием генетического программирования 78
2.6. Выводы по главе 2 82
ГЛАВА 3. Программно-методический комплекс для построения моделей идентификации 83
3.1. Общие требования к системе 83
3.2. Архитектура системы и инструменты разработки 84
3.3. Реализация методики построения моделей идентификации 88
3.4. Описание подсистем. Режимы работы 93
3.5. Использование вычислительных алгоритмов и численных методов.. 99
3.6. Выводы по главе 3 101
ГЛАВА 4. Апробация и внедрение программного комплекса 102
4.1. Экспериментальная проверка алгоритмов и методов на тестовых задачах 102
4.2. Применение программного комплекса для решения практических задач 110
4.3. Использование в учебном процессе 113
4.4. Возможные области применения 115
Заключение 117
Список литературы 120
Приложение
- Математическое обеспечение процесса построения моделей идентификации
- Программные средства, применяемые для построения моделей идентификации
- Проблемы параметрической идентификации сугубо нелинейных зависимостей
- Реализация методики построения моделей идентификации
Введение к работе
Актуальность. В различных областях научно-исследовательской и производственной деятельности человека встречается задача обработки экспериментальных данных с целью извлечения из них закономерностей, описывающих различные процессы и явления. Если изучающиеся закономерности представляются в виде математических моделей, они носят название моделей идентификации, а задача их восстановления – задачи идентификации. Для решения задачи идентификации разработано большое число методов. Однако, несмотря на это, задача по-прежнему далека от своего полного решения: в зависимости от конкретной ситуации применяются различные методы, выбор и правильное использование которых являются далеко не тривиальными. На ход решения задачи идентификации большое влияние оказывает человеческий фактор (знания, предпочтения, убеждения, личный опыт исследователя); многим процедурам, применяемым для восстановления математических зависимостей, свойственна низкая степень алгоритмизации. Среди наиболее актуальных проблем, связанных с задачей идентификации, можно выделить следующие: 1) отсутствие обобщённой алгоритмической схемы построения моделей идентификации, охватывающей все этапы этого процесса и унифицирующей выборы тех или иных алгоритмов и настройку их параметров; 2) недостаточное внимание к использованию на практике процедур предварительного анализа данных (игнорирование которых может не только усложнить решение задачи, но и привести к неадекватным, неустойчивым моделям); 3) отсутствие метода для разрешения дилеммы о дисперсии и смещении; 4) отсутствие критериев комплексной оценки качества построенных моделей; 5) трудности, возникающие при параметрической идентификации сугубо нелинейных моделей; 6) отсутствие автоматизируемого алгоритма структурной идентификации. Кроме того, следует также обозначить ещё одну проблему, носящую уже сугубо практический характер – отсутствие интегрированной программной системы построения моделей идентификации с поддержкой всех этапов процесса моделирования. Существующие программные пакеты, как правило, ориентированы или только на какой-то отдельный этап (например, корреляционный анализ данных), или же предназначены для решения узкого круга задач на весьма ограниченном множестве моделей (чаще всего линейных, внутрилинейных и полиномиальных). Пакеты, которые на рынке программного обеспечения позиционируются как универсальные, также несвободны от указанных недостатков: их универсальность приводит к тому, что для решения каждой отдельной подзадачи предлагаются только самые простые варианты, что явно недостаточно для практических целей. Наконец, многие из аналитических программных пакетов ориентированы на моделирование в социально-экономических дисциплинах, в которых стандарты моделирования и правила представления моделей сильно отличаются от принятых в физико-математических и технических областях.
Целью работы является повышение эффективности процесса построения математических моделей по результатам наблюдений за счёт повышения адекватности и устойчивости моделей путём усовершенствования вычислительных процедур и их автоматизации. Для достижения данной цели необходимо решить следующие задачи: 1) проанализировать достоинства и недостатки существующих в настоящий момент алгоритмов, методик и программных средств для построения моделей идентификации; 2) сформулировать обобщённую методику построения моделей идентификации; 3) разработать и реализовать эффективный метод, позволяющий разрешать дилемму о дисперсии и смещении; 4) разработать и реализовать метод параметрической идентификации нелинейных моделей, более эффективный, чем принятые на настоящий момент; 5) разработать критерий комплексной оценки качества моделей; 6) разработать и реализовать алгоритмическую процедуру структурной идентификации; 7) разработать интегрированную программную систему построения моделей идентификации и провести её испытания на тестовых и практических задачах.
Объектом исследования настоящей диссертации является процесс построения моделей идентификации. К предмету исследования относятся различные численные алгоритмы математической статистики, технологий Data Mining, нечётких вычислений, способы их применения для построения моделей идентификации, программные системы, выполняющие построение таких моделей. В качестве методов исследования в работе используются методы математического анализа и математической статистики, математического моделирования на ЭВМ, искусственного интеллекта, системного анализа, теории трансляции, теории регуляризации, теории алгоритмизации, методы оптимизации, численные методы, а также методы объектно-ориентированного анализа и проектирования систем.
Научная новизна работы состоит в следующем:
-
Сформулирована обобщённая методика построения моделей идентификации, унифицирующая порядок восстановления математических зависимостей, содержащая все основные этапы решения задачи (включая предварительную обработку данных, структурную и параметрическую идентификацию, оценку качества моделей), поддерживающая вариативность и итеративность процесса моделирования и позволяющая комплексно использовать известные ранее, а также новые алгоритмы и методы.
-
Модифицирован метод регуляризации данных, позволяющий частично нейтрализовать влияние случайных шумов.
-
Модифицированы и алгоритмизированы методы нелинейной параметрической идентификации и структурной идентификации; предложенная новая реализация методов позволяет повысить степень автоматизации процесса восстановления математических зависимостей по экспериментальным данным и расширить множество моделирования .
-
Предложен обобщённый критерий оценки качества моделей идентификации, помимо остаточной дисперсии учитывающий также информацию о сложности восстанавливаемой функции, что позволяет повысить адекватность моделей и улучшить их устойчивость за пределами обучающих выборок.
Достоверность и обоснованность научных положений и результатов, приведенных в диссертационной работе, обеспечиваются использованием апробированных на практике методов математического и компьютерного моделирования, искусственного интеллекта и аппарата нечётких вычислений, подтверждаются показателями эффективности работы созданного программного комплекса на тестовых массивах экспериментальных данных, а также результатами его функционирования при решении конкретных задач построения моделей по результатам наблюдений.
Основные положения диссертации, выносимые на защиту:
-
Обобщённая методика построения моделей идентификации.
-
Метод сглаживания исходных данных с использованием теории регуляризации.
-
Метод параметрической идентификации нелинейных моделей.
-
Метод комплексного оценивания качества моделей идентификации.
-
Метод структурной идентификации на базе генетического программирования и нечётких вычислений.
-
Программный комплекс построения моделей идентификации «Constellation», прошедший практическую апробацию и внедрение.
Практическая значимость:
-
Обобщённая методика моделирования поддерживает вариативность и итеративность процесса моделирования, включает в себя все основные этапы предварительной обработки данных, структурной и параметрической идентификации и оценки качества моделей, что позволяет её использовать при решении задачи идентификации на ЭВМ, обеспечивает свободный доступ ко всем промежуточным результатам вычислений и предоставляет возможность гибкого управления ходом процесса моделирования.
-
Разработан интегрированный программный комплекс, автоматизирующий широкий набор процедур и подзадач, связанных с идентификацией. Разработанные методика и программный комплекс удовлетворяют стандарту CRISP-DM, результаты моделирования сохраняются в XML-подобный формат файлов, совместимый со стандартом PMML.
По итогам данного исследования были разработаны методические указания к выполнению лабораторных работ по курсу «Моделирование систем». Созданный программный комплекс зарегистрирован в Общеотраслевом фонде алгоритмов и программ, внедрён в учебный процесс кафедры САПР и ПК ВолгГТУ, прошёл апробацию и внедрение в Физико-техническом институте им. А.Ф. Иоффе Российской академии наук и ООО «ЛУКОЙЛ-ВолгоградНИПИморнефть». Программный комплекс в целом и его отдельные составляющие могут применяться при решении задач инженерной практики, задач управления, научно-исследовательских и учебных задач, связанных с математическим моделированием физических процессов и технических систем.
Публикации. Основные положения диссертации отражены в 13 опубликованных работах. В том числе 3 статьи напечатаны в ведущих рецензируемых научных журналах и изданиях РФ, в которых ВАК рекомендует публикацию основных результатов диссертационных работ, получено 1 свидетельство об официальной регистрации программы для ЭВМ.
Апробация. Основные положения диссертации докладывались и обсуждались на научных семинарах кафедры «САПР и ПК» ВолгГТУ, а также на Международных, Всероссийских и региональных научных и научно-практических конференциях, в том числе «Информационные технологии в образовании, технике и медицине» (Волгоград, 2004); «Региональная конференция молодых исследователей Волгоградской области» (Волгоград, 2004, 2006, 2007); «Новые информационные технологии. Разработка и аспекты применения» (Таганрог, 2004); «Технологии Microsoft в теории и практике программирования» (Москва, 2005, Нижний Новгород, 2006); Intel Summer School Seminar 2008 (Intel, Нижний Новгород, 2008), «Прогрессивные технологии в обучении и производстве», (Камышин, 2008).
Математическое обеспечение процесса построения моделей идентификации
Этап предварительной обработки данных (препроцессинга) носит подготовительный характер и не является обязательным при построении моделей идентификации. Он подразумевает решение следующих подзадач: 1) восстановление пропущенных значений и первичный содержательный анализ данных; 2) проверка распределений исходных данных на нормальность; 3) приведение исходных распределений к нормальному виду; 4) стандартизация данных; 5) выявление аномальных значений и отсев погрешностей; 6) оценка наличия функциональной связи между изучаемыми величинами. К этапу предварительной обработки данных можно также отнести и стадию регуляризации [75]. Хотя её редко упоминают при построении моделей идентификации, она позволяет частично решить дилемму о смещении и дисперсии и, тем самым, повысить устойчивость модели. Как и этап препроцессинга в целом, отдельные его стадии также не являются обязательными. Часто исследователи пропускают проверку на нормальность, нормализацию и стандартизацию данных. Поскольку строгие критерии, в каких случаях проводить ту или иную процедуру и какой при этом использовать метод, отсутствуют, качество и общий ход предварительной обработки данных во многом зависят от компетентности исследователя и обоснованности принимаемых им решений. Но нужно помнить, что в большинстве случаев предварительная обработка данных может существенно уп ростить дальнейшую работу по построению моделей и сделать её результаты более адекватными. 1. Восстановление пропущенных значений и первичный содержательный анализ исходных данных.
Исходные матрицы наблюдений могут содержать ошибочные значения, а также строки (наблюдения), в которых пропущены значения нескольких столбцов (переменных). Ошибки, присутствующие в матрице, могут быть двух родов: заведомо неправильные наблюдения (например, текстовое значение вместо числового, или значение, противоречащее природе изучаемого явления) и аномальные значения. Последние также называются ошибками наблюдения, ошибки же первого рода по большей части являются ошибками фиксации [56, 104]. Разная природа этих ошибок подразумевает и разные методы их обработки, причём для ошибок фиксации и пропущенных значений применяются одни и те же алгоритмы. Наименее трудоёмкой операцией над ошибками фиксации и пропущенными значениями является их удаление. Но так как из матрицы наблюдений можно удалять только строки целиком, это может привести к потере части полезной информации. В [104] приводятся три способа замещения пропущенных или некорректных значений: 1) замещение некоторым заранее заданным значением; 2) замещение средним выборочным значением; 3) замещение значением, сгенерированным случайным образом по тому же закону, по которому распределена и исходная выборка. При использовании первого способа исходное распределение данных может сильно исказиться за счёт смещения среднего выборочного в сторону замещающего значения. Во втором случае чрезмерное замещение средним выборочным может уменьшить дисперсию выборки, что приведёт к некорректным результатам на последующих этапах моделирования (например, при обнаружении аномальных значений). Наконец, чтобы применить третий метод, нужно хотя бы приблизительно знать, по какому закону распределена анализируемая выборка. Кроме того, в этом случае в матрице наблюдений возмож но появление строк, противоречащих природе изучаемого явления [104].
Из вышесказанного видно, что все три способа не восстанавливают, а имитируют информацию, и всегда существует ненулевая вероятность того, что она окажется некорректной. После того, как будет получена корректно заданная матрица наблюдений (без пропущенных и без заведомо неправильных значений), полезно проверить имеющиеся данные на однородность. В том случае, если матрица содержит неоднородные данные, имеет смысл разделить её на несколько матриц, внутри каждой из которых данные будут однородными, и в дальнейшем обрабатывать эти матрицы отдельно. Существуют как статистические методы разбиения на однородные группы [61], так и основанные на нейронных сетях (алгоритмы кластеризации) [3, 16, 75]. Рекомендуется также провести визуальный анализ данных, чтобы изучить картину исходных распределений. Для этого необходимо построить их гистограммы. В [56] приводится следующая формула для определения числа классов, на которое разбивается выборка при построении гистограмм и т.п.: большое число методов построения математических моделей, которые чувствительны к виду распределения исходных данных, и в том случае, если это распределение сильно отличается от эталонного, результаты моделирования могут оказаться неадекватными.
Чаще всего в качестве эталонного используется нормальное распределение. В [56] описываются пять методов для проверки нормальности исходных данных: 1) метод среднего абсолютного отклонения (САО); 2) метод размаха варьирования; 3) использование показателей асимметрии и эксцесса; 4) оценка с помощью -критерия; 5) оценка с помощью критерия Колмогорова — Смирнова (К — С-крите-рий). Метод САО применим для небольших выборок размером 7V 120. Метод размаха варьирования можно применять для более широкого класса выборок (3 N 1000), но в [56] не указано, каким образом можно рассчитать критические значения оцениваемых статистик. Метод, основанный на показателях асимметрии и эксцесса, прост в реализации и при этом подходит для выборок любого размера. Критерий %2 позволяет получить более точную оценку нормальности выборочного распределения, но существенно сложнее для реализации на ЭВМ. Наконец, метод, основанный на критерии Колмогорова -Смирнова, требует ещё более сложных вычислений, из-за чего на практике используется редко. В [56] делается вывод, что для приблизительной оценки лучше всего воспользоваться показателями асимметрии и эксцесса (при не
Программные средства, применяемые для построения моделей идентификации
В настоящее время создано большое количество программных пакетов, предназначенных для анализа данных, в том числе, и для построения моделей идентификации. Однако, как будет видно из представленного ниже обзора, в большинстве случаев их функциональности недостаточно для полноценного решения задачи идентификации и построения широкого класса адекватных моделей. Материалы для обзора взяты из [3] и [99]. [99] представляет собой электронный ресурс, полностью посвященный современному программному обеспечению Data Mining, на нём зарегистрировано подавляющее большинство приложений для анализа данных, выпускающихся в настоящее время, так что представленные здесь обзоры дают достаточно полное и точное представление о ситуации в сфере индустрии аналитических программ в целом.
Оценку программных систем проведём по следующим показателям: 1) сфера приложения; 2) мощность моделирования; 3) наличие автоматизированной процедуры структурной идентификации; 4) полнота функциональности, предоставляемой для построения моделей идентификации; 5) реализация вспомогательных процедур (подготовки данных); 6) наличие сервисных функций и удобного интерфейса пользователя; 7) поддержка современных стандартов унификации процесса и представления результатов моделирования; 8) доступность (открытость, возможность и условия приобретения, цена); 9) способ реализации (отдельный программный продукт, скомпилированная библиотека классов и функций, исходные коды и т.п.). Как видно из таблицы 1.1, только 9 приложений узкой специализации ориентированны на построение регрессионных моделей, и ещё 4 выполняют анализ временных рядов, используя схожие методы. При этом, как в случае приложений узкоспециализированных, так и в случае многофункциональных приложений выполняется построение линейных или полиномиальных моделей. Очень немногие программы поддерживают параметрическую идентификацию внутрилинейных и сугубо нелинейных моделей, достоверная же информация о том, что какая-то из систем выполняет автоматизированную структурную идентификацию, отсутствует. Большинство проанализированных программ ориентированы либо на построение моделей общего класса, что не позволяет учитывать специфику конкретной предметной области, либо на анализ данных в финансовых, управленческих и социальных сферах. Кроме того, системы, строящие регрессионные модели, реализуют далеко не все методы, которые необходимы для полномасштабного исследования.
В целом, из проанализированных систем только MATLAB может быть признан эффективным программным инструментом для построения моделей идентификации в естественнонаучных и технических дисциплинах. В то же время, как видно таблицы, существующие системы обладают большим набором сервисных функций, многие из которых уже стали стандартом де-факто в данной области. Таким образом, общее развитие технологий Data Mining позволило сформировать решения для проектирования аналитических программных систем. Поддержка стандарта CRISP-DM, работа с исходными табличными данными, представленными в разных форматах, методология организации процесса построения моделей, формат представления моделей, поддержка встроенных языков — всё это необходимо учитывать при создании новых аналитических программ. Как было показано в сравнительной таблице, помимо Windows-приложений существуют и решения Data Mining для Linux, многие продукты оформляются в виде скомпилированных библиотек, исходных кодов или языков, встраиваемых в программные комплексы третьих производителей. Очевидно, что следующим шагом в развитии аналитических систем станет распараллеливание в них вычислительных процессов, что позволит ускорить обработку больших массивов данных (в системе Oracle Data Mining такое распараллеливание уже реализовано). Ещё одним направлением дальнейших работ в этой области может стать расширение стандарта PMML и внедрение его в большинство аналитических программ. Стандарт был разработан для унификации представления результатов моделирования, и в настоящее время он опубликован в версии 3.2 [118]. Формат PMML основан на языке XML и удовлетворяет всем правилам его грамматики. Стандарт разрабатывался так, чтобы была возможность отображать результаты построения моделей самого разного вида: деревьев решений, ассоциативных правил, классификаторов, регрессионных моделей (моделей идентификации) и т.д. Помимо информации о самой модели, в язык PMML включены элементы для описания предварительной обработки данных, источника данных и т.п. Однако, позволяя описывать в общих чертах очень широкий класс моделей, формат PMML, вместе с тем, не подходит для более детального их описания, которое очень часто требуется специалистам. Например, для моделей идентификации в PMML существуют способы записи только линейных и полиномиальных моделей. Из всех процедур предварительной обработки данных описывается только преобразование дискретных и нечисловых величин в непрерывные числовые. Очевидно, что таких ограниченных возможностей совершенно недостаточно для эффективного представления результатов моделирования.
Целесообразным представляется расширение стандарта (той его части, которая имеет отношение к моделям идентификации), однако нужно помнить, что стандартом в настоящее время является именно PMML 3.2, и разработчики программного обеспечения должны поддерживать совместимость своих представлений моделей с базовым вариантом PMML. Целью настоящей работы является повышение эффективности процесса построения математических моделей по результатам наблюдений за счёт повышения адекватности и устойчивости моделей путём усовершенствования процедур предварительной обработки данных, параметрической и структурной идентификации, а также за счёт автоматизации широкого спектра подзадач, решение которых является обязательным условием решения задачи идентификации в целом. Для достижения данной цели необходимо решить следующие задачи: 1) проанализировать достоинства и недостатки существующих в настоящий момент алгоритмов, методик и программных средств для построения моделей идентификации; 2) сформулировать обобщённую методику построения моделей идентификации; 3) разработать и реализовать метод, позволяющий разрешать дилемму о дисперсии и смещении; 4) разработать и реализовать метод параметрической идентификации нелинейных моделей, более эффективный, чем принятые на настоящий момент; 5) разработать критерий комплексной оценки качества моделей; 6) разработать и реализовать алгоритмическую процедуру структурной идентификации; 7) провести лабораторные испытания разработанных алгоритмов; 8) разработать программную систему построения моделей идентификации, реализующую широкий набор методов и средств для решения данной задачи.
Проблемы параметрической идентификации сугубо нелинейных зависимостей
Как и в случае линейного и псевдолинейного моделирования, идентификацию моделей, нелинейных по параметрам, можно выполнить методом наименьших квадратов, приравнивая к нулю частные производные. В результате получается система нелинейных уравнений, общего аналитического метода решения которой не существует. Применение же численных методов на практике часто оказывается неэффективным вследствие общих недостатков, присущих этим методам: 1) успешность применения того или иного метода зависит от качества начального решения-приближения, используемого на первом шаге итерационного процесса: многие методы эффективны только в том случае, если начальное решение выбрано достаточно близко от искомого результата; 2) в отличие от одномерного случая (решение одного независимого нелинейного уравнения) нельзя быть абсолютно уверенным, что корень системы находится на той ограниченной области, где происходит итерационный процесс; 3) согласно теореме о неявной функции [114] нельзя быть также абсолютно уверенным, что система имеет строго одно решение: может оказаться, что она имеет несколько решений или же вообще их не имеет. Перечисленные выше аспекты отрицательно сказываются на численной устойчивости методов и скорости их сходимости к конечному решению. Помимо этого, дополнительные трудности возникают вследствие самой струк туры задачи параметрической идентификации. Так, для решения системы (1.9) необходимо, чтобы функция F, параметры а которой мы ищем, была дважды дифференцируема в области поиска решения. Однако в общем случае мы не можем быть уверены, что это условие будет выполняться. Кроме того, даже если вторая производная функции F существует на всём интересующем нас множестве, вычисление её и первой производной может оказаться трудоёмкой с численной точки зрения задачей. Надеяться на изобретение более эффективных численных методов также не приходится - в [114] показано, что все издержки численных методов решения систем нелинейных уравнений обусловлены самой природой задачи (многомерность и нелинейность), а не принципиальными недостатками методов.
Таким образом, встаёт вопрос о поиске альтернативных, более эффективных с практической точки зрения способов нелинейной параметрической идентификации. Используя трактовку задачи идентификации как задачи оптимизации, для вычисления значений параметров моделей можно воспользоваться методами поиска экстремальных значений, основанными на вычислении значений функций, а не их производных. Минимизируемой функцией в данном случае будет сумма квадратов невязок: Преимуществом оптимизационного подхода по сравнению с традиционным методом наименьших квадратов являются менее строгие ограничения, накладываемые на вид функции моделирования. Кроме того, использование традиционного метода требует предварительного составления системы нормальных уравнений (1.9) для каждой функции моделирования, вывода выражений для первой и второй производных и т.п. Подход, основанный на применении методов оптимизации, в этом отношении гораздо более универсален. Одна и та же алгоритмическая процедура без предварительных вычис лений, выполняемых человеком, может быть использована для очень широкого класса математических зависимостей. В литературе встречаются упоминания о решении задачи параметрической идентификации с использованием методов Нелдера-Мида и RRR [10, 111]. Эти методы хорошо себя зарекомендовали при решении различных задач, где традиционный МНК не давал приемлемых результатов, но на их примере можно также показать и типичные недостатки методов оптимизации с точки зрения идентификации математических моделей.
Так, алгоритм Нелдера-Мида является методом локальной оптимизации. Это означает, что решение, найденное им, может располагаться достаточно далеко от глобального оптимума минимизируемой функции. Также, алгоритм Нелдера-Мида эффективно работает при размерности пространства поиска к 6 (в нашем случае для функций, у которых число параметров меньше 6). Наконец, метод RRR, представляющий собой метод глобальной оптимизации на дискретной сетке, сильно ограничен в точности при большом числе входных переменных. Если мы рассматриваем стандартизованную величину, значения которой заключены на отрезке [-4; +4] (см. п. 1.2.1), и точность вычислений равна 10 , число узлов в дискретной решётке будет равно 801. В случае двух переменных узлов уже будет 641 601, трёх переменных - приблизительно 5,14- 108. Как видим, объём необходимых вычислений растёт по экспоненте.
Основываясь на вышесказанном, можно сформулировать следующие критерии оценки эффективности методов оптимизации с точки зрения нашей задачи: 1) глобальная оптимизация - метод должен выдавать в качестве ответа глобальный оптимум функции или решение, приемлемо близкое к нему с практической точки зрения; 2) скорость работы — метод должен обладать хорошей скоростью сходимости, он не должен сводиться к полному перебору (другими словами, сложность метода должна быть меньше экспоненциальной); 3) точность вычислений - точность метода должна быть достаточной для практического применения; 4) корректное завершение - при корректной постановке задачи метод должен корректно завершать свою работу, он не должен прерываться вследствие возникновения исключительной ситуации; 5) достоверность результата — при одинаковых входных данных метод должен выдавать одинаковые выходные данные; 6) область применения — метод должен быть применим как к можно большему множеству функций моделей F(d,X), независимо от их дифференцируемости, наличия разрывов и т.п. Оценим по данным критериям описанные в литературе [1, 10, 11, 78, 79, 82, 84, 88, 94, 97, 111, 112, 114, 115, 116, 119, 120, 122, 123, 129] методы оптимизации, чтобы сформировать базис для построения алгоритма нелинейной параметрической идентификации. Ниже в таблице 2.1 приведён сравнительный анализ методов оптимизации. По его результатам можно сделать вывод, что наиболее предпочтительным среди методов локальной оптимизации является метод Нелдера-Мида. Для пространств высокой размерности можно использовать алгоритм hill climbing - несмотря на низкую скорость сходимости в своём базовом варианте, он может применяться для функций любого вида и прост в реализации и отладке. Для глобальной оптимизации целесообразно воспользоваться алгоритмом имитации отжига или его модификациями.
Реализация методики построения моделей идентификации
В рамках разработанной программной системы для лингвистического обеспечения описанной в главе 2 методики моделирования были введены следующие понятия. Явление (phenomenon) - некоторый процесс (явление, система, объект) реального мира, изучаемый пользователем. Источник данных (data source) - представленные на ЭВМ экспериментальные данные об изучаемом явлении. Между явлением и источником данных установлено отношение «один к одному», то есть каждому явлению может соответствовать только один источник данных (это ограничение было введено для упрощения системы). Физически источник данных представляет собой таблицу базы данных (или файловый источник данных), в которой хранятся результаты экспериментов. Переменная (variable) - какая-либо сторона изучаемого явления, его отдельный фактор. Физически переменные - это столбцы в источнике данных, сопоставленном явлению, причём не все столбцы должны входить в список переменных явления, а только те, которые интересуют пользователя. Ниже в листинге 3.1 представлено XML-описание явления. Процесс моделирования начинается с формирования первичного набора данных (primary data set). Пользователь выбирает те переменные явления, которые интересуют его в настоящий момент (от 1 до т, где т - общее число переменных в явлении). Данные по соответствующим столбцам, загруженные из источника данных, и представляют собой первичный набор данных, который, таким образом, является непустым (и не обязательно собственным) подмножеством экспериментальных данных явления. Первичные наборы данных могут содержать пропущенные и заведомо некорректные значения. Корректно заполненную матрицу наблюдений, освобождённую от таких значений, будем называть экспериментом (experiment). Так как преобразование первичного набора данных в эксперимент может осуществляться различными способами, одному и тому же первичному набору данных может соответствовать несколько экспериментов.
Введём также понятия вычислительной операции и вычислительного документа (processing operation и processed document). Вычислительной операцией будем называть какую-либо логически завершённую и самостоятельную стадию моделирования, а вычислительным документом входные и выходные данные вычислительных операции. Каждый документ характеризуется вычислительной операцией, в результате которой он был получен (порождающая операция - generating operation), и исходным документом (документами), к которому (которым) эта операция была применена (порождающий документ - generating document). Будем выделять следующие операции: проверку на нормальность, нормализацию, стандартизацию, отсев аномальных значений, корреляционный анализ, формирование подмножества входных факторов, регуляризацию, построение модели и оценку качества модели. В соответствии с данными выше определениями эксперимент (точнее говоря, его корректная матрица наблюдений) также является документом. Будем называть эту матрицу исходной матрицей наблюдений (initial matrix). На каждый тип операций и документов наложены ограничения, к каким документам они могут применяться и какими операциями порождаться. Эти ограничения представлены ниже в таблицах 3.2 и 3.3. Таким образом, процесс моделирования в системе представляется как применение тех или иных операций над допустимыми документами.
Так как ко многим типам документов можно применять различные операции (а для одной и той же операции можно задавать разные настройки), множество документов, выводимых из одного и того же эксперимента, выстраивается в дерево, в корне которого находится начальная матрица наблюдений эксперимента. Различные ветви этого дерева соответствуют различным ветвям процесса моделирования, а так как все документы, сгенерированные системой, сохраняются, в любой момент времени пользователь может вернуться к старым документам и начать новую ветвь построения моделей. Кроме того, в системе для документов сохраняется, какими документами и какими операциями (параметры операций) они были порождены. Благодаря этому для любого документа можно проследить всю его историю - на каких именно данных и при каких параметрах он был получен, какие стадии моделирования предшествовали текущей стадии и т.д.