我想要做以下两个步骤:如何用arima.sim和估计模型模拟AR(1)过程?
- 基于一个给定的时间序列,我要校准的AR(1)的过程,即我想估计的参数。
- 基于估计的参数,我想模拟AR(1)过程。
这里是我的方法:
set.seed(123)
#Just generate random AR(1) time series; based on this, I want to estimate the parameters
ts_AR <- arima.sim(n=10000, list(ar=c(0.5)))
#1. Estimate parameters with arima()
model_AR <- arima(ts_AR, order=c(1,0,0))
#Looks actually good
model_AR
Series: ts_AR
ARIMA(1,0,0) with non-zero mean
Coefficients:
ar1 intercept
0.4891 -0.0044
s.e. 0.0087 0.0195
sigma^2 estimated as 0.9974: log likelihood=-14176.35
AIC=28358.69 AICc=28358.69 BIC=28380.32
#2. Simulate based on model
arima.sim(model=model_AR, n = 100)
Error in arima.sim(model = model_AR, n = 100) :
'ar' part of model is not stationary
我不是最大的时间序列的专家,但我敢肯定,在AR(1)过程与下面的一个持续性参数应导致一个静止的模型。但是,错误消息告诉我一些 不同。那么我在这里做一些愚蠢的事情?如果是这样,为什么以及我该如何根据我的估计参数来模拟AR(1)过程。或者难道你不能把arima
的输出作为模型输入到arima.sim
吗?然后,然而,我不明白我是如何得到这样一个错误信息...我会期望类似“模型输入不能被读取,它应该是类似于...”
这当然是一个有趣的附加点(所以+1),但没有我关心的是特别。现在,我只想模拟一个过程,并想知道为什么它不像我在R中尝试的方式那样工作。 –
@Christoph_J我只是想分享一下我对这个问题的观点,但你绝对是对的,所以对编程而言并不是数据! – dickoa