# dgpsi
[![GitHub release (latest by date including pre-releases)](https://img.shields.io/github/v/release/mingdeyu/DGP?display_name=release&include_prereleases&style=flat-square)](https://github.com/mingdeyu/DGP/releases)
[![Conda](https://img.shields.io/conda/dn/conda-forge/dgpsi?label=Conda%20Downloads&style=flat-square)](https://anaconda.org/conda-forge/dgpsi)
![Conda](https://img.shields.io/conda/pn/conda-forge/dgpsi?color=orange&style=flat-square)
[![Read the Docs (version)](https://img.shields.io/readthedocs/dgpsi/latest?style=flat-square)](https://dgpsi.readthedocs.io)
[![GitHub R package version](https://img.shields.io/github/r-package/v/mingdeyu/dgpsi-R)](https://github.com/mingdeyu/dgpsi-R)
## For R users
The `R` interface to the package is available at [`dgpsi-R`](https://github.com/mingdeyu/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.
* ![Feature Badge](https://img.shields.io/badge/Feature-New-orange) [Large-scale GP, DGP, and Linked (D)GP emulations.](https://github.com/mingdeyu/DGP/blob/master/demo/vecchia_SI.ipynb)
* ![Feature Badge](https://img.shields.io/badge/Feature-New-orange) [Scalable DGP classification using Stochastic Imputation.](https://github.com/mingdeyu/DGP/blob/master/demo/DGP_classification.ipynb)
## Installation
`dgpsi` currently requires Python version 3.7, 3.8, 3.9, or 3.10. The package can be installed via `pip`:
```bash
pip install dgpsi
```
or `conda`:
```bash
conda install -c conda-forge dgpsi
```
However, to gain the best performance of the package or you are using an Apple Silicon computer, we recommend the following steps for the installation:
* Download and install `Miniforge3` that is compatible to your system from [here](https://github.com/conda-forge/miniforge).
* Run the following command in your terminal app to create a virtual environment called `dgp_si`:
```bash
conda create -n dgp_si python=3.9.13
```
* Activate and enter the virtual environment:
```bash
conda activate dgp_si
```
* Install `dgpsi`:
- for Apple Silicon users, you could gain speed-up by switching to Apple's Accelerate framework:
```bash
conda install dgpsi "libblas=*=*accelerate"
```
- for Intel users, you could gain speed-up by switching to MKL:
```bash
conda install dgpsi "libblas=*=*mkl"
```
- otherwise, simply run:
```bash
conda install dgpsi
```
## Demo and documentation
Please see [demo](https://github.com/mingdeyu/DGP/tree/master/demo) for some illustrative examples of the method. The API reference
of the package can be accessed from [https://dgpsi.readthedocs.io](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](mailto: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](./RESEARCH-NOTICE.md).
## References
> [Ming, D. and Williamson, D. (2023) Linked deep Gaussian process emulation for model networks. arXiv:2306.01212.](https://arxiv.org/abs/2306.01212)
> [Ming, D., Williamson, D., and Guillas, S. (2023) Deep Gaussian process emulation using stochastic imputation. <i>Technometrics</i>. 65(2), 150-161.](https://doi.org/10.1080/00401706.2022.2124311)
> [Ming, D. and Guillas, S. (2021) Linked Gaussian process emulation for systems of computer models using Matérn kernels and adaptive design, <i>SIAM/ASA Journal on Uncertainty Quantification</i>. 9(4), 1615-1642.](https://epubs.siam.org/doi/abs/10.1137/20M1323771)
Raw data
{
"_id": null,
"home_page": "https://github.com/mingdeyu/DGP",
"name": "dgpsi",
"maintainer": null,
"docs_url": null,
"requires_python": "<4,>=3.7",
"maintainer_email": null,
"keywords": "surrogate modelling, deep learning, stochastic EM, elliptical slice sampling",
"author": "Deyu Ming",
"author_email": "deyu.ming.16@ucl.ac.uk",
"download_url": "https://files.pythonhosted.org/packages/14/85/5c85a47fc5a936517c378a2668e9dd77081a914c3b757ec40be576a8c719/dgpsi-2.5.0.tar.gz",
"platform": null,
"description": "# dgpsi\n[![GitHub release (latest by date including pre-releases)](https://img.shields.io/github/v/release/mingdeyu/DGP?display_name=release&include_prereleases&style=flat-square)](https://github.com/mingdeyu/DGP/releases)\n[![Conda](https://img.shields.io/conda/dn/conda-forge/dgpsi?label=Conda%20Downloads&style=flat-square)](https://anaconda.org/conda-forge/dgpsi)\n![Conda](https://img.shields.io/conda/pn/conda-forge/dgpsi?color=orange&style=flat-square)\n[![Read the Docs (version)](https://img.shields.io/readthedocs/dgpsi/latest?style=flat-square)](https://dgpsi.readthedocs.io)\n[![GitHub R package version](https://img.shields.io/github/r-package/v/mingdeyu/dgpsi-R)](https://github.com/mingdeyu/dgpsi-R)\n\n## For R users\nThe `R` interface to the package is available at [`dgpsi-R`](https://github.com/mingdeyu/dgpsi-R).\n\n## A Python package for deep and linked Gaussian process emulations using stochastic imputation (SI)\n`dgpsi` currently implements:\n\n* Gaussian process emulations with separable or non-separable squared exponential and Matérn-2.5 kernels.\n* Deep Gaussian process emulation with flexible architecture construction: \n - multiple layers;\n - multiple GP nodes;\n - separable or non-separable squared exponential and Matérn2.5 kernels;\n - global input connections;\n - non-Gaussian likelihoods (Poisson, Negative-Binomial, heteroskedastic Gaussian, and categorical);\n* Linked emulation of feed-forward systems of computer models:\n - linking GP emulators of deterministic individual computer models;\n - linking GP and DGP emulators of deterministic individual computer models;\n* Multi-core predictions from GP, DGP, and Linked (D)GP emulators;\n* Fast Leave-One-Out (LOO) cross validations for GP and DGP emulators.\n* Calculations of ALM, MICE, and VIGF sequential design criterions.\n* ![Feature Badge](https://img.shields.io/badge/Feature-New-orange) [Large-scale GP, DGP, and Linked (D)GP emulations.](https://github.com/mingdeyu/DGP/blob/master/demo/vecchia_SI.ipynb)\n* ![Feature Badge](https://img.shields.io/badge/Feature-New-orange) [Scalable DGP classification using Stochastic Imputation.](https://github.com/mingdeyu/DGP/blob/master/demo/DGP_classification.ipynb)\n\n## Installation\n`dgpsi` currently requires Python version 3.7, 3.8, 3.9, or 3.10. The package can be installed via `pip`:\n\n```bash\npip install dgpsi\n```\n\nor `conda`:\n\n```bash\nconda install -c conda-forge dgpsi\n```\n\nHowever, to gain the best performance of the package or you are using an Apple Silicon computer, we recommend the following steps for the installation:\n* Download and install `Miniforge3` that is compatible to your system from [here](https://github.com/conda-forge/miniforge).\n* Run the following command in your terminal app to create a virtual environment called `dgp_si`:\n\n```bash\nconda create -n dgp_si python=3.9.13 \n```\n\n* Activate and enter the virtual environment:\n\n```bash\nconda activate dgp_si\n```\n\n* Install `dgpsi`:\n - for Apple Silicon users, you could gain speed-up by switching to Apple's Accelerate framework:\n\n ```bash\n conda install dgpsi \"libblas=*=*accelerate\"\n ```\n\n - for Intel users, you could gain speed-up by switching to MKL:\n\n ```bash\n conda install dgpsi \"libblas=*=*mkl\"\n ```\n\n - otherwise, simply run:\n ```bash\n conda install dgpsi\n ```\n\n## Demo and documentation\nPlease see [demo](https://github.com/mingdeyu/DGP/tree/master/demo) for some illustrative examples of the method. The API reference \nof the package can be accessed from [https://dgpsi.readthedocs.io](https://dgpsi.readthedocs.io).\n\n## Tips\n* 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;\n* 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.\n\n## Contact\nPlease feel free to email me with any questions and feedbacks: \n\nDeyu Ming <[deyu.ming.16@ucl.ac.uk](mailto:deyu.ming.16@ucl.ac.uk)>.\n\n## Research Notice\nThis 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](./RESEARCH-NOTICE.md).\n\n## References\n> [Ming, D. and Williamson, D. (2023) Linked deep Gaussian process emulation for model networks. arXiv:2306.01212.](https://arxiv.org/abs/2306.01212)\n\n> [Ming, D., Williamson, D., and Guillas, S. (2023) Deep Gaussian process emulation using stochastic imputation. <i>Technometrics</i>. 65(2), 150-161.](https://doi.org/10.1080/00401706.2022.2124311)\n\n> [Ming, D. and Guillas, S. (2021) Linked Gaussian process emulation for systems of computer models using Matérn kernels and adaptive design, <i>SIAM/ASA Journal on Uncertainty Quantification</i>. 9(4), 1615-1642.](https://epubs.siam.org/doi/abs/10.1137/20M1323771)\n\n\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Deep and Linked Gaussian Process Emulations using Stochastic Imputation",
"version": "2.5.0",
"project_urls": {
"Homepage": "https://github.com/mingdeyu/DGP"
},
"split_keywords": [
"surrogate modelling",
" deep learning",
" stochastic em",
" elliptical slice sampling"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "5c98aa042c472686730e188073aea549f9d5512af9c892c302f3b0a0e6e25ba9",
"md5": "96c865ed55eb8604794ca0e178cf5859",
"sha256": "2f1f551f92123b25be430b68d1bd88858b12114cd98aa20cda4d00dbf8ec7829"
},
"downloads": -1,
"filename": "dgpsi-2.5.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "96c865ed55eb8604794ca0e178cf5859",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4,>=3.7",
"size": 62700,
"upload_time": "2024-12-14T12:35:25",
"upload_time_iso_8601": "2024-12-14T12:35:25.058877Z",
"url": "https://files.pythonhosted.org/packages/5c/98/aa042c472686730e188073aea549f9d5512af9c892c302f3b0a0e6e25ba9/dgpsi-2.5.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "14855c85a47fc5a936517c378a2668e9dd77081a914c3b757ec40be576a8c719",
"md5": "07122b41f60c1a00026a512ef0ba45bf",
"sha256": "ff242d5a273739294e5dc6380b3733b2f5e8bfa58a726cc2a0c4bf385f8909e1"
},
"downloads": -1,
"filename": "dgpsi-2.5.0.tar.gz",
"has_sig": false,
"md5_digest": "07122b41f60c1a00026a512ef0ba45bf",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4,>=3.7",
"size": 60083,
"upload_time": "2024-12-14T12:35:28",
"upload_time_iso_8601": "2024-12-14T12:35:28.756002Z",
"url": "https://files.pythonhosted.org/packages/14/85/5c85a47fc5a936517c378a2668e9dd77081a914c3b757ec40be576a8c719/dgpsi-2.5.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-12-14 12:35:28",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "mingdeyu",
"github_project": "DGP",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "dgpsi"
}