Skip to main content

A utility for Bayesian trend regression with a variety of statistical models

Project description

ClimTrends

ClimTrends is a python package aimed at making it easy to calculate linear trends in a variety of statistical models. The current implementation includes:

  • Normal Distribution - trend in mean
  • Poisson Distribution - trend in mean
  • Exponential Distribution - trend in mean
  • Gamma Distribution - trend in mean and standard deviation
  • GEV Distribution - trend in mean

The module utilizes datetime-like objects as the input time value, which makes it easy to interoperate with data from netCDF4 and xarray. All models use a Bayesian framework (using the emcee package) and assume a uniform prior on all model parameters. This module is object-oriented and designed to be easily extendable for regressions of other distributions. To do so, one needs to sub-class the ClimTrendModel class and implement a few required routines; see TrendNormalModel.py or other Trend*Model.py files for examples.

Getting started

# dates - a set of input dates
# data - corresponding data from those dates

import climtrends
import numpy as np

# initialize the MCMC model
linear_model = climtrends.TrendNormalModel(dates, data)

# run the sampler
linear_model.run_mcmc_sampler(num_samples = 1000)

# get samples of the slopes
slopes = linear_model.get_mean_trend_samples()

# get the 5th and 95th percentile slopes
slopes_5 = np.percentile(slopes, 5)
slopes_95 = np.percentile(slopes, 95)

Known Issues

  • The model assumes that input data are vectors; things will likely break if not.
  • Probably other issues exist. This code is tested and is verified to work in some base cases, but it is still in alpha stage and has not been tested across a range of settings.

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

climtrends-0.0.2.tar.gz (17.4 kB view details)

Uploaded Source

Built Distribution

climtrends-0.0.2-py3-none-any.whl (27.4 kB view details)

Uploaded Python 3

File details

Details for the file climtrends-0.0.2.tar.gz.

File metadata

  • Download URL: climtrends-0.0.2.tar.gz
  • Upload date:
  • Size: 17.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.8.10

File hashes

Hashes for climtrends-0.0.2.tar.gz
Algorithm Hash digest
SHA256 509677c4f91338d84e03510e2a7d6426d697fc6cd57933f54bd9b098207b2c05
MD5 08e53aab711f5c64fee9897f87d9bbc0
BLAKE2b-256 460627a75d6465c113b9e1ed6a6a637d50f06c07b33fc987d6824906dd1b5596

See more details on using hashes here.

File details

Details for the file climtrends-0.0.2-py3-none-any.whl.

File metadata

  • Download URL: climtrends-0.0.2-py3-none-any.whl
  • Upload date:
  • Size: 27.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.8.10

File hashes

Hashes for climtrends-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 50ca6a50d28879121cdbad3fbe46c2017735fb48699fc7a1274cd7b46a8c7d97
MD5 150b6208547f9c5352bef394a8fe2a5b
BLAKE2b-256 c8c64aad77421c9713e0739a3f45fe6e1115084d6458f80a2aa6edd92829ed2f

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