雜訊資料的平滑曲線:探討Savitzky-Golay 濾波
在分析資料集的過程中,平滑雜訊曲線的挑戰出現在提高清晰度並揭示潛在模式。對於此任務,特別有效的方法是 Savitzky-Golay 濾波器。
Savitzky-Golay 濾波器在資料可以透過多項式函數進行局部近似的假設下運作。它利用最小二乘迴歸將指定的多項式擬合到資料點的小窗口,然後使用該多項式來估計窗口中心的值。這個過程是迭代應用的,沿著資料系列移動窗口,允許每個點相對於其鄰居進行最佳調整。
對於表現出小噪音變化的資料集,例如問題中提供的範例,a Savitzky-Golay 過濾器被證明非常有效。透過指定視窗大小和多項式的階數,可以自訂濾波器以適應資料的特徵。
在 Python 中,Savitzky-Golay 濾波器可以在 SciPy 庫中輕鬆取得。下面的程式碼片段說明了它的實作:
import numpy as np
import matplotlib.pyplot as plt
from scipy.signal import savgol_filter
x = np.linspace(0, 2*np.pi, 100)
y = np.sin(x) np.random.random(100) * 0.2
yhat = savgol_filter(y, 51, 3) # window size 51, polynomial order 3
plt.plot(x,y)
plt.plot(x,yhat, color='red')
plt.show()
產生的平滑曲線提供了底層正弦函數的更清晰表示,突出了 Savitzky-Golay 濾波器在減輕噪聲和增強顯著特徵的可見性方面的有效性。
總而言之,Savitzky-Golay 濾波器提供了一種通用且適應性強的方法來平滑噪音曲線,使其成為各種科學和工程學科中數據分析的寶貴工具。
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3