Что такое “хорошее” значение R при сравнении 2 сигналов с помощью взаимной корреляции?

Как splattne упоминания, маркировка включает свой текст в промежуток, тогда как литерал является просто заполнителем. Однако будьте осторожны в создании предположений о том, как средства управления ASP.NET собираются представить. Это может зависеть от агента пользователя, который Вы используете. Например, управление панелью представляет как отделение в IE, но рендеринг как таблица с Firefox.

5
задан John Kugelman supports Monica 17 August 2009 в 18:10
поделиться

6 ответов

( редактировать: что касается прямого ответа на ваш вопрос о значениях R, см. Ниже)

Один из способов приблизиться к этому - использовать взаимную корреляцию. Имейте в виду, что вам необходимо нормализовать амплитуды и скорректировать задержки: если у вас есть сигнал S1, и сигнал S2 идентичен по форме, но вдвое меньше амплитуды и задержан на 3 отсчета, они все равно полностью коррелированы.

Например, :

>> t = 0:0.001:1;
>> y = @(t) sin(10*t).*exp(-10*t).*(t > 0);
>> S1 = y(t);
>> S2 = 0.4*y(t-0.1);
>> plot(t,S1,t,S2);

alt text

У них должен быть идеальный коэффициент корреляции. Способ вычислить это - использовать максимальную взаимную корреляцию:

>> f = @(S1,S2) max(xcorr(S1,S2));

f = 

    @(S1,S2) max(xcorr(S1,S2))

>>  disp(f(S1,S1)); disp(f(S2,S2)); disp(f(S1,S2));
   12.5000

    2.0000

    5.0000

Максимальное значение xcorr () учитывает временную задержку между сигналами. Что касается корректировки амплитуды, вы можете нормализовать сигналы так, чтобы их самокросс-корреляция была равна 1,0, или вы можете сложить этот эквивалентный шаг в следующее:

ρ 2 = f (S1 , вы можете использовать это:

>> S2res=S2-S2fit;
>> dot(S2res,S2res)/dot(S2,S2)

ans =

    0.0081

>> sqrt(dot(S2res,S2res)/dot(S2,S2))

ans =

    0.0900

Это говорит о том, что остаток составляет около 0,81% энергии (9% от среднеквадратичной амплитуды) исходного сигнала S2. (скалярное произведение одномерного сигнала с самим собой всегда будет равно максимальному значению взаимной корреляции этого сигнала с самим собой.)

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

12
ответ дан 18 December 2019 в 11:59
поделиться

Хорошей отправной точкой является получение представления о том, как будет выглядеть идеальное совпадение, путем вычисления автокорреляций для каждого сигнала ( то есть сделать "взаимную корреляцию" каждого сигнала с самим собой).

1
ответ дан 18 December 2019 в 11:59
поделиться

ЭТО ПОЛНАЯ УГАДАЯ - но я предполагаю, что max (abs (xcorr (S (1, :), X (1, ​​:))))> 0,8 подразумевает успех. Просто из любопытства, какие значения вы получите для max (abs (xcorr (S (1, :), X (2,:))))?

Другой способ проверки вашего алгоритма может заключаться в сравнении A и W. Если W вычисляется правильно, оно должно быть A ^ -1, поэтому можно ли вычислить такую ​​меру, как | A * W - I |? Может быть, вам придется нормализовать по следу A * W .

Возвращаясь к вашему исходному вопросу, я исхожу из опыта работы с DSP, поэтому мне приходится иметь дело с сигналами без шума. Я понимаю, что это не роскошь, которую можно получить в биологии :) так что мое предположение 0,8 может быть очень оптимистичным. Возможно, будет полезно посмотреть литературу в вашей области, даже если в ней не используется точная взаимная корреляция.

1
ответ дан 18 December 2019 в 11:59
поделиться

Обычно в таких случаях говорят о «коэффициенте ложного принятия» и «коэффициенте ложного отказа». Первый описывает, сколько раз алгоритм говорит «подобный» для несходных сигналов, второй - наоборот.

Таким образом, выбор порога становится компромиссом между этими критериями. Чтобы сделать FAR = 0, порог должен быть равен 1, чтобы сделать FRR = 0, порог должен быть -1.

Так что, вероятно, вам нужно будет решить, какой компромисс между FAR и FRR приемлем в вашей ситуации, и это даст правильное значение для порога.

Математически это можно выразить по-разному. Всего пара примеров: 1. зафиксировать одни ставки на приемлемом значении и минимизировать другие 2. минимизировать макс (FRR, FAR) 3. минимизировать a FRR + b FAR

1
ответ дан 18 December 2019 в 11:59
поделиться

Поскольку они должны быть равны, коэффициент корреляции должен быть высоким, между 0,99 и 1. Я бы также исключил из ваших вычислений функции max и abs.

РЕДАКТИРОВАТЬ: Я заговорил слишком рано. Я перепутал взаимную корреляцию с коэффициентом корреляции, который совершенно другой. Мой ответ может не дорого стоить.

0
ответ дан 18 December 2019 в 11:59
поделиться

Я согласен, что результат будет субъективным. Что-то, что включает сумму квадратов разностей, элемент за элементом, будет иметь некоторую ценность. Два идентичных массива в этой форме дадут значение 0. Вам нужно будет решить, какое значение тогда станет «плохим». Составьте 2 разных вектора, которые «не так уж и плохи», и найдите их коэффициент взаимной корреляции, который будет использоваться в качестве руководства.

(в скобках: если бы вы делали коэффициент корреляции, где 1 или -1 было бы хорошо, а 0 было бы ужасно, биостатисты сказали мне, что реальное значение 0,7 - это очень хорошо. Я понимаю, что это не совсем то, что вы делаете, но комментарий по коэффициенту корреляции появился ранее.)

0
ответ дан 18 December 2019 в 11:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: