Full model: merge 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", "47-mcmc-merge-samples.R"))

path_modelled_data <- file.path(path_modelled, "pre-10-full-re.rds")
path_modelled_continue <- gsub("(\\.rds)$", "-continue\\1", path_modelled_data)
path_modelled_merged <- gsub("(\\.rds)$", "-merged\\1", path_modelled_data)

model <- readRDS(path_modelled_data)
model_continue <- readRDS(path_modelled_continue)

Merge samples

model$samples <- merge_samples(model$samples, model_continue$samples)
system.time(saveRDS(model, file = path_modelled_merged))
#>    user  system elapsed 
#>   6.342   0.016   6.344

Maximum auto-correlation function (ACF)

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

Figure 1: Maximum ACF of samples for \(\pi\)

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 
#> 443.017   0.700 443.938