Savitzky-Golay平滑滤波是光谱预处理中常用滤波方法,它的核心思想是对一定长度窗口内的数据点进行k阶多项式拟合,从而得到拟合后的结果。对它进行离散化处理后后,S-G 滤波其实是一种移动窗口的加权平均算法,但是其加权系数不是简单的常数窗口,而是通过在滑动窗口内对给定高阶多项式的最小二乘拟合得出。
接下来以二阶多项式情况下的直线滑动平均法作为特殊例子,进行详细分析,并给出通用的多阶加权系数计算方法以及python实现的代码。
文章结构:
直线滑动平均法
对自变量x按等距△x作实验观测得数据如下:
令 t=x−xiΔx t = x − x i Δ x ,上述数据变为
用下面的方法 yi y i 修正的值:取定正整数n,使 i−n>=0和i+n<=m i − n >= 0 和 i + n <= m