Revision a55b247ac8ea5ea2e59b7a42cbda5eab1082a04c authored by Sebastian Weber on 25 July 2016, 12:15:05 UTC, committed by Sebastian Weber on 25 July 2016, 12:15:05 UTC
1 parent 1de73ee
Raw File
normal_mixture_k_prop.stan
data {
  int<lower=1> K;
  int<lower=1> N;
  real y[N];
}
parameters {
  simplex[K] theta;
  simplex[K] mu_prop;
  real mu_loc;
  real<lower=0> mu_scale;
  real<lower=0> sigma[K];
}
transformed parameters {
  ordered[K] mu;
  mu <- mu_loc + mu_scale * cumulative_sum(mu_prop);
}
model {
  // prior
  mu_loc ~ cauchy(0,5);               
  mu_scale ~ cauchy(0,5);
  sigma ~ cauchy(0,5);

  // likelihood
  { 
    real ps[K];
    vector[K] log_theta;
    log_theta <- log(theta);

    for (n in 1:N) {
      for (k in 1:K) {
        ps[k] <- log_theta[k]
                 + normal_log(y[n],mu[k],sigma[k]);
      }
      increment_log_prob(log_sum_exp(ps));    
    }
  }
}
back to top