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
9904
Москва
Вы сделали полосовой фильтр (как разность двух НЧ-фильтров). Посчитать его АЧХ не особенно сложно, или можно экспериментально найти, подавая на вход синусоиды и наблюдая амплитуду выхода, как функцию частоты. Какова будет АЧХ - сходу не назову, но точно она не будет постоянной величиной, не зависящей от частоты. То есть синусоиды разной частоты будут ослабляться различно, а если подать на вход сигнал пусть даже с интересующим периодом, но несинусоидальной формы, то разные его компоненты будут меняться по-разному, и форма "поплывёт", а поправка для амплитуды окажется зависящей от формы сигнала.

 Профиль  
                  
 
 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
9904
Москва
Любое сглаживание - НЧ-фильтр. Вычитание из сигнала сглаженного - ВЧ-фильтр. Разность двух сглаженных - полосовой фильтр.

 Профиль  
                  
 
 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
198
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
198
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
1694
приходит весна?
Вообще, всякие там фильтры применяются тогда, когда надо быстро обрабатывать большие объёмы данных (чаще всего реалтайм). А у вас задача анализа, поэтому вам гораздо разумнее искать модельную функцию (пускай даже высосанную из пальца), которая будет описывать ваш набор данных наилучшим образом (в том смысле, что разность между данными и их аппроксимацией моделью является белым шумом).

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

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

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



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

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


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

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