1

R のパッケージ dse から始めます。私の目標は、状態空間モデルから行列 G と Q を推定することです。

z(t) =Fz(t-1) + Gu(t) + Kw(t-1)

y(t) = Hz(t) + w(t)

u_t は tx_cho と呼ばれる入力ベクトルで、四半期ごとに定義されます。y_t は tx_act と呼ばれ、四半期ごとに定義される出力ベクトルです。パッケージ dse とコマンド dse::SS を使用しています。

  # Define Matrix for Kalman filter

  f=array(c(0,0,0,1,1,0,0,1,1), c(3,3))
  h=array(c(1,0,0), c(1,3))
  g=array(c(-40,0,0), c(3, 1))
  q=array(c(2,0,0,0,0,2), c(3, 2))
  r=array(c(0), c(1,1))

  ss<-SS(F.=f, G=g, H=h, Q=q, R=r, names=list('tx_cho', 'tx_act'))

dim(tx_act) = 144,1 であり、tx_cho も同様です。

コードは正しく実行されますが、summary(ss) は行列 g の最初の値 (-40 に設定されたもの) と 2 に設定された行列 q の 2 つの値を推定していないようです。

これがかなり具体的である場合は申し訳ありませんが、私はこのコードに永遠にこだわっており、どんな助けも大歓迎です.

T.

4

0 に答える 0