Skip to main content

Efficient sensitivity analysis and evaluation of epidemiological models

Project description

EMSA - Epidemic Modeling, Sensitivity Analysis

Build Status License

Introduction

EMSA is a Python package designed to simplify and optimize sensitivity analysis for deterministic compartmental epidemic models. By leveraging CUDA for parallel processing, EMSA allows users to efficiently evaluate how different parameters affect model outcomes, making it a powerful tool for researchers and public health officials. Potential applications include outbreak forecasting, intervention planning, and understanding the impact of varying disease parameters.

Sensitivity analysis is performed using Latin Hypercube Sampling (LHS) for parameter sampling and Partial Rank Correlation Coefficient (PRCC) as a metric for sensitivity. For evaluation of the model we use the package torchode, and we represent the ODE system corresponding to the model with matrix operations, enabling parallel evaluation of the sampled parameter configurations.

If you get stuck at some point, you think the library should have an example on x or you want to suggest some other type of improvement, please open an issue on github.

Installation

You can install EMSA via pip:

pip install emsa

Or clone the development version using git:

git clone https://github.com/KKol21/epimodel-sensitivity

Pipeline Overview

EMSA requires the following inputs:

  • Model Parameters: Key values that define the dynamics of the epidemic model.
  • Model Structure: The compartments and transitions between them.
  • Sampling Configuration: Initial values of the simulation, sampled parameters and their ranges, etc.
  • Age Vector: Age distribution of the population.
  • Contact Matrix: Interaction rates between different population groups.

These inputs are processed through the following steps:

  1. Parameter Sampling: Latin Hypercube Sampling (LHS) generates parameter sets.
  2. Model Evaluation: Each parameter set is evaluated using the specified epidemic model.
  3. Sensitivity Measure: Partial Rank Correlation Coefficient (PRCC) is calculated to assess parameter sensitivity.

Flowchart

Documentation and Examples

Full documentation is available on Read the Docs.

Explore the examples/ directory to see how EMSA can be applied to various epidemic models, or check out the "Introduction to EMSA" Google Collaboratory notebook to get started. For general usage, try the "EMSA template" notebook!

Contributing

We welcome contributions to EMSA! To contribute, please open an issue first to discuss the proposed changes. Afterwards you can fork the repository, and create a merge request in order for your changes to be merged into the package.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

emsa-1.0.3.tar.gz (23.5 kB view details)

Uploaded Source

File details

Details for the file emsa-1.0.3.tar.gz.

File metadata

  • Download URL: emsa-1.0.3.tar.gz
  • Upload date:
  • Size: 23.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for emsa-1.0.3.tar.gz
Algorithm Hash digest
SHA256 481402c9a35ca13e24c3a73591fc74217070748e411bb23a22ec3c697efa1940
MD5 7bf5f37f4caa5d298eaa3e4b6494e8ef
BLAKE2b-256 50397d4c78dcbf4514cc9410d5ab2706b19e7d208523cef65f8c2d8c942e548a

See more details on using hashes here.

Provenance

The following attestation bundles were made for emsa-1.0.3.tar.gz:

Publisher: cicd.yml on KKol21/epimodel_sensitivity

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page