2013-08-02 2 views
0

Рассмотрят следующие данные, сгенерированные на которых фильтр будет добавлен, чтобы получить соответствующую деформацию:корреляция между шумом и ошибками

standarddev=0.1; 
    [x,y] = pol2cart(0:0.01:2*pi, 1); 
    x1=x-filter(.1*(1-.1), [1 -.1], cumsum(standarddev*randn(size(x)))); 
    y1=y-filter(.1*(1-.1), [1 -.1], cumsum(standarddev*randn(size(y)))); 
    plot(x1,y1); 

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

Я расчет относительной средней ошибки при использовании

error_x=mean(abs(x1-x)./x); 

Моего переменного параметра в приведенных выше данных, будет стандартное отклонением (например, 0,0.05,0.1, ..., 1, ..., 2) , то есть я хочу изучить, как обнаружено изменение количества обнаруженных шумовых эффектов.

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

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

+0

Это совсем не ясно. Что вы подразумеваете под словом «Я добавил немного шума, а не просто случайную ошибку»? –

+0

@OliCharlesworth извините отсутствие ясности. Я имел в виду, что вместо простого «x1 = x-standarddev * randn (size (x))», я сделал выше одного с фильтром. – user2178841

+0

@ OliCharlesworth, так как я добавил фильтрованную случайную ошибку, я не могу ожидать идеальной корреляции между ошибкой и стандартным отклонением. Вот что я имел в виду. – user2178841

ответ

1

, как вы попытались вычислить error_x и error_y вероятно, привело к занижению в связи с отменой сроков, как вы были сохранение информации знака путем суммирования условий abs(x1-x)./x.

Если вы хотите среднюю относительную ошибку, а затем использовать

error_x=mean(abs((x1-x)./x)); 
error_y=mean(abs((y1-y)./y)); 

Расчет относительной (населения) стандартное отклонение является альтернативой:

rstddev_x=sqrt(mean(((x1-x)./x).^2)); 
rstddev_y=sqrt(mean(((y1-y)./y).^2)); 

Популяция стандартное отклонение другая альтернатива:

stddev_x=sqrt(mean((x1-x).^2)); 
stddev_y=sqrt(mean((y1-y).^2)); 

Обратите внимание, что деление на x и y могут привести к нестабильности, когда они становятся очень маленькими числами. В этом смысле также может быть лучше сравнить параметр деформации с std dev, а не один из относительных параметров

+0

Спасибо за ответ. Во-первых, я не рассчитываю стандартное отклонение или население SD. Я вычисляю [error] (https://en.wikipedia.org/wiki/Approximation_error), который, как вы знаете, не такой, как SD. Также это утверждение немного неясно. Не могли бы вы уточнить? «Вы можете получить более высокий уровень добавленного шума и вычислить его из-за отклонения с помощью исправленных формул». Вы хотели попробовать свою формулу? Вы имеете в виду, что это даст лучшую корреляцию? – user2178841

+1

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

Смежные вопросы