2017-11-14 15 views
0

私はRで利用可能なさまざまな予測パッケージを使用することを学び、bsts()に出くわしました。私が扱うデータは時系列の要求です。bstによって行われた予測を正の値に限定することは可能ですか?

data=c(27, 2, 7, 7, 9, 4, 3, 3, 3, 9, 6, 2, 6, 2, 3, 8, 6, 1, 3, 8, 4, 5, 8, 5, 4, 4, 6, 1, 6, 5, 1, 3, 0, 2, 6, 7, 1, 2, 6, 2, 8, 6, 1, 1, 3, 2, 1, 3, 1, 6, 3, 4, 3, 7, 3, 4, 1, 7, 5, 6, 3, 4, 3, 9, 2, 1, 7, 2, 2, 9, 4, 5, 3, 4, 2, 4, 4, 8, 6, 3, 9, 2, 9, 4, 1, 3, 8, 1, 7, 7, 6, 0, 1, 4, 8, 9, 2, 5) 
ts.main=ts(data, start=c(1910,1), frequency=12) 
ss <- AddLocalLinearTrend(list(), y=ts.main) 
ss <- AddSeasonal(ss, y=as.numeric(ts.temp), nseasons=12) 
model <- bsts(as.numeric(ts.temp), 
      state.specification = ss, 
      niter = 1000) 
pred <- predict(model, horizon = 12) 

私は否定的になってからpred$meanを制限することができます方法はありますか?

+0

これは時系列のカウントですか? – duckmayr

+0

はい、一連のカウントです。 –

答えて

2

データは時系列のカウントであるため、ガウスエラーを想定するのではなく、考慮する必要があります。これに関するいくつかの議論およびいくつかのアプローチの詳細については、例えばBrandt et al 2000およびBrandt and Williams 2001を参照されたい。幸いなことに、bstsパッケージには、familyオプションの組み込み機能があります(the documentationの24〜26ページを参照)。 bsts()機能が正しくあなたの問題を解決する回数などのデータを考慮するように、非負となる事後予測分布から引くので、

だから、あなたはただ、この

model <- bsts(as.numeric(ts.main), 
       state.specification = ss, 
       family = 'poisson', 
       niter = 1000) 

を行うことができます定義により。

+0

ありがとう、私はあなたが提供した参照を通過します。 –

関連する問題