SkillAgentSearch skills...

UQPyL

UQPyL is a python package for uncertainty quantification and parameter optimization. 参数不确定性分析及优化工具包。

Install / Use

/learn @smasky/UQPyL
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

UQPyL: Uncertainty Quantification Python Lab

<p align="center"><img src="./docs/UQ.svg" width="400"/></p>

PyPI version CI codecov PyPI - Downloads PyPI - License GitHub last commit Static Badge Static Badge

UQPyL is a Python package for Uncertainty Quantification and Optimization of computational models and their associated problems (e.g., model calibration, resource scheduling, product design). It includes a wide range of methods and algorithms for Design of Experiments, Sensitivity Analysis, Bayesian Inference, Optimization (Single- and Multi-objective). Additionally, Surrogate Models are built-in for solving computationally expensive problems.

👉中文简介

👉中文文档

👉Documentation

Changelog

  • 2026.03.08: Added a generic interface for connecting hydrological models to UQPyL, enabling seamless integration of various external simulation engines into the UQPyL workflow.

  • 2025.12.14: Added the inference module. And results are now saved in NetCDF format, replacing the previous HDF output.

Contents

✨ Main Features

  1. Comprehensive Sensitivity Analysis and Optimization: Implements widely used sensitivity analysis methods and optimization algorithms.
  2. Running Display and Result Save: Enable users to track and save the history and results of their running.
  3. Advanced Surrogate Modeling: Integrate various surrogate models and an auto-tunning tool to enhance these model performances.
  4. Rich Application Resources: Provides a suite of benchmark problems and practical case studies, enabling users to get started quickly. (👉Recent Planing: For water science research, we plan to customize the interface to integrate water-related models with UQPyL, enhancing usability and functionality, like SWAT-UQ. So, if you have interest, please contact us to collaborate.).
  5. Modular and Extensible Architecture: Encourages and facilitates the development of novel methods or algorithms by users, aligning with our commitment to openness and collaboration. (We appreciate and welcome contributions)

⚙️ Installation

Static Badge Static Badge

Recommended (PyPi or Conda):

pip install -U UQPyL
conda install UQPyL --upgrade

Alternatively:

git clone https://github.com/smasky/UQPyL.git 
cd UQPyL
pip install .

🔗 Useful Links


🎉 Overview of Methods, Algorithms and Problems

Sensitivity Analysis

| Abbreviation | Full Name | References | | -------|------------|----------| | Sobol' | \ |Sobol(2010), Saltelli (2002)| | DT| Delta Test| Eirola et al. (2008)| | FAST | Fourier Amplitude Sensitivity Test | Cukier et al. (1973), Saltelli et al. (1999)| | RBD-FAST| Random Balance Designs Fourier Amplitude Sensitivity Test | Tarantola et al. (2006), Tissot, Prieur (2012) |MARS-SA| Multivariate Adaptive Regression Splines for Sensibility Analysis |Friedman, (1991)| |Morris| \ |Morris, (2012)| |RSA| Regional Sensitivity Analysis | Hornberger, Spear, (1981), Pianosi (2016) |

💡 Noted: All methods now support for integrating surrogate models. (Please check this tutorial)

🚀 Credits: Special thanks to the SALib project for inspiring parts of the implementation.

Optimization Algorithms

| Abbreviation | Full Name | Optimization Label | References | |--------------|-----------| ----------|---------------| | SCE-UA | Shuffled Complex Evolution| Single | Duan et al. (1992)| | ML-SCE-UA| M&L Shuffled Complex Evolution| Single | Muttil, Liong (2006) | | GA | Genetic Algorithm| Single | Holland (1992)| | CSA | Cooperation Search Algorithm | Single | Feng et al. (2021) | | PSO | Particle Swarm Optimization | Single | Kennedy and Eberhart (1995) | | DE | Differential Evolution | Single | Storn and Price (1997) | | ABC |Artificial Bee Colony | Single | Karaboga (2005) | | ASMO | Adaptive Surrogate Modelling based Optimization | Single, Surrogate | Wang et al.(2014) | | EGO | Efficient Global Optimization | Single, Surrogate | Jones (1998) | | MOEA/D | Multi-objective Evolutionary Algorithm based on Decomposition | Multiple | Zhang, Li (2007)| | NSGA-II| Nondominated Sorting Genetic Algorithm II | Multiple | Deb et al. (2002)| | NSGA-III| Nondominated Sorting Genetic Algorithm III| Multiple | Deb, Jain (2014)| | RVEA | Reference Vector guided Evolutionary Algorithm | Multiple | Cheng et al. (2016)| |MO-ASMO|Multi-Objective Adaptive Surrogate Modelling-based Optimization| Multiple, Surrogate | Gong et al. (2015)|

(The label Surrogate indicates solving computationally expensive optimization problem)

💡 Noted: This modular is still being updated. If you need other algorithms, please contact us.

Surrogate Models

| Abbreviation | Full Name | Features | |--------------|-----------|----------| | KRG | Kriging | Support guass, cubic, exp kernel functions | | GP | Gaussian Process | Support const, rbf, dot, matern, rq kernel functions | | LR | Linear Regression | Support origin, ridge, lasso loss functions| | PR | Polynomial Regression | Support origin, ridge, lasso loss functions| | RBF | Radial Basis Function |Support cubic, guass, linear, mq, tps kernel functions and their corresponding hyper-parameters| | SVM | Support Vector Machine | Use libsvm as the core library | | MARS | Multivariate Adaptive Regression Splines | Use Earth package as the core library |

❤️ Here, we provide the Auto-tuning tool to optimally build surrogate models, so you don't need to worry about hyper-parameters.

Single-objective Problems

| Name | Formula | Optimal Solution | Optima | |------|---------|------------------|--------| |Sphere| <img src="./docs/pic/Sphere.svg" /> | ( 0, 0, 0 ... 0 ) | 0.0 | |Schwefel_2_22| <img src="./docs/pic/Schwefel_2_22.svg" /> | ( 0, 0, 0 ... 0 ) | 0.0 | |Schwefel_1_22| <img src="./docs/pic/Schwefel_1_22.svg" /> | ( 0, 0, 0 ... 0 ) | 0.0 | |Schwefel_2_21| <img src="./docs/pic/Schwefel_2_21.svg" /> | ( 0, 0, 0 ... 0 ) | 0.0 | |Schwefel_2_26 | <img src="./docs/pic/Schwefel_2_26.svg" /

Related Skills

View on GitHub
GitHub Stars17
CategoryDevelopment
Updated18d ago
Forks4

Languages

Python

Security Score

95/100

Audited on Mar 8, 2026

No findings