看过掌柜前几篇关于时序文章:
的朋友都知道在最后一篇掌柜遗留了一个问题,就是已确定当前的时序数据具有季节周期性,那么如何解决这类时序数据并进行预测分析呢?本文掌柜将从以下几个方面一一作答:
首先我们来看第一个问题,SARIMA模型是什么?
简单来讲,就是ARIMA的扩展,它明确支持带有季节成分的 单变量时间序列。
而多出来的几个参数就是下图大写的PDQ那部分:

其中m 表示时序的周期性,比如 以月为周期monthly,以年为周期yearly等。
下面接着看第二个问题:如何使用SARIMA模型进行时序分析的?(SARIMA模型的步骤有哪些?)
这里有这样一组示例数据:

上图👆表示的是 从1958年3月到2001年12月,美国夏威夷州空气中二氧化碳含量的时序图。
可以很明显的从时序图看出来,这是一个季节周期性的时序,所以下面我们用SARIMA模型进行一个处理和预测。
( PS: 如果你的数据不是一开始就能明显看出季节周期性的,就请用掌柜上一篇博客👉:《ARIMA模型预测后出现一条直线的原因 》中提到的几种方法 来进行季节周期性的确定!!! )
- SARIMA模型的参数选取
1.1 网格搜索(Grid Search) 法
首先对p、d、q 以及 P、D、Q进行不同参数组合的探索。话不多说,直接上代码:
# 首先定义 p、d、q 的参数值范围,这里取 0 - 2.
p = d = q = range(0, 2)
# 然后用itertools函数生成不同的参数组合
pdq = list(itertools.product(p, d, q))
# 同理处理季节周期性参数,也生成相应的多个组合
seasonal_pdq = [(x[0], x[1], x[2], 12) for x in list(itertools.product(p, d, q))]
print('Examples of parameter combinations for Seasonal ARIMA...')
print('SARIMAX: {} x {}'.format(pdq[1], seasonal_pdq[1]

本文介绍了如何使用SARIMA模型处理季节性时序数据,包括模型概念、步骤、参数选择、模型验证和预测。通过实例展示了SARIMA模型在预测美国夏威夷州二氧化碳含量中的应用,验证了模型的有效性和对未来趋势的预测。
最低0.47元/天 解锁文章
354

被折叠的 条评论
为什么被折叠?



