考虑生成以下数据,添加哪个过滤器以获得合适的变形:
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)。即我想研究如何检测到噪声添加量的变化影响误差。
我没有得到误差和标准偏差之间的良好相关性(正如人们所预期的那样),因为我增加了一些噪声,而不仅仅是随机误差,其数量随标准偏差而变化。
如何考虑所增加的噪声以获得误差和噪声之间的良好相关性。
答案 0 :(得分: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进行比较而不是相对参数之一