trim_deepICMGP: Remove burn-in and thin stored MCMC samples

View source: R/trim.R

trim_deepICMGPR Documentation

Remove burn-in and thin stored MCMC samples

Description

Retain selected samples from a fitted deepICMGP object before prediction or active learning.

Usage

trim_deepICMGP(object, burn, thin = 1)

Arguments

object

An object of class deepICMGP returned by fit_deepICMGP or trim_deepICMGP.

burn

Nonnegative integer smaller than object$nmcmc.

thin

Positive integer thinning interval. Retains original sample indices divisible by thin. When thin = 1, it retains every sample after burn-in.

Details

The number of stored samples nt must be greater than burn. After discarding burn-in, keep samples at the thinning interval. When both nt and burn are multiples of thin, the retained count is (nt - burn) / thin. For example, 1000 samples with burn = 500 and thin = 2 leave 250 samples. The actual retained count is stored in nmcmc.

Retain at least two samples for prediction, which estimates variance across samples. Invalid burn-in/thinning values and choices that retain no samples are rejected.

Value

An object of class deepICMGP with g, theta_y, theta_w, B_y, B_w, w, and ll subset to the retained samples, and nmcmc updated accordingly. Elapsed trimming time is added to time. Training data and settings are unchanged.

References

Chang, C.-Y. and Sung, C.-L. (2026). Deep Intrinsic Coregionalization Multi-Output Gaussian Process Surrogate with Active Learning. International Journal for Uncertainty Quantification, 16(4), 29–52. \Sexpr[results=rd]{tools:::Rd_expr_doi("10.1615/Int.J.UncertaintyQuantification.2026062570")}.

Sauer, A., Gramacy, R. B., and Higdon, D. (2023). Active Learning for Deep Gaussian Process Surrogates. Technometrics, 65(1), 4–18. \Sexpr[results=rd]{tools:::Rd_expr_doi("10.1080/00401706.2021.2008505")}.

See Also

fit_deepICMGP, pred_deepICMGP

Examples

library(lhs)

# Forrester Function: 1d input with 2 outputs
f1 <- function(x) {
  (6 * x - 2)^2 * sin(12 * x - 4)
}
f2 <- function(x) {
  0.5 * f1(x) + 10 * (x - 0.5) + 5
}
response <- function(x) cbind(f1(x), f2(x))
set.seed(2025)
X <- maximinLHS(9, 1)
Y <- response(X)

# Fit a deepICMGP model with 2000 MCMC samples and set nugget to 1e-8 
# for deterministic case.
fit <- fit_deepICMGP(X, Y, nmcmc = 2000, true_g = 1e-8)

# Trim a fitted deepICMGP model by removing first 1500 MCMC samples and
# retaining every second sample.
trim <- trim_deepICMGP(fit, burn = 1500, thin = 2)

# Check the number of retained MCMC samples.
trim$nmcmc

deepICMGP documentation built on Nov. 3, 2026, 5:08 p.m.