Skip to main content

A Statistical Parameter Optimization Tool

Project description

Purpose

SPOTPY is a Python tool that enables the use of calibration, uncertainty and sensitivity analysis techniques for almost every (environmental-) model.

The simplicity and flexibility enables the use and test of different algorithms without the need of complex codes:

sampler = spotpy.algorithms.sceua(model_setup())     # Initialize your model with a setup file
sampler.sample(10000)                                # Run the model
results = sampler.getdata()                          # Load the results
spotpy.analyser.plot_parametertrace(results)         # Show the results

Features

Complex algorithms bring complex tasks to link them with a model. We want to make this task as easy as possible. Some features you can use with the SPOTPY package are:

  • Fitting models to evaluation data with different algorithms. Available algorithms are:

    • Monte Carlo (MC)

    • Markov-Chain Monte-Carlo (MCMC)

    • Maximum Likelihood Estimation (MLE)

    • Latin-Hypercube Sampling (LHS)

    • Simulated Annealing (SA)

    • Shuffled Complex Evolution Algorithm (SCE-UA)

    • Differential Evolution Adaptive Metropolis Algorithm (DE-MCz)

    • RObust Parameter Estimation (ROPE).

    • Fourier Amplitude Sensitivity Test (FAST)

  • Wide range of likelihood functions to validate the sampled results. Available Lieklihoods are

    • Bias

    • Nash-Sutcliff (NSE)

    • logarithmic Nash-Sutcliff (logNSE)

    • logarithmic probability (logp)

    • Correlation Coefficient (r)

    • Coefficient of Determination (r^2)

    • Mean Squared Error (MSE)

    • Root Mean Squared Error (RMSE)

    • Mean Absolute Error (MAE)

    • Relative Root Mean Squared Error (RRMSE)

    • Agreement Index (AI)

    • Covariance, Decomposed MSE (dMSE).

  • Prebuild parameter distribution functions:

    • Uniform

    • Normal

    • logNormal

    • Chisquare

    • Exponential

    • Gamma

    • Wald

    • Weilbull

  • Wide range to adapt algorithms to perform uncertainty-, sensitivity analysis or calibration of a model.

  • Multi-objective support

  • MPI support for fast parallel computing

  • A progress bar monitoring the sampling loops. Enables you to plan your coffee brakes.

  • Use of NumPy functions as often as possible. This makes your coffee brakes short.

  • Different databases solutions: ram storage for fast sampling a simple , csv tables the save solution for long duration samplings.

  • Automatic best run selecting and plotting

  • Parameter trace plotting

  • Parameter interaction plot including the Gaussian-kde function

  • Regression analysis between simulation and evaluation data

  • Posterior distribution plot

  • Convergence diagnostics with Gelman-Rubin and the Geweke plot

Install

Installing SPOTPY is easy. Just use:

pip install spotpy

Or, after downloading the source code:

Linux:

sudo python setup.py install

Windows (after making sure python is in your path):

python setup.py install

Support

  • Feel free to contact the authors of this tool for any support questions.

  • Please contact the authors in case of any bug.

  • If you use this package for a scientific research paper, please cite SPOTPY.

  • Patches/enhancements and any other contributions to this package are very welcome!

Project details


Release history Release notifications | RSS feed

Download files

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

Source Distribution

spotpy-1.0.13.zip (71.9 kB view details)

Uploaded Source

Built Distributions

spotpy-1.0.13.win32.exe (271.4 kB view details)

Uploaded Source

spotpy-1.0.13-py2-none-any.whl (76.4 kB view details)

Uploaded Python 2

File details

Details for the file spotpy-1.0.13.zip.

File metadata

  • Download URL: spotpy-1.0.13.zip
  • Upload date:
  • Size: 71.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for spotpy-1.0.13.zip
Algorithm Hash digest
SHA256 427f5fe6598f53e28e16bd935439ad46bd890ea6e071927c9e9c01fc4e884ee3
MD5 3b47f3e6bbe5951969553c58eb697d99
BLAKE2b-256 56e0ba7f550f054eb90a13829e20878e2e51735153cf4b017e92f2df79d77b30

See more details on using hashes here.

File details

Details for the file spotpy-1.0.13.win32.exe.

File metadata

  • Download URL: spotpy-1.0.13.win32.exe
  • Upload date:
  • Size: 271.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for spotpy-1.0.13.win32.exe
Algorithm Hash digest
SHA256 95f97cf628f51a3c5fe1fe6132216b7b669b5aea226832db47563c78bce7075d
MD5 4fbd943220875211d8fc531ce6097966
BLAKE2b-256 c7e1b950ebdac8adebdac57f66abd489a251f41f8952ec6dfd9528680935f03c

See more details on using hashes here.

File details

Details for the file spotpy-1.0.13-py2-none-any.whl.

File metadata

File hashes

Hashes for spotpy-1.0.13-py2-none-any.whl
Algorithm Hash digest
SHA256 f300c766139e0aee6fe8b0395a2a07c9aa0c751c46b29cc8c247a5d6d2c3e5aa
MD5 357dc8ea3067c84b6c5657c75b3a07e9
BLAKE2b-256 0bbda52e4990069bb9412f51aefd96e3bfc1ab30557844fa2f4fe36b9975d086

See more details on using hashes here.

Supported by

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