岡本安晴@(日本女子大学心理学科定年退職)です。 Stanを実行するとき、実行方法に依存して警告メッセージが 表示されたりされなかったりします。これは、Pythonでの ことですが、Rでもそうなのでしょうか。 Pythonの場合、統合開発環境IDLEで実行した場合は、 何も警告メッセージが表示されないのに、コマンドラインで 実行すると警告メッセージが表示されます。 Rも普通は統合環境RStudioで利用されていると思いますが、 コマンドラインで、 rscript FileName.R というように実行した場合、警告メッセージの扱いが異なる ということがあるのでしょうか? Pythonで次の2項分布モデルに対するStanスクリプトを実行します。 import pystan stan_code = """ data{ int N; int k; } parameters{ real p; } model{ p ~ uniform(0.0, 1.0); k ~ binomial(N, p); } """ Data = {'N': 10, 'k':0} sm = pystan.StanModel(model_code = stan_code) fit = sm.sampling(data = Data, n_jobs = 1) print(fit) 上のスクリプトを実行すると、次の出力になります。 Inference for Stan model: anon_model_6e5d4f39a7ac7aa1f6805d506293bb7d. 4 chains, each with iter=2000; warmup=1000; thin=1; post-warmup draws per chain=1000, total post-warmup draws=4000. mean se_mean sd 2.5% 25% 50% 75% 97.5% n_eff Rhat p 0.09 4.3e-3 0.08 1.9e-3 0.03 0.06 0.12 0.31 334 1.01 lp__ -0.93 0.05 0.93 -3.66 -1.3 -0.65 -0.27 -0.02 338 1.01 Samples were drawn using NUTS at Sat May 18 19:49:42 2019. For each parameter, n_eff is a crude measure of effective sample size, and Rhat is the potential scale reduction factor on split chains (at convergence, Rhat=1). 問題ないようですが、コマンドラインで実行すると、次のように警告メッセージが 表示されます。 Informational Message: The current Metropolis proposal is about to be rejected because of the following issue: Exception: binomial_lpmf: Probability parameter is -0.00175065, but must be in the interval [0, 1] (in 'unknown file na me' at line 11) If this warning occurs sporadically, such as for highly constrained variable types like covariance matrices, then the sa mpler is fine, but if this warning occurs often then your model may be either severely ill-conditioned or misspecified. Iteration: 2000 / 2000 [100%] (Sampling) Elapsed Time: 0.544 seconds (Warm-up) 0.525 seconds (Sampling) 1.069 seconds (Total) Inference for Stan model: anon_model_6e5d4f39a7ac7aa1f6805d506293bb7d. 4 chains, each with iter=2000; warmup=1000; thin=1; post-warmup draws per chain=1000, total post-warmup draws=4000. mean se_mean sd 2.5% 25% 50% 75% 97.5% n_eff Rhat p 0.08 4.8e-3 0.07 1.4e-3 0.03 0.06 0.12 0.28 235 1.02 lp__ -0.89 0.06 0.86 -3.26 -1.27 -0.64 -0.26 -0.01 237 1.02 Samples were drawn using NUTS at Sat May 18 19:50:53 2019. For each parameter, n_eff is a crude measure of effective sample size, and Rhat is the potential scale reduction factor on split chains (at convergence, Rhat=1). Rの場合は、どうなのでしょうか? 横浜市在住 岡本安晴
ここは心理学研究の基礎メーリングリストに投稿された過去の記事を掲載しているページです。