MVR Composer (Multivariate Regression Composer) — программа, работающая в системе Matlab. Создает математические регрессионные модели, используя измеряемые данные и экспертные предположения о структуре моделей.

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

Математическое моделирование рассматривает два подхода, каждый из них имеет свои сильные и слабые стороны.

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

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

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

Контур автоматического создания модели состоит в следующем:

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

После выполняется следующая последовательность шагов:

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

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

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

Программа MVR Composer распространяется по лицензии GNU GPL: она бесплатна, ее исходный текст можно изменять.

Проект

Программа управляется файлом-проектом.В этом файле находятся имена файлов с данными и настройки. Файл выполняется в системе Matlab и должен соответствовать синтаксису этого языка. Пример, файл demo.prj.txt

Регрессионная выборка

Файл с исходными данными — текстовый файл с разделителями, .csv. Первый столбец — значения зависимой переменной, все последующие столбцы — соответствующие значения свободной переменной. Пропуски в данных не допускаются. Пример, файл sinc.dat.txt

Модели начального приближения

Файл содержит список моделей и, необязательно, векторы начальных параметров соответствующих моделей. Длина вектора должна соответствовать числу параметров модели. Пример, файл sinc.mdl.txt:

Список порождающих функций

Порождающие функции используются при модификации моделей. Файл содержит 5 полей, разделенных запятой: имя функции, имя соответствующего ей библиотечного файла, число параметров функции и число ее аргументов. Пример, файл sinc.reg.txt

Библиотека порождающих функций Все порождающие функции хранятся в библиотеке и имеют следующий формат y = foo(b, x,dummy), где b — вектор-строка параметров, x — вектор-столбец свободных переменных, dummy — возможные дополнительные параметры данный функции. Пример, библиотечная функция linear.

Для чего нужен генератор прогнозов?

В последнее время прогнозирование стало важной частью процесса планирования деятельности любого предприятия. По данным аналитиков Aberdeen Group, компании, использующие математические инструменты для прогнозирования спроса, оценки финансовых рисков, принятия решений об инвестициях, достигают хорошей точности прогноза (свыше 70%).

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

Знания, получаемые с помощью прогноза используют для извлечения выгоды и минимизации рисков.

Например:

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

Для получения прогноза нужен временной ряд – исторические значения прогнозируемой величины, то есть данные за некоторый предыдущий период времени. Точность прогноза повышается, если кроме исторических значений использовать дополнительные данные, влияющие на прогнозируемую величину. Например, при прогнозировании биржевой цены на электроэнергию кроме исторической цены имеет смысл учитывать длину светового дня. Прогноз плотности потока посетителей парка строится на основе данных о посетителях за предыдущие сезоны, но зависит также и от погоды. На поток клиентов любого предприятия, работающего в сфере услуг, влияет продолжительность праздников.

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

Почему использовать генератор прогнозов выгоднее, чем стандартные пакеты для прогнозирования?

  1. Универсальный генератор прогнозов строит несколько тысяч алгоритмов и выбирает из них лучший для заданного временного ряда, в то время, как стандартные пакеты используют один жестко заданный алгоритм. Как следствие, прогноз, сделанный автоматом-генератором, более точен для заданного временного ряда, чем полученные с помощью стандартных пакетов прогнозирования.
  2. Использование генератора прогнозов избавит компанию от затрат на приобретение, поддержку и сопровождение стандартных пакетов и решений для прогнозирования.
  3. Работа с генератором прогнозов не требует от пользователя глубоких математических знаний.

Прямой поиск оптимальной суперпозиции

d435d1d97895.jpg d24d75699cba.jpg 682ff5563bb0.jpg ad1b224a7136.jpg ab4b86aaded7.jpg

Печать/экспорт