2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 Аппроксимация сложной функции
Сообщение07.08.2011, 20:38 
Имеется некоторый технический объект, у которого один из ключевых показателей качества так или иначе зависит от всех его параметров. Поскольку объект сам по себе существенно нелинеен, то зависимость эту в аналитическом виде никогда не вытащить. Определить этот показатель можно только с помощью имитационного моделирования (напр. Simulink). Однако это не всегда удобно (по разным причинам). Хотелось бы иметь приближенную расчетную формулу. Я планирую воспользоваться методом наименьших квадратов, но для его использования нужно выбрать регрессионную модель, т.е. вид формулы коэффициенты которой буду подбираться. Исходная зависимость, которую нужно аппроксимировать достаточно сложная, там возможны разрывы первого рода со скачками и т.п. Полиномиальная регрессия здесь не совсем подходит, хотя результат терпимый дает (пробовалась пока аппроксимация при вариации двух параметров). Но она пропускает участок где наблюдается провал функции, а потом возврат к прежнему значению (т.е. участок быстрого изменения функции). Какие регрессионные модели обладают большими возможностями для реализации такого рода аппроксимации? И вообще какую литературу лучше посмотреть для грамотного выбора регрессионной модели.

 
 
 
 Re: Аппроксимация сложной функции
Сообщение07.08.2011, 21:35 
Может процесс разбить на две компоненты:
Участки регрессии и срывы?
А может моделировать периодичность срывов и их характер
+ регрессионные участки.

 
 
 
 Re: Аппроксимация сложной функции
Сообщение08.08.2011, 08:48 
Аватара пользователя
0. Без знания конкретных деталей советы будут приближёнными, так что лучше узнать что-то об объекте дополнительно.
1. Лучше всего, если будет хотя бы приближённая аналитическая модель, которая демонстрирует такое, с "провалом", поведение. А её параметры оценивать, подгоняя её к экспериментаьным данным.
2. Полиномы для подгонки под быстро меняющиеся функции подходят не очень. Если увеличивать их степень, чтобы приближали на участках резких изменений - то начнутся неприятные колебания на "гладких" участках.
3. Можно приближать сплайнами, выбрав узлы так, чтобы они отзделяли участки "быстрого движения" от "плавных".
4. Можно к полиномам прибавить ещё одну функцию, такую, чтобы она вела себя похоже на этом участке быстрого изменения, а вне его была бы близка к нулю. Коэффициент при ней получается обычной регрессией (вот если и её параметры оцениваются по выборке - то нелинейной регрессией).
5. А вот почитать Хэмминга или Ланцоша не поможет? С чем-то подобным они вроде сталкивались...

 
 
 
 Re: Аппроксимация сложной функции
Сообщение08.08.2011, 22:10 
Данные можно выложить? Можно попробовать генетическое программирование, если параметров и экспериментальных данных не так много.

 
 
 
 Re: Аппроксимация сложной функции
Сообщение20.08.2011, 11:55 
Аватара пользователя
Можно воспользоваться аппроксимацией нейронными сетями. Вариантов много, напр. сети с RBF-функциями. Я применял НС для аппроксимации теплофизических свойств и их производных для воды и пара. Там есть области разрывов (при переходе линии насыщения) и все равно результаты прекрасные.
Пользовался пакетом Neurosolution.
Вот здесь одна из статей: http://files.mail.ru/90JRRO
Так что если у Вас есть табличные зависимости для Вашей функции - НС очень продуктивны. Литература: С.Хайкин "Нейронные сети. Полный курс."

 
 
 [ Сообщений: 5 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group