Stan: 悪い例2題 [統計]
Stanで(に限らず)うまく推定できない、というより、モデルがまちがっているという例です。
RとStanのコードです。
stan_code1では、beta[1]とbeta[2]が識別不可能になっています。事前分布が非正則一様事前分布のときの結果は以下のようになり、両パラメーターのRhatは1よりもかなりおおきくなっています。
mean se_mean sd 2.5% 25% 50% 75% 97.5% n_eff Rhat beta[1] 1355.83 462.67 733.39 213.82 837.01 1180.82 1816.47 2924.67 3 2.30 beta[2] -1351.85 462.67 733.39 -2920.63 -1812.51 -1176.78 -833.00 -209.87 3 2.30 sigma 1.11 0.01 0.08 0.95 1.05 1.11 1.17 1.28 42 1.08 lp__ -60.18 0.18 1.06 -63.02 -60.59 -59.85 -59.43 -59.14 36 1.10
stan_code2は、betaとsigmaの事前分布を弱情報事前分布にしたものです。Rhatは1にちかくなりましたが、betaの事後分布は事前分布にちかいままです。
mean se_mean sd 2.5% 25% 50% 75% 97.5% n_eff Rhat beta[1] 2.04 0.22 7.25 -11.75 -3.06 2.19 7.11 16.22 1060 1 beta[2] 1.94 0.22 7.25 -12.26 -3.09 1.77 7.04 15.74 1057 1 sigma 1.11 0.00 0.08 0.96 1.06 1.11 1.17 1.29 1699 1 lp__ -60.71 0.04 1.22 -63.84 -61.29 -60.40 -59.82 -59.31 1077 1
次は、データにモデルがあっていない例です。データは[0, U]の一様分布ですが、モデルではNormal(beta, sigma) T[0, U]という切断正規分布をあてはめようとしています。stan_code3では、パラメーターの事前分布を非正則一様事前分布としています。結果は以下です。まったく収束していません。
mean se_mean sd 2.5% 25% 50% 75% beta 5.000000e-01 4.63000e+00 6.550000e+00 -9.190000e+00 -1.930000e+00 9.200000e-01 3.290000e+00 sigma 9.289152e+15 2.38384e+15 3.374056e+15 6.424695e+15 7.129226e+15 7.766867e+15 9.981596e+15 lp__ 4.646000e+01 8.23000e+00 1.167000e+01 2.665000e+01 3.933000e+01 4.887000e+01 5.743000e+01 97.5% n_eff Rhat beta 9.420000e+00 2 117.12 sigma 1.533082e+16 2 27.15 lp__ 5.799000e+01 2 11.77
stan_code4では、事前分布を弱情報事前分布としました。Rhatは1にちかくなりましたが、やはり事前分布と同じような事後分布となっています。
mean se_mean sd 2.5% 25% 50% 75% 97.5% n_eff Rhat beta -3.04 0.24 7.34 -18.40 -7.39 -2.43 1.14 13.09 901 1.00 sigma 34.16 5.11 215.40 2.65 6.61 10.38 19.86 192.01 1774 1.00 lp__ -46.32 0.06 1.31 -49.61 -47.05 -45.98 -45.29 -44.84 521 1.01
コメント 0