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);

我想研究平均误差(在 x 和 x1 之间,以及 y 和 y1 之间)和标准差的相关性。

我正在使用计算相对平均误差

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

我在上述数据中的可变参数将是标准偏差(例如 0,0.05,0.1,...,1,...,2)。即我想研究噪声量的变化如何影响检测到的错误。

我没有得到误差和标准偏差之间的良好相关性(正如人们所期望的那样),因为我添加了一些噪音,而不仅仅是随机误差,其数量随标准偏差而变化。

我如何考虑添加的噪声以在错误和噪声之间获得良好的相关性。

4

1 回答 1

1

您尝试计算的方式error_x并且error_y可能由于取消条款而导致低估,因为您通过求和 terms 来保留符号信息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));

请注意,当这些数字变得非常小时,除以xy可能会导致不稳定。从这个意义上说,将变形参数与 std dev 进行比较而不是相对参数之一可能会更好

于 2013-08-02T09:22:21.800 回答