A few examples of what the basic stanfit manipulation {shredder} can do (from this pkgdown article)
library(shredder)
library(rstan)
rats <- shredder::rats_example(nCores = 1)
rats
Standard Output
Inference for Stan model: rats.
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
alpha[1] 239.94 0.03 2.65 234.72 238.13 239.94 241.73 245.15 7024 1
alpha[2] 247.80 0.04 2.74 242.30 246.01 247.86 249.64 253.05 6023 1
alpha[3] 252.44 0.04 2.58 247.22 250.74 252.43 254.13 257.50 5059 1
alpha[4] 232.60 0.03 2.71 227.23 230.81 232.61 234.38 237.94 7017 1
alpha[5] 231.64 0.03 2.69 226.32 229.85 231.62 233.46 236.90 6477 1
alpha[6] 249.75 0.04 2.65 244.39 248.04 249.75 251.49 255.06 5331 1
alpha[7] 228.70 0.03 2.69 223.51 226.94 228.64 230.42 234.05 7721 1
alpha[8] 248.33 0.04 2.65 243.23 246.52 248.28 250.12 253.61 5596 1
alpha[9] 283.27 0.04 2.68 277.83 281.53 283.28 285.08 288.40 5129 1
alpha[10] 219.27 0.03 2.62 213.97 217.53 219.26 221.05 224.29 6879 1
alpha[11] 258.26 0.03 2.71 252.87 256.49 258.27 260.03 263.85 6760 1
alpha[12] 228.14 0.03 2.74 222.81 226.28 228.09 229.98 233.68 7475 1
alpha[13] 242.41 0.03 2.71 237.15 240.63 242.41 244.15 247.83 6268 1
alpha[14] 268.28 0.04 2.74 262.85 266.42 268.30 270.08 273.56 6108 1
alpha[15] 242.79 0.04 2.69 237.54 241.00 242.82 244.60 248.01 5881 1
alpha[16] 245.30 0.03 2.64 240.14 243.58 245.29 247.01 250.63 6282 1
alpha[17] 232.21 0.04 2.68 226.95 230.44 232.21 233.99 237.44 5517 1
alpha[18] 240.47 0.03 2.72 235.21 238.65 240.47 242.28 245.80 6733 1
alpha[19] 253.76 0.04 2.68 248.54 252.00 253.79 255.54 259.13 5846 1
alpha[20] 241.68 0.03 2.70 236.43 239.86 241.68 243.50 246.96 6563 1
alpha[21] 248.52 0.04 2.67 243.26 246.71 248.56 250.26 253.88 5708 1
alpha[22] 225.29 0.03 2.62 220.21 223.53 225.30 227.03 230.43 6554 1
alpha[23] 228.52 0.03 2.71 223.31 226.76 228.52 230.31 233.96 7679 1
alpha[24] 245.13 0.04 2.64 239.73 243.39 245.12 246.86 250.35 5278 1
alpha[25] 234.51 0.03 2.60 229.37 232.81 234.48 236.24 239.55 5746 1
alpha[26] 254.00 0.03 2.66 248.81 252.22 254.02 255.77 259.24 6521 1
alpha[27] 254.33 0.03 2.65 249.18 252.47 254.30 256.17 259.45 7077 1
alpha[28] 243.00 0.04 2.65 237.95 241.27 243.02 244.68 248.30 5487 1
alpha[29] 217.90 0.03 2.70 212.52 216.02 217.86 219.73 223.26 6188 1
alpha[30] 241.38 0.03 2.60 236.25 239.60 241.41 243.14 246.33 6561 1
beta[1] 6.06 0.00 0.24 5.60 5.90 6.06 6.22 6.52 6351 1
beta[2] 7.05 0.00 0.26 6.54 6.88 7.05 7.22 7.54 6081 1
beta[3] 6.48 0.00 0.24 6.02 6.32 6.49 6.64 6.95 5675 1
beta[4] 5.34 0.00 0.26 4.82 5.17 5.34 5.52 5.85 5389 1
beta[5] 6.57 0.00 0.24 6.10 6.40 6.57 6.72 7.03 5753 1
beta[6] 6.18 0.00 0.24 5.69 6.01 6.18 6.34 6.67 5846 1
beta[7] 5.98 0.00 0.24 5.50 5.81 5.97 6.14 6.45 6277 1
beta[8] 6.42 0.00 0.25 5.93 6.25 6.42 6.58 6.91 5725 1
beta[9] 7.06 0.00 0.26 6.56 6.88 7.06 7.23 7.55 5306 1
beta[10] 5.85 0.00 0.24 5.37 5.69 5.85 6.02 6.32 5511 1
beta[11] 6.80 0.00 0.25 6.31 6.63 6.80 6.97 7.29 5720 1
beta[12] 6.12 0.00 0.25 5.63 5.95 6.12 6.29 6.60 5937 1
beta[13] 6.16 0.00 0.24 5.69 6.00 6.16 6.33 6.61 6602 1
beta[14] 6.69 0.00 0.25 6.20 6.52 6.69 6.86 7.17 6294 1
beta[15] 5.42 0.00 0.24 4.93 5.26 5.42 5.58 5.89 5773 1
beta[16] 5.93 0.00 0.24 5.44 5.76 5.93 6.08 6.40 6010 1
beta[17] 6.27 0.00 0.23 5.82 6.12 6.27 6.43 6.73 4764 1
beta[18] 5.84 0.00 0.25 5.35 5.68 5.85 6.01 6.34 5926 1
beta[19] 6.41 0.00 0.24 5.94 6.24 6.41 6.56 6.88 6205 1
beta[20] 6.05 0.00 0.24 5.59 5.90 6.05 6.21 6.51 6409 1
beta[21] 6.41 0.00 0.25 5.92 6.24 6.41 6.57 6.89 6100 1
beta[22] 5.86 0.00 0.23 5.41 5.70 5.86 6.01 6.31 6723 1
beta[23] 5.75 0.00 0.24 5.28 5.58 5.74 5.90 6.21 5846 1
beta[24] 5.89 0.00 0.24 5.42 5.73 5.89 6.05 6.37 6067 1
beta[25] 6.91 0.00 0.26 6.40 6.74 6.91 7.09 7.42 5229 1
beta[26] 6.55 0.00 0.24 6.08 6.39 6.55 6.71 7.02 5256 1
beta[27] 5.90 0.00 0.24 5.42 5.73 5.90 6.06 6.37 6120 1
beta[28] 5.85 0.00 0.24 5.37 5.68 5.85 6.01 6.32 5674 1
beta[29] 5.67 0.00 0.24 5.19 5.51 5.67 5.83 6.15 7156 1
beta[30] 6.14 0.00 0.25 5.66 5.97 6.14 6.30 6.62 6008 1
mu_alpha 242.45 0.04 2.68 237.17 240.65 242.43 244.22 247.79 5295 1
mu_beta 6.19 0.00 0.11 5.98 6.11 6.19 6.26 6.40 4302 1
sigmasq_y 37.19 0.13 5.68 27.60 33.20 36.71 40.67 49.83 1942 1
sigmasq_alpha 216.80 1.00 63.46 124.16 173.10 205.47 249.85 371.18 4027 1
sigmasq_beta 0.27 0.00 0.10 0.13 0.21 0.26 0.33 0.51 3640 1
sigma_y 6.08 0.01 0.46 5.25 5.76 6.06 6.38 7.06 1963 1
sigma_alpha 14.58 0.03 2.06 11.14 13.16 14.33 15.81 19.27 4324 1
sigma_beta 0.52 0.00 0.09 0.36 0.45 0.51 0.57 0.72 3579 1
alpha0 106.36 0.05 3.53 99.55 104.01 106.36 108.69 113.32 4815 1
lp__ -438.05 0.23 7.05 -453.46 -442.45 -437.57 -433.16 -425.80 978 1
Samples were drawn using NUTS(diag_e) at Fri Dec 13 08:38:41 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).
The Stan Script
data {
int<lower=0> N;
int<lower=0> T;
real x[T];
real y[N,T];
real xbar;
}
parameters {
real alpha[N];
real beta[N];
real mu_alpha;
real mu_beta; // beta.c in original bugs model
real<lower=0> sigmasq_y;
real<lower=0> sigmasq_alpha;
real<lower=0> sigmasq_beta;
}
transformed parameters {
real<lower=0> sigma_y; // sigma in original bugs model
real<lower=0> sigma_alpha;
real<lower=0> sigma_beta;
sigma_y = sqrt(sigmasq_y);
sigma_alpha = sqrt(sigmasq_alpha);
sigma_beta = sqrt(sigmasq_beta);
}
model {
mu_alpha ~ normal(0, 100);
mu_beta ~ normal(0, 100);
sigmasq_y ~ inv_gamma(0.001, 0.001);
sigmasq_alpha ~ inv_gamma(0.001, 0.001);
sigmasq_beta ~ inv_gamma(0.001, 0.001);
alpha ~ normal(mu_alpha, sigma_alpha); // vectorized
beta ~ normal(mu_beta, sigma_beta); // vectorized
for (n in 1:N)
for (t in 1:T)
y[n,t] ~ normal(alpha[n] + beta[n] * (x[t] - xbar), sigma_y);
}
generated quantities {
real alpha0;
alpha0 = mu_alpha - xbar * mu_beta;
}
Pars
Names
rats%>%
stan_names()
[1] "alpha" "beta" "mu_alpha" "mu_beta" "sigmasq_y"
[6] "sigmasq_alpha" "sigmasq_beta" "sigma_y" "sigma_alpha" "sigma_beta"
[11] "alpha0" "lp__"
rats%>%
stan_names(expand = TRUE)
[1] "alpha[1]" "alpha[2]" "alpha[3]" "alpha[4]" "alpha[5]"
[6] "alpha[6]" "alpha[7]" "alpha[8]" "alpha[9]" "alpha[10]"
[11] "alpha[11]" "alpha[12]" "alpha[13]" "alpha[14]" "alpha[15]"
[16] "alpha[16]" "alpha[17]" "alpha[18]" "alpha[19]" "alpha[20]"
[21] "alpha[21]" "alpha[22]" "alpha[23]" "alpha[24]" "alpha[25]"
[26] "alpha[26]" "alpha[27]" "alpha[28]" "alpha[29]" "alpha[30]"
[31] "beta[1]" "beta[2]" "beta[3]" "beta[4]" "beta[5]"
[36] "beta[6]" "beta[7]" "beta[8]" "beta[9]" "beta[10]"
[41] "beta[11]" "beta[12]" "beta[13]" "beta[14]" "beta[15]"
[46] "beta[16]" "beta[17]" "beta[18]" "beta[19]" "beta[20]"
[51] "beta[21]" "beta[22]" "beta[23]" "beta[24]" "beta[25]"
[56] "beta[26]" "beta[27]" "beta[28]" "beta[29]" "beta[30]"
[61] "mu_alpha" "mu_beta" "sigmasq_y" "sigmasq_alpha" "sigmasq_beta"
[66] "sigma_y" "sigma_alpha" "sigma_beta" "alpha0" "lp__"
Select
rats%>%
stan_select(mu_alpha)
Inference for Stan model: rats.
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
mu_alpha 242.45 0.04 2.68 237.17 240.65 242.43 244.22 247.79 5295 1
Samples were drawn using at Fri Dec 13 08:38:41 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).
rats%>%
stan_select(mu_alpha,mu_beta)
Inference for Stan model: rats.
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
mu_alpha 242.45 0.04 2.68 237.17 240.65 242.43 244.22 247.79 5295 1
mu_beta 6.19 0.00 0.11 5.98 6.11 6.19 6.26 6.40 4302 1
Samples were drawn using at Fri Dec 13 08:38:41 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).
rats%>%
stan_select(!!!rlang::syms(c('mu_alpha','mu_beta')))
Inference for Stan model: rats.
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
mu_alpha 242.45 0.04 2.68 237.17 240.65 242.43 244.22 247.79 5295 1
mu_beta 6.19 0.00 0.11 5.98 6.11 6.19 6.26 6.40 4302 1
Samples were drawn using at Fri Dec 13 08:38:41 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).
rats%>%
stan_select(alpha[1],alpha[2])
Inference for Stan model: rats.
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
alpha[1] 239.94 0.03 2.65 234.72 238.13 239.94 241.73 245.15 7024 1
alpha[2] 247.80 0.04 2.74 242.30 246.01 247.86 249.64 253.05 6023 1
Samples were drawn using at Fri Dec 13 08:38:41 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).
rats%>%
stan_select(!!!rlang::syms(sprintf('alpha[%s]',1:5)))
Inference for Stan model: rats.
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
alpha[1] 239.94 0.03 2.65 234.72 238.13 239.94 241.73 245.15 7024 1
alpha[2] 247.80 0.04 2.74 242.30 246.01 247.86 249.64 253.05 6023 1
alpha[3] 252.44 0.04 2.58 247.22 250.74 252.43 254.13 257.50 5059 1
alpha[4] 232.60 0.03 2.71 227.23 230.81 232.61 234.38 237.94 7017 1
alpha[5] 231.64 0.03 2.69 226.32 229.85 231.62 233.46 236.90 6477 1
Samples were drawn using at Fri Dec 13 08:38:41 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).
Select with Partials
rats%>%
stan_select(stan_contains('alpha'))
Select all Parameters that
contain “alpha”
Inference for Stan model: rats.
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
alpha[1] 239.94 0.03 2.65 234.72 238.13 239.94 241.73 245.15 7024 1
alpha[2] 247.80 0.04 2.74 242.30 246.01 247.86 249.64 253.05 6023 1
alpha[3] 252.44 0.04 2.58 247.22 250.74 252.43 254.13 257.50 5059 1
alpha[4] 232.60 0.03 2.71 227.23 230.81 232.61 234.38 237.94 7017 1
alpha[5] 231.64 0.03 2.69 226.32 229.85 231.62 233.46 236.90 6477 1
alpha[6] 249.75 0.04 2.65 244.39 248.04 249.75 251.49 255.06 5331 1
alpha[7] 228.70 0.03 2.69 223.51 226.94 228.64 230.42 234.05 7721 1
alpha[8] 248.33 0.04 2.65 243.23 246.52 248.28 250.12 253.61 5596 1
alpha[9] 283.27 0.04 2.68 277.83 281.53 283.28 285.08 288.40 5129 1
alpha[10] 219.27 0.03 2.62 213.97 217.53 219.26 221.05 224.29 6879 1
alpha[11] 258.26 0.03 2.71 252.87 256.49 258.27 260.03 263.85 6760 1
alpha[12] 228.14 0.03 2.74 222.81 226.28 228.09 229.98 233.68 7475 1
alpha[13] 242.41 0.03 2.71 237.15 240.63 242.41 244.15 247.83 6268 1
alpha[14] 268.28 0.04 2.74 262.85 266.42 268.30 270.08 273.56 6108 1
alpha[15] 242.79 0.04 2.69 237.54 241.00 242.82 244.60 248.01 5881 1
alpha[16] 245.30 0.03 2.64 240.14 243.58 245.29 247.01 250.63 6282 1
alpha[17] 232.21 0.04 2.68 226.95 230.44 232.21 233.99 237.44 5517 1
alpha[18] 240.47 0.03 2.72 235.21 238.65 240.47 242.28 245.80 6733 1
alpha[19] 253.76 0.04 2.68 248.54 252.00 253.79 255.54 259.13 5846 1
alpha[20] 241.68 0.03 2.70 236.43 239.86 241.68 243.50 246.96 6563 1
alpha[21] 248.52 0.04 2.67 243.26 246.71 248.56 250.26 253.88 5708 1
alpha[22] 225.29 0.03 2.62 220.21 223.53 225.30 227.03 230.43 6554 1
alpha[23] 228.52 0.03 2.71 223.31 226.76 228.52 230.31 233.96 7679 1
alpha[24] 245.13 0.04 2.64 239.73 243.39 245.12 246.86 250.35 5278 1
alpha[25] 234.51 0.03 2.60 229.37 232.81 234.48 236.24 239.55 5746 1
alpha[26] 254.00 0.03 2.66 248.81 252.22 254.02 255.77 259.24 6521 1
alpha[27] 254.33 0.03 2.65 249.18 252.47 254.30 256.17 259.45 7077 1
alpha[28] 243.00 0.04 2.65 237.95 241.27 243.02 244.68 248.30 5487 1
alpha[29] 217.90 0.03 2.70 212.52 216.02 217.86 219.73 223.26 6188 1
alpha[30] 241.38 0.03 2.60 236.25 239.60 241.41 243.14 246.33 6561 1
mu_alpha 242.45 0.04 2.68 237.17 240.65 242.43 244.22 247.79 5295 1
sigmasq_alpha 216.80 1.00 63.46 124.16 173.10 205.47 249.85 371.18 4027 1
sigma_alpha 14.58 0.03 2.06 11.14 13.16 14.33 15.81 19.27 4324 1
alpha0 106.36 0.05 3.53 99.55 104.01 106.36 108.69 113.32 4815 1
Samples were drawn using at Fri Dec 13 08:38:41 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).
rats%>%
stan_select(stan_contains('alpha\\[1\\]'))
Inference for Stan model: rats.
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
alpha[1] 239.94 0.03 2.65 234.72 238.13 239.94 241.73 245.15 7024 1
Samples were drawn using at Fri Dec 13 08:38:41 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).
rats%>%
stan_select(stan_contains('alpha\\[[1-9]\\]'))
Inference for Stan model: rats.
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
alpha[1] 239.94 0.03 2.65 234.72 238.13 239.94 241.73 245.15 7024 1
alpha[2] 247.80 0.04 2.74 242.30 246.01 247.86 249.64 253.05 6023 1
alpha[3] 252.44 0.04 2.58 247.22 250.74 252.43 254.13 257.50 5059 1
alpha[4] 232.60 0.03 2.71 227.23 230.81 232.61 234.38 237.94 7017 1
alpha[5] 231.64 0.03 2.69 226.32 229.85 231.62 233.46 236.90 6477 1
alpha[6] 249.75 0.04 2.65 244.39 248.04 249.75 251.49 255.06 5331 1
alpha[7] 228.70 0.03 2.69 223.51 226.94 228.64 230.42 234.05 7721 1
alpha[8] 248.33 0.04 2.65 243.23 246.52 248.28 250.12 253.61 5596 1
alpha[9] 283.27 0.04 2.68 277.83 281.53 283.28 285.08 288.40 5129 1
Samples were drawn using at Fri Dec 13 08:38:41 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).
rats%>%
stan_select(stan_ends_with('0'))
Inference for Stan model: rats.
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
alpha0 106.36 0.05 3.53 99.55 104.01 106.36 108.69 113.32 4815 1
Samples were drawn using at Fri Dec 13 08:38:41 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).
rats%>%
stan_select(mu_alpha,stan_ends_with('0'),beta[1])
Inference for Stan model: rats.
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
beta[1] 6.06 0.00 0.24 5.60 5.90 6.06 6.22 6.52 6351 1
mu_alpha 242.45 0.04 2.68 237.17 240.65 242.43 244.22 247.79 5295 1
alpha0 106.36 0.05 3.53 99.55 104.01 106.36 108.69 113.32 4815 1
Samples were drawn using at Fri Dec 13 08:38:41 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).