![]() |
|
|
![]()
|
|
| _Y_ |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1651 Регистрация: 27.11.2006 Репутация: 8 Всего: 34 |
Имеются разные последовательности событий:
![]() Хочется написать программу сравнивающую пары таких последовательностей. На рисунке черная и малиновая последовательности больше похоже, чем каждая из них с желтой. Но хотелось бы посчитать некий коеффициент похожести. ------------------------------- Мне кажется, что подобные задачи решают алгоритмы сравнения последовательностей нуклеотидов на хромосоме (или аминокислот в белках). Например, очень милый алгоритм Смита-Уотермана. В этих алгоритмах априори задаются коэффициенты похожести. Например, если в последовательностях два члена, стоящие в одинаковых положениях, не совпадают - штраф 10 баллов. Если в одной из последовательностей член пропущен - штраф 15 баллов Похожесть последовательностей оценивается суммой штрафов. Но все эти алгоритмы не подразумевают развертки по непрерывным осям. В них следующий член последовательности идет непосредственно за предидущим. Допускается только пропустить/вставить один или несколько членов. А мне нужно как-то сравнивать и положения событий по отношению к осям. Подскажите, пожалуйста, кто что знает. Или просто идеи выскажите. -------------------- Я вот в этом поучаствовал: http://sbor-nik.appspot.com/kick.jsp?id=sbor5737960678883328 (на правах саморекламы:) |
|||
|
||||
| disputant |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 210 Регистрация: 28.11.2011 Репутация: 2 Всего: 3 |
А для начала попробовать простую корреляцию пар (y_1i, y_2i) посчитать? (Если координаты x совпадают. Если нет - можно проинтерполировать.)
Просто как самое простое показалось. Конечно, надо поэкспериментировать на реальных данных, априори не говорю, что метод хорош - но зато очень прост |
|||
|
||||
| _Y_ |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1651 Регистрация: 27.11.2006 Репутация: 8 Всего: 34 |
Это не годится, к сожалению. Стоит задача не сравнения получаемых по точкам-событиям функций, а сравнения последовательностей событий. Так, например, с точки зрения функций прямая с тремя точками (1,1)(2,2)(3,3) и с двумя точками (1,1)(3,3) идентичны, т.к. описываются одной и той же функцией Y=X. Однако, в первом случае имеем три события, а во втором только два - совершенно разные сценарии. ЗЫ: на моей первой картинке линии, соединяющие точки-события, смысла никакого не имеют. Они только показывают какое событие относится к какой последовательности. -------------------- Я вот в этом поучаствовал: http://sbor-nik.appspot.com/kick.jsp?id=sbor5737960678883328 (на правах саморекламы:) |
|||
|
||||
| disputant |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 210 Регистрация: 28.11.2011 Репутация: 2 Всего: 3 |
Тогда конечно корреляция ни при чем...
|
|||
|
||||
![]()
|
| Правила форума "Алгоритмы" | |
|
|
Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Алгоритмы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |