欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-03-03 14:06:48
...

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())

原文

相关标签: 机器学习相关