用Python拟合ARMA模型并模拟新的时间序列

2024-09-30 01:22:00 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图在一个给定的时间序列'resid'上拟合一个ARMA模型,并使用得到的拟合模型'resid_numodel'来模拟具有相同特征的特定数量的替代时间序列。在

以下是我迄今为止尝试过的方法(仅针对一个模拟“sim”):

import numpy as np
import statsmodels.tsa.api as smt

resid_model = smt.ARMA(resid, (2, 1)).fit(maxlag=30, ic='aic', trend='nc',disp=False, transparams=True)
sim = smt.arma_generate_sample(ar=np.append(1.,resid_model.arparams), 
               ma=np.append(1.,resid_model.maparams), nsample=tsteps, sigma=resid_model.sigma2)

然而,我似乎不能确保平稳性,尽管拟合中有“transparams=True”参数。 我得到的结果取决于我试图拟合的ARMA模型的阶数,但总体上趋于退化: obtained simulation 'sim'

这是我的原始样本的样子: original time series 'resid'

我做错什么了?在

谢谢你!在


Tags: 模型importtruemodelasnp时间序列

热门问题