statsmodels.tsa.arima.model.ARIMA用户手册(中文)(statsmodels包)

本文介绍了ARIMA模型的基础知识,包括自回归模型、移动平均模型、混合自回归移动平均模型等,并详细阐述了ARIMA模型的参数配置及应用场景。此外,还提供了实际案例演示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

0. 前言

class statsmodels.tsa.arima.model.ARIMA(endog, exog=None, order=0, 0, 0, 
seasonal_order=0, 0, 0, 0, trend=None, enforce_stationarity=True, 
enforce_invertibility=True, concentrate_scale=False, trend_offset=1, dates=None, 
freq=None, missing='none', validate_specification=True)

源码source

自回归综合移动平均值(ARIMA)模型和扩展

该模型是ARIMA型模型(包括具有外生回归变量的模型和具有季节性成分的模型)的基本接口。 模型的最一般形式是 S A R I M A X ( p , d , q ) x ( P , D , Q , s ) SARIMAX(p,d,q)x(P,D,Q,s) SARIMAXpdqxPDQs。 它还允许所有特殊情况,包括:

  • autoregressive models(自回归模型): AR( p )

  • moving average models(移动平均模型): MA(q)

  • mixed autoregressive moving average models(混合自回归移动平均模型): ARMA(p, q)

  • integration models(整合模型): ARIMA(p, d, q)

注:ARIMA 模型对时间序列的要求是平稳型。因此,当你得到一个非平稳的时间序列时,首先要做的即是做时间序列的差分,直到得到一个平稳时间序列。如果你对时间序列做d次差分才能得到一个平稳序列,那么可以使用ARIMA(p,d,q)模型,其中d是差分次数。另外p表示偏自相关图在滞后p阶之后缩小为0,q表示自相关图在滞后q阶之后缩小为0

  • seasonal models(季节模型): SARIMA(P, D, Q, s)

  • regression with errors that follow one of the above ARIMA-type models(遵循上述ARIMA类型模型之一的误差进行回归)

1. 参数

  • endog: array_like, optional
    观察到的时间序列过程y。

  • exog: array_like, optional
    外生回归数组

  • order: tuple, optional
    自回归,差异和移动平均值分量的模型的(p,d,q)顺序。 d始终是整数,而p和q可以是整数或整数列表。

  • seasonal_order: tuple, optional
    AR参数,差异,MA参数和周期性的模型季节性成分的(P,D,Q,s)顺序。 默认值为(0,0,0,0)。 D和s始终是整数,而P和Q可以是整数或正整数列表

  • trend:str{‘n’,’c’,’t’,’ct’} or iterable, optional
    控制确定性趋势的参数。 可以指定为字符串,其中“ c”表示常数项,“ t”表示时间的线性趋势,而“ ct”包括两者。 也可以指定为可迭代的定义多项式,例如 n u m p y . p o l y 1 d numpy.poly1d numpy.poly1d,其中[1,1,0,1]表示 a + b t + c t 3 a + bt + ct^3 a+bt+ct3。 对于没有集成的模型,默认值为“ c”,对于具有集成的模型,默认没有趋势。

  • enforce_stationarity: bool, optional
    是否要求自回归参数与平稳过程相对应。

  • enforce_invertibility: bool, optional
    是否要求移动平均参数对应于可逆过程。

  • concentrate_scale: bool, optional
    是否在似然性之外集中标度(误差项的方差)。 这样可以将参数数量减少一。 仅在考虑通过数值最大似然估计时才适用。

  • trend_offset: int, optional
    开始时间趋势值的偏移量。 默认值为1,因此,如果 T r e n d = ′ t ’ Trend = 't’ Trend=t,则趋势等于1,2,…,nobs。 通常仅在通过扩展先前的数据集创建模型时设置。

  • dates: array_like of datetime, optional
    如果endog或exog没有给出索引,则可以提供日期时间对象的数组状对象。

  • freq: str, optional
    如果endog或exog没有给出索引,则时间序列的频率可以在此处指定为Pandas偏移量或偏移量字符串。

  • missing: str
    可用选项为“ none”,“drop”和“raise”。 如果为“ none”,则不执行nan检查。 如果为“ drop”,则所有与nans有关的观测值都会被丢弃。 如果为“ raise”,则会引发错误。 默认值为“none”。

2. Note

该模型通过“带有ARIMA误差的回归”结合了外生回归因子和趋势成分。

在构造函数中指定了force_stationarity和forcen_invertibility,因为它们会影响对数似然性计算,因此不应即时更改。 这就是为什么不将它们作为fit方法的参数包含在内的原因。

待办事项:默认情况下,我们应该使用centre_scale = True吗?

3. 例子

>>> mod = sm.tsa.arima.ARIMA(endog, order=(1, 0, 0))
>>> res = mod.fit()
>>> print(res.summary())

原文

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值