1

セグメント化されたパッケージを使用して、かなりの数の予測子を持つ有馬回帰モデルを構築しています。しかし、モデル予測ステップでは常に次のエラーが表示されます。

Error in matrix(x.values, nrow = n, ncol = k, byrow = FALSE) : 
'data' must be of a vector type, was 'NULL'

私のコードは以下です。Y_c は予測子です。X_c は予測子の大きな行列であり、X_v は本質的に同じ行列ですが、検証期間にあります。X_c の予測子の 1 つは TP で、2 つのブレークポイントがあります。データを添付したくないので、孤立変数を使用しましたが、推定は問題ないようです。

  fit0 = arima( Y_c, order=c(2,0,1), xreg = data.frame(X_c) )
  TP = X_c[,"TP"]
  fitS = segmented.Arima( fit0, seg.Z = ~ TP, psi = c(12,17) )
  predict.segmented(fitA, newdata=data.frame(X_v) )

しかし、最後のステップでエラーが発生します。

実際のデータで何が間違っていたのかわかりませんでした。ダミーデータでのテストは問題ありませんでした。

  x = data.frame( x1=c(1:500), x2 = rnorm(n=500, sd = 30) )
  y = x$x1[1:250] * 2 + x$x1[251:500] /2 + x$x2 /2 + 
      arima.sim( list(ar=c(0.5,0.3), ma=c(0.8)), n = 500 )
  ar_model = arima(y, order=c(2,0,1), xreg=x)
  x1 = x$x1
  seg_model = segmented(ar_model, seg.Z=~x1, psi=c(400), 
              control=seg.control(display=FALSE, K=1, random=TRUE))
  predict.segmented(seg_model, data.frame(x1=c(1:500),x2=c(1:500)))

これは本当にイライラします。誰かが助けを与えることができれば、それは大歓迎です!

4

0 に答える 0