在处理工业数据的时候,工业数据有数据颗粒细,噪声大,量大,随着测量点的增加,数据维度高,复杂性高,而且关联性强,不过这个关联性是相对的,因为有时候数据噪声较大,显示不出来这种关联性。
最近了解的五点三次平滑,在一个工业数据处理平台上有这个,就很疑惑为什么要用这个,搜了很多都是matlab写的代码,没有说明为什么用这个方法,就去知网搜了几篇论文,引用这些文献的解释:
“一般来说,在数据采集系统中采集到的数据往往叠加有噪声。噪声分为两种,一类为周期性的,一类为不规则的。前者代表为50 Hz 的工频干扰,后者代表为随机信号。”
“由于随机干扰的存在,使得随机信号绘成的曲线多呈折线状,这就表明采样数据中高频成分比较丰富。为了消除或减弱干扰的影响,提高曲线光滑度,需对采样数据进行平滑处理。常用的平滑处理方法有: 平均法、样条函数法和五点三次平滑法。平均法相对简单,滤波效果也差; 样条函数法利用样条插值逼近采样点的方法来实现平滑,算法多样,效果较好,但是,使用
该方法计算相对复杂,平滑幅度控制较差; 五点三次平滑法利用多项式最小二乘逼近来对采样点实行平滑滤波,算法简单,效果较好。”
其实在生产车间中,很多数据其实是模拟信号,这应该自动化控制中的信号数据。之前用的是平均法,现在可以考虑用五点三次平滑来做一下探索。
网上全都是MATLAB版本,然后也只看到一个C语言的版本,然后在这里写了一个python的,应该也是全网唯一。。。比较着急,先写了一个,数据于只能是pd.Series,可以对数据框的列数据进行操作。