Learn R Programming

⚠️There's a newer version (2.5.0) of this package.Take me there.

dgpsi

The R package dgpsi provides R interface to Python package dgpsi for deep and linked Gaussian process emulations using stochastic imputation (SI).

Hassle-free Python Setup
You don't need prior knowledge of Python to start using the package, all you need is a single click in R (see Installation section below) that automatically installs and activates the required Python environment for you!

Features

dgpsi currently has following features:

  • Gaussian process emulations with separable or non-separable squared exponential and Matérn-2.5 kernels.
  • Deep Gaussian process emulations with flexible structures including:
    • multiple layers;
    • multiple GP nodes;
    • separable or non-separable squared exponential and Matérn-2.5 kernels;
    • global input connections;
    • non-Gaussian likelihoods (Poisson, Negative-Binomial, and heteroskedastic Gaussian).
  • Linked emulations of feed-forward systems of computer models by linking (D)GP emulators of deterministic individual computer models.
  • Fast Leave-One-Out (LOO) and Out-Of-Sample (OOS) validations for GP, DGP, and linked (D)GP emulators.
  • Multi-core predictions and validations for GP, DGP, and Linked (D)GP emulators.
  • Sequential designs for (D)GP emulators and bundles of (D)GP emulators.
  • Automatic pruning of DGP emulators, both statically and dynamically.

Getting started

Installation

You can install the package from CRAN:

install.packages('dgpsi')

or its development version from GitHub:

devtools::install_github('mingdeyu/dgpsi-R')

After the installation, run

library(dgpsi)

to load the package. To install or activate the required Python environment automatically, simply run a function from the package. That's it, the package is now ready to use!

Note
After loading dgpsi, the package may take some time to compile and initiate the underlying Python environment the first time a function from dgpsi is executed. Any subsequent function calls won't require re-compiling or re-activation of the Python environment, and will be faster.

If you experience Python related issues while using the package, please try to reinstall the Python environment:

dgpsi::init_py(reinstall = T)

Or uninstall completely the Python environment:

dgpsi::init_py(uninstall = T)

and then reinstall:

dgpsi::init_py()

Research Notice

This package is part of an ongoing research initiative. For detailed information about the research aspects and guidelines for use, please refer to our Research Notice.

References

Ming, D. and Williamson, D. (2023) Linked deep Gaussian process emulation for model networks. arXiv:2306.01212

Ming, D., Williamson, D., and Guillas, S. (2023) Deep Gaussian process emulation using stochastic imputation. Technometrics. 65(2), 150-161.

Ming, D. and Guillas, S. (2021) Linked Gaussian process emulation for systems of computer models using Matérn kernels and adaptive design, SIAM/ASA Journal on Uncertainty Quantification. 9(4), 1615-1642.

Copy Link

Version

Install

install.packages('dgpsi')

Monthly Downloads

230

Version

2.4.0

License

MIT + file LICENSE

Issues

Pull Requests

Stars

Forks

Maintainer

Deyu Ming

Last Published

January 14th, 2024

Functions in dgpsi (2.4.0)

alm

Locate the next design point for a (D)GP emulator or a bundle of (D)GP emulators using ALM
NegBin

Initialize a negative Binomial likelihood node
pei

Locate the next design point for a (D)GP emulator or a bundle of (D)GP emulators using PEI
plot

Validation plots of a constructed GP, DGP, or linked (D)GP emulator
kernel

Initialize a Gaussian process node
predict

Predictions from GP, DGP, or linked (D)GP emulators
pack

Pack GP and DGP emulators into a bundle
prune

Static pruning of a DGP emulator
init_py

'python' environment initialization
nllik

Calculate negative predicted log-likelihood
lgp

Linked (D)GP emulator construction
set_linked_idx

Set linked indices
set_seed

Random seed generator
trace_plot

Plot of DGP model parameter traces
summary

Summary of a constructed GP, DGP, or linked (D)GP emulator
unpack

Unpack a bundle of (D)GP emulators
mice

Locate the next design point for a (D)GP emulator or a bundle of (D)GP emulators using MICE
vigf

Locate the next design point for a (D)GP emulator or a bundle of (D)GP emulators using VIGF
write

Save the constructed emulator
update

Update a GP or DGP emulator
read

Load the stored emulator
set_imp

Reset number of imputations for a DGP emulator
validate

Validate a constructed GP, DGP, or linked (D)GP emulator
window

Trim the sequences of model parameters of a DGP emulator
continue

Continue the training of a DGP emulator
Poisson

Initialize a Poisson likelihood node
combine

Combine layers
gp

Gaussian process emulator construction
design

Sequential design of a (D)GP emulator or a bundle of (D)GP emulators
dgp

Deep Gaussian process emulator construction
Hetero

Initialize a heteroskedastic Gaussian likelihood node
draw

Validation plots of a sequential design