Refers to section 10.3
Usage
hierarchical_bayesian_model(
age,
pos = NULL,
tot = NULL,
status = NULL,
type = "far3",
chains = 1,
warmup = 1500,
iter = 5000
)
Arguments
- age
the age vector
- pos
the positive count vector (optional if status is provided).
- tot
the total count vector (optional if status is provided).
- status
the serostatus vector (optional if pos & tot are provided).
- type
type of model ("far2", "far3" or "log_logistic")
- chains
number of Markov chains
- warmup
number of warmup runs
- iter
number of iterations
Value
a list of class hierarchical_bayesian_model with 6 items
- datatype
type of datatype used for model fitting (aggregated or linelisting)
- df
the dataframe used for fitting the model
- type
type of bayesian model far2, far3 or log_logistic
- info
parameters for the fitted model
- sp
seroprevalence
- foi
force of infection
Examples
# \donttest{
df <- mumps_uk_1986_1987
model <- hierarchical_bayesian_model(age = df$age, pos = df$pos, tot = df$tot, type="far3")
#>
#> SAMPLING FOR MODEL 'fra_3' NOW (CHAIN 1).
#> Chain 1: Rejecting initial value:
#> Chain 1: Log probability evaluates to log(0), i.e. negative infinity.
#> Chain 1: Stan can't start sampling from this initial value.
#> Chain 1:
#> Chain 1: Gradient evaluation took 4.7e-05 seconds
#> Chain 1: 1000 transitions using 10 leapfrog steps per transition would take 0.47 seconds.
#> Chain 1: Adjust your expectations accordingly!
#> Chain 1:
#> Chain 1:
#> Chain 1: Iteration: 1 / 5000 [ 0%] (Warmup)
#> Chain 1: Iteration: 500 / 5000 [ 10%] (Warmup)
#> Chain 1: Iteration: 1000 / 5000 [ 20%] (Warmup)
#> Chain 1: Iteration: 1500 / 5000 [ 30%] (Warmup)
#> Chain 1: Iteration: 1501 / 5000 [ 30%] (Sampling)
#> Chain 1: Iteration: 2000 / 5000 [ 40%] (Sampling)
#> Chain 1: Iteration: 2500 / 5000 [ 50%] (Sampling)
#> Chain 1: Iteration: 3000 / 5000 [ 60%] (Sampling)
#> Chain 1: Iteration: 3500 / 5000 [ 70%] (Sampling)
#> Chain 1: Iteration: 4000 / 5000 [ 80%] (Sampling)
#> Chain 1: Iteration: 4500 / 5000 [ 90%] (Sampling)
#> Chain 1: Iteration: 5000 / 5000 [100%] (Sampling)
#> Chain 1:
#> Chain 1: Elapsed Time: 7.228 seconds (Warm-up)
#> Chain 1: 6.965 seconds (Sampling)
#> Chain 1: 14.193 seconds (Total)
#> Chain 1:
#> Warning: There were 568 divergent transitions after warmup. See
#> https://mc-stan.org/misc/warnings.html#divergent-transitions-after-warmup
#> to find out why this is a problem and how to eliminate them.
#> Warning: Examine the pairs() plot to diagnose sampling problems
#> Warning: Bulk Effective Samples Size (ESS) is too low, indicating posterior means and medians may be unreliable.
#> Running the chains for more iterations may help. See
#> https://mc-stan.org/misc/warnings.html#bulk-ess
#> Warning: Tail Effective Samples Size (ESS) is too low, indicating posterior variances and tail quantiles may be unreliable.
#> Running the chains for more iterations may help. See
#> https://mc-stan.org/misc/warnings.html#tail-ess
model$info
#> mean se_mean sd 2.5%
#> alpha1 1.401214e-01 3.547730e-04 6.258881e-03 1.285380e-01
#> alpha2 1.993669e-01 4.755861e-04 8.363286e-03 1.848245e-01
#> alpha3 8.856149e-03 3.568605e-04 7.071400e-03 4.349792e-04
#> tau_alpha1 1.655955e-01 3.058673e-02 3.947079e-01 1.762069e-06
#> tau_alpha2 1.324341e-01 2.370415e-02 2.930593e-01 2.488436e-06
#> tau_alpha3 7.120083e-01 1.464684e-01 1.637538e+00 3.348306e-06
#> mu_alpha1 5.309619e+00 2.830580e+00 5.072469e+01 -1.011749e+02
#> mu_alpha2 4.377174e+00 4.306267e+00 5.440375e+01 -1.063688e+02
#> mu_alpha3 9.083521e-01 2.602170e+00 3.312617e+01 -8.185717e+01
#> sigma_alpha1 1.438473e+02 3.692646e+01 1.158127e+03 8.186990e-01
#> sigma_alpha2 1.074171e+02 2.011728e+01 7.564462e+02 9.330434e-01
#> sigma_alpha3 1.890636e+02 9.517393e+01 5.132818e+03 3.995507e-01
#> lp__ -2.535748e+03 4.167295e-01 4.060532e+00 -2.544257e+03
#> 25% 50% 75% 97.5% n_eff
#> alpha1 1.356498e-01 1.399529e-01 1.441737e-01 1.532028e-01 311.23776
#> alpha2 1.933265e-01 1.992242e-01 2.047900e-01 2.172946e-01 309.23995
#> alpha3 3.306703e-03 7.023647e-03 1.243968e-02 2.624763e-02 392.65737
#> tau_alpha1 2.035679e-04 5.030110e-03 1.052841e-01 1.491946e+00 166.52741
#> tau_alpha2 2.822231e-04 4.927917e-03 8.502226e-02 1.148673e+00 152.84887
#> tau_alpha3 7.431981e-04 1.625552e-02 4.147886e-01 6.264065e+00 124.99567
#> mu_alpha1 -6.110784e+00 3.366331e-01 1.043346e+01 1.227509e+02 321.13506
#> mu_alpha2 -6.218693e+00 2.605688e-01 1.018331e+01 1.451005e+02 159.60841
#> mu_alpha3 -3.304551e+00 5.251649e-02 3.947081e+00 8.569737e+01 162.05831
#> sigma_alpha1 3.081901e+00 1.409975e+01 7.008830e+01 7.534708e+02 983.64134
#> sigma_alpha2 3.429523e+00 1.424519e+01 5.952645e+01 6.339306e+02 1413.89599
#> sigma_alpha3 1.552697e+00 7.843314e+00 3.668159e+01 5.465076e+02 2908.54511
#> lp__ -2.538286e+03 -2.535437e+03 -2.532915e+03 -2.528247e+03 94.94175
#> Rhat
#> alpha1 1.0003681
#> alpha2 1.0002450
#> alpha3 1.0064494
#> tau_alpha1 1.0035818
#> tau_alpha2 1.0137683
#> tau_alpha3 1.0023225
#> mu_alpha1 1.0024548
#> mu_alpha2 1.0050142
#> mu_alpha3 1.0061848
#> sigma_alpha1 0.9997586
#> sigma_alpha2 1.0009646
#> sigma_alpha3 0.9997631
#> lp__ 1.0214395
plot(model)
#> Warning: No shared levels found between `names(values)` of the manual scale and the
#> data's fill values.
# }