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
移动平均滞后多项式的系数,包括零滞后。
- nsample
intortupleofints 如果 nsample 是整数,则这将创建一个长度为 size 的一维时间序列。如果 nsample 是元组,则创建一个 len(nsample) 维的时间序列,其中时间沿输入变量
axis索引。除非distrvs生成依赖数据,否则所有序列都是独立的。- scale
float 噪声的标准差。
- distrvs
function,randomnumbergenerator 一个生成随机数的函数,并接受
size作为参数。默认是 np.random.standard_normal。- axis
int 详情请参阅nsample。
- burnin
int 样本开始时需要丢弃的观测值数量。 用于减少对初始值的依赖。
- 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