Press "Enter" to skip to content

8种建模季节性的技术

如何处理季节性预测

Photo by Clark Young on Unsplash

本文是前一篇文章的继续。在那里,我们确定了3种类型的季节性模式。

在这里,我们将:

  • 学习如何描述时间序列的季节性。
  • 介绍8种可以用来建模季节性的方法。

建模季节性模式

季节性指的是在某个时间段内重复出现的模式。它是一个重要的变异源,需要进行建模。

一个时间序列和它的季节调整版本。数据来源在下一节中。作者提供的图片。

处理季节性的方法有几种。一些方法在建模之前移除季节性成分。季节调整数据(时间序列减去季节性成分)突出了长期效应,如趋势或商业周期。其他方法则添加捕捉季节性循环性质的额外变量。

在介绍不同的方法之前,让我们创建一个时间序列并描述它的季节性模式。

分析示例

我们将使用与前一篇文章中相同的过程(也可参考参考文献[1]):

period = 12 # 月度时间序列大小 = 120beta1 = np.linspace(-.6, .3, num=size)beta2 = np.linspace(.6, -.3, num=size)sin1 = np.asarray([np.sin(2 * np.pi * i / 12) for i in np.arange(1, size + 1)])cos1 = np.asarray([np.cos(2 * np.pi * i / 12) for i in np.arange(1, size + 1)])xt = np.cumsum(np.random.normal(scale=0.1, size=size))yt = xt + beta1 * sin1 + beta2 * cos1 + np.random.normal(scale=0.1, size=size)yt = pd.Series(yt)

这个时间序列的样子如下:

具有随机平稳季节性的人工时间序列。作者提供的图片。

我们可以从描述季节性模式的强度开始:

# https://github.com/vcerqueira/blog/tree/main/srcfrom src.seasonality import seasonal_strengthseasonal_strength(yt, period=12)# 0.90
Leave a Reply

Your email address will not be published. Required fields are marked *