小编ASG*_*SGR的帖子

混合帕累托和正常斯坦模型不起作用

我正在尝试通过 rstan 来学习 Stan (因为我熟悉 R)。我尝试运行一个简单的混合帕累托和正态模型。它编译得很好(据我所知),但它无法采样,给我错误:

“(-2, 2) 之间的初始化在 100 次尝试后失败。尝试指定初始值、减小约束值的范围或重新参数化模型。

调用采样器时发生错误;采样未完成”

可以说我已经尝试了各种方法来参数化事物,并尝试设置初始值,但都无济于事。

我的 R+rstan 代码如下:

library(rstan)
rpareto = function(n, location, shape){location/runif(n)^(1/shape)}
sdvec=runif(1e3,0.1,1)
HMFtest=list(x=rpareto(1e3,10,2)+rnorm(1e3,0,sdvec), sdev=sdvec, N=1e3)

HMF.stan <- "
data {
  int<lower=0> N;
  real x[N];
  real sdev[N];
}
parameters {
  real<lower=0,upper=20> y_min;
  real<lower=0,upper=4> alpha;
  real xtrue[N];
}
model {
  y_min ~ lognormal(1, 1);
  alpha ~ lognormal(1, 1);
  xtrue ~ pareto(y_min, alpha);
  for(i in 1:N){
    x[i] ~ normal(xtrue[i], sdev[i]);
  }
}
"

stan.test <- stan(model_code=HMF.stan, data=HMFtest, pars=c('y_min','alpha'), chains=1, iter=30000, warmup=10000)
Run Code Online (Sandbox Code Playgroud)

这个例子与 …

r jags stan rstan

5
推荐指数
1
解决办法
869
查看次数

标签 统计

jags ×1

r ×1

rstan ×1

stan ×1