У меня есть несколько нерегулярных линий из равноотстоящих точек на логарифмической [x, y] сетке с пиками и впадинами, как показано на следующем рисунке:
График сигналов на основе времени
В целом форма и структура всех кривых одинаковы, несмотря на резкую разницу в абсолютных значениях, и я ожидаю увидеть одинаковые пики и впадины во всех сигналах в одной и той же позиции. По отдельности кривые могут уменьшаться или увеличиваться независимо, и соотношение между ними изменяется регулярно
Однако, когда один из датчиков выходит из строя, кривые могут отклоняться от остальных и отображать функцию (выпуклость / пик)этого явно нет в других, как показано на примере для оранжевой кривой в черных квадратах.
Этот эскиз должен иллюстрировать, что абсолютное значение высоты пика или кривой не имеет значения, и важностьэто наличие одного и того же шаблона.
Эскиз хороших и плохих функций
Я ищу методологию или рабочий процесс (в идеале в python) для обнаружения и выделения этихинтервалы низкой корреляции и различий.
Вещи, которые я уже пытался без успеха:
- Регулярное обнаружение пиков: Пики присутствуют везде имногие отличающиеся особенности - это не пики, а растянутые интервалы.
- Динамическая деформация времени (DTW): Криваяони уже выровнены правильно и на одной сетке, нет необходимости их оборачивать
- Область между кривыми: Площадь между кривыми меняется регулярно, так как все линии ведут себя независимо и только основные функциитакие как впадины и пики следует учитывать
- корреляция Пирсона в скользящем окне: Поскольку все кривые ведут себя независимо в своих абсолютных значениях, часто они не коррелируют для данного окна, даже если пики ивпадины все еще присутствуют
- Сравните шум кривых : Сглаживая кривые и вычисляя остаточный шум (noise = curve - smoothed_curve), я смог извлечь элементы (пики / впадины)) но я не могу найти способ идентифицировать разные интервалы, так как их абсолютные амплитуды так сильно различаются
- Сходство косинусов: Сравнивает только весь набор данных, а не отдельные функции
- Производные: Я также пытался получить позиции пиков и впадин баСеда на выводах, но так как кривые нерегулярны, это также не было успешным.
В итоге: Я "просто" хочу достичь чего-то, что легко для человеческого глаза, найти интервалы в кривых, которые отклоняются от общего шаблона кривых. Есть ли другие аналитические способы для достижения этой цели?