数据处理
Savitzky-Golay 滤波
数学原理基于局部多项式拟合和最小二乘法。
主要步骤:
-
选择窗口: 在数据中选择一个窗口,窗口的大小是一个奇数,通常是 3、5、7 等。窗口越大,拟合的多项式阶数越高。
-
多项式拟合: 在每个窗口内,使用最小二乘法进行多项式拟合。假设选取的窗口大小为 2m+1,表示窗口中有 2m+1个数据点。在这个窗口内,我们拟合一个 n 次多项式(通常选择n较小,例如 n = 2 或n = 3),该多项式为:
P(x) = a0 + a1x + a2x2 +……+ anxn
其中,a0, a1, …, an 是待定系数,通过最小二乘法求解。
-
平滑: 对于窗口中的每个数据点,使用在步骤 2 中得到的多项式在窗口中心 x处计算拟合值,将这个拟合值作为平滑后的结果。
数学原理
假设我们有一个包含 2m+1个数据点的窗口,可以表示为 (x1, y1), (x2, y2), ……, (x2m+1, y2m+1)。然后,我们希望拟合一个n 次多项式P(x)来逼近这些数据点。通过最小二乘法,我们要最小化下面的损失函数:
对上述损失函数进行偏导数为零的求解,得到待定系数的解,然后可以得到拟合的多项式。最后,在窗口中心 x处计算多项式的值,作为平滑后的结果。
需要注意的是,选择合适的窗口大小和多项式阶数对于滤波效果至关重要,这通常需要根据具体的数据和应用来进行调整。较大的窗口和较高阶数可能会过度拟合数据,导致失真;较小的