Skip to content
This repository has been archived by the owner on Jun 10, 2022. It is now read-only.

Latest commit

 

History

History

compound_poisson

compound_poisson

  • Copyright (c) 2020 Sherman Lo
  • MIT LICENSE

Simulation, Bayesian inference and forecasting of precipitation using the compound Poisson model.

Packages

  • 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.

Single Location Time Series

  • 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.

Multiple Location Time Series

  • compound_poisson.downscale.Downscale

    • ◇-1..* compound_poisson.downscale.TimeSeriesDownscale
  • 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.

Notes for Developers

  • 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: