реклама на сайте
подробности

 
 
> Мера близости последовательностей на основе взаимной корреляции
roman73_2
сообщение Oct 13 2014, 17:38
Сообщение #1





Группа: Новичок
Сообщений: 3
Регистрация: 13-10-14
Пользователь №: 83 123



Есть две числовые последовательности (времянных ряда, одномерных сигнала и т.д.), с немного разной длиной.
Нужно придумать меру их сходства, например от 0 до 1.

Можно последовательности интерполировать до одинаковой длины и найди ошибку (среднеквадратичную например). Это не совсем подходит, т.к. могут быть небольшие смещения.

Придумали эвристику на основе Левенштейна - цена замены - модуль разницы между сигналами. Как-то работает - но хочется сделать по науке sm.gif

Натолкнился на статью в википедии по взаимной корреляции
https://ru.wikipedia.org/wiki/%D0%92%D0%B7%...%86%D0%B8%D1%8F

Там описано, как из двух последовательностей получить результирующую (алгоритм похож на вычисление свёртки), это понятно. А как из этой последовательности получить число, которое говорило бы - похожи сигналы или нет?

Заранее спасибо.

Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Xenia
сообщение Oct 13 2014, 18:34
Сообщение #2


Гуру
******

Группа: Модератор FTP
Сообщений: 4 479
Регистрация: 20-02-08
Из: Москва
Пользователь №: 35 237



Цитата(roman73_2 @ Oct 13 2014, 21:38) *
Есть две числовые последовательности (времянных ряда, одномерных сигнала и т.д.), с немного разной длиной.
Нужно придумать меру их сходства, например от 0 до 1.


Меру сходства придумать недолго, однако далеко не любая мера имеет физический смысл. Например, даже в том случае, когда обе числовые последовательности одной длины, корреляция, вычисленная традиционным способом (как косинус угла между векторами в N-мерном пространстве) может не иметь ничего общего с правдой, если в первой последовательности поминутные отсчеты, а во второй посекундные.

Т.е. в общем случае формально-математически методы расчета корреляции имеют смысл, только если имеет место строгое соответствие между элементами первой последовательности и второй, даже если это соответствие неизвестно. В противном случае задача на взаимную корреляцию вообще не имеет смысла.

Подобного рода задачи часто возникают в генетике, когда требуется оценить родство геномов или отдельных генов, принадлежащих к разным видам живых организмов или их предполагаемым предкам. При этом очень часто оказывается, что эти гены (являющиеся в математическом смысле тоже последовательностями) неравной длины, а то и зачастую имеют в своем составе делеции (пропуск одного элемента) и/или вставки (добавление лишнего элемента) в произвольном месте последовательности. А при равном числе делеций и вставок может и длина совпадать, однако традиционными методами считать корреляцию тут все равно нельзя, т.к. после прохождения пропущенного или вставленного звена наступает десинхронизация. Это фактически тот же случай, когда пытаются сравнить две бинарные прошивки МК побайтовым сравнением sm.gif.

Из того инструментария, который применяется в таких случаях, могу посоветовать взаимную (кросс-)корреляцию со сдвигом. Это близкий родственник свертки двух функций, когда более короткая последовательно прикладывается к более длинной в разных местах последней. Т.е. сперва нос-к-носу, потом со сдвигом на одно звено, затем на два и т.д., пока не совпадут хвосты обеих последовательностей. А за меру сходства принимается максимальный результат из всех этих сдвиговых корреляцией.
Go to the top of the page
 
+Quote Post
roman73_2
сообщение Oct 13 2014, 20:18
Сообщение #3





Группа: Новичок
Сообщений: 3
Регистрация: 13-10-14
Пользователь №: 83 123



Цитата(Xenia @ Oct 13 2014, 21:34) *
Меру сходства придумать недолго, однако далеко не любая мера имеет физический смысл. Например, даже в том случае, когда обе числовые последовательности одной длины, корреляция, вычисленная традиционным способом (как косинус угла между векторами в N-мерном пространстве) может не иметь ничего общего с правдой, если в первой последовательности поминутные отсчеты, а во второй посекундные.

Т.е. в общем случае формально-математически методы расчета корреляции имеют смысл, только если имеет место строгое соответствие между элементами первой последовательности и второй, даже если это соответствие неизвестно. В противном случае задача на взаимную корреляцию вообще не имеет смысла.

Подобного рода задачи часто возникают в генетике, когда требуется оценить родство геномов или отдельных генов, принадлежащих к разным видам живых организмов или их предполагаемым предкам. При этом очень часто оказывается, что эти гены (являющиеся в математическом смысле тоже последовательностями) неравной длины, а то и зачастую имеют в своем составе делеции (пропуск одного элемента) и/или вставки (добавление лишнего элемента) в произвольном месте последовательности. А при равном числе делеций и вставок может и длина совпадать, однако традиционными методами считать корреляцию тут все равно нельзя, т.к. после прохождения пропущенного или вставленного звена наступает десинхронизация. Это фактически тот же случай, когда пытаются сравнить две бинарные прошивки МК побайтовым сравнением sm.gif.

Вот не надо про гены и бинарные прошивки. Мне кажется я нормально описал задачу. Последовательности числовые, могут "немного" различаться масштабом (по x и/или по y), может быть сдвиг.

Цитата(Xenia @ Oct 13 2014, 21:34) *
Из того инструментария, который применяется в таких случаях, могу посоветовать взаимную (кросс-)корреляцию со сдвигом. Это близкий родственник свертки двух функций, когда более короткая последовательно прикладывается к более длинной в разных местах последней. Т.е. сперва нос-к-носу, потом со сдвигом на одно звено, затем на два и т.д., пока не совпадут хвосты обеих последовательностей. А за меру сходства принимается максимальный результат из всех этих сдвиговых корреляцией.

Спасибо, это уже ближе к телу. А формул не подкинете? Как в этом случае вычисляется сходство сдвинутых последовательностей, скалярное произведение? Или скреднеквадратичное отклонение?

Насколько я понял, элемент взаимнокорреляционного полинома (как и свёртки) складывается из многих элементов исходных последовательностей. И может быстро вычисляться через БПФ.
Вы кажется предлагаете какое-то попарное сравнение с перебором. Это не подходит. Сигнал может быть визуально сходен, но при попарном сравнении будет каша из-за разнице в масштабах по x. Или может я чего недопонял...
Я спрашиваю, как получить из взаимнокорреляционного полинома некоторую числовую меру сходства.

Другие идеи сравнения я не отметаю, но хотелось бы чего-нибудь математически обоснованного sm.gif
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- roman73_2   Мера близости последовательностей на основе взаимной корреляции   Oct 13 2014, 17:38
|- - Dr.Alex   "Мера сходства" зависит от статистики ис...   Oct 13 2014, 21:32
||- - Дмитриос   Цитата(Dr.Alex @ Oct 14 2014, 01:32) ...   Oct 15 2014, 18:48
||- - Dr.Alex   Цитата(Дмитриос @ Oct 15 2014, 22:48) под...   Oct 15 2014, 21:16
|||- - Дмитриос   Цитата(Dr.Alex @ Oct 16 2014, 01:16) Не м...   Oct 16 2014, 15:15
|||- - Dr.Alex   Вообще это адаптивным фильтром делается, описано в...   Oct 16 2014, 17:47
||- - andyp   Цитата(Дмитриос @ Oct 15 2014, 22:48) под...   Oct 16 2014, 08:19
|- - Xenia   Цитата(roman73_2 @ Oct 14 2014, 00:18) Во...   Oct 13 2014, 21:41
- - asoharev   Иногда для сравнения последовательностей (например...   Oct 14 2014, 20:33
|- - roman73_2   Цитата(asoharev @ Oct 15 2014, 00:33) Ино...   Oct 14 2014, 22:53
|- - asoharev   Цитата(roman73_2 @ Oct 15 2014, 02:53) Да...   Oct 15 2014, 18:15
- - V_G   Вообще-то ДО математики надо для себя понять, что ...   Oct 14 2014, 23:23
- - WitFed   Да, неужели нельзя настроить АЦП при приёме второй...   Oct 15 2014, 11:32
- - mvb   А можно побольше описания физики процесса? Что за ...   Oct 17 2014, 13:15


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 12th August 2025 - 09:50
Рейтинг@Mail.ru


Страница сгенерированна за 0.01366 секунд с 7
ELECTRONIX ©2004-2016