利用SARIMA模型对季节周期性的时序案例进行分析(一)

本文介绍了如何使用SARIMA模型处理季节性时序数据,包括模型概念、步骤、参数选择、模型验证和预测。通过实例展示了SARIMA模型在预测美国夏威夷州二氧化碳含量中的应用,验证了模型的有效性和对未来趋势的预测。
摘要由CSDN通过智能技术生成

看过掌柜前几篇关于时序文章:

的朋友都知道在最后一篇掌柜遗留了一个问题,就是已确定当前的时序数据具有季节周期性,那么如何解决这类时序数据并进行预测分析呢?本文掌柜将从以下几个方面一一作答:

  • SARIMA模型是什么?
  • 如何使用SARIMA模型进行时序分析的?(SARIMA模型的步骤有哪些?)
  • SARIMA模型的优点以及限制性有哪些?

首先我们来看第一个问题,SARIMA模型是什么?
简单来讲,就是ARIMA的扩展,它明确支持带有季节成分的 单变量时间序列
而多出来的几个参数就是下图大写的PDQ那部分
在这里插入图片描述
其中m 表示时序的周期性,比如 以月为周期monthly,以年为周期yearly等。

下面接着看第二个问题:如何使用SARIMA模型进行时序分析的?(SARIMA模型的步骤有哪些?)

这里有这样一组示例数据:
在这里插入图片描述
上图👆表示的是 从1958年3月到2001年12月,美国夏威夷州空气中二氧化碳含量的时序图。
可以很明显的从时序图看出来,这是一个季节周期性的时序,所以下面我们用SARIMA模型进行一个处理和预测。
PS: 如果你的数据不是一开始就能明显看出季节周期性的,就请用掌柜上一篇博客👉:《ARIMA模型预测后出现一条直线的原因 》中提到的几种方法 来进行季节周期性的确定!!!

  1. 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]
评论 47
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值