statsmodels.tsa.arima.model.ARIMA用户手册(中文)
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)
自回归综合移动平均值(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) SARIMAX(p,d,q)x(P,D,Q,s)。 它还允许所有特殊情况,包括:
-
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())