时间序列预测的贝叶斯方法2025年3月3日 | 阅读18分钟 随着当前技术进步导致数据的大规模生产,可靠的预测变得更加必要。因此,基于时间序列预测等分析的决策,即基于历史记录对未来价值进行预测,在金融、经济、医疗保健和制造业等多个领域都具有重要意义。然而,传统的基于分解的时间序列预测模型未能适当地捕捉和建模真实世界数据所固有的复杂性。 将贝叶斯方法应用于时间序列预测通过将贝叶斯统计原理纳入研究而带来了革命。它将先验信息与新证据相结合来衡量风险,从而产生更清晰、更易于解释的预测。计算资源的可用性和增长在推广贝叶斯方法的使用方面发挥了巨大作用,因为该技术可应用于广泛的预测场景。 虽然有现代复杂的 H 方法,但像 SARIMA 和 Holt-Winters 系列的指数平滑等简单方法仍然非常有用。由于其基本和可操作的性质,这些传统方法有时可能比更复杂的模型表现出更优越的性能。同时,像 LSTM 神经网络和 Meta 的 Prophet 等新一代创新则使用更高级的功能,但也需要更多的计算能力。 贝叶斯预测通过用预测分布形式的概率预测取代点预测而区别于其他方法。与仅对未来值进行预测的回归模型不同,贝叶斯模型开发了一组可能的未来值以及与它们相关的风险水平。它们应优先于单一值使用,因为它们能更好地描绘可能的未来前景。 即使在使用贝叶斯方法的框架内,用户如果需要,也总可以选择进行点估计。在大多数情况趋于平均的情况下,预测的均值将是合适的应用,或者如果希望得到更“重尾”或“稳健”的预测,则预测的中位数将是合适的。正因为如此,用户可以根据他们想要的精确度以及他们对风险的承受能力进行调整。 频繁主义方法与贝叶斯方法的比较
贝叶斯预测中的关键概念
传统预测与贝叶斯预测的比较ARIMA 分析和指数平滑方法基于时间序列预测的固定点模型。这些模型仍被认为是从数据生成过程中估计一组固定参数,假设后者保持不变。例如,在 ARIMA 模型的情况下,预测是根据给定值的历史变化和预测误差分析计算的,这假设数据中的关系保持不变。像指数平滑技术一样,通过使用等权移动平均值来预测时间序列的未来值,其中过去观测值的权重是固定的。 然而,在大多数现实生活中,生成数据的过程不仅是随机的,而且更加复杂。它可能是非参数的,形式和行为会发生变化,并受到外部影响,这些都无法通过确定性方法建模。例如,金融市场和宏观经济变量的运动具有顽固且难以预测的不规则性,不适用于现有预测方法。 贝叶斯预测是另一种不同于时间序列预测的方法,它基于概率视图。相对于频繁主义方法,贝叶斯方法对模型参数存在不确定性,并将这些参数视为随机变量,其分布称为参数的先验分布。这些先验代表了在收到数据之前对参数的先验期望或先验信念。当收集到新数据时,这些先验与贝叶斯定理一起用于生成后验。这些被称为后验分布,包含新信息和对模型参数的更新判断。 结构时间序列模型STM 是推测性贝叶斯时间序列模型,旨在将时间序列分解为可理解的结构部分。这些模型被认为是用于时间序列数据分析和预测的灵活状态空间模型,因为每个分量都由随机过程建模。关键分量通常包括:这些元素可以是
在 STM 中,这些组件中的每一个实际上都被认为是具有自己的一组参数的随机过程。这些参数使用一种称为贝叶斯推断的技术进行估计,该技术使科学家能够带入他们过去的知识和经验以及对派生估计中不确定性水平的评估。STM 中纳入的贝叶斯框架提高了模型的预测能力,并使用户能够获得预测精度的度量;因此,它们在时间序列分析的各个领域都有应用。 贝叶斯统计贝叶斯定理是概率论和统计学中的主要原理之一。它描述了根据新信息更新对事件发生概率的信念的方法。它提供了一种以概率形式衡量信念程度的方法,这种概率被称为后验概率,符号为 P(A|B)。这是在事件 B 发生的情况下事件 A 发生的可能性。 该公式可以表示为以下公式形式 ![]() 在这种情况下
贝叶斯定理使我们能够计算新的评估或估计,鉴于新信息或证据(数据 B)的可用性,改进了第一个估计(先验 P(A);或者简单地说:贝叶斯定理是:P(A|B) = (P(B|A) * P(A)) / P(B)。因此,通过使用贝叶斯定理,乐观的先验概率 P(A) 被转换为更接近和更真实的后验概率 P(A|B)。这种更新的信念在统计学、机器学习和决策制定等包含某种风险的学科中有效运作。 直观解释:简而言之,贝叶斯思维绝对代表了根据你现在所知,估算你现在想要达到的概率或合理性程度的过程。第一次估计是借助先验和当前观点进行的——它可能是先验经验和假设。 贝叶斯统计相关术语
贝叶斯预测的应用时间序列预测中通常采用两种方法论,即贝叶斯方法,它根据问题的性质和数据特点,为模型拟合和分布整形提供了非常通用和高度灵活的方法。贝叶斯预测不同于其他只提供单一预测点的方法,它通过为未来值包含概率分布形式的不确定性。这种方法基于贝叶斯理论,其中先验知识与新知识混合,以做出更好的近似。 使用贝叶斯预测的一些好处包括:通过先验分布轻松融入先验知识,在新数据到来时灵活更新预测,以及能够为结果分配概率。这些特点使得贝叶斯方法在不确定性是一个重要因素且涉及实际应用的情况下特别有用,例如金融市场预测、需求分析或环境建模。 因此,像点估计、方差和可信区间这样的指标是使用未来概率分布计算的,该分布通过贝叶斯方法的三步获得,即先验规范(定义参数的先验信念)、似然和模型(识别统计模型的似然函数),以及MCMC或变分推断等算法用于估计后验分布。随后的预测不是单一的点,而是一组可能的未来值以及置信区间,这有助于在大量风险条件下采取更合适的解决方案。 DGLM:捕捉时间序列预测中的动态依赖关系在 PyBATS 中,随着数据模式的变化,时间序列的预测基于 DGLM(一种概率模型)生成的预测。DGLM 具有一些显著的优势,使其在动态环境中特别有效:DGLM 具有一些可以在动态模型中有效应用的特性,如下所示:
模型剖析动态广义线性模型(DGLM)的核心在于线性预测器(λt)的计算,它构成了模型预测的基础:动态广义线性模型(DGLM)的核心在于线性预测器(λt)的计算,它构成了模型预测的基础
折扣因子:平衡信息因此,DGLM 家族成员具有对模型至关重要的折扣因子,用于调节最近观测值比旧值获得多少权重。状态向量 (θt) 中的每个组件都由一个特定的折扣因子控制:状态向量 (θt) 中的每个组件都由一个特定的折扣因子控制
技术见解DGLM 因其在广义线性模型中对参数的适应能力而被描述,因此它们是时间序列预测的良好候选者,因为它们可以捕捉各种行为。它们在如何将不同的分析组件集成到预测模型中同时处理不同的概率分布方面非常稳健;因此,这些方法在许多预测设置中具有适用性。 以下是 DGLM 的突出之处
实施贝叶斯模型代码 输出 ![]() 说明 代码首先导入必要的库:用于计算的 numpy,用于数据操作的 pandas,以及通常用于数据分析的 matplotlib.pyplot 用于绘图,statsmodels.pybats 模块用于贝叶斯时间序列分析和预测以及数据集和统计模型的 API。然后它从 statsmodels 库加载 AirPassengers 数据集,该数据集捕获了每月航空旅客流量。数据集中的“time”列使用年份格式转换为日期时间,如下所示。为清晰起见,列也更改为“Month”和“Passengers”。然后将“Month”列选为索引,这将使 DataFrame 中的数据按日期组织。 变量 Y 被分配为从数据框中提取的乘客计数。有用于预测的识别参数,包括预测期的起点和终点以及每个预测的提前步数 (k)。它利用贝叶斯方法进行时间序列分布预测,该预测基于泊松分布。最后但同样重要的是,它估计预测样本的中点,并准备绘制实际值和预测值。 后验样本和点估计PyBATS 中的分析函数返回两个输出:拟合的 mod、一组样本和后验分布的样本。这些是根据贝叶斯评估的视角展示不同风险水平的后验示例。为了说明这一点,估计函数 median(samples),如上式所示,用于获取样本。这个特定函数提供每个预测区间获得的后验样本的中点,以提供平均预测的近似值。 技术亮点PyBATS 不提供许多创建不同模型的选项,但它可以用一些模型必须规定的参数集构建。为了合并此代码片段,里程将采取以下步骤:为泊松动态广义线性模型 (DGLM) 创建几个重要因素。此模型中设置的关键参数包括:此处还定义了以下与系统相关的参数
根据阿姆斯特朗和科尔皇帝的说法,尽管为清晰起见最恰当地称之为预测,但输出实际上是样本内预测而非样本外预测。该数据集的结构是显而易见的,忽略了不一致的波动,这有助于改进预测。 在时间序列中,短期预测总是比长期预测更准确;例如,一步预测通常比多步预测更准确。然而,预测的这种可靠性通常受到预测时间范围增加的规则的制约。这是因为随着时间的推移,性能偏离趋势的风险和变异性增加。这就是为什么作为可能提供有用信息的分析的长期预测在长期预测范围内不会产生很好的结果。 PyBATS 的未开发功能PyBATS 提供了一系列超出本次演示所涵盖基础的高级功能。如本次演示所示,PyBATS 还有许多超越下面解释的基础功能。
技术重点它在整个过程中使用精确的技术术语并保持正式的语气 关键概念清晰定义,包括换句话说,在当前工作中对所考虑的主要概念进行了定义
优势
注意事项
结论贝叶斯时间序列预测相对复杂,但它是一种非常丰富、高度可扩展、非常准确且易于解释的预测技术。基于设置先验概率并使用贝叶斯统计更新这些概率的框架,这种方法考虑了过去的知识和可变性,并处理了数据复杂性。这在需要一个通用框架来分析依赖于时间的时间数据时很有帮助,因为它有助于无论何时发生,都能进行时间数据分析。 下一主题Python 初学者情感分析指南 |
我们请求您订阅我们的新闻通讯以获取最新更新。