Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Python package 'dgpsi' for deep and linked Gaussian process emulations

License

NotificationsYou must be signed in to change notification settings

mingdeyu/DGP

Repository files navigation

GitHub release (latest by date including pre-releases)CondaPyPI DownloadsRead the Docs (version)GitHub R package versionConda

For R users

TheR interface to the package is available atdgpsi-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 ofdgpsi supports Python versions 3.9 (PyPI only), 3.10, 3.11, and 3.12. The stable release can be installed viapip:

pip install dgpsi

orconda:

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 installMiniforge3 that is compatible to your system fromhere.

  • Run the following command in your terminal app to create a virtual environment calleddgp_si:

    conda create -n dgp_si python=3.10
  • Activate and enter the Conda environment:

    conda activate dgp_si
  • Installdgpsi:

    • for Apple Silicon users, you could gain speed-up by switching to Apple's Accelerate framework:

      # for macOS <= 13.2conda install -c conda-forge dgpsi"libblas=*=*accelerate"# for macOS >= 13.3conda install -c conda-forge dgpsi"libblas=*=*newaccelerate"
    • for Intel users, you could gain speed-up by switching to MKL:

      conda install -c conda-forge dgpsi"libblas=*=*mkl""mkl>=2022"
    • otherwise, simply run:

      conda install -c conda-forge 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.gitcd DGP
  • Pick the right environment file for your platform:

    Hardware / PlatformBLAS backendYAML file
    Apple Silicon (macOS <= 13.2)Accelerateenv-macos-arm64-accelerate.yaml
    Apple Silicon (macOS >= 13.3)New Accelerateenv-macos-arm64-newaccelerate.yaml
    Intel CPU (macOS x86_64)MKLenv-macos-intel-mkl.yaml
    Intel CPU (Linux/Windows x86_64)MKLenv-intel-mkl.yaml
    Other (Linux/Windows)OpenBLASenv-other-openblas.yaml
  • Create and activate the Conda environment:

    # replace the yaml filename with the one for your platformconda env create -f env-macos-arm64-accelerate.yamlconda 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 seedemo for some illustrative examples of the method. The API referenceof the package can be accessed fromhttps://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 ourResearch 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.


[8]ページ先頭

©2009-2025 Movatter.jp