MVR Composer
Материал из MachineLearning.
(Новая: '''MVR Composer''' (Multivariate Regression Composer) -- программа, работающая в системе Matlab. Создает математические регрессио...) |
м |
||
Строка 1: | Строка 1: | ||
- | '''MVR Composer''' (Multivariate Regression Composer) | + | '''MVR Composer''' (Multivariate Regression Composer) — программа, работающая в системе Matlab. |
Создает математические регрессионные модели, используя измеряемые данные и экспертные предположения о структуре моделей. | Создает математические регрессионные модели, используя измеряемые данные и экспертные предположения о структуре моделей. | ||
== Введение == | == Введение == | ||
- | Цель MVR | + | Цель MVR — построить [[регрессионная модель|регрессионную модель]], |
- | которая наилучшим образом приближает измеряемые данные | + | которая наилучшим образом приближает измеряемые данные — [[выборка|регрессионную выборку]]. |
Предполагается, что полученная модель будет использована для моделирования процессов и закономерностей в | Предполагается, что полученная модель будет использована для моделирования процессов и закономерностей в | ||
биологии, медицине, экологии и других естественных науках. | биологии, медицине, экологии и других естественных науках. | ||
Строка 11: | Строка 11: | ||
Предлагаемая программа сочетает подходы как математического, так и информационного моделирования. | Предлагаемая программа сочетает подходы как математического, так и информационного моделирования. | ||
Первый подход предполагает использование экспертных знаний о моделируемом явлении. | Первый подход предполагает использование экспертных знаний о моделируемом явлении. | ||
- | Результат этого подхода | + | Результат этого подхода — создание «качественной модели», которая описывает явление. |
Элементы модели могут быть объяснены экспертом в рамках решаемой задачи. Но, как правило, | Элементы модели могут быть объяснены экспертом в рамках решаемой задачи. Но, как правило, | ||
такая модель не очень точно приближает выборку и имеет низкую [[прогноз|прогностическую способность]]. | такая модель не очень точно приближает выборку и имеет низкую [[прогноз|прогностическую способность]]. | ||
- | Второй подход предполагает создание | + | Второй подход предполагает создание «количественной модели». Такая модель хорошо приближает выборку, |
но, как правило, сложна: то есть, состоит из большого числа элементов и плохо объяснима в контексте решаемой задачи. | но, как правило, сложна: то есть, состоит из большого числа элементов и плохо объяснима в контексте решаемой задачи. | ||
Строка 34: | Строка 34: | ||
Результатом работы алгоритма является регрессионная модель оптимальной структуры. В частности, пользователь получает: | Результатом работы алгоритма является регрессионная модель оптимальной структуры. В частности, пользователь получает: | ||
- | # формулу математической модели | + | # формулу математической модели — символьное описание, пригодное для использования ее в дальнейших исследованиях и для публикации ее в тексте научной статьи, |
# значения параметров модели, позволяющее делать прогноз с помощью этой модели, | # значения параметров модели, позволяющее делать прогноз с помощью этой модели, | ||
# график модели в форматах .png и .eps для использования в TeX. | # график модели в форматах .png и .eps для использования в TeX. | ||
Строка 45: | Строка 45: | ||
У пользователя должна быть установлена система Matlab версии не ниже R12. | У пользователя должна быть установлена система Matlab версии не ниже R12. | ||
Программа может быть установлена в виде исполняемого модуля, но так как ее целевая аудитория | Программа может быть установлена в виде исполняемого модуля, но так как ее целевая аудитория | ||
- | + | — исследователи, то предполагается, что пользователь работает с исходными текстами и может переписывать части программы самостоятельно. | |
=== Проект === | === Проект === | ||
Строка 63: | Строка 63: | ||
=== Регрессионная выборка === | === Регрессионная выборка === | ||
- | Файл с исходными данными | + | Файл с исходными данными — текстовый файл с разделителями, .csv. Первый столбец — значения зависимой переменной, |
- | все последующие столбцы | + | все последующие столбцы — соответствующие значения свободной переменной. Пропуски в данных не допускаются. |
Пример, файл sinc.dat.txt: | Пример, файл sinc.dat.txt: | ||
Строка 119: | Строка 119: | ||
=== Библиотека порождающих функций === | === Библиотека порождающих функций === | ||
- | Все порождающие функции хранятся в библиотеке и имеют следующий формат y = foo(b,x,dummy), | + | Все порождающие функции хранятся в библиотеке и имеют следующий формат y = foo(b, x,dummy), |
- | где b | + | где b — вектор-строка параметров, x — вектор-столбец свободных переменных, |
- | dummy | + | dummy — возможные дополнительные параметры данный функции. |
Пример, библиотечная функция linear: | Пример, библиотечная функция linear: | ||
Строка 139: | Строка 139: | ||
Программа MVR Composer распространяется по [http://ru.wikipedia.org/wiki/GNU_General_Public_License лицензии GNU GPL]: | Программа MVR Composer распространяется по [http://ru.wikipedia.org/wiki/GNU_General_Public_License лицензии GNU GPL]: | ||
она бесплатна, ее исходный текст можно изменять. | она бесплатна, ее исходный текст можно изменять. | ||
- | Программа предоставляется на условиях | + | Программа предоставляется на условиях «как есть». |
Авторы не предоставляют никаких гарантий и не несут ответственности за работу данной программы. | Авторы не предоставляют никаких гарантий и не несут ответственности за работу данной программы. | ||
Версия 17:27, 30 апреля 2008
MVR Composer (Multivariate Regression Composer) — программа, работающая в системе Matlab. Создает математические регрессионные модели, используя измеряемые данные и экспертные предположения о структуре моделей.
Содержание |
Введение
Цель MVR — построить регрессионную модель, которая наилучшим образом приближает измеряемые данные — регрессионную выборку. Предполагается, что полученная модель будет использована для моделирования процессов и закономерностей в биологии, медицине, экологии и других естественных науках.
Предлагаемая программа сочетает подходы как математического, так и информационного моделирования. Первый подход предполагает использование экспертных знаний о моделируемом явлении. Результат этого подхода — создание «качественной модели», которая описывает явление. Элементы модели могут быть объяснены экспертом в рамках решаемой задачи. Но, как правило, такая модель не очень точно приближает выборку и имеет низкую прогностическую способность. Второй подход предполагает создание «количественной модели». Такая модель хорошо приближает выборку, но, как правило, сложна: то есть, состоит из большого числа элементов и плохо объяснима в контексте решаемой задачи.
Последовательность работы программы следующая.
- Задается выборка, несколько свободных переменных и одна зависимая переменная.
- Задается набор регрессионных моделей начального приближения.
- Задается множество порождающих функций, из суперпозиции которых будет построена модель.
Затем итеративно выполняется следующая последовательность шагов.
- Оптимизируются параметры моделей, критерий качества (по умолчанию) среднеквадратическая ошибка.
- Оптимизируются гиперпараметры (параметры информативности элементов) моделей.
- На основе информации об информативности элементов порождаются новые модели.
- Из объединенного множества начальных и порожденных моделей выбираются лучшие.
- Последовательность повторяется до тех пор, пока не будет получена модель с ошибкой, не превосходящей заданную
или пока не будет выполнено заданное число итераций.
Результатом работы алгоритма является регрессионная модель оптимальной структуры. В частности, пользователь получает:
- формулу математической модели — символьное описание, пригодное для использования ее в дальнейших исследованиях и для публикации ее в тексте научной статьи,
- значения параметров модели, позволяющее делать прогноз с помощью этой модели,
- график модели в форматах .png и .eps для использования в TeX.
Также пользователь получает набор лучших порожденных моделей для сравнения.
Использование программы
Программа написана на языке Matlab. У пользователя должна быть установлена система Matlab версии не ниже R12. Программа может быть установлена в виде исполняемого модуля, но так как ее целевая аудитория — исследователи, то предполагается, что пользователь работает с исходными текстами и может переписывать части программы самостоятельно.
Проект
Программа управляется файлом-проектом. В этом файле находятся имена фалов с данными и настройки. Файл выполняется в системы Matlab и должен соответствовать синтаксису этого языка.
Пример, файл demo.prj.txt:
DataFile = 'sinc.dat.txt'; % the data file name. ModelsFile = 'sinc.mdl.txt'; % the name of the file with the list of the initial models RegistryFile = 'sinc.reg.txt'; % the file name for the registry, the list of the primitive functions % DATASEPARATOR = ','; % the column separator in the DataFile THRESHOLDQUALITY = 0.01; % the required quality, absolute value
Регрессионная выборка
Файл с исходными данными — текстовый файл с разделителями, .csv. Первый столбец — значения зависимой переменной, все последующие столбцы — соответствующие значения свободной переменной. Пропуски в данных не допускаются.
Пример, файл sinc.dat.txt:
0.020274, -4.899 0.039335, -4.798 0.055203, -4.697 -0.027995, -3.8889 -0.051946, -3.7879 -0.071881, -3.6869 ...
Модели начального приближения
Файл содержит список моделей и, необязательно, векторы начальных параметров соответствующих моделей. Длина вектора должна соответствовать числу параметров модели.
Пример, файл sinc.mdl.txt:
% Syntax: model; default parameter vector (can be omitted) % these two fields must be separated with the sign ';'. 2times(2plus(linear(x1),sin(x1)),sin(x1)); [0.9355 0.9169 0.4103 0.8936 0.0579 0.3529 0.8132 0.0099 0.1389 0.2028] 2plus(2plus(sin(x1),linear(x1)),plus(x1)); 2plus(sin(x1),gaussian(x1));
Список порождающих функций
Порождающие функции используются при модификации моделей. Файл содержит 5 полей, разделенных запятой: имя функции, имя соответствующего ей библиотечного файла, число параметров функции и число ее аргументов.
Пример, файл sinc.reg.txt:
% function name, file name, arguments, parameters, default parameter values % If there are no default parameter values for the function or they are unknown % please put the brackets [] in the table. 2divide, f_2divide, 2, 0, [] 2minus, f_2minus, 2, 0, [] 2plus, f_2plus, 2, 0, [] 2times, f_2times, 2, 0, [] % 3mlpout, f_3mlpout, 3, 4, [] cubic, f_cubic, 1, 4, [0 1 1 1] gaussian, f_gaussian, 1, 4, [1 1 1 1] linear, f_linear, 1, 2, [0 1] logsig, f_logsig, 1, 4, [1 1 1 1] mult, f_mult, 1, 1, [1] parabolic, f_parabolic, 1, 3, [0 1 1] plus, f_plus, 1, 1, [0] % quadratic, f_quadratic, 1, 4, [0 1 1 1] sin, f_sin, 1, 4, [] % tanh, f_tanh, 1, 0, [] tansig, f_tansig, 1, 4, [1 1 1 1]
Библиотека порождающих функций
Все порождающие функции хранятся в библиотеке и имеют следующий формат y = foo(b, x,dummy), где b — вектор-строка параметров, x — вектор-столбец свободных переменных, dummy — возможные дополнительные параметры данный функции.
Пример, библиотечная функция linear:
function y = f_linear(b,x,dummy) % b [1xP] parameters % x [Nx1] independent variables % y [Nx1] dependent variables % y1 = b(1)*x(i,:) + b(2); return
Получить программу
Лицензирование
Программа MVR Composer распространяется по лицензии GNU GPL: она бесплатна, ее исходный текст можно изменять. Программа предоставляется на условиях «как есть». Авторы не предоставляют никаких гарантий и не несут ответственности за работу данной программы.
Репозиторий
Программа находится на сайте SourceForge. Документация к программе внутри исходных текстов.
Смотри также
Внешние ссылки
Ниже приведен список программ для построения регрессионных моделей.
- GPLAB, Genetic Programming Lab by Sara Silva
- GPTIPS, Genetic Programming Tips by Dominic Searson
- Сайт компании GraphPad Software, Inc.
- GeneXproTools, commercial software
- Online Regression Tools
- SUrrogate MOdeling (SUMO) Toolbox
- MODELbuilder is designed to find any multivariate model for any dataset
- Regression mAKEr, GMDH-like software
- Python Equations, Collection of Python equations that can fit data sets.
- FPlot, .NET library to plot and fit mathematical functions and data
- GMM-GMR, Gaussian Mixture Model and Regression
- GLM, Implementation of Generalized Linear Model by Christopher M. Bishop