我有一系列的数据x,y和我试图找到移动平均线。 x数据编号是从1到100的整数,而y数据是从0.01到1的数字,并且它们也有标准偏差y_dev(由于实验重复几次而得出)。 我想用20个最近的邻居(利用Matlab)来找到移动平均线:移动平均线和错误 - Matlab
num_data=length(x)
mov_average=y
for i=11,num_data-10 % we leave the data in the edges the same
ind1(i)=i-10
ind2(i)=i+10
mov_average(i)=mean(y(ind1(i):ind2(i)));
end
上述方式导出均线,但我不知道如何使用标准偏差,我对每个Y数据点,因为一些数据点比其他数据点有更大的标准偏差,这意味着它们不如其他数据可靠(因此它们可能重量更轻)。如何在上述计算中包含每个数据点的标准偏差?
谢谢。
移动_average_或移动_median_?关于“如何在上述计算中包含每个数据点的标准偏差”这个问题,这取决于你想要做什么。你应该先决定(这不是一个编程问题)。一个建议:你不能使用每个'x'的整套数据(而不仅仅是平均值和标准偏差),并从中计算平均值/中值? –
@LuisMendo我想做移动平均线(我编辑了代码来反映这一点)。数据集是一个时间序列实验,它已经重复了好几次(这是我对每个点的标准偏差)。我想在计算移动平均线时使用每个点的标准偏差,因为我希望标准偏差较小的点比标准偏差较大的点多。 –