Computes widely applicable information criterion via loo library. It can be used for a model comparison via loo::loo_compare() function.
Usage
# S3 method for cumhist
waic(x, ...)
Arguments
- x
A cumhist object.
- ...
Additional arguments (unused)
Value
A named list, see loo::waic()
for details.
Examples
# \donttest{
data(br_singleblock)
gamma_fit <- fit_cumhist(br_singleblock, state="State", duration="Duration")
#>
#> SAMPLING FOR MODEL 'historylm' NOW (CHAIN 1).
#> Chain 1:
#> Chain 1: Gradient evaluation took 0 seconds
#> Chain 1: 1000 transitions using 10 leapfrog steps per transition would take 0 seconds.
#> Chain 1: Adjust your expectations accordingly!
#> Chain 1:
#> Chain 1:
#> Chain 1: Iteration: 1 / 2000 [ 0%] (Warmup)
#> Chain 1: Iteration: 200 / 2000 [ 10%] (Warmup)
#> Chain 1: Iteration: 400 / 2000 [ 20%] (Warmup)
#> Chain 1: Iteration: 600 / 2000 [ 30%] (Warmup)
#> Chain 1: Iteration: 800 / 2000 [ 40%] (Warmup)
#> Chain 1: Iteration: 1000 / 2000 [ 50%] (Warmup)
#> Chain 1: Iteration: 1001 / 2000 [ 50%] (Sampling)
#> Chain 1: Iteration: 1200 / 2000 [ 60%] (Sampling)
#> Chain 1: Iteration: 1400 / 2000 [ 70%] (Sampling)
#> Chain 1: Iteration: 1600 / 2000 [ 80%] (Sampling)
#> Chain 1: Iteration: 1800 / 2000 [ 90%] (Sampling)
#> Chain 1: Iteration: 2000 / 2000 [100%] (Sampling)
#> Chain 1:
#> Chain 1: Elapsed Time: 4.187 seconds (Warm-up)
#> Chain 1: 4.583 seconds (Sampling)
#> Chain 1: 8.77 seconds (Total)
#> Chain 1:
waic_gamma <- waic(gamma_fit)
#> Warning:
#> 2 (2.9%) p_waic estimates greater than 0.4. We recommend trying loo instead.
normal_fit <- fit_cumhist(br_singleblock, state="State", duration="Duration", family="normal")
#>
#> SAMPLING FOR MODEL 'historylm' NOW (CHAIN 1).
#> Chain 1:
#> Chain 1: Gradient evaluation took 0 seconds
#> Chain 1: 1000 transitions using 10 leapfrog steps per transition would take 0 seconds.
#> Chain 1: Adjust your expectations accordingly!
#> Chain 1:
#> Chain 1:
#> Chain 1: Iteration: 1 / 2000 [ 0%] (Warmup)
#> Chain 1: Iteration: 200 / 2000 [ 10%] (Warmup)
#> Chain 1: Iteration: 400 / 2000 [ 20%] (Warmup)
#> Chain 1: Iteration: 600 / 2000 [ 30%] (Warmup)
#> Chain 1: Iteration: 800 / 2000 [ 40%] (Warmup)
#> Chain 1: Iteration: 1000 / 2000 [ 50%] (Warmup)
#> Chain 1: Iteration: 1001 / 2000 [ 50%] (Sampling)
#> Chain 1: Iteration: 1200 / 2000 [ 60%] (Sampling)
#> Chain 1: Iteration: 1400 / 2000 [ 70%] (Sampling)
#> Chain 1: Iteration: 1600 / 2000 [ 80%] (Sampling)
#> Chain 1: Iteration: 1800 / 2000 [ 90%] (Sampling)
#> Chain 1: Iteration: 2000 / 2000 [100%] (Sampling)
#> Chain 1:
#> Chain 1: Elapsed Time: 0.649 seconds (Warm-up)
#> Chain 1: 0.621 seconds (Sampling)
#> Chain 1: 1.27 seconds (Total)
#> Chain 1:
waic_normal <- waic(normal_fit)
#> Warning:
#> 1 (1.4%) p_waic estimates greater than 0.4. We recommend trying loo instead.
loo::loo_compare(waic_gamma, waic_normal)
#> elpd_diff se_diff
#> model2 0.0 0.0
#> model1 -2.6 4.5
# }