from statsmodel.tsa.statespace.sarimax import SARIMAX Seasonal Autoregressive Integrated Moving-Average with Exogenous Regressors (SARIMAX) SARIMAX是SARIMA模型的扩展,还包括外生变量的建模。 SARIMAX方法还可用于使用外生变量对包含的模型进行建模,例如ARX,MAX,ARMAX和ARIMAX。 from statsmodel.tsa.statespace.sarimax import SARIMAX Vector Autoregression (VAR) 向量自回归方法使用AR模型。
SARIMAX: (0, 0, 1) x (0, 0, 1, 12) SARIMAX: (0, 0, 1) x (0, 1, 0, 12) SARIMAX: (0, 1, 0) x (0, 1, 1, 在安装每个SARIMAX()模型后,代码打印出其各自的AIC得分。 上面的代码应该产生以下结果,这可能需要一些时间: SARIMAX(0, 0, 0)x(0, 0, 1, 12) - AIC:6787.3436240402125 SARIMAX(0, 0, 0)x( 0, 1, 1, 12) - AIC:1596.711172764114 SARIMAX(0, 0, 0)x(1, 0, 0, 12) - AIC:1058.9388921320026 SARIMAX( 我们首先将最佳参数值插入到新的SARIMAX模型中: mod = sm.tsa.statespace.SARIMAX(y, order=
在本文中,我们从头开始构建了一个最佳ARIMA模型,并将其扩展到Seasonal ARIMA(SARIMA)和SARIMAX模型。 1.时间序列预测简介 时间序列是在定期的时间间隔内记录度量的序列。 最佳模型 SARIMAX(3, 0, 0)x(0, 1, 1, 12) 的AIC为528.6,P值很重要。 让我们预测未来的24个月。 SARIMA –最终预测 15.如何用外生变量建立SARIMAX模型 我们构建的SARIMA模型很好。 但是为了完整起见,让我们尝试将外部预测变量(也称为“外生变量”)强加到模型中。 该模型称为SARIMAX模型。 使用外生变量的唯一要求是您还需要在预测期内知道变量的值。 为了演示,我将对 最近36个月的数据使用经典季节性分解中的季节性指数 。 为什么要季节性指数? 让我们计算季节性指数,以便可以将其作为SARIMAX模型的(外部)预测变量。 外生变量(季节指数)已准备就绪。让我们构建SARIMAX模型。
SARIMAX: (0, 0, 1) x (0, 0, 1, 12) SARIMAX: (0, 0, 1) x (0, 1, 0, 12) SARIMAX: (0, 1, 0) x (0, 1, 1, 拟合每个 SARIMAX()模型后,代码将输出出它们各自的 AIC 分数。 SARIMAX(0, 0, 0)x(1, 0, 0, 12) - AIC:1058.9388921320026 SARIMAX(0, 0, 0)x(1, 0, 1, 12) - AIC:1056.2878315690562 SARIMAX(1, 1, 1)x(1, 0, 0, 12) - AIC:576.8647112294245 SARIMAX(1, 1, 1)x(1, 0, 1, 12) - AIC:327.9049123596742 SARIMAX(1, 1, 1)x(1, 1, 0, 12) - AIC:444.12436865161305 SARIMAX(1, 1, 1)x(1, 1, 1, 12) - AIC:277.7801413828764
SARIMAX: (0, 0, 1) x (0, 0, 1, 12) SARIMAX: (0, 0, 1) x (0, 1, 0, 12) SARIMAX: (0, 1, 0) x (0, 1, 1, 拟合每个 SARIMAX()模型后,代码将输出出它们各自的 AIC 分数。 SARIMAX(0, 0, 0)x(1, 0, 0, 12) - AIC:1058.9388921320026 SARIMAX(0, 0, 0)x(1, 0, 1, 12) - AIC:1056.2878315690562 SARIMAX(1, 1, 1)x(1, 0, 0, 12) - AIC:576.8647112294245 SARIMAX(1, 1, 1)x(1, 0, 1, 12) - AIC:327.9049123596742 SARIMAX(1, 1, 1)x(1, 1, 0, 12) - AIC:444.12436865161305 SARIMAX(1, 1, 1)x(1, 1, 1, 12) - AIC:277.7801413828764
SARIMAX: (0, 0, 1) x (0, 0, 1, 12) SARIMAX: (0, 0, 1) x (0, 1, 0, 12) SARIMAX: (0, 1, 0) x (0, 1, 1, 拟合每个 SARIMAX()模型后,代码将输出出它们各自的 AIC 分数。 SARIMAX(0, 0, 0)x(1, 0, 0, 12) - AIC:1058.9388921320026 SARIMAX(0, 0, 0)x(1, 0, 1, 12) - AIC:1056.2878315690562 SARIMAX(1, 1, 1)x(1, 0, 0, 12) - AIC:576.8647112294245 SARIMAX(1, 1, 1)x(1, 0, 1, 12) - AIC:327.9049123596742 SARIMAX(1, 1, 1)x(1, 1, 0, 12) - AIC:444.12436865161305 SARIMAX(1, 1, 1)x(1, 1, 1, 12) - AIC:277.7801413828764
在本文中,我们从头开始构建了一个最佳ARIMA模型,并将其扩展到Seasonal ARIMA(SARIMA)和SARIMAX模型。 1.时间序列预测简介 时间序列是在定期的时间间隔内记录度量的序列。 最佳模型 SARIMAX(3, 0, 0)x(0, 1, 1, 12) 的AIC为528.6,P值很重要。 让我们预测未来的24个月。 ? SARIMA –最终预测 15.如何用外生变量建立SARIMAX模型 我们构建的SARIMA模型很好。 但是为了完整起见,让我们尝试将外部预测变量(也称为“外生变量”)强加到模型中。 让我们计算季节性指数,以便可以将其作为SARIMAX模型的(外部)预测变量。 外生变量(季节指数)已准备就绪。让我们构建SARIMAX模型。 SARIMAX预测
SARIMAX: (0, 0, 1) x (0, 0, 1, 12) SARIMAX: (0, 0, 1) x (0, 1, 0, 12) SARIMAX: (0, 1, 0) x (0, 1, 1, 拟合每个 SARIMAX()模型后,代码将输出出它们各自的 AIC 分数。 SARIMAX(0, 0, 0)x(1, 0, 0, 12) - AIC:1058.9388921320026 SARIMAX(0, 0, 0)x(1, 0, 1, 12) - AIC:1056.2878315690562 SARIMAX(1, 1, 1)x(1, 0, 0, 12) - AIC:576.8647112294245 SARIMAX(1, 1, 1)x(1, 0, 1, 12) - AIC:327.9049123596742 SARIMAX(1, 1, 1)x(1, 1, 0, 12) - AIC:444.12436865161305 SARIMAX(1, 1, 1)x(1, 1, 1, 12) - AIC:277.7801413828764
本文聚焦以下五类模型的实际效能: SARIMAX:适用于包含季节性和外部变量的线性时序数据,通过差分处理非平稳性。 RNN(循环神经网络) :擅长处理序列依赖关系,通过隐藏状态记忆历史信息。 :季节性线性建模 针对能源消耗数据,使用SARIMAX捕捉季节效应,代码如下: ini 体验AI代码助手 代码解读 复制代码 from statsmodels.tsa.statespace.sarimax import SARIMAX # 划分训练集与测试集(保留最后3个月验证) train = monthly_data[:-3] test = monthly_data[-3:] # 拟合SARIMAX 计算效率权衡:SARIMAX和Prophet的训练时间仅为RNN/LSTM的1/5-1/3,适合实时性要求高的场景。 4.3 行业应用建议 能源与零售:优先使用Prophet或SARIMAX,结合业务周期(如季度、节假日)调整季节参数。
自回归 (AR) 移动平均模型 (MA) 自回归滑动平均模型 (ARMA) 差分整合移动平均自回归模型 (ARIMA) 季节性 ARIMA (SARIMA) 3、外生变量的时间序列预测 包含外生变量的SARIMAX (SARIMAX) 具有外生回归量的向量自回归移动平均 (VARMAX) 4、多元时间序列预测 向量自回归 (VAR) 向量自回归移动平均 (VARMA) 下面我们对上面的方法一一进行介绍,并给出python # SARIMA from statsmodels.tsa.statespace.sarimax import SARIMAX from random import random # contrived SARIMAX 方法也可用于通过包含外生变量来模拟具有外生变量的其他变化,例如 ARX、MAX、ARMAX 和 ARIMAX。 # SARIMAX from statsmodels.tsa.statespace.sarimax import SARIMAX from random import random # contrived
import pandas as pd import numpy as np from statsmodels.tsa.api import ExponentialSmoothing, SARIMAX, 预测模型 model = SARIMAX(df['sales'], order=(1, 1, 1), seasonal_order=(1, 1, 1, 12)) model_fit = df.loc[i, 'SARIMAX预测值'] = model_fit.predict(i, i + 6).sum() # Prophet预测模型 model = Prophet() (disp=False) # 预测后6个月的销售额 数据框['SARIMAX预测值'] = 0 for i in range(len(数据框)-6): 数据框. 除了你提到的ARIMA、ExponentialSmoothing、SARIMAX和Prophet之外,以下是其他一些流行的方法: 1.
May 25 17:23:53 2023 @author: Administrator """ import pandas as pd from statsmodels.tsa.statespace.sarimax import SARIMAX from prophet import Prophet from pmdarima import auto_arima from statsmodels.tsa.holtwinters range(48, len(数据)): # 创建一个数据子集,包含到当前迭代的所有行 数据子集 = 数据[:i+1] # 初始化SARIMA模型 模型_sarima = SARIMAX 、ETS和TBATS的时间序列预测方法到代码中 # -*- coding: utf-8 -*- import pandas as pd from statsmodels.tsa.statespace.sarimax 现在您可以使用这段代码进行预测 # -*- coding: utf-8 -*- import pandas as pd from statsmodels.tsa.statespace.sarimax
SARIMAX: (0, 0, 1) x (0, 0, 1, 12) SARIMAX: (0, 0, 1) x (0, 1, 0, 12) SARIMAX: (0, 1, 0) x (0, 1, 1, 拟合每个 SARIMAX()模型后,代码将输出出它们各自的 AIC 分数。 SARIMAX(0, 0, 0)x(1, 0, 0, 12) - AIC:1058.9388921320026 SARIMAX(0, 0, 0)x(1, 0, 1, 12) - AIC:1056.2878315690562 SARIMAX(1, 1, 1)x(1, 0, 0, 12) - AIC:576.8647112294245 SARIMAX(1, 1, 1)x(1, 0, 1, 12) - AIC:327.9049123596742 SARIMAX(1, 1, 1)x(1, 1, 0, 12) - AIC:444.12436865161305 SARIMAX(1, 1, 1)x(1, 1, 1, 12) - AIC:277.7801413828764
在Python中,我们可以使用statsmodels库的SARIMAX类来实现SARIMA模型: import pandas as pd from statsmodels.tsa.statespace.sarimax import SARIMAX # 准备示例时间序列数据 data = pd.Series([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]) # 创建SARIMA模型 model = SARIMAX(data, order=(1, 1, 1), seasonal_order=(1, 1, 1, 12)) # 拟合模型 model_fit = model.fit() # 进行预测
2、代码 import pandas as pd from statsmodels.tsa.statespace.sarimax import SARIMAX from prophet import 数据子集['本月实际销售金额'].iloc[-1]] # 获取最后一个年月 最后年月 = [数据子集.index[-1]] # SARIMA SARIMA模型 = SARIMAX Smoothing (SES) 季节性指数平滑 Seasonal Autoregressive Integrated Moving-Average with Exogenous Regressors (SARIMAX ) 季节性分解时间序列(STL) Holt-Winters方法(三重指数平滑 增加三种方法 import pandas as pd from statsmodels.tsa.statespace.sarimax import SARIMAX from prophet import Prophet from pmdarima import auto_arima from statsmodels.tsa.holtwinters
airline.head() # ETS分解 # ETS图 result.plot() 输出: ---- 点击标题查阅往期内容 Python中的ARIMA模型、SARIMA模型和SARIMAX 模型拟合到AirPassengers数据集 # 将数据拆分为训练/测试集 test = iloc[len(airline)-12:] # 设置一年(12个月)进行测试 # 在训练集上拟合一个SARIMAX (0,1,1)x(2,1,1,12) SARIMAX(Passengers, order = (0, 1, 1), seasonal_order ARIMA:非季节性自回归移动平均模型 SARIMA:季节性ARIMA SARIMAX:具有外生变量的季节性ARIMA *
在本文中,我们从头开始构建了一个最佳ARIMA模型,并将其扩展到Seasonal ARIMA(SARIMA)和SARIMAX模型。时间序列预测简介时间序列是在定期时间间隔内记录度量的序列。 最佳模型 SARIMAX(3, 0, 0)x(0, 1, 1, 12) 的AIC为528.6,P值很重要。让我们预测未来的24个月。 SARIMA –最终预测如何用外生变量建立SARIMAX模型我们构建的SARIMA模型很好。但是为了完整起见,让我们尝试将外部预测变量(也称为“外生变量”)加到模型中。该模型称为SARIMAX模型。 让我们计算季节性指数,以便可以将其作为SARIMAX模型的(外部)预测变量。外生变量(季节指数)已准备就绪。让我们构建SARIMAX模型。 SARIMAX预测----点击文末“阅读原文”获取全文完整资料。本文选自《Python中的ARIMA模型、SARIMA模型和SARIMAX模型对时间序列预测》。
使用ARIMA模型,您可以使用序列过去的值预测时间序列 在本文中,我们从头开始构建了一个最佳ARIMA模型,并将其扩展到Seasonal ARIMA(SARIMA)和SARIMAX模型。 最佳模型 SARIMAX(3, 0, 0)x(0, 1, 1, 12) 的AIC为528.6,P值很重要。 让我们预测未来的24个月。 SARIMA –最终预测 如何用外生变量建立SARIMAX模型 我们构建的SARIMA模型很好。 但是为了完整起见,让我们尝试将外部预测变量(也称为“外生变量”)加到模型中。 让我们计算季节性指数,以便可以将其作为SARIMAX模型的(外部)预测变量。 外生变量(季节指数)已准备就绪。让我们构建SARIMAX模型。 SARIMAX预测 本文选自《Python中的ARIMA模型、SARIMA模型和SARIMAX模型对时间序列预测》。
使用ARIMA模型,您可以使用序列过去的值预测时间序列 在本文中,我们从头开始构建了一个最佳ARIMA模型,并将其扩展到Seasonal ARIMA(SARIMA)和SARIMAX模型。 最佳模型 SARIMAX(3, 0, 0)x(0, 1, 1, 12) 的AIC为528.6,P值很重要。 让我们预测未来的24个月。 让我们计算季节性指数,以便可以将其作为SARIMAX模型的(外部)预测变量。 外生变量(季节指数)已准备就绪。让我们构建SARIMAX模型。 SARIMAX预测 ---- 点击文末 “阅读原文” 获取全文完整资料。 本文选自《Python中的ARIMA模型、SARIMA模型和SARIMAX模型对时间序列预测》。 模型对时间序列预测|附代码数据Python中的ARIMA模型、SARIMA模型和SARIMAX模型对时间序列预测|附代码数据
使用ARIMA模型,您可以使用序列过去的值预测时间序列 在本文中,我们从头开始构建了一个最佳ARIMA模型,并将其扩展到Seasonal ARIMA(SARIMA)和SARIMAX模型。 最佳模型 SARIMAX(3, 0, 0)x(0, 1, 1, 12) 的AIC为528.6,P值很重要。 让我们预测未来的24个月。 让我们计算季节性指数,以便可以将其作为SARIMAX模型的(外部)预测变量。 外生变量(季节指数)已准备就绪。让我们构建SARIMAX模型。 SARIMAX预测 ---- 点击文末 “阅读原文” 获取全文完整资料。 本文选自《Python中的ARIMA模型、SARIMA模型和SARIMAX模型对时间序列预测》。 模型对时间序列预测|附代码数据Python中的ARIMA模型、SARIMA模型和SARIMAX模型对时间序列预测|附代码数据