Deep and Linked Gaussian Process Emulations using Stochastic Imputation
Project description
dgpsi
For R users
The R interface to the package is available at dgpsi-R.
A Python package for deep and linked Gaussian process emulations using stochastic imputation (SI)
dgpsi currently implements:
- Gaussian process emulations with separable or non-separable squared exponential and Matérn-2.5 kernels.
- 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 categorical);
- 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;
- Multi-core predictions from GP, DGP, and Linked (D)GP emulators;
- Fast Leave-One-Out (LOO) cross validations for GP and DGP emulators.
- Calculations of ALM, MICE, and VIGF sequential design criterions.
Large-scale GP, DGP, and Linked (D)GP emulations.
Scalable DGP classification using Stochastic Imputation.
Installation
Release version
The current stable release of dgpsi supports Python versions 3.9, 3.10, 3.11, and 3.12. The stable release can be installed via pip:
pip install dgpsi
or conda:
conda install -c conda-forge dgpsi
However, to achieve the best computational performance of the package (e.g., on Apple Silicon), we recommend the following steps for the installation:
-
Download and install
Miniforge3that 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 Conda environment:
conda activate dgp_si
-
Install
dgpsi:-
for Apple Silicon users, you could gain speed-up by switching to Apple's Accelerate framework:
# for macOS <= 13.2 conda install dgpsi "libblas=*=*accelerate" # for macOS >= 13.3 conda install dgpsi "libblas=*=*newaccelerate"
-
for Intel users, you could gain speed-up by switching to MKL:
conda install dgpsi "libblas=*=*mkl"
-
otherwise, simply run:
conda install dgpsi
-
Development version
If you want to try the newest features and fixes before the next release, you can install the development build using the provided Conda environment YAMLs, which select the optimal BLAS and dependencies for your platform.
-
Clone the repository:
git clone https://github.com/mingdeyu/DGP.git cd DGP
-
Pick the right environment file for your platform:
Hardware / Platform BLAS backend YAML file Apple Silicon (macOS <= 13.2) Accelerate env-arm64-accelerate.yamlApple Silicon (macOS >= 13.3) New Accelerate env-arm64-newaccelerate.yamlIntel CPU (macOS/Linux/Windows) MKL env-intel-mkl.yamlOther (Linux/Windows) OpenBLAS env-other-openblas.yaml -
Create and activate the Conda environment:
# replace the yaml filename with the one for your platform conda env create -f env-arm64-accelerate.yaml conda activate dgp_si_dev
Tip: You can override the Conda environment name by appending
-n <myenv>to the create command. -
Install the dev version from your local clone:
pip install --no-deps --no-build-isolation .
Demo and documentation
Please see demo for some illustrative examples of the method. The API reference of the package can be accessed from https://dgpsi.readthedocs.io.
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>.
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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file dgpsi-2.6.0.tar.gz.
File metadata
- Download URL: dgpsi-2.6.0.tar.gz
- Upload date:
- Size: 66.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.23
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
30d373974153aff7db8e554043b97d4a24f2947f11abb4f1a10e074ad2a48b48
|
|
| MD5 |
5f15bf9c5979e5ce6d086abfa34b5563
|
|
| BLAKE2b-256 |
8d223c4a97fbc7141923a9a657b0c2ea9d7e39168d6a9691c137a2b6900b82ce
|
File details
Details for the file dgpsi-2.6.0-py3-none-any.whl.
File metadata
- Download URL: dgpsi-2.6.0-py3-none-any.whl
- Upload date:
- Size: 68.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.23
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
24bea55427d5001744fc9534eb1f932adba50a970d4850d7bd07d45a59ceafd9
|
|
| MD5 |
76f89b6d6bfddabc9ac2f493706c2b63
|
|
| BLAKE2b-256 |
716fce062660372bd5903a70ad3cf61bc97dce3835c33fa5fc8db33da9af312a
|