サーチ…
Savitzky-Golayフィルタの使用
ノイズの多い信号が与えられた場合:
import numpy as np
import matplotlib.pyplot as plt
np.random.seed(1)
x = np.linspace(0,2*np.pi,100)
y = np.sin(x) + np.random.random(100) * 0.2
plt.plot(x,y)
plt.show()
scipy.signal.savgol_filter()メソッドを使用してSavitzky-Golayフィルタを使用してscipy.signal.savgol_filter() できます 。
import scipy.signal
import numpy as np
import matplotlib.pyplot as plt
np.random.seed(1)
x = np.linspace(0,2*np.pi,100)
y = np.sin(x) + np.random.random(100) * 0.2
yhat = scipy.signal.savgol_filter(y, 51, 3) # window size 51, polynomial order 3
plt.plot(x,y)
plt.plot(x,yhat, color='red')
plt.show()
Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow

