Efficient implementation of the Gibbs sampler by Fearnheard and Sherlock (2006) for the Markov modulated Poisson process that uses 'C++' via the 'Rcpp' interface. Fearnheard and Sherlock (2006) proposed an exact Gibbs-sampler for performing Bayesian inference on Markov Modulated Poisson processes. This package is an efficient implementation of their proposal for binned data. Furthermore, the package contains an efficient implementation of the hierarchical MMPP framework, proposed by Clausen, Adams, and Briers (2018), that is tailored towards inference on network flow arrival data and extends Fearnheard and Sherlock's Gibbs sampler. Both frameworks harvests greatly from routines that are optimised for this specific problem in order to remain scalable and efficient for large amounts of input data. These optimised routines include matrix exponentiation and multiplication, and endpoint-conditioned Markov process sampling. Both implementations require an input vector that contains the binned observations, the length of a binning interval, the number of states of the hidden Markov process, and lose prior hyperparameters. As a return, the user receives the desired number of sample trajectories of the hidden Markov process as well as the likelihood of each trajectory.
5l1v3r1 / mmppsampler Goto Github PK
View Code? Open in Web Editor NEWThis project forked from hc2116/mmppsampler
Efficient implementation of the Gibbs sampler by Fearnheard and Sherlock (2006) for the Markov modulated Poisson process that uses 'C++' via the 'Rcpp' interface. Fearnheard and Sherlock (2006) proposed an exact Gibbs-sampler for performing Bayesian inference on Markov Modulated Poisson processes. This package is an efficient implementation of their proposal for binned data. Furthermore, the package contains an efficient implementation of the hierarchical MMPP framework, proposed by Clausen, Adams, and Briers (2018), that is tailored towards inference on network flow arrival data and extends Fearnheard and Sherlock's Gibbs sampler. Both frameworks harvests greatly from routines that are optimised for this specific problem in order to remain scalable and efficient for large amounts of input data. These optimised routines include matrix exponentiation and multiplication, and endpoint-conditioned Markov process sampling. Both implementations require an input vector that contains the binned observations, the length of a binning interval, the number of states of the hidden Markov process, and lose prior hyperparameters. As a return, the user receives the desired number of sample trajectories of the hidden Markov process as well as the likelihood of each trajectory.
License: GNU General Public License v3.0