2014 dxdy logo

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

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




На страницу Пред.  1, 2
 
 Re: Разложение сигнала на экспоненты
Сообщение28.10.2011, 14:29 
Вот это:
katamaran в сообщении #141271 писал(а):
Сложностей несколько:
1. Колличество экспонент не известно.
2. Исходный сигнал зашумлен, и встает вопрос устойчивости.
- реальные проблемы, которые могут возникнуть в научной работе.

А вот это:
katamaran в сообщении #496727 писал(а):
... однако проблема в том как определить параметры экспонент.
- учебная задача из курса численных методов.

Вам нужно минимизировать среднеквадратичную погрешность приближения.
Для линейных моделей - это обычный метод наименьших квалратов (МНК), который сводится к решению системы линейных уравнений.
В нелинейном случае лучше непосредственно решать задачу минимизации:
1. Заданы N точек {$ t_i, f_i$}
2. Предполагаемая модель: $f(t_i)=\sum_{j=1}^{M} (A_j \exp ^{- T_j t_i})$
3. Найти минимум суммы квадратов погрешностей в точках:
$\sum_{i=1}^{N} ( f_i - \sum_{j=1}^{M} (A_j \exp ^{- T_j t_i}))^2$
4. В результате решения задачи минимизации Вы получите:
- набор параметров модели {$ A_j, T_j$}
- погрешность модели - значение минимальной суммы квадратов погрешностей в точках.

Поиск минимума нелинейной функции описан в учебниках.

 
 
 
 Re: Разложение сигнала на экспоненты
Сообщение28.10.2011, 14:42 
Требуется программное обеспечение, которое решает в том или ином виде задачу "Глобальная оптимизация". У меня есть возможность подсказать, чем можно бы воспользоваться. Но для этого нужны реальные данные. Вот уже несколько лет автор темы их никак не выложит.

 
 
 
 Re: Разложение сигнала на экспоненты
Сообщение28.10.2011, 15:33 
Наука называется как бы квадратичная экспоненциальная интерполяция или разложение по целочисленным сдвигам функций Гаусса. Есть специальная монография на тему:
Maz’ya V., Schmidt G. Approximate approximations. – University of Linköping, Sweden, 2007. – 350 P.
Есть в инете. Сам соучаствовал в паре статей на тему, если действительно интересно-то пишите в личку, поделюсь, не жалко. Ну и всяких статей полно.

 
 
 
 Re: Разложение сигнала на экспоненты
Сообщение31.10.2011, 19:12 
Аватара пользователя
На "абстрактном уровне" всё просто. Строим матрицу, столбцами которой будут сигнал, его первая, вторая... (общее число больше возможного числа экспонент) производные, разлагаем её на главные компоненты и смотрим число "нешумовых". Получаем число экспонент. С параметрами сложнее. Показатели входят нелинейно. И даже в коэффициенты главных компонент (см. выше) они входят в соответствующих степенях, так что надо решать полиномиальную систему уравнений (симметрические полиномы, так что не совсем страшно). Найдя показатели, берём экспоненты с соответствующими показателями в качестве регрессоров и строим регрессию сигнала на них. Получаем коэффициенты при экспонентах.
На уровне практики всё гораздо хуже. Даже последний, самый ясный и простой этап сталкивается с очень сильной мультиколлинеарностью (ну, или можно сказать про огромное число обусловленности - примерно то же самое). И наличие самого малого шума в сигнале выбрасывает полученные коэффициенты куда-то в бессмыслицу. Отчасти помогает ридж-регрессия и прочие варианты регуляризации - но ценой загрубления, да и введения известной субъективности. Причём это самый ясный и надёжный этап вычисления.
Решение полиномиальных уравнений для отыскания показателей экспонент также процедура, по крайней мере в принципе, ясная. Хотя численная неустойчивость там тоже процветает.
А вот самое начало... Производные нам не даны, мы можем их оценивать каким-то численным методом, который даст нам зашумление сигнала, даже если изначально шума не было. А он был. И его усилим чрезвычайно. Даже если "десять экспонент на тысячу точек", а не "сто на тысячу".
Если от такой задачи нельзя вовсе отбиться (или хотя бы найти показатели и общее число экспонент "из физических соображений", коэффициенты при них уже находимы), то я бы действовал бы последовательно. Взял бы начальный отрезок, подогнал бы к нему одну экспоненту. Потом бы взял отрезок побольше, подогнал к нему, после вычитания первонайденной, вторую, далее бы удлинял отрезок по мере вычисления всё новых экспонент. Смысл в том, что "быстроспадающая" почти на всём отрезке от нуля отличается на уровне шума, её есть смысл смотренть лишь в самом начале, а потом добавлять экспоненты "помедленнее", но уже на более длинном отрезке. Но такой подход результат бы дал - но сильно пованивающий эмпирикой.

 
 
 
 Re: Разложение сигнала на экспоненты
Сообщение02.11.2011, 12:33 
katamaran в сообщении #141271 писал(а):
Задача такая:
есть измеренный сигнал - кривая релаксации - которая модельно может быть представлена в виде суммы нескольких экспонент
$$
f(t_i)=\sum A_j\exp(-T_jt_i)
$$
необходимо определить параметры $A_j$ и $T_j$.
Сложностей несколько:
1. Колличество экспонент не известно.
2. Исходный сигнал зашумлен, и встает вопрос устойчивости.
Люди добрые, помогите советом, алгоритмом, идеей.


Эту задачу именно в данной постановке вот уже 150 лет успешно решает метод Прони.
См С.Л. Марпл-младший. Цифровой спектральный анализ и его приложения. ( стр. 365)

Перед применением рекомендую исходный сигнал сгладить, например, методом скользящего среднего.

 
 
 
 Re: Разложение сигнала на экспоненты
Сообщение02.11.2011, 16:42 
Спасибо за ссылку.
Проблема как всегда в устойчивости.
Метод Прони скорее может решить задачу аппроксимации, а вот задачу оценки параметров, да так что бы решение было устойчивым, увы. Может есть специальна модификация метода?
Кстати, существует ли готовая библиотека с реализованным методом Прони?
Спасибо.

 
 
 
 Re: Разложение сигнала на экспоненты
Сообщение02.11.2011, 17:24 
Насчет готовой библиотеки не знаю, наверное, есть. Посмотрите в пакете Матлаб. Метод довольно прост и я реализовал его самостоятельно.

Что касается устойчивости, то мы оценивали ее экспериментально. Выводы, в целом, благоприятные. Точнее можно посмотреть в нашей статье:
"Новиков, Проурзин. Экспресс-метод идентификации тепловых параметров электрических машин при испытаниях на нагревание/ Электричество. 2001, N1"

 
 
 
 Re: Разложение сигнала на экспоненты
Сообщение02.11.2011, 18:12 
Аватара пользователя
А сколько экспонент было?
(и спасибо за ссылку на мой сайт - приятно, всё же...)

 
 
 
 Re: Разложение сигнала на экспоненты
Сообщение02.11.2011, 18:27 
Евгений Машеров в сообщении #498536 писал(а):
А сколько экспонент было?
(и спасибо за ссылку на мой сайт - приятно, всё же...)


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

Задача состояла в оценке элементов матрицы тепловой проводимости электродвигателя по результатам замеров изменения температуры некоторых его элементов. Эти замеры как раз и есть суммы экспонент, где в качестве коэцффициентов выступают собственные числа и компоненты собственных векторов этой матрицы. Эксперименты и расчеты проводились для матриц 6x6, т.е. 6 экспонент.

 
 
 [ Сообщений: 24 ]  На страницу Пред.  1, 2


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