赶上最新的AI论文

2个时间序列机器学习库

时间序列

三个要点
✔️两个时间序列机器学习库接连公布
✔️ Merlion提供一个时间序列异常检测和预测库
✔️Darts是一个尝试,将现代机器学习预测方法民主化并整合到一个通用的用户友好型API下。

Merlion: A Machine Learning Library for Time Series
written by Aadyot BhatnagarPaul KassianikChenghao LiuTian LanWenzhuo YangRowan CassiusDoyen SahooDevansh ArpitSri SubramanianGerald WooAmrita SahaArun Kumar JagotaGokulakrishnan GopalakrishnanManpreet SinghK C KrithikaSukumar MaddineniDaeki ChoBo ZongYingbo ZhouCaiming XiongSilvio SavareseSteven HoiHuan Wang
(Submitted on 20 Sep 2021)
Comments: Published on arxiv.

Subjects: Computer Vision and Pattern Recognition (cs.CV)

code:  
 

Darts: User-Friendly Modern Machine Learning for Time Series
written by Julien HerzenFrancesco LässigSamuele Giuliano PiazzettaThomas NeuerLéo TaftiGuillaume RailleTomas Van PottelberghMarek PasiekaAndrzej SkrodzkiNicolas HugueninMaxime DumonalJan KościszDennis BaderFrédérick GussetMounir BenheddiCamila WilliamsonMichal KosinskiMatej PetrikGaël Grosch
(Submitted on 7 Oct 2021 (v1), last revised 8 Oct 2021 (this version, v2))
Comments: Published on arxiv.

Subjects:  Machine Learning (cs.LG); Computation (stat.CO)

code:  

本文所使用的图片要么来自论文、介绍性幻灯片,要么是参考这些图片制作的 。

简介

两个时间序列机器学习库接连公布,因此我们将为你总结一下。

第一个是Merlion,Salesforce集团的一家公司。

在现实世界的应用中,时间序列在监测复杂系统的行为方面无处不在,如IT运营管理、制造业和网络安全。它们可以代表计算资源的关键指标、业务指标或社交网站上营销活动的反馈。在所有这些应用中,准确预测关键指标的趋势和数值并快速准确地检测这些指标的异常情况是非常重要的。事实上,在软件行业,及时通知操作人员的异常检测是自动识别问题和事件的关键机器学习技术之一,以提高IT系统的可用性。

尽管已经提出了一些工具来说明时间序列分析的不同潜在应用,但今天的行业工作流程在时间序列分析方面仍然存在一些问题。其中包括数据集和模型之间的接口不一致,学术论文和工业应用之间的衡量标准不一致,以及相对缺乏对后处理、AutoML和模型组合等实用功能的支持。这些问题使得在多个数据集和环境中、在各种模型中进行基准测试变得很困难,也很难就特定任务的最佳模型做出数据驱动的决定。

这里介绍的时间序列智能的Python库Merlion,提供了一个端到端的机器学习框架,包括数据加载和转换、模型建立和训练、模型输出的后处理以及模型性能的评估。它支持一系列的时间序列学习任务,包括单变量和多变量时间序列的预测和异常检测。 鱼尾狮的主要特点包括

  • 一个标准化的、易于扩展的框架,用于数据加载、预处理和对广泛的时间序列预测和异常检测任务进行基准测试
  • 用于异常检测和预测的各种模型库,集成在一个共享界面下。这些模型包括经典的统计方法、决策树群和深度学习方法。高级用户可以根据需要充分结合每个模型。
  • 对DefaultDetector和DefaultForecaster模型进行抽象,以实现高效和稳健的性能,并为新用户提供一个起点。
  • AutoML用于自动超参数调整和模型选择
  • 实用的、受业界启发的异常检测器后处理规则,使异常得分更容易解释,同时减少假阳性率。
  • 易于使用的集合体,结合多个模型的输出,以获得更强大的性能
  • 一个灵活的评估管道,模拟生产环境中的实时模型部署和再训练,以评估预测和异常检测的性能。
  • 对模型预测的可视化的本地支持

表1显示了与其他图书馆相比,鱼尾狮的功能表。

鱼尾狮的代码可以在Github上找到,API的文档可以在下面找到

https://github.com/salesforce/Merlion

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

该库的典型用法如下

从merlion.models.defaults导入DefaultDetectorConfig, DefaultDetector
model = DefaultDetector(DefaultDetectorConfig())
model.train(train_data=train_data)。
test_pred = model.get_anomaly_label(time_series=test_data)

建筑和设计原则

鱼尾狮的模块化架构由五层组成。"数据层 "加载原始数据,将其转换为MERLION的时间序列数据结构,并进行必要的预处理。"建模层分别支持用于预测和异常检测的各种模型,包括用于自动调整超参数的AutoML。 "后处理层提供了实用的解决方案,以提高互动性,减少异常检测模型的假阳性率。 图1说明了这些模块之间的关系。

数据层

Merlion的核心数据结构是TimeSeries。它将一般的多变量时间序列T表示为单变量时间序列U(i)的集合。这种表述反映了这样一个现实,即单个单变量可能以不同的速率采样,并可能包含不同时间戳的缺失数据。在从原始数据初始化时间序列后,merlion.transform模块使用在从原始数据初始化时间序列之后,merlion.transform模块是一个预处理操作,可以在将时间序列传递给模型之前应用。预处理包括重采样、归一化、移动平均数和时间差。

模型层

由于没有一个单一的模型能很好地适用于所有的时间序列和所有的使用情况,因此必须为用户提供灵活的选择,从广泛的异质模型中选择,Merlion为预测和异常检测实现了各种模型。为了使所有这些选择对用户透明,所有Merlion模型被整合到两个通用的API中,一个用于预测,另一个用于异常检测。所有的模型都是用一个配置对象初始化的,这个配置对象包含了具体实施的超参数并支持model.train(time_series)方法。给定一个通用的多变量时间序列,预测器将训练以预测单一目标单变量的价值。单一目标单变量的值。然后你可以通过调用model.forecast(time_stamps)检索模型对一组未来时间戳的预测。

同样地,你可以使用model.get_anomaly_score(time_series)来获得异常点的序列探测器的异常得分序列。 基于预测的异常检测器同时提供model.forecast(时间戳)和model.get_anomaly_score(时间序列)。

对于需要额外计算的模型,图层接口,这是提供autoML功能的基础。分层用于在现有模型定义的基础上实现额外的逻辑,这些逻辑与模型代码本身不相适应,如季节性检测或超参数调整。层有三个方法:generate_theta生成候选超参数θ,evaluate_theta评估θ的质量,set_theta将选定的θ应用于基础模型。theta,将选定的theta应用于基础模型。另一个类,ForecasterAutoMLBase,实现了预测和训练方法,这些方法利用了Layers类的方法来完成预测模型。最后,所有模型都支持用历史数据time_series_prev调整其预测的能力,这与训练所用的数据不同。这些条件预测可以通过调用model.forecast (time_stamps, time_series_prev)或model.get_anomaly_score (time_series, time_series_prev)检索。

后处理层

翻译结果

所有的异常检测器都有一个post_rule,对model.get_anomaly_score (time_series)的输出进行重要的后处理。 这包括校准和阈值处理规则。经处理后的异常点分数被存储在它可以通过调用model.get_anomaly_label (time_series)直接检索。

合并和模型选择

一个集合体的结构是代表几个基础模型的组合的模型。 为此,有一个EnsembleBase基类,它抽象了从单个时间序列T上的m个基础模型获得预测值Y1, ..., Ym的过程。在一个单一的时间序列T上,从m个基础模型中得到Y1Ym,还有一个EnsembleBase基类,抽象出获得结果的过程。和Ym到合奏的输出。Y1, ..., Ym到集合体的输出。 这些组合包括传统的平均组合,以及基于sMAPE等指标的模型选择。

评估管道

当一个时间序列模型在生产中被实时部署时,训练和推理通常不会用完整的时间序列分批进行。相反,模型被定期重新训练,并且在可能的情况下,推理是以流模式进行的。为了更真实地模拟这种设置,我们提供了一个EvaluatorBase类,它实现了以下评估循环

  1. 在最近的历史训练数据上训练一个初始模型
  2. 定期地(例如每天一次),用最新的数据重新训练整个模型。这可以是整个历史,也可以是一个更有限的窗口(如4周)。
  3. 获得模型对重新训练期间将出现的时间序列值的预测(预测或异方差分)。用户可以自定义是否以批量、流式或中间节奏进行。
  4. 将模型的预测与正确答案进行比较,并报告定量指标

它还为预测和异常检测提供了广泛的评估指标,分别作为枚举ForecastMetric和TSADMetric实现。最后,我们提供脚本 benchmark_forecast.py 和 benchmark_anomaly.py。这使得用户可以使用这个逻辑来轻松评估ts_datasets模块中包含的数据集的模型性能。

时间序列预测

Merlion包含一些用于单变量时间序列预测的模型。这些方法包括经典的统计方法,如ARIMA、SARIMA和ETS(误差、趋势和季节性),最近的算法,如先知,作者组MSES(Cassius等人,2021)创建的早期算法,以及深度自回归LSTM。这里使用的多变量预测模型是基于自回归和决策树集合算法的。自回归算法是一个矢量自回归模型,可以捕捉到多个序列之间的关系,因为它们随时间变化。在决策树集合的情况下,我们认为随机森林和梯度提升是基础模型。我们允许该模型产生任何预测期的预测,类似于传统模型如VARs。此外,所有多变量预测模型与单变量预测模型共享一个共同的API,所以它们对单变量和多变量预测任务都是通用的。

自动识别系统(AutoML)

翻译结果

用于时间序列预测模型的AutoML模块与传统的机器学习模型的AutoML略有不同。这是因为它不仅考虑了传统的超参数优化,而且还考虑了对时间序列的一些特征的检测。以SARIMA为例,这些参数包括自回归参数、差序、移动平均参数、季节性自回归参数、季节性差序、季节性移动平均参数和季节性。

我们通过以下方式进一步减少autoML模块的训练时间我们得到了一个初步的候选模型列表,这些模型在相对较少的优化迭代中取得了良好的性能。 然后我们重新训练这些候选模型,直到模型收敛,最后通过AIC选择最佳模型。

合奏

Merlion的预测器集合允许用户以两种方式透明地组合模型。 首先,它支持传统的集合体,报告所有模型在每个时间点预测的平均值或中位值。 其次,它支持自动选择模型。 在进行模型选择时,它将训练数据分成训练和验证数据,在训练数据上训练每个模型,并从验证数据中检索预测结果。 然后,它使用用户指定的指标评估这些预测的质量,在对全部训练数据进行重新训练后,返回取得最佳性能的模型。

有许多方法可以评估一个预测模型的准确性。Merlion的ForecastMetric提供MAE、RMSE、sMAPE、MARRE和其他指标。

时间序列异常检测

Merlion包含一些专门用于单变量时间序列异常检测的模型。这分为两类:基于预测和统计。 Merlion的预测器可以很容易地适用于异常检测,因为它们预测一般时间序列中的特定单变量值。异常得分是预测值和实际时间序列值之间的残差,可以选择按基本预测器的预测标准误差进行归一化。单变量统计方法提供光谱残差和两个简单的基线WindStats和ZMS。此外,我们提供的统计方法和深度学习模型都能够处理单变量和多变量的异方差检测。统计方法包括隔离森林和随机切割森林。 深度学习模型包括自动编码器、深度自动编码高斯混合模型、LSTM编码器-解码器和变异自动编码器。

Merlion支持异质性检测器的两个关键后处理步骤:校准和阈值处理。 校准对于提高模型的可解释性非常重要,而阈值处理则将一系列连续的变体分数转换为单独的标签,减少了假阳性率。

所有鱼尾狮的异常检测器都会返回一个异常得分st。这与异常现象的严重程度呈正相关。 然而,这些异常分数的尺度和分布差异很大。 例如,Isolation Forest返回异常得分st∈[0,1];Spectral Residual返回未归一化的显著性地图;DAGMM返回负的成对相关性。 DAGMM返回负的对数概率。

校准

为了成功地使用一个模型,你需要能够解释模型所返回的异常分数。这将使许多模型立即被不熟悉特定实现的用户所使用。校准填补了这一空白,允许所有的异常分数被解释为z-cores,即从标准正态分布中提取的数值。 这个简单的后处理步骤极大地改善了各个模型返回的异方差分数的可解释性。

阈值处理

确定单个时间戳t是否为异常的最常用方法是将异常得分st与阈值τ进行比较。然而,在许多现实世界的系统中,每次检测到异常情况时,都会向人类发出警报。高的假阳性率增加了用户调查每个警报的负担,并可能导致用户不信任一个系统。解决这个问题的方法是包括额外的自动检查,在提醒人类之前必须通过。Merlion在用户可配置的AggregateAlarms后处理规则中实现了所有这些功能,可用于大幅提高精确度,而不会对重复性产生不利影响。

合奏

由于时间序列和其中包含的异质性都非常多样化,没有一个单一的模型可能是所有用例的最佳选择。原则上,一个异质的模型集合可能比该集合中的单个模型更具有概括性。由于所有鱼尾狮模型的异常得分可以解释为z-cores,因此可以通过简单地报告单个模型返回的平均校准异常得分和应用阈值来构建一个异常检测器的集合。经验表明,对于单变量(表10)和多变量(表13)的异常检测,该组合在多个开源和内部数据集上都可靠地实现了最强或最具竞争力的性能。

评价指标

为时间序列异常检测设计适当的评价指标的关键挑战在于,异常现象几乎总是时间框架而不是离散的点。因此,虽然很容易计算出与正确标签序列相比,预测异常标签序列的顺位(PW)拟合率、召回率和F1分数,但这些指标并不能反映人类操作者感兴趣的数量。

我们提出了点调整(PA)指标作为这个问题的解决方案。如果阳性异同窗口中的任何一点被标记为异同,那么该段中的所有点都被视为真阳性。如果该窗口没有被标记为异常点,那么所有的点都被标记为假阴性。在异常窗口之外预测的异常情况被视为假阳性。拟合度、可重复性和F1可以根据这些调整后的真/假正/负计数来计算。然而,PA指标的缺点是,它偏重于检测长异常的奖励模型,而不是短异常。

另一个选择是更新的点调整(RPA)指标。在这种情况下,如果阳性异常窗口中的任何一点被标记为异常,就会登记一个真阳性。如果该窗口没有被标记为异常,那么就会记录一个假阳性。任何在异常窗口之外预测的异常都将被视为假阳性。

实验

由于鱼尾狮是一个图书馆,它配备了到目前为止所描述的各种方法,但这里有一个性能比较,以帮助你选择。

下面是使用Merlion和一个流行的基线模型在几个时间序列数据集上产生的一些基准结果。

单变量预测

主要重点是在M4基准上评估该模型,这是一个著名的时间序列预测比赛。 该数据集包含10万个来自不同领域的时间序列,包括金融、工业和人口预测,采样频率从每小时到每年不等。 表2总结了数据集的情况。 此外,我们还评估了三个内部的云KPI数据集,如表3所述。 为了减少异常值的影响,我们同时显示每种方法的平均MAPE和中位MAPE。

对ARIMA、Prophet(Taylor and Letham, 2017)、ETS(误差、趋势、季节性)和MSES进行了比较。这些都是使用merlion.models.automlmodule实现的。

表4和表5分别显示了每个模型在公共和内部数据集上的表现,而表6显示了使用autoML模块所取得的平均改进。

多变量预测

收集公共和内部数据集(表7),在数据的训练分区上训练模型。 对于一些数据集,我们以指定的粒度对数据进行重新取样。 对于每个时间序列,我们在训练分割中训练模型并预测第一个单变量作为目标序列。 我们不对模型进行重新训练,而是使用一个评估管道,利用滚动窗口逐步获得对测试分割的预测。 预测未来三个时间戳的时间序列值,同时以之前21个时间戳为条件进行预测。 获得这些对测试分割的所有时间戳的3步预测,并尽可能使用sMAPE来评估预测的质量,否则使用RMSE。

所使用的多变量预测模型是基于自回归和决策树集合算法的。 我们比较了VAR、基于梯度提升算法的GB预测器和基于随机森林算法的RF预测器。

表8显示了每个模型的性能。 GBForecaster在四组数据中的三组取得了最佳结果。 VAR模型只在一个数据集上显示出有竞争力的表现。出于这个原因,我们认为GBForecaster对于新用户和早期探索是一个很好的 "默认 "模型。

单变量异常检测

我们报告了四个公共数据集和内部数据集的结果(表9)。对于内部数据集和NumentaAnomaly Benchmark,我们为所有时间序列和所有算法选择一个单一的(校准的)检测阈值;对于AIOps挑战,我们使用标记的异常;对于每个时间序列的训练分割,我们选择一个优化F1的检测阈值。对每个时间序列进行训练分割,以选择一个优化F1的检测阈值。 加州大学河滨分校时间序列异常存档,选择检测阈值,优化测试分割中的F1。表9总结了这些数据集和评价方案。评估管道被用来评估每个模型。在对时间序列的训练分割进行初始模型训练后,我们每天或每小时在没有监督的情况下对截至该点的完整数据进行重新训练(不调整校准器或阈值)。然后一步一步地得到完整的预测异常得分。如何模拟时间序列和现场部署情况。我们还将考虑批量预测。在批量预测中,第一个训练好的模型在一个步骤中预测了整个测试分割的变异性分数,而不需要重新训练。 请注意,UCR数据集不包括时间戳;我们把它当作每分钟采样一次,但这是一个不完整的假设。出于效率的考虑,我们将只考虑批量预测和这个数据集的 "每日 "再训练。

评估两类模型:基于预测的异常检测器和统计方法对于基于预测的方法,使用ARIMA、AutoETS和AutoProphet。对于统计方法,我们使用IsolationForest。 RandomCutForest和SpectralResidual也被认为是两个简单的基线WindStats和ZMS。 AutoETS、RRCF和ZMS的组合也被考虑。

表10显示了每个模型在每个数据集上取得的调整后的点调整F1分数,表明AutoETS、RRCF和ZMS合集在四个数据集中的两个上取得了最好的性能,在其他数据集上则是第二好的性能。可以看出,

表11检查了每个模型的再训练时间表的影响,所有数据集的平均数。可以看出,每天和每小时对基于预测的模型和所提出的组合进行再训练,可以显著提高异常检测的性能。

多变量异常检测

多变量异常检测的评估设置与单变量异常检测几乎相同;表12显示了本实验的多变量时间序列异常检测数据集请注意,我们把所有这些数据集的异常检测当作一个完全无监督的学习任务。 在单变量设置中,出于效率的考虑,我们只考虑批量预测和每周重新训练。

将考虑两类模型:统计方法和深度学习模型。对于统计方法,我们评估了IsolationForest和RandomCutForest。 对于深度学习方法,我们评估了自动编码器、DeepAutoncodingGaussianMixtureModel、LSTM Encoder Decoder和Variational Autoencoder。 你也可以在RandomCutForest和VariationalAutoencoder组合中进行选择。

表13显示了每个模型取得的调整后的点数F1得分。虽然在所有数据集中没有明显的赢家,但与每个数据集的最佳模型相比,拟议的组合在F1分数上始终实现了较小的差距。 LSTM编码器解码器实现了 LSTM编码器-解码器实现了类似的平均差距,但变化性更大。因此,我们认为,对于新用户或早期探索者来说,合集是一个很好的 "默认 "模型,因为它能确保在多个数据集上获得合理的性能。 最后,与单变量情况一样,表14显示,重新学习的影响对所有考虑的多变量统计模型(第一块)和深度学习模型(第二块)都是模糊的。

摘要(鱼尾狮)

我们已经介绍了Merlion,一个用于时间序列的开源机器学习库。它旨在解决当今行业工作流程中关于时间序列异常检测和预测的许多问题。它提供了一个易于扩展的接口和实现,可以在广泛的模型和数据集之间进行整合,一个autoML模块可以持续改善多种预测模型的性能,异常检测器的后处理规则可以提高可解释性并减少误报率,以及透明度。它提供了在多个基准数据集上可靠地实现卓越性能的集合。这些功能与一个用于定量评估模型性能的灵活管道和一个用于更多定性分析的可视化模块结合在一起。计划中的未来工作包括增加对更多模型的支持,包括最新的深度学习模型和在线学习算法,开发一个流媒体平台以促进模型在实际生产环境中的部署,以及实现多变量时间序列分析的高级能力。

 

Darts

Darts: User-Friendly Modern Machine Learning for Time Series
written by Julien HerzenFrancesco LässigSamuele Giuliano PiazzettaThomas NeuerLéo TaftiGuillaume RailleTomas Van PottelberghMarek PasiekaAndrzej SkrodzkiNicolas HugueninMaxime DumonalJan KościszDennis BaderFrédérick GussetMounir BenheddiCamila WilliamsonMichal KosinskiMatej PetrikGaël Grosch
(Submitted on 7 Oct 2021 (v1), last revised 8 Oct 2021 (this version, v2))
Comments: Published on arxiv.

Subjects:  Machine Learning (cs.LG); Computation (stat.CO)

code:  

 

另一个时间序列库Darts是由瑞士的Unit8开发的,它提出了一个新的、相对高级的API来整合经典的和基于ML的预测模型。

Darts有自己的TimeSeries数据容器类型,它表示一个单一的时间序列。 时间序列是不可改变的,并确保数据代表一个具有正确形状、类型和排序的时间指数的良好的时间序列。 时间序列可以使用Pandas DatetimeIndex或Int64Index进行索引。 时间序列被包裹在一个三维的xarray DataArray中。维度为(时间、成分、样本)。其中分量代表多变量序列的维度,样本代表随机时间序列的样本。 TimeSeries类提供了几种方法,用于与其他常见类型的转换,如Pandas Dataframes和NumPy数组。它们还可以进行数学运算、索引、分区、时间差、内插、映射函数、时间戳嵌入、绘图、边际量化计算和其他有用的操作。由于其不变性,TimeSeries保持着自己的数据副本,并在很大程度上依赖NumPy视图来有效地访问数据,而无需复制(例如在训练模型时)。使用提供这种保证的专用类型的主要优点是,所有的Darts模型都可以使用和生成TimeSeries。这使我们能够提供一个一致的API。例如,创建一个使用另一个模型的输出的模型很容易。

预测性API

所有的Darts模型都支持相同的基本fit(series:TimeSeries)->None和predict(n:int)->TimeSeries接口,并在单个序列上进行训练,预测该序列结束后的n个时间步骤。该系列结束后的步骤。此外,大多数型号还提供更丰富的功能。例如,对一连串的时间序列进行训练的能力(使用诸如fit([series1, series2, ...])等调用等)。)模型可以有不同的内部机制(跨序列、固定长度、迭代、自回归等),这个集成的API允许你在不知道其内部工作原理的情况下无缝比较、回测和组合不同的模型。在撰写本文时,Darts实现的模型包括(V)ARIMA、指数平滑、AutoARIMA、Theta、Prophet、基于FFT的预测、DeepAR-like RNN模型、N-BEATS、TCN,以及任何外部的表格式的回归模型一般的回归模型(如scikit-learn模型),可以环绕着这个名单正在不断扩大,我们欢迎外部和参考的新模式的实施。

元学习

Darts的一个重要部分是对元学习的支持,或者说对潜在的大量单个时间序列训练一个单一模型的能力。 darts.utils.data模块包含各种时间序列数据集的实现。这些数据集指定了如何将序列(和潜在的协变量)切成训练样本。Darts选择了一个默认的切片逻辑,这是特定于模型的,但如果需要,也可以由用户自定义定义。 所有的神经网络都是用PyTorch实现的,它支持GPU训练和推理。 通过依靠自定义序列的实现来懒散地加载数据,有可能使用不在内存中保存的大型数据集。

过去/未来的协变量

一些模型支持协变量序列,作为指定可能对预测目标序列有用的外部数据的一种方式。 Darts区分了未来已知的协变量(如天气预报)和过去才知道的协变量。 该模型接受过去协变量和/或未来协变量的参数。这使得推理过程中是否需要未来的值变得很清楚,并减少了犯错的风险。 协变量系列是由切片逻辑根据各自的时间范围来排列的,所以不需要将它们与目标值对齐。

概率性预测

Darts中的一些模型(以及几乎所有的深度学习模型)支持概率预测。 组件和时间的同时分布是通过直接在TimeSeries对象中存储Monte Carlo样本来表示的。 这种表示方法非常灵活,因为它与参数形式无关,可以捕捉任何同时分布。 采样的计算成本通常可以忽略不计,因为采样可以用批处理的矢量方式有效计算。 概率深度学习模型可以适应任何似然形式,只要负对数似然损失是可分的。 在撰写本报告时,Darts提供了16个随时可用的分布(包括连续和离散,单变量和多变量)。 最后,我们提供了一种方法来指定关于输出分布的先验信念,即指定一个与时间无关的分布参数的先验分布。

其他特点

Darts包括一些额外的功能,如用于数据预处理的转化器和管道,回测(所有模型都提供回测()方法),用于模型选择的网格搜索,广泛的度量,动态时间扭曲模块 和集合模型(有可能使用回归模型来训练集合模型本身)。 Darts还包括滤波模型,如卡尔曼滤波和高斯过程,提供时间序列的概率模型。 最后,darts.datasets模块包含了各种公共数据集,可以方便地作为TimeSeries加载。

使用实例

下面的代码显示了一个单一的TCN模型如何拟合两个不同(完全不同)的默认超参数系列,其中一个是预测的。 该网络输出拉普拉斯分布的参数。 该代码包括完整的预测管道,从加载和预处理数据到使用任意四分位数绘制预测结果(如右图所示)。

摘要(Darts)

Darts试图使现代机器学习预测方法民主化,并将它们(与传统方法)整合在一个共同的用户友好的API下。 该库仍在积极开发中,未来的一些工作将包括扩展API以包括异常检测和时间序列分类模型,支持不规则间隔的数据(如点过程),以及类似于计算机视觉和NLP领域存在的内容。这包括提供一个已经在大型数据集上预训练过的模型集合,类似于计算机视觉和NLP领域存在的那些模型

摘要

已经发布了两个库,以考虑到与时间序列数据分析相关的各种情况,这在数据使用的许多情况下都很重要。我们相信,他们将能够以一套支持慷慨的数据分析工作的功能来确保稳定的性能。

  • メルマガ登録(ver
  • ライター
  • エンジニア_大募集!!
友安 昌幸 (Masayuki Tomoyasu) avatar
JDLA G检定2020#2,E资格2021#1 数据科学家协会 DS检定 日本创新融合学会 DX检定专家 联合公司Amico咨询 CEO

如果您对文章内容有任何改进建议等,请通过 "联系我们 "表格与爱学网编辑部联系。
如果您能通过咨询表与我们联系,我们将非常感激。

联系我们