MVR Composer

Материал из MachineLearning.

(Различия между версиями)
Перейти к: навигация, поиск
(Новая: '''MVR Composer''' (Multivariate Regression Composer) -- программа, работающая в системе Matlab. Создает математические регрессио...)
м
Строка 1: Строка 1:
-
'''MVR Composer''' (Multivariate Regression Composer) -- программа, работающая в системе Matlab.
+
'''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. Первый столбец -- значения зависимой переменной,
+
Файл с исходными данными текстовый файл с разделителями, .csv. Первый столбец значения зависимой переменной,
-
все последующие столбцы -- соответствующие значения свободной переменной. Пропуски в данных не допускаются.
+
все последующие столбцы соответствующие значения свободной переменной. Пропуски в данных не допускаются.
Пример, файл sinc.dat.txt:
Пример, файл sinc.dat.txt:
Строка 119: Строка 119:
=== Библиотека порождающих функций ===
=== Библиотека порождающих функций ===
-
Все порождающие функции хранятся в библиотеке и имеют следующий формат y = foo(b,x,dummy),
+
Все порождающие функции хранятся в библиотеке и имеют следующий формат y = foo(b, x,dummy),
-
где b -- вектор-строка параметров, x -- вектор-столбец свободных переменных,
+
где 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 — построить регрессионную модель, которая наилучшим образом приближает измеряемые данные — регрессионную выборку. Предполагается, что полученная модель будет использована для моделирования процессов и закономерностей в биологии, медицине, экологии и других естественных науках.

Предлагаемая программа сочетает подходы как математического, так и информационного моделирования. Первый подход предполагает использование экспертных знаний о моделируемом явлении. Результат этого подхода — создание «качественной модели», которая описывает явление. Элементы модели могут быть объяснены экспертом в рамках решаемой задачи. Но, как правило, такая модель не очень точно приближает выборку и имеет низкую прогностическую способность. Второй подход предполагает создание «количественной модели». Такая модель хорошо приближает выборку, но, как правило, сложна: то есть, состоит из большого числа элементов и плохо объяснима в контексте решаемой задачи.

Последовательность работы программы следующая.

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

Затем итеративно выполняется следующая последовательность шагов.

  1. Оптимизируются параметры моделей, критерий качества (по умолчанию) среднеквадратическая ошибка.
  2. Оптимизируются гиперпараметры (параметры информативности элементов) моделей.
  3. На основе информации об информативности элементов порождаются новые модели.
  4. Из объединенного множества начальных и порожденных моделей выбираются лучшие.
  5. Последовательность повторяется до тех пор, пока не будет получена модель с ошибкой, не превосходящей заданную

или пока не будет выполнено заданное число итераций.

Результатом работы алгоритма является регрессионная модель оптимальной структуры. В частности, пользователь получает:

  1. формулу математической модели — символьное описание, пригодное для использования ее в дальнейших исследованиях и для публикации ее в тексте научной статьи,
  2. значения параметров модели, позволяющее делать прогноз с помощью этой модели,
  3. график модели в форматах .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. Документация к программе внутри исходных текстов.

Смотри также

Внешние ссылки

Ниже приведен список программ для построения регрессионных моделей.

Личные инструменты