![]() |
|
|
![]()
|
|
| sergejzr |
|
|||
![]() Un salsero Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 4 Всего: 360 |
Допустим у меня есть два дискретных ряда R1, R2 допустим это измерения одного и того же процесса разными инструментами. Количество измерений не обязательно равно.
Как определить их похожесть? Понятно, когда "похожесть" 100%, но не понятно, где обратная граница. Ведь "непохожесть" может быть какой угодно большой. И как её измерять... |
|||
|
||||
| maxim1000 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: 33 Всего: 110 |
чаще всего "похожесть" понимается сходно с расстоянием
т.е. фраза получается "эти города близки на 30%" - не очень-то осмысленно с другой стороны стоит разобраться, зачем нужно представление именно в процентах если только для того, чтобы сравнить с порогом, то совсем необязательно в процентах - можно просто какое-то значение, характеризующее меру отличия, необязательно даже ограниченное сверху для более специфического случая с рядами нужно уточнить по каким параметрам сравниваются ряды, если в процессе сравнения происходит поиск какой-то общей части, можно сравнивать её длину с длинами двух рядов и оттуда получать какие-то проценты -------------------- qqq |
|||
|
||||
| Sardar |
|
|||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 1 Всего: 317 |
Можно на манер вычисления расстояния между строками (вставка/удаление символов) вычислить "наименьшую" разницу между элементами, т.е. (вставка/удаление/+дельта), где каждой из этих операций можно дать разный вес. Задача по идее квадратична ("динамическое программирование"), если данных не много, то вполне быстро.
-------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
|||
|
||||
| sergejzr |
|
|||
![]() Un salsero Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 4 Всего: 360 |
Спасибо за ответы
Я тут обмозговал это, получился такой пример: R1 - N точек на f1(x) R2 - L точек на f2(x) "Похожесть" определяется количеством точек, которые однозначно принадлежат или f1, или f2 Если точек нет - похожесть 0% Если по имеющимся точкам не определить, к какой функции они относятся - 100% При этом есть точки примеры из f1 и точки - примеры из f2 по которым можно примерно f1 и f2 восстановить. (просто дело идёт не о функции, а о дискретном ряде, поэтому не говорю, что f1,f2 известны)
Мне именно измерение "похожести" необходимо, а не само решение задачи. Скажем так... в процентах не совсем необходимо, но намного удобнее сравнивать множество таких пар рядов между собой, особенно если каждая пара специфична.. |
|||
|
||||
| maxim1000 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: 33 Всего: 110 |
что подразумевается? -------------------- qqq |
|||
|
||||
| sergejzr |
|
|||
![]() Un salsero Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 4 Всего: 360 |
||||
|
||||
| maxim1000 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: 33 Всего: 110 |
тогда не очень понятна эта фраза насколько я понял, сравниваются два ряда (R1, R2?) если это так - при чём тут функции? -------------------- qqq |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 20 Всего: 454 |
Из институтского курса высшей математики вспоминается слово "корреляция"...
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| _Y_ |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1651 Регистрация: 27.11.2006 Репутация: 8 Всего: 34 |
Именно корреляция и методы борьбы с ним опусаны в куче книг по обработке результатов измерений.
В простейшем случае применяется метод наименьших квадратов. Две величины наносятся на график по двум осям, ищется зависимость (проще всего - линейная) и считается коэффициент корреляции. Метод наименьших квадратов - самый распространенный подход к поиску такой зависимости. В общем виде: sum[(x(i) - y(i))**2]=min Ну а если есть желание погуглить - клучевое слово коэффициент корреляции. -------------------- Я вот в этом поучаствовал: http://sbor-nik.appspot.com/kick.jsp?id=sbor5737960678883328 (на правах саморекламы:) |
|||
|
||||
| podval |
|
|||
![]() Где я? Кто я? ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3094 Регистрация: 25.3.2002 Где: СПб Репутация: 18 Всего: 62 |
Сдаётся мне, корреляция здесь и даром не нужна.
Ну, допустим, получили значение коэффициента корреляции 0.78. Дальше что? Какие из этого выводы (случаи 0, 1 и близкие к ним не рассматриваем) ? Что с этим делать? sergejzr, разжевал бы подробнее, какова цель? Ведь по неё можно подогнать любую науку Для чего тебе нужна похожесть/непохожесть рядов измерений? Чтобы угадывать, одним инструментом они получены или разными? Где цель, вобщем? А то для начала я бы, например, поработал с сырыми данными и посмотрел: 1) а не образуют ли данные хотя бы 2 кластера? 2) не попадают ли результаты измерений разными инструментами в разные кластеры? Вот было бы тогда за что цепляться. |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 20 Всего: 454 |
Я что-то не въезжаю... В ответ дали КОЛИЧЕСТВЕННУЮ оценку похожести. В полном соответствии с просьбой. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| podval |
|
|||
![]() Где я? Кто я? ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3094 Регистрация: 25.3.2002 Где: СПб Репутация: 18 Всего: 62 |
Akina, у корреляционного анализа малость другое предназначение.
Если бы Серж пытался найти, скажем, как изменение R1 отражается на значениях R2, тогда велкам. Но он ведь не ищет взаимосвязь R1 и R2, ибо и так дано, что это измерения одного и того же процесса, только разными инструментами. |
|||
|
||||
| sergejzr |
|
|||
![]() Un salsero Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 4 Всего: 360 |
Ребята, спасибо за дискуссию. сейчас разобрался вроде, что мне на самом деле надо.
Для кластеризации необходимо фичерсы как-то выделить, а в том и проблема, что их как-то определить надо.. Попробую открыть "секрет" Я тут занимаюсь "security in information outsourcing and retrieval". Надеюсь народ имеет представление об "inverted index" Смысл в том, что коллекция из документов записывается в виде: слово:указатели_на_документы_содержащие_это_слово Допустим следующие документы: 1) "светило солнце" 2)"солнце - самая близкая звезда и самая большая" составят следующий индекс (по схеме: слово документ(кол-во)): светило 1(1) солнце 1(1),2(1) самая 2(2) близкая 2(1) звезда 2(1) большая 2(1) Таким образом имея индекс очень легко найти интересующий документ без того, чтобы перелопачивать всё содержимое коллекции, а количество искомого слова в документе определяет "важность" документа. Но и имеющий индекс, может сказать всё про всё коллекцию. Чего нам и нельзя допускать. Даже если зашифровать слова и отдельные указатели, по их количеству можно догадаться, о каком слове идёт речь. В первой работе нам удалось скрыть всю инфу тем, что некоторые строки в таблице мы соединяли вместе и после шифровки без "ключа" уже нельзя было сказать, какое слово в каком документе находится. Например: светило,солнце,звезда 1(1), 1(1), 2(1), 2(1) самая,близкая,большая 2(2), 2(1), 2(1) Это всё основано на теорвере и акцептировано научным миром (бумажка 109). Вот только информация о количестве тоже зашифрована, потому что её распределение может рассказать о слове. Проблему эту решали (и решили здесь). Тем, что просто равномерно распределяем вероятностно обоснованные значения в одинаковых пределах для всех слов. Осалось только проверитъ, насколько функция хорошо защищает слова, то есть может ли нападающий сказать, что например "в хвосте" слово "большая" более вероятно, или нет |
|||
|
||||
| podval |
|
|||
![]() Где я? Кто я? ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3094 Регистрация: 25.3.2002 Где: СПб Репутация: 18 Всего: 62 |
зубодробительно |
|||
|
||||
| sergejzr |
|
|||
![]() Un salsero Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 4 Всего: 360 |
Пока - да. Но ведь и работа пока не закончена. Сейчас причёсываю. Поэтому и пришлось конкретную проблему описать "на пальцах".. |
|||
|
||||
![]()
|
| Правила форума "Алгоритмы" | |
|
|
Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Алгоритмы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |