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
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
Built Distribution
Hashes for climtrends-0.0.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 50ca6a50d28879121cdbad3fbe46c2017735fb48699fc7a1274cd7b46a8c7d97 |
|
MD5 | 150b6208547f9c5352bef394a8fe2a5b |
|
BLAKE2b-256 | c8c64aad77421c9713e0739a3f45fe6e1115084d6458f80a2aa6edd92829ed2f |