Press "Enter" to skip to content

Merlion:端到端的时间序列预测利器

本站内容均来自兴趣收集,如不慎侵害的您的相关权益,请留言告知,我们将尽快删除.谢谢.

时间序列的分析与预测一直是量化策略研究中非常核心的步骤。最近在Github上开源的Merlion,作为端到端的时间序列预测工具,在短时间内获得的近2K的star。

 

 

项目地址: https://github.com/salesforce/Merlion

 

只要有一定机器学习工具包使用经验的小伙伴,上手该项目应该是很快的。我们先简单介绍一下时间序列任务的类别,以及Merlion的功能与其他常用工具包的对比。

 

首先时间序列的任务主要包括 时间序列异常点检测及时间序列的预测 ,其中时间序列的预测又包括单变量时间序列预测,和多变量时间序列预测。在时间序列预测的方法论上,主要又分为传统的计量方法,如ARIMA等;及最近兴起的机器学习的方法,如LSTM、树模型(Random Forest,GBDT)及Transformer等。对于常用的时序研究工具包的功能对比如下:

 

 

通过上表对比发现, Merlion是所有工具中功能最完整的,支持时间序列预测及异常点检测,在模型优化层面还支持AutoML及模型的组合,还有方便的可视化工具。 看到这里很多小伙伴肯定跃跃欲试了。

 

不急,我们再从宏观层面了解下Merlion的整个架构,如下图所示,整个模块分为五个核心层:

 

1、Data Layer 数据层:在Merlion中,所有输入都需要转换为Merlion自有的数据格式TimeSeries;最方便的是从pandas的dataframe格式直接转换为TimeSeries格式;

 

2、Models 模型层:模型层主要分为两大类,时序异常检测和时序预测。每个大类下又包含多个模型。在时许预测的模型中,还支持AutoML自动进行模型优化;

 

3、Post Processing 后处理模块:这个模块比较简单,主要是异常的校准及基于业务规则的噪音判断;

 

4、Ensembles and Model Selection:对于之前调优后的多个已训练模型,可以选择最优的模型,也可以对模型进行合并;

 

5、Evaluation Pipeline:最终对模型以模拟线上部署的方式进行最后的验证, 线上部署与历史训练最大的区别就是滚动式的模型再训练,类似量化策略的Walk Forward回测。

 

 

对于Merlion有一个基本的了解后,怎幺快速入门呢?推荐小伙伴们直接移步:

 

https://opensource.salesforce.com/Merlion/v1.0.1/tutorials.html

 

最后还是要对模块的安装分享一些心得,小编使用后发现通过pip安装有时会出现异常,而且无法安装支持Plot的版本, 最好的安装方式还是将模块代码下载到本地:

 

 

下载下来解压后是一个Merlion-main的文件夹,文件夹重名为Merlion,然后在Merlion的上层目录,通过命令行输入以下语句:

 

pip install "Merlion/[plot]"

 

如果需要使用一些内置的数据集,最好安装ts_datasets

 

pip install -e Merlion/ts_datasets/

 

最后,由于时序预测需要用到lightgbm,没有安装的小伙伴也需要安装:

 

conda install -c conda-forge lightgbm

 

安装中有具体问题可以参考官方文档,或回复本文。

 

内置数据集中有Kaggle M4的数据集,小伙伴可以跑一下模型与Kaggle上的成绩比较一下。

 

祝大家万圣节:jack_o_lantern: 快乐,Have fun!

Be First to Comment

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注