functions{ vector inv_logit_vector(vector x){ vector[rows(x)] value; int n; n <- rows(x); for(i in 1:n){ value[i] <- inv_logit(x[i]); } return value; } } data{ int n; //number of samples int p; //input dimension matrix[n,p] x; //input samples real y[n]; //output samples real hy_center; real hy_sd; } parameters{ vector[p] beta; } model{ //for prior beta ~ normal(hy_center, hy_sd); //ridge //beta ~ double_exponential(hy_center, hy_sd); //lasso increment_log_prob(to_vector(y)'*x*beta + sum(log(1-inv_logit_vector(x*beta)))); }