УДК 681.3
А. Н. Умеров, В. Ф. Шуршев Астраханский государственный технический университет
МЕТОДЫ И ПРОГРАММНЫЕ СРЕДСТВА АППРОКСИМАЦИИ ЭКСПЕРИМЕНТАЛЬНЫХ ДАННЫХ
Введение
Современный уровень развития науки требует проведения широкомасштабных экспериментов и связан с обработкой большого количества результатов измерений, которая не представляется возможной без применения современных средств вычислительной техники и соответствующих методов анализа накопленных данных.
Под аппроксимацией понимается замена одних математических объектов другими, в том или ином смысле близких к исходным [1, с. 848]. В данном случае широкое понятие аппроксимации будет использоваться в узком смысле - как «восстановление функциональной зависимости по экспериментальным данным». Проведение какого-либо эксперимента является частью задачи моделирования, ставящей целью использование построенной модели для практического применения (выполнения расчетов различных устройств, установок) или для дальнейшего развития какой-либо теории естественных наук.
Постановка задачи
Для аппроксимации экспериментальных данных необходимо выделить совокупность модели, метода, программного средства, которые адекватно отражают опытные данные и могут быть использованы для практического применения на различных этапах расчета, моделирования или проектирования различных объектов; провести обзор и анализ существующих подходов, моделей, методов аппроксимации; обосновать выбор применяемого метода; выбрать способ реализации программной системы для выполнения аппроксимации.
Аппроксимация в концепции добычи данных
Сложившаяся на основе практического применения разнообразных методов концепция добычи данных (ДД) (Data Mining) [2] объединяет методы по извлечению знаний из экспериментальных данных. При этом концепция ДД включает в себя использование не только совокупности математических методов, но и определенного инструментария (например, баз данных [3]), так как применение математических методов для обработки огромных накопленных массивов данных (называемых также хранилищами данных - warehouse) без средств вычислительной техники не представляется возможным.
Аппроксимация в концепции ДД возможна при отсутствии или лишь частичном знании законов (физических, химических, экономических и т. д.), которым подчиняется исследуемый процесс.
Для анализа экспериментальных данных и последующей аппроксимации необходимо применить один из двух подходов [2]:
1. Подход, опирающийся на существующую теоретическую базу (Theory-Driven), которая привязана к конкретной предметной области. В этом случае для решения задач аппроксимации достаточно применения методов регрессионного анализа (полиномиальная аппроксимация, экспоненциально-степенная аппроксимация, гармонический анализ и т. д.), что согласуется с этапами математического моделирования [4, 5]. Это означает, что в результате аппроксимации выполняется обобщение накопленных данных и получение аппроксимирующей зависимости. В таких случаях задача аппроксимации данных - получение функциональной зависимости для вычисления коэффициентов уравнения, характеризующих исследуемый процесс. Полученные коэффициенты затем могут использоваться для реализации более сложных расчетов посредством ЭВМ.
2. Подход, основанный на извлечении информации из собранных экспериментальных данных (Data-Driven), теория в этом случае по большей части отсутствует или является неполной. Данный подход также может применяться для выявления в теории возможных противоречий с экспериментальными данными. При этом не выдвигаются предположения о законах, которым подчиняется анализируемый процесс, а используется исключительно информация, содержащаяся в имеющихся данных.
Классификация моделей аппроксимации
Под моделью аппроксимации будем понимать то, модель какого вида используется для нахождения аппроксимирующей зависимости или для построения прогнозирующей модели. Основным отличием прогнозирования от аппроксимации является то, что при прогнозировании учитывается фактор запаздывания (при аппроксимации получаются одномоментные уравнения, а при прогнозировании - разностные). Каждому виду модели также соответствуют определенные алгоритмы аппроксимации.
1. «Белый ящик» - вид модели, который основывается на первом подходе анализа и аппроксимации (использование регрессионного анализа).
2. «Черный ящик» - вид модели, основанный на принципах второго подхода, в качестве инструментария аппроксимации выступает аппарат нейросетевых и генетических алгоритмов, часть алгоритмов метода группового учета аргументов (МГУА). Принципы работы нейронных сетей (НС) [6, 7] и генетических алгоритмов (ГА) [3, 8] известны, но полученную в результате модель сложно, а в большинстве случаев невозможно использовать для извлечения информации о теоретической стороне изучаемого процесса [2, 9]. Такого рода модели нашли успешное применение для решения экономических, социальных и биологических задач прогнозирования и аппроксимации. Основной причиной этого является высокая сложность протекающих процессов и отсутствие исчерпывающей теории.
3. «Серый ящик» - вид модели, внутренняя структура которой известна лишь частично [10], и расширение и дополнение теоретической модели осуществляется применением, например, нейросетевых и генетических алгоритмов.
Ряд методов (НС, ГА, МГУА) может применяться при составлении моделей различных видов, в результате получение аппроксимирующих зависимостей (моделей) будет осуществляться различными способами.
Для простоты будем называть вышеперечисленные модели просто «белыми», «черными» и «серыми» моделями аппроксимации соответственно.
Далее методы ГА, НС и МГУА будут рассмотрены более подробно в сфере их применения для решения задач аппроксимации.
Регрессионный анализ. Регрессионным анализом называют раздел математической статистики, объединяющий практические методы исследования регрессионной зависимости между величинами по статистическим данным, т. е. зависимости среднего значения случайной величины от некоторой другой величины или группы величин. Регрессионный анализ направлен на поиск стохастической зависимости, в отличие от поиска функциональной зависимости, который направлен на моделирование причинно-следственных связей.
Методы аппроксимации обычно основаны на двух подходах: минимизация суммы квадратов отклонений либо минимизация суммы модулей отклонений [4].
Генетические алгоритмы и нейронные сети. Идея генетических алгоритмов была предложена John Holland [2] в 70-е гг. XX в., а первая реализация генетических алгоритмов для решения задачи оптимизации параметров была предложена Ken De Jong. Генетические алгоритмы, с одной стороны, объяснили принцип действия механизмов природной эволюции, а с другой -позволили воспроизвести эти механизмы в искусственных программных системах для решения сложных задач поиска и оптимизации.
Генетические алгоритмы являются методами случайного поиска, основанными на принципе теории природной эволюции «выживает сильнейший» и механизмах природной генетики. Хотя генетические алгоритмы используют случайный поиск, это не значит, что решение также является случайным. Обход пространства поиска осуществляется на основе накопленной «исторической» информации, затем осуществляется поиск наилучших точек решения.
При решении задач аппроксимации возможно различное применение генетических алгоритмов [11]:
- непосредственное нахождение коэффициентов при переменных аппроксимирующей функции;
- нахождение символического представления аппроксимирующей функции;
- построение модели протекающего процесса.
Для непосредственного нахождения коэффициентов необходимо обладать достаточной информацией об исследуемом процессе, в том числе о форме функции, которую придется аппроксимировать. В данном случае
хромосома составляется из коэффициентов, значения которых необходимо оптимизировать для того, чтобы максимально приблизить аппроксимирующую функцию к экспериментальным результатам.
Для нахождения символического представления (символическая регрессия) не требуется информация об исследуемом процессе, и хромосома представляется в виде дерева из переменных, констант и операций. Такой подход является реализацией генетического программирования -в процессе поиска решения строится программа, решающая задачу аппроксимации (хромосома). В результате работы алгоритма находится заданное количество символических представлений аппроксимирующей функции.
Если для построения модели используется аппарат искусственных нейронных сетей (моделируется нейронная сеть с заданным количеством входных и выходных нейронов и заданным количеством слоев), то в этом случае генетические алгоритмы могут использоваться для обучения нейронной сети (назначения весов) [6].
Генетические алгоритмы позволяют эффективно решать задачу аппроксимации даже при наличии в анализируемом процессе нелинейных закономерностей и получить функциональную зависимость способом, учитывающим влияние переменных величин.
Модели, созданные на основе ГА и НС, обычно относятся к «черным» (реже к «серым») моделям аппроксимации, так как в большинстве случаев извлечение информации о теории аппроксимируемого процесса является излишне трудоемким или вообще невозможным процессом [2, 8].
Метод группового учета аргументов. МГУА [2, 10] нашел широкое применение во многих областях, в том числе и для решения задач аппроксимации и прогнозирования. МГУА основывается на применении разнообразных алгоритмов (параметрические алгоритмы, непараметрические алгоритмы кластеризации, комплексирования аналогов, ребинаризации, вероятностные алгоритмы) и подхода самоорганизации, основанном на переборе постепенно усложняющихся моделей и выборе наилучшего решения согласно минимуму внешнего критерия.
МГУА первоначально разделяет цели моделирования на две группы: для выяснения сущности объекта исследований или для решения динамических задач, учитывающих фактор времени и связанных с процессами или временными последовательностями. Для решения задач первого класса используются истинные модели («белые» и «серые» модели аппроксимации), для решения задач второго класса - прогнозирующие модели («черные» модели аппроксимации). Различия истинных и прогнозирующих моделей приведены в таблице [9].
Отличия между истинными и прогнозирующими моделями
Истинная модель Прогнозирующая модель
Основана на физических законах, таких как закон сохранения энергии или массы, принципе непрерывности или ближнего действия Получается при помощи алгоритмов самоорганизации, т. е. в результате перебора многих моделей-претендентов по внешним критериям
Построена для мгновенных значений переменных Построена для любых усреднений
Имеет малое число легко интерпретируемых параметров Содержит оптимальное число параметров, причем многие из них трудно интерпретировать (объяснить с точки зрения, например, физики)
Выбор применяемого метода аппроксимации
Выбор применяемых методов аппроксимации зависит от того, для какой цели она будет выполняться: для уточнения (подтверждения) теории модели или для создания программы (программно-аппаратного комплекса) по расчету, который выполняется в условиях реального времени с неизбежно присутствующими помехами. Для уточнения теории модели является целесообразным использование методов самоорганизации (МГУА и его аналоги), что позволит избежать переусложнения модели. Если же экспериментальные данные являются зашумленными, то выбор нефизической модели (НС, ГА) будет более благоприятным для составления программной системы, действующей в неидеальных условиях. Возможным является также совместное использование истинной и прогнозирующей моделей на различных стадиях исследования процессов (проведения экспериментов).
Программные системы для выполнения аппроксимации
Программные системы для выполнения задач аппроксимации могут быть реализованы несколькими различными способами [2, 4]:
1. Составление самостоятельного приложения, для работы которого требуется только компьютер с установленным программным обеспечением.
2. Исполнение программы в виде надстройки к одной из популярных программ электронных таблиц или персональной системе управления базами данных либо поставка функций в составе динамически подключаемых библиотек.
3. Выполнение программы в виде апплета или сценария либо разработка трехзвенной интранет-системы.
4. Написание модулей на встроенных языках систем для выполнения математических расчетов (МаШетайса, MathLab и т. д.).
5. Составление моделей в системах анализа данных (Ро1уАпа^, NeuroShell2 и т. д.)
Программные средства рассматриваются в разрезе выполнения задач аппроксимации и прогнозирования, даже если они являются более функциональными.
KnowledgeMiner. Программный продукт KnowledgeMiner разработан компанией Script Software и предназначен для выполнения самоорганизующейся добычи данных и решения задач прогнозирования. В программном продукте KnowledgeMiner реализованы следующие методы моделирования для решения задач аппроксимации и прогнозирования:
- МГУА (в том числе и в собственной модификации [2]);
- метод комплексирования аналогов.
Реализация МГУА обеспечивается построением сети активных нейронов наименьшей возможной сложности и позволяет создавать линейные (нелинейные, статические) динамические модели в виде системы уравнений даже на основе коротких и зашумленных наборов данных. Имеется также возможность аналитического описания всех полученных моделей.
Программный продукт разработан для исполнения в среде операционных систем MacOS X 10.1.5 и MacOS 7.5, поэтому для его использования в среде DOS или Windows требуется применение специальных средств программной эмуляции (например, такого, как ARDI Executor For Windows).
Данный программный продукт предназначен для решения разнообразных задач без осуществления привязки к определенной предметной области - он реализует общие алгоритмы и методы, которые применимы ко многим средам человеческой деятельности:
- обобщение экспериментальных данных;
- построение экономических, социальных, экологических моделей для выполнения последующего прогнозирования;
- выявление значимых факторов процессов.
Используемый междисциплинарный подход на основе МГУА позволяет KnowledgeMiner предлагать для решения одной задачи несколько различных решений, предоставляя окончательный выбор модели аппроксимации или прогнозирования эксперту предметной области.
PolyAnalyst. Программный продукт PolyAnalyst, разработанный компанией Megaputer Intelligence, является многофункциональным приложением для выполнения различных задач анализа данных, в том числе и для решения задач аппроксимации и прогнозирования.
Для разработки собственных модулей предоставляется COM-интерфейс.
PolyAnalyst позволяет как обрабатывать текстовые файлы, так и получать информацию из реляционных баз данных. PolyAnalyst оперирует также числовыми, булевыми временными и строковыми переменными. Определение отношений между данными осуществляется следующими методами:
- генетическое программирование - метод SKAT (Symbolic Knowledge Acquisition Technology);
- нейронные сети - метод PolyNet Predictor;
- линейная регрессия - метод Linear Regression.
Для описания полученного знания применяется собственный язык описания знаний SRL (Symbolic Rule Language), который предоставляет эксперту возможность анализа извлеченного на основе данных знания.
Математические и статистические программы общего назначения. Большая часть наиболее популярных программных пакетов, например GAUSS (Aptech Systems), Maple (Maplesoft), MathCad (MathSoft), Mathematica (Wolfram Research), Mathlab (MathWorks), Statistica (StatSoft), предоставляют возможности для выполнения стандартного регрессионного анализа и позволяют использовать собственные модули (или модули сторонних разработчиков) для выполнения более сложных задач аппроксимации и прогнозирования, основанных на методах НС, ГА и МГУА.
Так, модуль системы Statistica Data Miner позволяет выполнять аппроксимацию и прогнозирование такими методами; как:
- регрессионный анализ;
- нейронные сети.
Для описания полученных моделей может применяться язык описания моделей PMML (Predictive Models Markup Language), основанный на языке расширяемой разметки XML (Extensible Markup Language). Возможна также генерация исполняемого кода для языков программирования высокого уровня.
Для программного пакета Mathlab для реализации задач аппроксимации и прогнозирования предназначены следующие модули:
- Genetic Algorithm and Direct Search Toolbox (применение генетических алгоритмов для алгоритмов прямого поиска);
- Neural Network Toolbox (построение нейросетевых моделей);
- Statistics Toolbox (построение регрессионных моделей).
В других упомянутых программных системах также реализованы модули аналогичной функциональности.
Выводы
Общей чертой всех рассматриваемых методов является применение внешнего критерия в том или ином виде. В МГУА этот критерий обозначен явным образом, и входные данные предварительно разделяются на несколько различных непересекающихся частей (в некоторых модификациях МГУА [2] используются пересекающиеся выборки). Применительно к нейронным сетям и генетическим алгоритмам внешний критерий вырождается, т. е. вся выборка данных является внешней.
Общей чертой рассмотренных программных систем, по-видимому, можно считать ограниченность и закрытость - невозможность внести значимые изменения в работу алгоритмов, кроме того, часто неизвестны детали реализации того или иного алгоритма (например, какой тип нейронов применяется для реализации нейронных сетей), что делает «тонкую» настройку параметров работы алгоритма неосуществимой. Вследствие этого для решения специфичной задачи предметной области целесообразной является разработка собственной системы для организации хранения и обработки экспериментальных данных.
СПИСОК ЛИТЕРА ТУРЫ
1. Математический энциклопедический словарь. - М.: Большая Российская энциклопедия, 1995.
2. Mueller J., Lemke F. Self-organising Data Mining. An Intellegent Approach To Extract Knowledge From Data. - Berlin : Dresden, 1999.
3. Базы данных. Интеллектуальная обработка информации / В. В. Корнеев, А. Ф. Гареев, С. В. Васютин, В. В. Райх. - М.: Нолидж, 2001.
4. Гайдышев И. Анализ и обработка данных: специальный справочник. - СПб.: Питер, 2001.
5. Хемминг Р. В. Численные методы для научных работников и инженеров. - М.: Наука, 1972.
6. Назаров А. В., Лоскутов А. И. Нейросетевые алгоритмы прогнозирования и оптимизации систем. - СПб.: Наука и техника, 2003.
7. Осовский С. Нейронные сети для обработки информации / Пер. с польского И. Д. Рудинского. - М.: Финансы и статистика, 2002.
8. Holland J. N. Adaptation in Natural and Artificial Systems. Ann Arbor, Michigan: Univ. of Michigan Press, 1975.
9. Ивахненко А. Г. Индуктивный метод самоорганизации моделей сложных систем. - Киев: Наук. думка, 1981.
10. Marenbach P. Using prior knowledge and obtaining process insight in data based modelling of bioprocesses // Syst. Anal. Model. Simul. - Vol. 31, N 1-2. - P. 39-59. Gordon and Breach Science Publishers, 1998.
11. Шуршев В. Ф., Умеров А. Н., Квятковская И. Ю. Аппроксимация экспериментальных данных по кипению озонобезопасных смесей хладагентов на основе генетических алгоритмов // Информационные технологии в образовании, технике и медицине: Материалы междунар. конф. Т. 2 / ВолгГТУ. - Волгоград, 2004. - С. 313-314.
Получено 1.02.2005
METHODS AND SOFTWARE OF EXPERIMENTAL DATA APPROXIMATION
A. N. Umerov, V. F. Shurshev
Approaches to analysis and approximation of experimental data, as well as models of approximation are examined in this work. Classification of approximation models is given too. Principles of neuron networks, genetic algorithms, as well as algorithms of group controlling arguments method were considered. Programmed systems for performance of approximation as well as methods of their realization are presented in this work. Main programmed products, intended for execution of self organized data obtaining and solving the problems of forecasting, mathematical and statistic programmers of general-purpose are considered too.