statsmodels.tsa.arima_process.arma_generate_sample

statsmodels.tsa.arima_process.arma_generate_sample(ar, ma, nsample, scale=1, distrvs=None, axis=0, burnin=0)[source]

从ARMA模拟数据。

Parameters:
ararray_like

自回归滞后多项式的系数,包括零滞后。

maarray_like

移动平均滞后多项式的系数,包括零滞后。

nsampleint or tuple of ints

如果 nsample 是整数,则这将创建一个长度为 size 的一维时间序列。如果 nsample 是元组,则创建一个 len(nsample) 维的时间序列,其中时间沿输入变量 axis 索引。除非 distrvs 生成依赖数据,否则所有序列都是独立的。

scalefloat

噪声的标准差。

distrvsfunction, random number generator

一个生成随机数的函数,并接受 size 作为参数。默认是 np.random.standard_normal。

axisint

详情请参阅nsample。

burninint

样本开始时需要丢弃的观测值数量。 用于减少对初始值的依赖。

Returns:
ndarray

从ARMA过程中随机抽取的样本。

注释

如上所述,AR和MA分量都应包括零滞后的系数。这通常是1。此外,由于信号处理中使用的约定与统计学中用于ARMA过程的约定不同,AR参数的符号应与你可能预期的相反。请参见下面的示例。

示例

>>> import numpy as np
>>> np.random.seed(12345)
>>> arparams = np.array([.75, -.25])
>>> maparams = np.array([.65, .35])
>>> ar = np.r_[1, -arparams] # add zero-lag and negate
>>> ma = np.r_[1, maparams] # add zero-lag
>>> y = sm.tsa.arma_generate_sample(ar, ma, 250)
>>> model = sm.tsa.ARIMA(y, (2, 0, 2), trend='n').fit(disp=0)
>>> model.params
array([ 0.79044189, -0.23140636,  0.70072904,  0.40608028])

Last update: Oct 16, 2024