Type: | Package |
Title: | Mixed Poisson Models |
Version: | 2.0 |
Date: | 2016-11-24 |
Author: | Alicja Wolny-Dominiak and Michal Trzesiok |
Maintainer: | Alicja Wolny-Dominiak <alicja.wolny-dominiak@ue.katowice.pl> |
Depends: | gaussquad, Rmpfr, MASS |
Description: | The estimation of the parameters in mixed Poisson models. |
License: | GPL-2 |
NeedsCompilation: | no |
Packaged: | 2016-12-08 21:36:11 UTC; Micha<c5><82> |
Repository: | CRAN |
Date/Publication: | 2016-12-09 08:58:43 |
Mixed Poisson Models
Description
The package provides functions, which support to fit parameters of different mixed Poisson models using the Expectation-Maximization (EM) algorithm of estimation, cf. (Ghitany et al., 2012, pp. 6848). In the model the assumptions are: conditional N|\theta
is of distribution N|\theta \sim POIS(\lambda\theta)
, parameter \theta
is a random variable distributed according to the density function f_{\theta}(\cdot)
, E[\theta]=1
and \lambda=\exp(\mathbf{x}_{i}'\mathbf{\boldsymbol \beta})
– the regression component. The E-step is carried out through the numerical integration using Laquerre quadrature. The M-step estimates the parameters \beta
using GLM Poisson with pseudo values from E-step and mixing parameters using optimize function.
Details
Package: | MixedPoisson |
Type: | Package |
Version: | 1.0 |
Date: | 2015-07-13 |
License: | GPL-2 |
Author(s)
Alicja Wolny-Dominiak and Michal Trzesiok
Maintainer: <alicja.wolny-dominiak@ue.katowice.pl>
References
Karlis, D. (2005). EM algorithm for mixed Poisson and other discrete distributions. Astin Bulletin, 35(01), 3-24. Ghitany, M. E., Karlis, D., Al-Mutairi, D. K., & Al-Awadhi, F. A. (2012). An EM algorithm for multivariate mixed Poisson regression models and its application. Applied Mathematical Sciences, 6(137), 6843-6856.
Gamma density
Description
The function returns the vector of values of density function for of Gamma distribution with one parameter \gamma
.
Usage
Gamma.density(theta, gamma.par)
Arguments
theta |
the vector of values |
gamma.par |
the parameter of Gamma distribution |
Details
The pdf of Gamma is of the form
f_\theta(\theta)=\frac{\gamma^\gamma}{\Gamma(\gamma)}\theta^{\gamma-1}\exp(-\gamma\theta)
Value
Gamma.density(theta , nu) |
the density – the vector of values |
Author(s)
Michal Trzesiok
Examples
Gamma.density(c(2,3,5,4,6,7,4), 5)
Estimation of delta parameter of inverse-Gaussian distribution
Description
The function estimates the value of the parameter delta using \texttt{optimize}
.
Usage
est.delta(t)
Arguments
t |
the vector of values |
Details
The form of the distribution is as in the function \texttt{ll.invGauss}
Value
nu |
the estimates of |
ll.delta.max |
the value of loglikehood |
Author(s)
Michal Trzesiok
Examples
est.delta(t=c(3,8))
Estimation of gamma parameter of Gamma distribution
Description
The function estimates the value of the parameter gamma using \texttt{optimize}
.
Usage
est.gamma(t)
Arguments
t |
the vector of values |
Details
The form of the distribution is as in the function \texttt{ll.gamma}
Value
gamma |
the estimates of |
ll.gamma.max |
the value of loglikehood |
Author(s)
Michal Trzesiok
Examples
est.gamma(t=c(3,8))
Estimation of nu parameter of log-normal distribution
Description
The function estimates the value of the parameter nu using \texttt{optimize}
.
Usage
est.nu(t)
Arguments
t |
the vector of values |
Details
The form of the distribution is as in the function \texttt{ll.lognorm}
Value
nu |
the estimates of |
ll.nu.max |
the value of loglikehood |
Author(s)
Michal Trzesiok
Examples
est.nu(t=c(3,8))
inverse-Gaussian Density
Description
The function returns the vector of values of density function for of inverse-Gaussian distribution with one parameter \delta
.
Usage
invGauss.density(theta, delta)
Arguments
theta |
the vector of values |
delta |
the parameter of inverse-Gaussian distribution |
Details
The pdf of inverse-Gaussian is of the form
f_\theta(\theta)=\frac{\delta}{2\pi}\exp(\delta^2)\theta^{-\frac{3}{2}} \exp(-\frac{\delta^2}{2}(\frac{1}{\theta}+\theta))
Value
invGauss.density(theta , delta) |
the density – the vector of values |
Author(s)
Michal Trzesiok
Examples
invGauss.density(c(2,3,5,4,6,7,6), 5)
Estimation of Lambda in M-step – Expectation-Maximization (EM) algorithm
Description
The function fits the GLM Poisson with given offset.
Usage
lambda_m_step(variable, X, offset)
Arguments
variable |
the vector of numbers |
X |
model matrix of the form |
offset |
offset in GLM Poisson |
Details
It fits the GLM Poisson, where variable \sim 1
and the ofsset is given as the vector of the variable's length.
The results are used in M-step of EM algorithm, cf. [Karlis, 2012] pp. 6850.
Value
lambda |
|
beta |
regressor parameters |
glm |
output of |
Author(s)
Alicja Wolny–Dominiak, Michal Trzesiok
Examples
set.seed(1234)
variable=rpois(50,4)
X=as.matrix(rep(1, length(variable)))
t=pseudo_values(variable, mixing=c("invGauss"), lambda=4, delta=1, n=100)
lambda_m_step(variable, X, offset=t$pseudo_values)
Estimation of starting lambda in Expectation-Maximization (EM) algorithm
Description
The function fits the GLM Poisson without regressors.
Usage
lambda_start(variable, X)
Arguments
variable |
the vector of numbers |
X |
model matrix of the form |
Details
It fits the GLM Poisson, where variable \sim 1
.
The results are taken as the starting value of EM algorithm.
Value
lambda |
|
beta |
regressor parameters |
glm |
output of |
Author(s)
Alicja Wolny–Dominiak, Michal Trzesiok
Examples
set.seed(1234)
variable=rpois(50,4)
X=as.matrix(rep(1, length(variable)))
t=pseudo_values(variable, mixing=c("invGauss"), lambda=4, delta=1, n=100)
lambda_m_step(variable, X, offset=t$pseudo_values)
Gamma Log-likelihood
Description
The function returns the value of log-likelihood function for of Gamma distribution with one parameter \gamma
.
Usage
ll.gamma(gamma.par, t)
Arguments
gamma.par |
|
t |
the vector of values |
Details
The pdf of Gamma is of the form
f_\theta(\theta)=\frac{\gamma^\gamma}{\Gamma(\gamma)}\theta^{\gamma-1}\exp(-\gamma\theta)
Value
ll.gamma |
the value |
Author(s)
Michal Trzesiok
Examples
ll.gamma(1, c(3,8))
Inverse-Gaussian Log-likelihood
Description
The function returns the value of log-likelihood function for of inverse-Gaussian distribution with one parameter \delta
.
Usage
ll.invGauss(delta, t)
Arguments
delta |
|
t |
the vector of values |
Details
The pdf of inverse-Gaussian is of the form
f_\theta(\theta)=\frac{\delta}{2\pi}\exp(\delta^2)\theta^{-\frac{3}{2}} \exp(-\frac{\delta^2}{2}(\frac{1}{\theta}+\theta))
Value
ll.invGauss |
the value |
Author(s)
Michal Trzesiok
Examples
ll.invGauss(1, c(3,8))
Log-normal Log-likelihood
Description
The function returns the value of log-likelihood function of log-normal distribution with one parameter \nu
.
Usage
ll.lognorm(nu, t)
Arguments
nu |
|
t |
the vector of values |
Details
The pdf of log-normal is of the form f_\theta(\theta)=\frac{1}{\sqrt{2\pi\nu\theta}}\exp[-\frac{(\log(\theta)+\frac{\nu^2}{2})^2}{2\nu^2}]
Value
ll.lognorm |
the value |
Author(s)
Michal Trzesiok
Examples
ll.lognorm(1, c(3,8))
Log-normal Density
Description
The function returns the vector of values of density function for of log-normal distribution with one parameter \nu
.
Usage
lognorm.density(theta, nu)
Arguments
theta |
the vector of values |
nu |
the parameter of log-normal distribution |
Details
The pdf of log-normal is of the form f_\theta(\theta)=\frac{1}{\sqrt{2\pi\nu\theta}}\exp[-\frac{(\log(\theta)+\frac{\nu^2}{2})^2}{2\nu^2}]
Value
lognorm.density(theta , nu) |
the density – the vector of values |
Author(s)
Michal Trzesiok
Examples
lognorm.density(c(2,3,5,4,6,7,6), 5)
Poisson-Gamma Distribution (Negative-Binomial)
Description
The function fits a mixed Poisson distribution, in which the random parameter follows Gamma distribution (the negative-binomial distribution). As teh method of estimation Expectation-maximization algorithm is used. In M-step the analytical formulas taken from [Karlis, 2005] are applied.
Usage
pg.dist(variable, alpha.start, beta.start, epsylon)
Arguments
variable |
The count variable. |
alpha.start |
The starting value of the parameter alpha. Default to 1. |
beta.start |
The starting value of the parameter beta. Default to 0.3 |
epsylon |
Default to epsylon = 10^(-8) |
Details
This function provides estimated parameters of the model
N|\lambda \sim Poisson(\lambda)
where \lambda
parameter is also a random
variable follows Gamma distribution with hiperparameters \alpha, \beta
. The
pdf of Gamma is of the form
f_\lambda(\lambda)=\frac{\lambda^{\alpha-1}\exp(-\beta\lambda)\beta^\lambda}{\Gamma(\alpha)}
.
Value
alpha |
the parameter of mixing Gamma distribution |
beta |
the parameter of mixing Gamma distribution |
theta |
the value 1/beta |
n.iter |
the number of steps in EM algorithm |
References
Karlis, D. (2005). EM algorithm for mixed Poisson and other discrete distributions. Astin bulletin, 35(01), 3-24.
Examples
library(MASS)
pGamma1 = pg.dist(variable=quine$Days)
print(pGamma1)
Poisson-Lindley Distribution
Description
The function fits a mixed Poisson distribution, in which the random parameter follows Lindley distribution. As teh method of estimation Expectation-maximization algorithm is used.
Usage
pl.dist(variable, p.start, epsylon)
Arguments
variable |
The count variable. |
p.start |
The starting value of p parameter. Default to 0.1. |
epsylon |
Default to epsylon = 10^(-8) |
Details
This function provides estimated parameters of the model
N|\lambda \sim Poisson(\lambda)
where \lambda
parameter is also a random
variable follows Lindley distribution with hiperparameter p
. The
pdf of Lindley is of the form
f_\lambda(\lambda)=\frac{p^2}{p+1}(\lambda+1)\exp(-\lambda p)
.
Value
p |
the parameter of mixing Lindley distribution |
n.iter |
the number of steps in EM algorithm |
References
Karlis, D. (2005). EM algorithm for mixed Poisson and other discrete distributions. Astin bulletin, 35(01), 3-24.
Examples
library(MASS)
pLindley = pl.dist(variable=quine$Days)
print(pLindley)
Pseudo values – Expectation-Maximization (EM) algorithm
Description
The function returns the pseudo values t_i
defined as the conditional expectation E[\theta_i|k_1,...,k_n]
,
where k_1,...,k_n
are realizations of the count variable N.
Usage
pseudo_values(variable, mixing, lambda, gamma.par, nu, delta, n)
Arguments
variable |
the vector of numbers |
mixing |
the name of mixing distribution – "Gamma", "lognorm", "invGauss" |
lambda |
|
gamma.par |
|
nu |
|
delta |
|
n |
The integer value for the Laguerre quadrature. Default to 100 |
Details
The function calculates the vector of pseudo values t_i=E[\theta_i|k_1,...,k_n]
in E-step of EM algorithm. It applies the numerical integration using laguerre.quadrature
in the nominator and the denominator of the formula
The proper parameter \gamma
, \nu
, \delta
should be chosen according to the mixing distribution.
Value
pseudo_values |
pseudo values |
nominator |
nominator in the formula |
denominator |
denominator in the formula |
Author(s)
Alicja Wolny–Dominiak, Michal Trzesiok
Examples
variable=rpois(30,4)
pseudo_values(variable, mixing="Gamma", lambda=4, gamma.par=0.7, n=100)