Discrete binning: burn-in and thinning


Load packages, read data and source custom scripts

rm(list = ls())
library(bamlss)
#> Loading required package: coda
#> Loading required package: colorspace
#> Loading required package: mgcv
#> Loading required package: nlme
#> This is mgcv 1.8-31. For overview type 'help("mgcv-package")'.
#> 
#> Attaching package: 'bamlss'
#> The following object is masked from 'package:mgcv':
#> 
#>     smooth.construct
library(gamlss.dist)
#> Loading required package: MASS
path_proj <- day2day::git_path()
path_data <- file.path(path_proj, "data")
path_processed <- file.path(path_data, "processed")
path_modelled <- file.path(path_data, "modelled")

model_file <- file.path(path_modelled, "bw-08-discrete-bin.rds")
model_file_rectified <- gsub("(\\.rds)$", "-rectified\\1", model_file)
model_file_burned <- gsub("(\\.rds)$", "-burned\\1", model_file)

model <- readRDS(model_file_rectified)

Burn-in and thinning

model$samples <- window(model$samples, start = 100, thin = 1)
system.time(saveRDS(model, file = model_file_burned))
#>    user  system elapsed 
#>   0.197   0.000   0.196

Maximum auto-correlation function (ACF)

par(mar = c(4, 4, 0.5, 0), mfrow = c(1, 2))
plot(model, model = "mu", which = "max-acf", spar = FALSE)
plot(model, model = "sigma", which = "max-acf", ylab = "")
Maximum ACF of samples for $\mu$ (left) and $\sigma$ (right)

Figure 1: Maximum ACF of samples for \(\mu\) (left) and \(\sigma\) (right)

MCMC convergence

par(mar = c(4, 4, 3, 1), mfrow = c(1, 2))
plot(model, which = "samples")

Time to execute the task

Only useful when executed with Rscript.

proc.time()
#>    user  system elapsed 
#>  24.827   0.153  25.080