我有一系列的數據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我想做移動平均線(我編輯了代碼來反映這一點)。數據集是一個時間序列實驗,它已經重複了好幾次(這是我對每個點的標準偏差)。我想在計算移動平均線時使用每個點的標準偏差,因爲我希望標準偏差較小的點比標準偏差較大的點多。 –