Skip to main content

Simulation of population dynamics

Project description

popdyn

Library for simulation of population dynamics.

Allows to simulate the interaction between specific groups in a population, calculating the amount of members for each group along the time. The transitions between groups are defined using probabilistic rules, and the result is obtained through the solution of the differential equations involved in the process.

Installing

pip3 install popdyn

Using the library

Let's dive in a simple example to see how it works.

First step is define the model, for this example the SIR model.

from popdyn import Model, Transition

# storage in a dict the ID and the initial population for each group
groups = {
    'S': 1000000,
    'I': 10000,
    'R': 5000
}

# intialize the model
sir = Model(list(groups.keys()))

# add transitions between groups
sir['S', 'I'] = Transition(0.0561215, 'S', 'I', N=True)
sir['I', 'R'] = Transition(0.0455331, 'I')

If we print the model, we can see the transitions for each group (N is the total population):

>>> print(sir)
S -> {'I': 0.0561215 * S * I / N^1}
I -> {'R': 0.0455331 * I}
R -> {}

Once ready the model, we can simulate the behavior of the groups in a period of time using one of the available solvers: stochastic or ode.

results = sir.solve(t=100, initial_pop=list(groups.values()), solver='stochastic')

Getting in results a dictionary with a key 'time' and a key for each group with the population at every time point.

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

popdyn-0.4.1.tar.gz (4.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

popdyn-0.4.1-py3-none-any.whl (5.4 kB view details)

Uploaded Python 3

File details

Details for the file popdyn-0.4.1.tar.gz.

File metadata

  • Download URL: popdyn-0.4.1.tar.gz
  • Upload date:
  • Size: 4.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.11.0 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.5

File hashes

Hashes for popdyn-0.4.1.tar.gz
Algorithm Hash digest
SHA256 f1cada3a2d17e31aa727a1f361df50dce7672c971c7d116372a15b58923d76fa
MD5 5b3282935507b7aa7091e7fc163860ab
BLAKE2b-256 059530561f21a95c5976c7a920dd1b51798793721300aaf443b33ebe7b738f77

See more details on using hashes here.

File details

Details for the file popdyn-0.4.1-py3-none-any.whl.

File metadata

  • Download URL: popdyn-0.4.1-py3-none-any.whl
  • Upload date:
  • Size: 5.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.11.0 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.5

File hashes

Hashes for popdyn-0.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 22c5ff48ebdfe46407ec28c5956ef4826c94b2e6ccba42008edbd461ce561cae
MD5 4463965a746f6efbc4b3b2aab94de013
BLAKE2b-256 417188bfd6973a726e9505cd3517ee696eaddd5196bef6308ecab1e77b9de7f7

See more details on using hashes here.

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