开源时序建模框架Kats

KATS简介

时间序列分析建模是数据科学和机器学习的一个重要的领域,在电子商务、金融、供应链管理、医学、气象、能源、天文等诸多领域有着广泛的应用。目前时间序列分析以及建模的技术非常多,但相对散乱。

Facebook开源的Kats 是第一个开发标准并连接时间序列分析各个领域的综合 Python 库,用户可以在这里探索其时间序列数据的基本特征,预测未来值,监视异常,并将其合并到ML模型和pipeline中。

Kats (Kits to Analyze Time Series) 是一个轻量级、易于使用、可扩展和通用的框架,用于在 Python 中执行时间序列分析。具有以下功能:

  1. 预测(Forecasting)
  2. 异常和变化点检测(Anomaly and Change Point Detection)
  3. 特征提取(Feature Extraction)

github地址:https://github.com/facebookrese

KATS安装

pip install kats

安装遇到的问题:

安装过程中涉及fbprophet的安装,问题主要集中在这个包上

问题一:

Microsoft Visual C++ 14.0 is required
解决方法:安装visual studio2017,选择“使用C++的桌面开发”选项

问题二:

   error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.16.27023\\bin\\HostX86\\x64\\cl.exe' failed with exit status 2
   
   ERROR: Failed building wheel for fbprophet

解决方法:执行以下语句:

  • python -m pip install -U pip
  • conda install -c conda-forge pystan
  • pip install fbprophet

完成fbprophet安装后再次进行pip install kats

参考:

(12条消息) Fbprophet安装过程遇到的问题及解决方法实录_bkdly9的博客-CSDN博客

KATS功能介绍

数据类型:TimeSeriesData,此类数据类型可由dataframe转换,dataframe应包含时间列(time)以及需要处理的时序数据(value,可包含一列或多列)

tsd = TimeSeriesData(df)
tsd = TimeSeriesData(time=df.time, value=df[['value1', 'value2']])

注:多列的数据能否进行预测需要根据实际模型功能判断

以下内容介绍中参数为基本参数,即可以保证使用的参数说明,其他进阶参数请参考源代码说明。

预测(Forecasting)

KATS包含13种模型

  1. ARIMA
  2. BayesianVAR
  3. HarmonicRegression
  4. HoltWinters
  5. Linear
  6. LSTM
  7. Prophet(prophet是facebook开源的python预测库,较为常用)
  8. Quadratic
  9. SARIMA
  10. STLF
  11. Theta
  12. VAR
  13. Nowcasting

以下内容模型名称以model_name代替

1. 实例化参数

params = model_nameParams(**kwargs)

参数:

  • 具体参数详见各模型包代码

返回:

  • 实例化参数

2. 实例化模型

model = model_nameModel(data, params)

参数:

  • data:(TimeSeriesData)输入数据
  • params:(实例化参数,与模型对应)模型参数

返回:

  • 实例化模型

注:

  • BayesianVAR模型的实例化模型代码为model = BayesianVAR()

3. 模型训练

model.fit()

返回:

  • 训练后的模型,训练集为实例化模型过程输入的data数据

4. 预测

model.predict(step, include_history, **kwargs)

参数:

  • step:(int)预测范围,表示预测n个单位时间长度的value
  • include_history:(bool,default=False)是否包含历史数据

返回:(dataframe)

  • 3
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值