tsmoothie:以向量化方式进行时序平滑和异常检测的Python库

  tsmoothie

  一个用于以向量化方式进行时间序列平滑和离群值检测的python库。

  总览

  tsmoothie以快速有效的方式计算单个或多个时间序列的平滑度。

  可用的平滑技术是:

  1)指数平滑

  2)具有各种窗口类型(常量,汉宁,汉明,巴特利特,布莱克曼)的卷积平滑

  3)多项式平滑

  4)各种样条平滑(线性,三次,自然三次)

  5)高斯平滑

  6)Binner平滑

  7)低价

  8)各种季节性分解平滑(卷积,最低,自然三次样条)

  9)带有可自定义组件(水平,趋势,季节性,长期季节性)的卡尔曼平滑

  tsmoothie提供了平滑处理结果的间隔计算。这对于识别时间序列中的异常值和异常可能很有用。

  可用的间隔类型为:

  1)sigma间隔

  2)置信区间

  3)预测间隔

  4)卡尔曼区间

  采用这种类型的间隔取决于所使用的平滑方法。

  tsmoothie还可以执行滑动平滑方法。可以将时间序列分成相等大小的片段,并分别进行平滑处理。与往常一样,此功能通过WindowWrapper类以矢量化方式实现。

  安装

  点安装tsmoothie

  该模块仅取决于NumPy,SciPy和simdkalman。支持Python 3.6或更高版本。

  用法

  下面是tsmoothie如何工作的几个示例。笔记本文件夹中提供了完整的示例。

  #导入库

  将 numpy 导入为 np

  import matplotlib。pyplot 如 PLT

  从 tsmoothie。utils_func 进口 sim_randomwalk

  从 tsmoothie。进口顺畅 LowessSmoother

  #产生3次长度为200

  np的随机游走。随机的。种子(123)

  数据 = sim_randomwalk(n_series = 3,时间步长= 200,

  process_noise = 10,measure_noise = 30)

  #操作平滑

  平滑 = LowessSmoother(smooth_fraction = 0.1,迭代= 1)

  更光滑。顺利(数据)

  #生成

  低间隔,向上 = 更平滑。get_intervals('prediction_interval')

  #绘制间隔为

  plt的平滑时间序列。图(figsize =(18,5))

  对于 我 在 范围(3):

  PLT。副区(1,3,我+ 1)

  PLT。积(平滑。smooth_data [我],线宽= 3,颜色= '蓝色')

  PLT。绘制(更平滑的数据[ i ],' . k ')

  plt。标题(f“时间序列{ i + 1 } ”); PLT。xlabel('时间')

  PLT。fill_between(范围(len个(更平滑。数据[我])),低[我],向上[我],阿尔法= 0.3)

  

tsmoothie:以向量化方式进行时序平滑和异常检测的Python库

 

  #导入库

  将 numpy 导入为 np

  import matplotlib。pyplot 如 PLT

  从 tsmoothie。utils_func 进口 sim_seasonal_data

  从 tsmoothie。导入更顺畅 DecomposeSmoother

  #生成3个长度为300

  np的周期性时间序列。随机的。种子(123)

  数据 = sim_seasonal_data(n_series = 3,时间步长= 300,

  频率= 24,measure_noise = 30)

  #

  更平滑地 进行平滑操作= DecomposeSmoother(smooth_type = 'lowess',周期= 24,

  smooth_fraction = 0.3)

  更平滑。顺利(数据)

  #生成

  低间隔,向上 = 更平滑。get_intervals('sigma_interval')

  #绘制间隔为

  plt的平滑时间序列。图(figsize =(18,5))

  对于 我 在 范围(3):

  PLT。副区(1,3,我+ 1)

  PLT。积(平滑。smooth_data [我],线宽= 3,颜色= '蓝色')

  PLT。绘制(更平滑的数据[ i ],' . k ')

  plt。标题(f“时间序列{ i + 1 } ”); PLT。xlabel('时间')

  PLT。fill_between(范围(len个(更平滑。数据[我])),低[我],向上[我],阿尔法= 0.3)

  

tsmoothie:以向量化方式进行时序平滑和异常检测的Python库

 

摘自:https://www.aaa-cg.com.cn/data/2904.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值