Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

Deep and Linked Gaussian Process Emulation using Stochastic Imputation

The package dgpsi implements inference of both deep and linked Gaussian process emulation using stochastic imputation.

Key features

dgpsi currently has the following features:

  • Deep Gaussian process emulation with flexible architecture construction:
    • multiple layers;
    • multiple GP nodes;
    • separable or non-separable squared exponential and Matérn2.5 kernels;
    • global input connections;
    • non-Gaussian likelihoods (Poisson, Negative-Binomial, heteroskedastic Gaussian, and more to come);
  • Linked emulation of feed-forward systems of computer models:
    • linking GP emulators of deterministic individual computer models;
    • linking GP and DGP emulators of deterministic individual computer models;
  • (New Feature) Multi-core predictions from GP, DGP, and Linked (D)GP emulators;
  • More features coming soon.

Please see demo for some illustrative examples of the method. Detailed descriptions on how to use the package can be found in scripts contained in dgpsi.

Installation

The simplest way to install the package is to clone the repo and type the following in the same directory of setup.py:

pip install .

However, to gain the best performance of the package, we recommend the following steps for the installation:

  • Download and install Miniforge3 that is compatible to your system from here.
  • Run the following command in your terminal app to create a virtual environment called dgp_si:
conda create -n dgp_si python=3.9.13 
  • Activate and enter the virtual environment:
conda activate dgp_si
  • Install required packages:

    • for Mac Silicon chip users, you could gain speed-up by switching to Apple's Accelerate framework by running:
    conda install -c conda-forge cython pybind11 matplotlib tqdm jupyter dill pathos psutil numpy pythran scipy scikit-learn scikit-build numba "libblas=*=*accelerate"
    
    • for Intel chip users, you could gain speed-up by switching to MKL by running:
    conda install -c conda-forge cython pybind11 matplotlib tqdm jupyter dill pathos psutil numpy pythran scipy scikit-learn scikit-build numba "libblas=*=*mkl"
    
    • otherwise, simply run:
    conda install -c conda-forge cython pybind11 matplotlib tqdm jupyter dill pathos psutil numpy pythran scipy scikit-learn scikit-build numba
    
  • Install dgpsi package:

cd A-LOCATION-YOU-PREFER
git clone https://github.com/mingdeyu/DGP.git
cd DGP
pip install .

Tips

  • Since SI is a stochastic inference, in case of unsatisfactory results, you may want to try to restart the training multiple times even with initial values of hyperparameters unchanged;
  • The recommended DGP structure is a two-layered one with the number of GP nodes in the first layer equal to the number of input dimensions (i.e., number of input columns) and the number of GP nodes in the second layer equal to the number of output dimensions (i.e., number of output columns) or the number of parameters in the specified likelihood.

Contact

Please feel free to email me with any questions and feedbacks:

Deyu Ming <deyu.ming.16@ucl.ac.uk>.

References

Ming, D., Williamson, D., and Guillas, S. (2021) Deep Gaussian process emulation using stochastic imputation.

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.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dgpsi-2.1b0.tar.gz (29.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dgpsi-2.1b0-py3-none-any.whl (32.1 kB view details)

Uploaded Python 3

File details

Details for the file dgpsi-2.1b0.tar.gz.

File metadata

  • Download URL: dgpsi-2.1b0.tar.gz
  • Upload date:
  • Size: 29.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.13

File hashes

Hashes for dgpsi-2.1b0.tar.gz
Algorithm Hash digest
SHA256 d7bc4814a64c4e64c2df320173a8ec0d66dee9ea1ec9156c219d505ec95411aa
MD5 df414ecb8b67526e86a4bb28b9c03d4a
BLAKE2b-256 204a61b9fcd4baa362def928e2d8a653ec40dbd8e9dc894266655102dc7a12bb

See more details on using hashes here.

File details

Details for the file dgpsi-2.1b0-py3-none-any.whl.

File metadata

  • Download URL: dgpsi-2.1b0-py3-none-any.whl
  • Upload date:
  • Size: 32.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.13

File hashes

Hashes for dgpsi-2.1b0-py3-none-any.whl
Algorithm Hash digest
SHA256 ab64dffe99c1d70c1bfa70343066d4d32ced3de9d89a4530cb57a74739a657fd
MD5 03a5b836312a4662ac6bae8b38c456c1
BLAKE2b-256 c16fbbd5e71756b1172c3717e319fb6be4f29d40f7111cfb308888fdbbdce63b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page