5

次の2つのステップを実行したい:

  1. 与えられた時系列に基づいて、AR(1) プロセスを調整したい、つまりパラメータを推定したい。
  2. 推定されたパラメータに基づいて、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

私は時系列の最大の専門家ではありませんが、持続性パラメーターが 1 未満の AR(1) プロセスは定常モデルになるはずだと確信しています。ただし、エラーメッセージは何か違うことを教えてくれます。だから私はここで愚かなことをしますか?もしそうなら、推定されたパラメータに基づいて AR(1) プロセスをシミュレートするために、なぜ、何をすべきか。arimaまたは、の出力をモデルの入力として に渡すことはできませんarima.simか? しかし、そのようなエラーメッセージがどのように表示されるのかわかりません... 「モデル入力を読み取れません。次のようになるはずです...」のようなものを期待します。

4

2 に答える 2

8

これは世界で最も明確なインターフェースではありませんが、model引数は実際のarimaモデルではなく、ARMA 順序を示すリストであることを意図しています。

arima.sim(model=as.list(coef(model_AR)), n=100)

これにより、開始データから推定される AR 係数 .489 のシミュレートされたシリーズが作成されます。切片は無視されることに注意してください。

于 2013-07-27T12:50:21.747 に答える