数据稀缺条件下的时间序列微分:符号回归(Symbolic Regression)方法介绍与Python示例

时间序列概况在日常生活和专业研究中都很常见。简而言之,时间序列概况是一系列连续的数据点 y(0), y(1), ..., y(t) ,其中时间 t 的点依赖于时间 t-1 的前一个点(或更早的时间点)。

在许多应用中,研究者致力于预测时间序列概况的未来行为。存在各种建模方法。这些模型通常基于过去或现在的信息,对未来概况进行估计。相关研究涉及多个领域,如使用神经网络进行天气预报(Bi et al., 2023)、深度学习在股票价格预测中的应用(Xiao and Su, 2022)以及制药产品需求演变分析(Rathipriya et al., 2023)等。

然而,模型训练需要数据支持。通常,数据质量越高,对研究过程的描述就越准确。

一般而言,模型可以学习预测下一个状态 y(t+1) ,如果给定先前的时间点 y(0), ..., y(t) 。但在某些应用中,我们可能需要模型接收当前观察值 y(0), ..., y(t) ,并预测系统在当前或下一个时间点的变化速率。这就要求我们获得系统的导数 dy ,而非可观察状态 y 。所以要训练此类模型并输出导数 dy ,首先需要收集这些导数数据,这些导数是直接从观察数据 y 计算得出的,因为直接测量导数在很多情况下可能困难或不可行。

这就引出了一个关键问题:噪声。处理过噪声时间序列数据的研究者都知道计算其导数的困难。

有多种方法可以处理时间序列数据中的噪声。本文将介绍一种在我们的研究项目中表现良好的方法,特别适用于时间序列概况中数据点较少的情况。

让我们开始使用Python来实现这个方法。

 

https://avoid.overfit.cn/post/24cb44a912ba46ceaa035c26e5f89089

posted @ 2024-09-16 09:45  deephub  阅读(24)  评论(0编辑  收藏  举报