Skip to main content

GPyConform

Python Version PyPI Version Conda Version GitHub (Pre-)Release Date Documentation Status License Downloads

GPyConform extends the GPyTorch library by implementing Conformal Prediction (CP) for Gaussian Process Regression (GPR), providing distribution-free, finite-sample valid Prediction Intervals (PIs) under the sole assumption of data exchangeability.

GPyConform supports both the Transductive (Full) CP and Inductive (Split) CP versions of the framework through a unified interface. In both cases it implements a GPR-specific normalized nonconformity measure [1] that leverages the GP predictive variance to construct adaptive symmetric or asymmetric conformal prediction intervals.

Key Features

  • Provably Valid Prediction Intervals: Distribution-free, finite-sample coverage guarantees under minimal assumptions (data exchangeability).
  • Two CP Framework Versions:
    • Transductive (Full) CP for Exact GPs: ExactGPCP
    • Inductive (Split) CP for any GPyTorch regression model: GPRICPWrapper, plus a model-agnostic InductiveConformalRegressor
  • Symmetric and Asymmetric PIs in both frameworks.
  • Normalized Nonconformity that leverages the GP predictive variance for tighter, adaptive intervals.
  • Unified PI Container + Metrics: PredictionIntervals supports retrieving intervals at multiple confidence levels and evaluating empirical coverage error and interval widths.
  • Torch-native + GPU-friendly: Works directly with torch.Tensors and can leverage GPU acceleration.

Note

  • Transductive CP (ExactGPCP) targets ExactGP models with GaussianLikelihood and relies on an internal patch to GPyTorch’s DefaultPredictionStrategy (applied automatically by default). You can control patching via the GPYCONFORM_AUTOPATCH environment variable, or call gpyconform.apply_patches() manually.
  • Inductive CP does not modify the model internals and can be used with any GPyTorch regression model (including approximate/deep GPs and different likelihoods). InductiveConformalRegressor can also be used with non-GPyTorch regressors that provide predictive means/variances.

Documentation

For detailed documentation and usage examples, see GPyConform Documentation.

Installation

From PyPI

pip install gpyconform

From conda-forge

conda install conda-forge::gpyconform

Citing GPyConform

If you use GPyConform for a scientific publication, you are kindly requested to cite the following paper:

Harris Papadopoulos. "GPyConform: Conformal Prediction with Gaussian Process Regression in Python". In: K. An Nguyen, Z. Luo (eds), The Importance of Being Learnable, Lecture Notes in Computer Science, vol. 16290, pp. 449–466. Springer, 2026. DOI: 10.1007/978-3-032-15120-9_20.

Bibtex entry:

@Inbook{gpyconform,
author="Papadopoulos, Harris",
editor="An Nguyen, Khuong and Luo, Zhiyuan",
title="GPyConform: Conformal Prediction with Gaussian Process Regression in Python",
bookTitle="The Importance of Being Learnable: Essays Dedicated to Alexander Gammerman",
year="2026",
publisher="Springer Nature Switzerland",
address="Cham",
pages="449--466",
isbn="978-3-032-15120-9",
doi="10.1007/978-3-032-15120-9_20",
url="https://doi.org/10.1007/978-3-032-15120-9_20"
}

For the Gaussian Process Regression Conformal Prediction approach and nonconformity measure, please also cite:

Harris Papadopoulos. "Guaranteed Coverage Prediction Intervals with Gaussian Process Regression", IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 46, no. 12, pp. 9072-9083, Dec. 2024. DOI: 10.1109/TPAMI.2024.3418214. (arXiv version)

Bibtex entry:

@ARTICLE{gprcp,
  author={Papadopoulos, Harris},
  journal={IEEE Transactions on Pattern Analysis and Machine Intelligence}, 
  title={Guaranteed Coverage Prediction Intervals with Gaussian Process Regression}, 
  year={2024},
  volume={46},
  number={12},
  pages={9072-9083},
  doi={10.1109/TPAMI.2024.3418214}
}

References

[1] Harris Papadopoulos. "Guaranteed Coverage Prediction Intervals with Gaussian Process Regression", IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 46, no. 12, pp. 9072-9083, Dec. 2024. DOI: 10.1109/TPAMI.2024.3418214. (arXiv version)

[2] Vladimir Vovk, Alexander Gammerman, and Glenn Shafer. Algorithmic Learning in a Random World, 2nd Ed. Springer, 2023. DOI: 10.1007/978-3-031-06649-8.

[3] Harris Papadopoulos. "GPyConform: Conformal Prediction with Gaussian Process Regression in Python". In: K. An Nguyen, Z. Luo (eds), The Importance of Being Learnable, Lecture Notes in Computer Science, vol. 16290, pp. 449–466. Springer, 2026. DOI: 10.1007/978-3-032-15120-9_20.


Author: Harris Papadopoulos (h.papadopoulos@frederick.ac.cy) / Copyright 2024-2026 Harris Papadopoulos / License: BSD 3 clause

Metadata

Release files for gpyconform 0.2.0.post1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for gpyconform 0.2.0.post1
File Size Uploaded
gpyconform-0.2.0.post1.tar.gz 24.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for gpyconform 0.2.0.post1
File Interpreter ABI Platform
gpyconform-0.2.0.post1-py3-none-any.whl Python 3 none any Details

Total release size: 49.0 kB

Release files / gpyconform-0.2.0.post1.tar.gz

Download URL gpyconform-0.2.0.post1.tar.gz
Size 24.1 kB
Tags Source
SHA-256 checksum
How to use checksums
dfd97d2d05aa34fbf3ef7df05dfdb003b3148e8b7dfdef8774de383c961ba366
BLAKE2b-256 checksum
How to use checksums
b0bd8e3d339df93b7256413f4cd306a1f4d80369e9fcec5f1e0b565f5628711a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.14

Release files / gpyconform-0.2.0.post1-py3-none-any.whl

Download URL gpyconform-0.2.0.post1-py3-none-any.whl
Size 24.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
bb16fe749a6002f511f5ab0a2a85c4a61d2cc02d6f7bb95e364851ac3ca2345f
BLAKE2b-256 checksum
How to use checksums
32fef1a172435aff9593d1c946de77bea2c45855fb68b8a59bbe7211dadbf67f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.14

Release history Release notifications | RSS feed

This release

0.2.0.post1 This release

2 release files

0.2.0

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page