当前位置: 移动技术网 > IT编程>开发语言>Java > 数据处理:应用Savitzky-Golay算法对数据进行平滑化处理

数据处理:应用Savitzky-Golay算法对数据进行平滑化处理

2020年07月13日  | 移动技术网IT编程  | 我要评论

概念

照抄百度百科,相关推导wiki可见https://en.wikipedia.org/wiki/Savitzky%E2%80%93Golay_filter英语wiki,部分用户可能不可见,原因大家都懂
Savitzky-Golay滤波拟合法是根据NDVI时间序列曲线的平均趋势,确定合适的滤波参数,用多项式实现滑动窗内的最小二乘拟合;利用Savitzky-Golay滤波方法(基于最小二乘的卷积拟合算法)进行迭代运算,模拟整个NDVI时序数据获得长期变化趋势。
非对称高斯函数拟合法是使用分段高斯函数(曲线)组合来模拟植被季相生长(物候)规律、一个组合代表一次植被盛衰过程,最后通过平滑连接各高斯拟合曲线,实现时间序列重建。具体过程包括:区间提取(在时间维选择一最大值或最小值区间作为局部拟合区间)、局部拟合(使用高斯拟合函数对局部区间数据进行拟合)、整体连接(将局部拟合结果合并)。
在这里插入图片描述

使用

这个算法可以对我们比较离散的点做平滑化处理
可用于数据预处理等,可以降低背景噪声,比如在使用SVM前做一下
scipy中的signal子模块能实现这样的功能

import scipy
scipy.signal.savgol_filter(x, window_length, polyorder)

x为要滤波的信号
window_length即窗口长度
取值为奇数且不能超过len(x)。它越大,则平滑效果越明显;越小,则更贴近原始曲线。
polyorder为多项式拟合的阶数。
它越小,则平滑效果越明显;越大,则更贴近原始曲线。

本文地址:https://blog.csdn.net/STL_CC/article/details/107240548

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网