素敵なブログ投稿とそこにリンクされている論文に従って、私はベイジアン変数の選択をいじるかもしれないと思った。私はrjagsでプログラムを作成し(私は非常に新人です)、Exxon Mobilの価格データを、そのリターンを説明する可能性が低いもの(パラジウム価格など)およびその他の関連性の高いもの(SP500など)とともに取得しました)。
実行するlm()
と、過剰パラメーター化モデルの強力な証拠がありますが、パラジウムは間違いなく除外する必要があります。
Call:
lm(formula = Exxon ~ 0 + SP + Palladium + Russell + OilETF +
EnergyStks, data = chkr)
Residuals:
Min 1Q Median 3Q Max
-1.663e-03 -4.419e-04 3.099e-05 3.991e-04 1.677e-03
Coefficients:
Estimate Std. Error t value Pr(>|t|)
SP 0.51913 0.19772 2.626 0.010588 *
Palladium 0.01620 0.03744 0.433 0.666469
Russell -0.34577 0.09946 -3.476 0.000871 ***
OilETF -0.17327 0.08285 -2.091 0.040082 *
EnergyStks 0.79219 0.11418 6.938 1.53e-09 ***
リターンに変換した後、このような単純なモデルを実行してみました
model {
for (i in 1:n) {
mean[i]<-inprod(X[i,],beta)
y[i]~dnorm(mean[i],tau)
}
for (j in 1:p) {
indicator[j]~dbern(probindicator)
betaifincluded[j]~dnorm(0,taubeta)
beta[j] <- indicator[j]*betaifincluded[j]
}
tau~dgamma(1,0.01)
taubeta~dgamma(1,0.01)
probindicator~dbeta(2,8)
}
しかし、選択したガンマ分布のパラメーターにほとんど関係なく、各変数の不変の20%の包含確率など、かなり無意味な答えが得られることがわかりました。
私はまた、小さな、小さな回帰係数を取得しました。これは選択モデルであると想定されていたので、私は許容できますが、それはまだ奇妙に思えました。
Mean SD Naive SE Time-series SE
SP beta[1] -4.484e-03 0.10999 0.003478 0.007273
Palladium beta[2] 1.422e-02 0.16646 0.005264 0.011106
Russell beta[3] -2.406e-03 0.08440 0.002669 0.003236
OilETF beta[4] -4.539e-03 0.14706 0.004651 0.005430
EnergyStks beta[5] -1.106e-03 0.07907 0.002500 0.002647
SP indicator[1] 1.980e-01 0.39869 0.012608 0.014786
Palladium indicator[2] 1.960e-01 0.39717 0.012560 0.014550
Russell indicator[3] 1.830e-01 0.38686 0.012234 0.013398
OilETF indicator[4] 1.930e-01 0.39485 0.012486 0.013229
EnergyStks indicator[5] 2.070e-01 0.40536 0.012819 0.014505
probindicator 1.952e-01 0.11981 0.003789 0.005625
tau 3.845e+03 632.18562 19.991465 19.991465
taubeta 1.119e+02 107.34143 3.394434 7.926577
ベイジアン変数選択は本当に悪い/敏感ですか?または、私はいくつかの明白なエラーを犯していますか?