From bayesian-modeling
Bayesian regression models including linear, logistic, Poisson, negative binomial, and robust regression with Stan and JAGS implementations.
npx claudepluginhub choxos/biostatagent --plugin bayesian-modelingThis skill uses the workspace's default tool permissions.
```stan
Searches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Searches prompts.chat for AI prompt templates by keyword or category, retrieves by ID with variable handling, and improves prompts via AI. Use for discovering or enhancing prompts.
Checks Next.js compilation errors using a running Turbopack dev server after code edits. Fixes actionable issues before reporting complete. Replaces `next build`.
data {
int<lower=0> N;
int<lower=0> K;
matrix[N, K] X;
vector[N] y;
}
parameters {
real alpha;
vector[K] beta;
real<lower=0> sigma;
}
model {
alpha ~ normal(0, 10);
beta ~ normal(0, 5);
sigma ~ exponential(1);
y ~ normal(alpha + X * beta, sigma);
}
generated quantities {
array[N] real y_rep;
for (n in 1:N)
y_rep[n] = normal_rng(alpha + X[n] * beta, sigma);
}
model {
for (i in 1:N) {
y[i] ~ dnorm(mu[i], tau)
mu[i] <- alpha + inprod(X[i,], beta[])
}
alpha ~ dnorm(0, 0.001)
for (k in 1:K) { beta[k] ~ dnorm(0, 0.001) }
tau ~ dgamma(0.001, 0.001)
sigma <- 1/sqrt(tau)
}
data {
int<lower=0> N;
int<lower=0> K;
matrix[N, K] X;
array[N] int<lower=0,upper=1> y;
}
parameters {
real alpha;
vector[K] beta;
}
model {
alpha ~ normal(0, 2.5);
beta ~ normal(0, 2.5);
y ~ bernoulli_logit(alpha + X * beta);
}
model {
for (i in 1:N) {
y[i] ~ dbern(p[i])
logit(p[i]) <- alpha + inprod(X[i,], beta[])
}
alpha ~ dnorm(0, 0.4) # SD ≈ 1.58
for (k in 1:K) { beta[k] ~ dnorm(0, 0.4) }
}
model {
alpha ~ normal(0, 5);
beta ~ normal(0, 2.5);
y ~ poisson_log(alpha + X * beta);
}
model {
for (i in 1:N) {
y[i] ~ dpois(lambda[i])
log(lambda[i]) <- alpha + inprod(X[i,], beta[])
}
}
parameters {
real alpha;
vector[K] beta;
real<lower=0> phi; // Overdispersion
}
model {
phi ~ exponential(1);
y ~ neg_binomial_2_log(alpha + X * beta, phi);
}
parameters {
real alpha;
vector[K] beta;
real<lower=0> sigma;
real<lower=1> nu; // Degrees of freedom
}
model {
nu ~ gamma(2, 0.1); // Prior on df
y ~ student_t(nu, alpha + X * beta, sigma);
}
transformed data {
matrix[N, K] Q = qr_thin_Q(X) * sqrt(N - 1.0);
matrix[K, K] R = qr_thin_R(X) / sqrt(N - 1.0);
matrix[K, K] R_inv = inverse(R);
}
parameters {
vector[K] theta;
real<lower=0> sigma;
}
model {
y ~ normal(Q * theta, sigma);
}
generated quantities {
vector[K] beta = R_inv * theta;
}
| Parameter | Weakly Informative | Reference |
|---|---|---|
| Intercept | normal(0, 10) | Scale of outcome |
| Coefficients | normal(0, 2.5) | Gelman et al. |
| SD (sigma) | exponential(1) | Half-normal alternative |
| Logistic coef | normal(0, 2.5) | ~4 logit units = extreme |