朴素预测方法

2025年6月23日 | 阅读 4 分钟

预测在各个领域都非常重要,因为它帮助企业和研究人员根据历史数据预测未来的发展。最简单的时间序列预测方法之一是朴素预测。该方法认为,最近一个周期的观测值是对下一个周期的最佳预测。尽管其简单,朴素预测在数据稳定或高度随机的情况下,可以在时间序列分析中提供一个强大的基线模型。

朴素预测假设 t+1 期的预测就是上一期的输出。这可以用数学表示为 Yt+1 = Yt,其中 Yt 指的是时间 t 的值。

因此,可以说该方法假设几乎没有趋势、季节性或外部影响;事实是,它在现实世界中可能出奇地有效,尤其是在数据不遵循强模式的短期预测中。

朴素预测非常容易实现,这是其主要优点之一。它不依赖于复杂的计算;因此,对于需要简单预测方法的企业或分析师来说,它既快速又经济高效。该方法在最近值可以提供实质性预测能力的情况下(例如,股票价格、需求预测或天气状况)效果良好并产生合理的预测。

它确实有一些重要的局限性,主要的局限性是朴素预测假设与上次观测值没有变化。因此,它无法识别数据中的趋势或季节性变化。例如,在时间序列呈稳定上升趋势的情况下,朴素预测总是会给出低于未来实际值的预测。同样,当季节性变化扰乱时间序列时,基于上次观测值开发的预测将可靠地导致显著程度的误差。

现在我们将实现朴素预测方法。

代码

输出

Naive Forecasting Methods

现在我们已经有了时间序列,让我们将其划分,以便开始预测。

代码

输出

Naive Forecasting Methods
Naive Forecasting Methods

朴素预测

现在我们将回顾朴素预测。

代码

输出

Naive Forecasting Methods

让我们更详细地检查验证阶段的开始。

代码

输出

Naive Forecasting Methods

我们可以观察到时间序列比朴素预测提前一步。

现在,让我们计算验证期预测值和实际值之间的平均绝对误差和均方误差。

代码

输出

 
61.827534, 5.937908   

现在我们将其作为基线,让我们尝试移动平均。

代码

输出

Naive Forecasting Methods

代码

输出

 
106.674576, 7.142419   

这比朴素预测还要糟糕!由于移动平均无法预测趋势和季节性,让我们尝试使用差分来消除它们。我们将从时间 t 的值中减去时间 t – 365 的值,因为季节性周期是 365 天。

代码

输出

Naive Forecasting Methods

现在,趋势和季节性似乎已经消失,我们可以使用移动平均了。

代码

输出

Naive Forecasting Methods

现在,让我们加上从 t 到 365 的历史值,以恢复趋势和季节性。

代码

输出

Naive Forecasting Methods

代码

输出

 
52.97366, 5.839311   

这比朴素预测要好。然而,因为我们只是添加了嘈杂的历史数据,预测看起来有点过于随意。为了消除一些噪音,让我们对历史值应用移动平均。

代码

输出

Naive Forecasting Methods

请告知我们具体数值。

代码

输出

 
33.452263, 4.569442