如何预测不明显序列中的下一个数字?

人工智能 机器学习 循环神经网络 预言 序列建模
2021-11-02 04:48:49

我有一个从-3到+3的整数数组。

示例:[1, 3, -2, 0, 0, 1]

该阵列没有明显的模式,因为它代表双相情感障碍的情绪波动。

预测系列中的下一个数字最合适的方法是什么?数组的长度约为 700 个条目。

我可以从哪里开始调查?(前提是我在 Python 和Node.js方面有一些经验,但只是熟悉TensorFlow而已)。哪种训练模型可能适合这种情况?如何正确分块数据集?

4个回答

这是时间序列预测的问题,因为您的数字形成了一个序列。您可能想查看CrossValidated 的“预测”标签

如果您只有 700 个数据点,那么 ML/AI 方法可能不会很有用。无论您做什么,我都建议您将您选择的方法与非常简单的方法进行基准比较,例如整体平均值或最后一次观察(“随机游走预测”)或简单的指数平滑方法。这些非常简单的基准通常很难被击败,而且它们很容易设置。

正如三友建议的那样,下一步应该包括领域知识这可以像观察双极情绪波动遵循昼夜循环并模拟这种季节性一样简单,例如,在季节性指数平滑法中。(我并不是说这种疾病确实表现出这种季节性,只是如果确实如此,这很容易被建模。)或者对你知道的任何其他类型的驱动程序进行建模。

以我的经验,了解您的数据和您的上下文总是胜过构建更多花哨的模型或收集更多数据

作为免费的时间序列预测教科书,我非常推荐Athanasopoulos & Hyndman 的《预测:原理与实践》(第 2 版)和 Athanasopoulos 和 Hyndman 的预测:原理与实践》(第 3 版)

由于您只有一系列数字,因此您应该尝试使用序列模型我建议您研究 RNN,尤其是 LSTM。当然,这是假设尽管缺乏“明显模式”,但您的数据中存在某种隐藏模式。如果不是,那么您所拥有的与 3 维随机游走并没有太大不同——这首先使情况变得不可预测。

我想最“合适”的方法是查找关于双相情感障碍情绪波动预测/回归等基于 ML/AI/Stats 方法的研究论文。专注于摘要、介绍/相关工作和结论。找出为什么提出该方法,众所周知的方法是什么,所提出方法的直觉是什么。找出介绍/相关作品中引用的基本资源。从介绍和相关作品中,查找参考资料并略读它们。

至于理论基础,数学和建议的方法,就快速浏览一下,下次有时间/感觉可以加深它们。如果您/您的机构未订阅出版商,请使用 sci-hub 或 lib-gen 或类似网站。加分项:一些论文还包括其实现源代码的 github/链接。

用查询“双极情绪波动预测机器学习”在谷歌学者上快速搜索得到了很酷的(至少是标题)研究论文。例如机器学习技术在双相情感障碍研究中的影响:系统评价机器学习技术预测双相情感障碍的回顾。

我们为什么要采用这种方法?因为您的领域是特定的、广阔的和复杂的,它有自己的方式。大多数时候,他们已经在您的领域尝试了“基础”预测/回归/分类,并发布了方法和结果,因此您可以从那里开始并获得更多,因为论文中提供了额外的知识/参考.

由于您只有 700 个观察值,因此我不会尝试深度学习方法。我认为任何深度学习方法都不太可能与这些小数据建立不明显的关系。

您可以尝试的是基于滞后创建一组功能。创建一个滞后 1、2、3 等的特征。滞后变量的移动平均值也可能有用,窗口为 2、3、5。标准偏差也可能很有趣,尽管在更大的窗口中。然后训练一个常规的 ML 模型。

即使我有 1000 万次观察,我也会尝试这种简单的方法,并计划使用深度学习,因此我可以将其用作基准。