1

これは当然のことのように思えますが、それを行う関数が見つかりません:

x_t などの観測の時系列と、AR 係数 (\alpha_1, ..., &\alpha_p など) および MA 係数 \beta_1, ..., \beta_q によって与えられる ARMA モデル仕様があります。革新を推進するベクトルを計算したいと思います。たとえば、e_t とします。

filter のヘルプを読みましたが、私が必要としているのとは逆のことをしているようです (つまり、イノベーションと係数を取り、観測がどうなるかを計算します)。

システムを Ax = Be として書き出してから B^{-1}Ax を使用することでこれを行うことができますが、大規模なシリーズでは時間がかかり、反転の数値安定性が心配です。

を使用してサンプル観測を生成できます

 ts1 <- arima.sim(model=list(AR=0.5, MA=0.5), n=10)

では、観察結果を生み出したイノベーションをどのように見つけるのでしょうか?

4

2 に答える 2

1

@evilphil が示唆するようにarima()、固定パラメータで使用するだけです。次に例を示します。

ts1 <- arima.sim(model=list(ar=0.5, ma=0.5), n=10)
fit <- arima(ts1, order=c(1,0,1), fixed=c(.5,.5,0))
res <- residuals(fit)

ただし、これはarima.sim()、初期化の影響により、実際に使用された革新を与えるものではありません。ただし、長いシリーズの場合、最初のいくつかの値を除いて、それらは接近しています。

于 2012-09-18T23:04:59.267 に答える
0

私はこれを考えすぎていたと思います-最初の観察の前にホワイトノイズ項について仮定を行う再帰によってこれを解決するのは非常に簡単です。

明らかに、これは R でループを生成します。

回避策は、モデル化されたパラメーターに固定された設定で arima を使用することです。

于 2012-09-18T16:58:52.567 に答える