- Copyright (c) 2020 Sherman Lo
- MIT LICENSE
Simulation, Bayesian inference and forecasting of precipitation using the compound Poisson model.
compound_poisson.fit
- Modules for fitting the model onto data.
compound_poisson.forecast
- Modules for forward simulation given the fitted model. Also contain modules for assessing the performance of the forecast. Please refer to the README as well.
compound_poisson.mcmc
- Implementations of MCMC algorithms and target distributions.
compound_poisson.time_series.TimeSeries
- ←
compound_poisson.time_series_mcmc.TimeSeriesMcmc
- ←
compound_poisson.time_series_mcmc.TimeSeriesSlice
- ←
compound_poisson.time_series_mcmc.TimeSeriesHyperSlice
- ←
- ←
- ←
- The base superclass is
compound_poisson.time_series.TimeSeries
and is used for single location time series. It uses the following modules:compound_poisson.terms
handles compound Poisson terms and sum,compound_poisson.arma
handles ARMA terms for training and forecasting,compound_poisson.parameter
handles the compound Poisson parameters which varies with time.
- The module
compound_poisson.time_series_mcmc
contain subclasses designed for Bayesian inference using Gibbs sampling:compound_poisson.time_series.TimeSeriesMcmc
uses a full Metropolis-Hastings within Gibbs approach,compound_poisson.time_series_mcmc.TimeSeriesSlice
uses slice and elliptical slice sampling,compound_poisson.time_series_mcmc.TimeSeriesHyperSlice
introduces a hyper parameter for the variance term, inferred using Metropolis-Hastings.
-
compound_poisson.downscale.Downscale
- ◇-1..*
compound_poisson.downscale.TimeSeriesDownscale
- ◇-1..*
-
compound_poisson.time_series_mcmc.TimeSeriesSlice
- ←
compound_poisson.downscale.TimeSeriesDownscale
- ←
The class compound_poisson.downscale.Downscale
implements multiple time series. Each location has a corresponding instance of compound_poisson.downscale.TimeSeriesDownscale
.
Bayesian inference was done by imposing a Gaussian process prior on the parameters.
- The module
compound_poisson.multiprocess
contain wrapper classes for multi-thread work. Adjusting the instantiation, thread joining and destruction of objects for multi-thread work can be done here. Please refer to the manual of the corresponding package when using MPI: