This is a package for working with Phase-type (PHT) distributions in the R programming language. The entire of the MCMC portion of the code has been written in optimised C for higher performance and very low memory use, whilst being easy to call from wrapper R functions.
Consider a continuous-time Markov chain (CTMC) on a finite discrete state space of size $n+1$, where one of the states is absorbing. Without loss of generality the generator of the chain can be written in the form:
$$\mathbf{T} = \left( \begin{array}{cc} \mathbf{S} & \mathbf{s} \ \mathbf{0}^\mathrm{T} & 0 \end{array} \right)$$
where $\mathbf{S}$ is the $n \times n$ matrix of transition rates between non-absorbing states; $\mathbf{s}$ is an $n$ dimensional vector of absorption rates; and $\mathbf{0}$ is an $n$ dimensional vector of zeros. We take $\boldsymbol{\pi}$ as the initial state distribution: an $n$ dimensional vector of probabilities $\left(\sum_i \pi_i=1\right)$ such that $\pi_i$ is the probability of the chain starting in state $i$.
Then, we define a Phase-type distribution to be the distribution of the time to absorption of the CTMC with generator $\mathbf{T}$, or equivalently as the first passage time to state $n+1$. Thus, a Phase-type distribution is a positively supported univariate distribution having distribution and density functions:
$$\begin{array}{rcl} F_X(x) &=& 1 - \boldsymbol{\pi}^\mathrm{T} \exp\{x \mathbf{S}\} \mathbf{e}\ f_X(x) &=& \boldsymbol{\pi}^\mathrm{T} \exp\{x \mathbf{S}\} \mathbf{s} \end{array} \qquad \mbox{for } x \in [0,\infty)$$
where $\mathbf{e}$ is an $n$ dimensional vector of $1$'s; $x$ is the time to absorption (or equivalently first-passage time to state $n+1$); and $\exp\{x \mathbf{S}\}$ is the matrix exponential. We denote that a random variable $X$ is Phase-type distributed with parameters $\boldsymbol{\pi}$ and $\mathbf{T}$ by $X \sim \mathrm{PHT}(\boldsymbol{\pi},\mathbf{T})$.
Note that $\displaystyle \sum_{j=1}^n S_{ij} = -s_i \ \forall\,i$, so often a Phase-type is defined merely by providing $\mathbf{S}$, $\mathbf{T}$ then being implicitly known.
Please feel free to:
You can install the latest release directly from CRAN.
install.packages("PhaseType")
Installing directly from GitHub is not supported by the
install.packages
command. You could use the
devtools package
to install the development version if desired.
install.packages("remotes")
remotes::install_github("louisaslett/PhaseType")
Under releases, the tree/commit from which CRAN releases were made are recorded, so historic source can be downloaded from there.
If you use this software, please cite the following:
Aslett, L. J. M. (2012), MCMC for Inference on Phase-type and Masked System Lifetime Models, PhD thesis, Trinity College Dublin.
@phdthesis{Aslett2012,
title={MCMC for Inference on Phase-type and Masked System Lifetime Models},
author={Aslett, L. J. M.},
year={2012},
school={Trinity College Dublin}
}
Thank-you :smiley:
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.