Full model with t-distribution: rectify samples


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")

source(file.path(path_proj, "src", "41-mcmc-rectify-re.R"))

path_modelled_data <- file.path(path_modelled, "bw-10-full-re-t.rds")
path_modelled_merged <- gsub("(\\.rds)$", "-merged\\1", path_modelled_data)
path_modelled_rectified <- gsub("(\\.rds)$", "-rectified\\1", path_modelled_data)

model <- readRDS(path_modelled_merged)

Rectify mcmc samples and save

model$samples <- rectify_re_list(model$samples, "res_muni", "mu")
model$samples <- rectify_re_list(model$samples, "res_muni", "sigma")

system.time(saveRDS(model, file = path_modelled_rectified))
#>    user  system elapsed 
#>  12.846   0.076  13.006

Maximum auto-correlation function (ACF)

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

Figure 1: Maximum ACF of samples for \(\mu\) (left), \(\sigma\) (center) and \(\nu\)(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 
#> 582.809   0.824 586.520