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

您所在的位置:网站首页 预测降雨量可以用什么模型表示 利用SARIMA模型对季节周期性的时序案例进行分析(一)

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

2024-06-28 22:44| 来源: 网络整理| 查看: 265

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

利用ARIMA模型对时间序列进行分析的经典案例(详细代码) “利用ARIMA模型对时间序列进行分析的经典案例(详细代码)”一文中会遇到的问题总结 ARIMA模型预测后出现一条直线的原因

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

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

首先我们来看第一个问题,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]))


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3