2014 dxdy logo

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

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


Правила форума


Посмотреть правила форума



Начать новую тему Ответить на тему
 
 Коррекция амплитуды периодической функции на сглаживание
Сообщение17.11.2018, 11:29 
Аватара пользователя


14/02/12

841
Лорд Амбера
Коллеги, есть ряд точек временного ряда - результаты измерения. Предполагается, что есть общий тренд, нас не интересующий, и периодическая компонента с периодом 28 дней. Значения сглаживаются скользящей средней с периодом 28 дней, в результате получаем тренд.
Затем сглаживаем значения ряда СС с периодом 7 дней (значение не критическое, но какое-то сглаживание обязательно нужно, да и недельная компонента не исключена), получаем наложенные на тренд колебания с периодом 28 дней. Вычитаем из сглаженных СС 7 дней значений тренд, и получаем искомые колебания параметра, сглаженные и очищенные от тренда.
Вопрос в том, корректно ли увеличить полученное значение амплитуды кривой в 1,1 раза для целей дальнейшей работы, поскольку моделирование показывает, что сглаживание синусоиды скользящей средней с вчетверо меньшим периодом, чем период синусоиды, снижает амплитуду получающейся кривой до уровня 90% исходного.
Я сознаю, что подход очень грубый, поскольку точную форму получающейся зависимости мы не знаем, помимо синуса там могут быть гармоники, и сглаживание меандра подобным образом не изменит амплитуду, но завалит фронты, тем самым уменьшив площадь под положительными значениями кривой - но тогда тоже нужна коррекция, притом еще бОльшая. Сглаживание пилы оставит в покое фронты, но уменьшит амплитуду на 25%, закруглив пики, и т.п.
Но даже в условиях неопределенности какая-то коррекция ведь лучше, чем ее полное отсутствие, когда значение амплитуды точно получится смещенным?

 Профиль  
                  
 
 Re: Коррекция амплитуды периодической функции на сглаживание
Сообщение17.11.2018, 17:40 
Аватара пользователя


31/10/08
1244
:facepalm: Вы неправильно вопрос задаёте. Вы должны описывать то, что вы хотите получить, а не то что делаете.
Korvin в сообщении #1354690 писал(а):
Но даже в условиях неопределенности

Откуда она взялась?
Про спектры и ЦОС, что нибудь слышали?

 Профиль  
                  
 
 Re: Коррекция амплитуды периодической функции на сглаживание
Сообщение17.11.2018, 18:05 
Заслуженный участник
Аватара пользователя


11/03/08
9529
Москва
Вы сделали полосовой фильтр (как разность двух НЧ-фильтров). Посчитать его АЧХ не особенно сложно, или можно экспериментально найти, подавая на вход синусоиды и наблюдая амплитуду выхода, как функцию частоты. Какова будет АЧХ - сходу не назову, но точно она не будет постоянной величиной, не зависящей от частоты. То есть синусоиды разной частоты будут ослабляться различно, а если подать на вход сигнал пусть даже с интересующим периодом, но несинусоидальной формы, то разные его компоненты будут меняться по-разному, и форма "поплывёт", а поправка для амплитуды окажется зависящей от формы сигнала.

 Профиль  
                  
 
 Re: Коррекция амплитуды периодической функции на сглаживание
Сообщение17.11.2018, 18:22 
Аватара пользователя


14/02/12

841
Лорд Амбера
Pavia в сообщении #1354764 писал(а):
:facepalm: Вы неправильно вопрос задаёте. Вы должны описывать то, что вы хотите получить, а не то что делаете.
Korvin в сообщении #1354690 писал(а):
Но даже в условиях неопределенности

Откуда она взялась?
Про спектры и ЦОС, что нибудь слышали?

Неопределенность оттого, что получив разницу двух скользящих средних, я имею лишь 1 пример реализации по 1 периоду (28 дням). Усреднение по 3-4 периодам окажется информативнее, но точной формы не узнаю никогда. Вопрос же в том, насколько корректно будет то, что получено, умножеть на коэффициент >1 как пояснялось выше, чтобы хоть часть неопределенности убрать.

 Профиль  
                  
 
 Re: Коррекция амплитуды периодической функции на сглаживание
Сообщение17.11.2018, 18:59 
Аватара пользователя


31/10/08
1244
Korvin в сообщении #1354773 писал(а):
1 пример реализации

Это неважно. Нормальный шумы во временной области, будут и шумами в частотной. Далее стройте полосовой фильтр классическими методами.

Korvin в сообщении #1354773 писал(а):
28 дням

У вас всего 28 отсчётов?

 Профиль  
                  
 
 Re: Коррекция амплитуды периодической функции на сглаживание
Сообщение17.11.2018, 19:32 
Аватара пользователя


14/02/12

841
Лорд Амбера
Pavia в сообщении #1354779 писал(а):
У вас всего 28 отсчётов?

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

-- 17.11.2018, 20:43 --

Евгений Машеров в сообщении #1354771 писал(а):
Вы сделали полосовой фильтр (как разность двух НЧ-фильтров). Посчитать его АЧХ не особенно сложно, или можно экспериментально найти, подавая на вход синусоиды и наблюдая амплитуду выхода, как функцию частоты. Какова будет АЧХ - сходу не назову, но точно она не будет постоянной величиной, не зависящей от частоты. То есть синусоиды разной частоты будут ослабляться различно, а если подать на вход сигнал пусть даже с интересующим периодом, но несинусоидальной формы, то разные его компоненты будут меняться по-разному, и форма "поплывёт", а поправка для амплитуды окажется зависящей от формы сигнала.

Полагаю, что фильтр только НЧ, первое сглаживание с периодом 28 для выявления и устранения тренда. Собственно сглаживанием является второе сглаживание с периодом 7.
Я смоделировал АЧХ до 8 гармоники, поскольку отношение 28 к 7 равно 4, то 4 и 8 гармоники не пропускаются, 1, 2, 3 проходят без изменения фазы, 5 и 6 затухают и инвертируются, 7 почти нулевая.
По ходу возник вопрос, могу ли я, получив реализацию искомой периодической функции (или усреднение по нескольким реализациям), разложить на гармоники по Фурье, и поделив найденные амплитуды гармоник на известные по моделированию коэффициенты пропускания, восстановить исходные амплитуды, и просуммировав их, восстановить периодическую функцию с периодом 28 как если бы она не сглаживалась СС с периодом 7.
На практике достаточно будет 1, 2 и 3 гармоник, поскольку амплитуду -й уже придется делить на 0, а вследствие помех амплитуда 4-й нулевой не будет.
Но задача будет считаться тогда решенной - форма функции изменится, амплитуда может увеличиться (первое решение умножить на 1,1 с сохранением формы больно уж грубое).
Т.е. работает ли здесь аддитивность (или суперпозиция, как правильней назвать)?
Изображение

 Профиль  
                  
 
 Re: Коррекция амплитуды периодической функции на сглаживание
Сообщение17.11.2018, 19:49 
Заслуженный участник
Аватара пользователя


11/03/08
9529
Москва
Любое сглаживание - НЧ-фильтр. Вычитание из сигнала сглаженного - ВЧ-фильтр. Разность двух сглаженных - полосовой фильтр.

 Профиль  
                  
 
 Re: Коррекция амплитуды периодической функции на сглаживание
Сообщение17.11.2018, 20:02 
Аватара пользователя


14/02/12

841
Лорд Амбера
Евгений Машеров в сообщении #1354788 писал(а):
Любое сглаживание - НЧ-фильтр. Вычитание из сигнала сглаженного - ВЧ-фильтр. Разность двух сглаженных - полосовой фильтр.

Согласен, но здесь больше работает срезание ВЧ (2, 3 гармоник), срезание НЧ на такой низкой частоте, что пока не волнует (1-я гармоника пропускается 90%, а ниже частот нет по определению).
Спасибо за дискуссию, помогает поглядеть на все с другой стороны.
Не уверен кстати за значение коэф. пропускания для 7 гармоники, интуиция подсказывает что там небольшое отрицательное значение, ошибка может быть от дискретизации моделирования, но как уже писал меня волнуют больше 2 и 3 гармоники, точнее нет смысла разлагать, шумов на объекте человеке много, а по механизму работы есть основной цикл с наложенным частотой вдвое выше. 3 гармоника уже для небольшой поправки/подгонки.

 Профиль  
                  
 
 Re: Коррекция амплитуды периодической функции на сглаживание
Сообщение17.01.2019, 19:59 
Аватара пользователя


14/02/12

841
Лорд Амбера
Коллеги, расширенный вопрос в продолжение темы, нет смысла заводить новую.
Стартовый вопрос был - допустимо ли при сглаживании периодической функции периодом порядка 28 (на опытных данных) при сглаживании ее СА с окном 7, сглаженную функцию подкорректировать по амлитуде (при приведенных параметрах увеличить на 10%), чтобы учесть понижение пиков при сглаживании.
Здесь иная мысль. При сглаживании функции наблюдается ее просадка в каждой точке на величину, пропорциональную 2-й производной в точке сглаживания (по факту вместо производной конечные разности), это разумная цена за гладкость и приличный вид в сравнении с рваными исходными данными. Допустимо ли скорректировать сглаженную функцию на величину, пропорциональную 2-й производной в каждой точке (размер окна известен, и конечные разности - по размеру окна), для восстановления более правдоподобной исходной функции, но без выпадающих значений, более гладкую, в то же время более подходящую по значениям в точках, поскольку просадка скорректирована? С коэффициентом на коррекцию проблемы нет, он находится при моделировании прямого и обратного процессов - сглаживания и восстановления. Он несколько разный при разном виде функций, но разброс небольшой, и исходные функции близки.

 Профиль  
                  
 
 Re: Коррекция амплитуды периодической функции на сглаживание
Сообщение17.01.2019, 20:49 


20/01/12
194
Korvin в сообщении #1369407 писал(а):
Допустимо ли скорректировать сглаженную функцию на величину, пропорциональную 2-й производной в каждой точке (размер окна известен, и конечные разности - по размеру окна), для восстановления более правдоподобной исходной функции, но без выпадающих значений, более гладкую, в то же время более подходящую по значениям в точках, поскольку просадка скорректирована?

Допустимо, если частота "f" измеряемого процесса неизменна.

Скользящее среднее, как вам уже верно заметили, представляет собой фильтр низкой частоты. С точностью до фазового множителя АЧХ этого фильтра описывается функцией Дирихле:

$K(f)=\frac{1}{N}{\cdot}\frac{\sin(N{\pi}f{\Delta}t)}{\sin({\pi}f{{\Delta}t})}$, где N - число точек в сумме скользящего среднего, а ${\Delta}t$ - интервал измерения (т.е., сутки).

На нулевой частоте коэффициент передачи этого фильтра равен: $K(0)=1$.

На частоте отличной от нулевой коэффициент передачи фильтра, ессно, уменьшается, поэтому для сохранения амплитуды сигнала нужно умножить результат усреднения на: $\frac{1}{K(f)}$.

Но более грамотный путь, КМК, сразу фильтровать полезный сигнал фильтром Гёрцеля.

 Профиль  
                  
 
 Re: Коррекция амплитуды периодической функции на сглаживание
Сообщение18.01.2019, 07:19 


20/01/12
194
PS. Дополню..

Если период вашей функции известен заранее (28 дней), то правильный ответ вы уже практически дали:
Korvin в сообщении #1354787 писал(а):
По ходу возник вопрос, могу ли я, получив реализацию искомой периодической функции (или усреднение по нескольким реализациям), разложить на гармоники по Фурье, ...
...
На практике достаточно будет 1, 2 и 3 гармоник, поскольку амплитуду -й уже придется делить на 0, а вследствие помех амплитуда 4-й нулевой не будет.

Единственная поправка - ничего ни на что делить не нужно. Никакие СС и АЧХ вам не нужны. Просто разлагаете вашу функцию в ряд Фурье (ессно, имеется ввиду "Дискретное преобразование Фурье") на интервале $n=0 \dots 55$ и оставляете в разложении первые три гармоники сигнала (плюс гармонику на нулевой частоте, если она вам нужна).

После этого просто заменяете измеренный сигнал его гармонической аппроксимацией:

$S(n{\Delta t}) \approx A_0+A_1{\cdot}{\sin(2{\pi}fn{\Delta t}+{\varphi}_1)}+A_2{\cdot}{\sin(2{\pi}2fn{\Delta t}+{\varphi}_2)}+A_3{\cdot}{\sin(2{\pi}3fn{\Delta t}+{\varphi}_3)}$

 Профиль  
                  
 
 Re: Коррекция амплитуды периодической функции на сглаживание
Сообщение18.01.2019, 14:05 
Аватара пользователя


14/02/12

841
Лорд Амбера
=SSN= в сообщении #1369414 писал(а):
Допустимо, если частота "f" измеряемого процесса неизменна.

Да, период один. Там есть колебания по отдельным реализациям в 1-2 дня, но для сглаживания берем среднее значение периода, и которые реализации на 1 день короче удлиняем на 1 день, вставив значение в определ. месте (определяется физиологией процесса), среднее между 2-4 соседними, а которые на 1 день длиннее - выбрасываем одно значение, раскинув его отклонение от тенденции на 2 соседних.
Главное для меня то, что коррекция по амплитуде приемлема, исходя из предобработки данных. Она порядка 10%, небольшая погрешность не скажется.

 Профиль  
                  
 
 Re: Коррекция амплитуды периодической функции на сглаживание
Сообщение18.01.2019, 20:49 
Аватара пользователя


26/05/12
1534
приходит весна?
Вообще, всякие там фильтры применяются тогда, когда надо быстро обрабатывать большие объёмы данных (чаще всего реалтайм). А у вас задача анализа, поэтому вам гораздо разумнее искать модельную функцию (пускай даже высосанную из пальца), которая будет описывать ваш набор данных наилучшим образом (в том смысле, что разность между данными и их аппроксимацией моделью является белым шумом).

Было бы здорово, если бы вы привели ваши данные поиграться (всего-то 56 цифр, даже в текст сообщения влезет!). Хотелось бы посмотреть что там за тренд и что за период. Возможно, предложу в качестве модели что-нибудь хорошее, но это как повезёт.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 13 ] 

Модераторы: Модераторы Математики, Супермодераторы



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

Сейчас этот форум просматривают: Shadow


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

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