2014 dxdy logo

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

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




Начать новую тему Ответить на тему На страницу Пред.  1, 2
 
 Re: Разложение сигнала на экспоненты
Сообщение28.10.2011, 14:29 
Заслуженный участник


15/05/05
3445
USA
Вот это:
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 


17/10/08

1313
Требуется программное обеспечение, которое решает в том или ином виде задачу "Глобальная оптимизация". У меня есть возможность подсказать, чем можно бы воспользоваться. Но для этого нужны реальные данные. Вот уже несколько лет автор темы их никак не выложит.

 Профиль  
                  
 
 Re: Разложение сигнала на экспоненты
Сообщение28.10.2011, 15:33 


25/08/11

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

 Профиль  
                  
 
 Re: Разложение сигнала на экспоненты
Сообщение31.10.2011, 19:12 
Заслуженный участник
Аватара пользователя


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

 Профиль  
                  
 
 Re: Разложение сигнала на экспоненты
Сообщение02.11.2011, 12:33 


16/02/10
258
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 


13/10/05
24
Спасибо за ссылку.
Проблема как всегда в устойчивости.
Метод Прони скорее может решить задачу аппроксимации, а вот задачу оценки параметров, да так что бы решение было устойчивым, увы. Может есть специальна модификация метода?
Кстати, существует ли готовая библиотека с реализованным методом Прони?
Спасибо.

 Профиль  
                  
 
 Re: Разложение сигнала на экспоненты
Сообщение02.11.2011, 17:24 


16/02/10
258
Насчет готовой библиотеки не знаю, наверное, есть. Посмотрите в пакете Матлаб. Метод довольно прост и я реализовал его самостоятельно.

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

 Профиль  
                  
 
 Re: Разложение сигнала на экспоненты
Сообщение02.11.2011, 18:12 
Заслуженный участник
Аватара пользователя


11/03/08
9908
Москва
А сколько экспонент было?
(и спасибо за ссылку на мой сайт - приятно, всё же...)

 Профиль  
                  
 
 Re: Разложение сигнала на экспоненты
Сообщение02.11.2011, 18:27 


16/02/10
258
Евгений Машеров в сообщении #498536 писал(а):
А сколько экспонент было?
(и спасибо за ссылку на мой сайт - приятно, всё же...)


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

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

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 24 ]  На страницу Пред.  1, 2

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group