我正在嘗試平滑此數據集並生成帶有誤差線的單個代表性曲線。採集數據點的方法採用相當粗略的步驟進行離散化處理。我沒有太多的編程經驗,但正在努力學習。我讀過高斯濾波器可能是一個不錯的選擇。任何幫助,將不勝感激。 平滑離散數據集
下面是一個例子的數據集:
Time (min) Non-Normalized Shrinkage Normalized Shrinkage
200 93 1.021978022
202 92 1.010989011
204 92 1.010989011
206 92 1.010989011
208 92 1.010989011
210 92 1.010989011
212 91 1
214 90 0.989010989
216 90 0.989010989
218 90 0.989010989
220 88 0.967032967
222 88 0.967032967
224 87 0.956043956
226 86 0.945054945
228 86 0.945054945
230 86 0.945054945
232 86 0.945054945
234 86 0.945054945
236 85 0.934065934
238 84 0.923076923
240 83 0.912087912
242 83 0.912087912
244 83 0.912087912
246 82 0.901098901
248 83 0.912087912
250 82 0.901098901
252 81 0.89010989
254 81 0.89010989
256 82 0.901098901
258 82 0.901098901
260 79 0.868131868
262 80 0.879120879
264 80 0.879120879
我發現這個代碼片段在網上的地方,但我不知道如何實現它或它是否是我要找的。
def smoothListGaussian(list,degree=5):
window=degree*2-1
weight=numpy.array([1.0]*window)
weightGauss=[]
for i in range(window):
i=i-degree+1
frac=i/float(window)
gauss=1/(numpy.exp((4*(frac))**2))
weightGauss.append(gauss)
weight=numpy.array(weightGauss)*weight
smoothed=[0.0]*(len(list)-window)
for i in range(len(smoothed)):
smoothed[i]=sum(numpy.array(list[i:i+window])*weight)/sum(weight)
return smoothed
您可以提供您目前使用的代碼嗎?還有一個示例數據集? – Ffisegydd
我到目前爲止還沒有任何代碼。我發現上面粘貼的這一塊,但我不知道如何實現它。對不起,這樣的菜鳥。 – SeattleFreezer