dcoga: Convolution of Gamma Distributions (Exact Method).

View source: R/RcppExports.R

dcogaR Documentation

Convolution of Gamma Distributions (Exact Method).

Description

Density, distribution function, and random generation for convolution of gamma distributions. Convolution of independent Gamma random variables is Y = X_{1} + ... + X_{n}, where X_{i}, i = 1, ..., n, are independent Gamma distributions with parameters shapes and rates. The exact density function and distribution function can be calculated, according to the formulas from Moschopoulos, Peter G. (1985). **We mention that dcoga and pcoga are recommended for n >= 3.**

Usage

dcoga(x, shape, rate)

pcoga(x, shape, rate)

rcoga(n, shape, rate)

Arguments

x

Quantiles.

shape

Numerical vector of shape parameters for each gamma distributions, all shape parameters should be larger than or equal to 0, with at least one non-zero.

rate

Numerical vector of rate parameters for each gamma distributions, all rate parameters should be larger than 0.

n

Number of sample points.

Author(s)

Chaoran Hu

References

Moschopoulos, Peter G. "The distribution of the sum of independent gamma random variables." Annals of the Institute of Statistical Mathematics 37.1 (1985): 541-544.

Examples

## Example 1: Correctness check
set.seed(123)
## do grid
y <- rcoga(100000, c(3,4,5), c(2,3,4))
grid <- seq(0, 15, length.out=100)
## calculate pdf and cdf
pdf <- dcoga(grid, shape=c(3,4,5), rate=c(2,3,4))
cdf <- pcoga(grid, shape=c(3,4,5), rate=c(2,3,4))

## plot pdf
plot(density(y), col="blue")
lines(grid, pdf, col="red")

## plot cdf
plot(ecdf(y), col="blue")
lines(grid, cdf, col="red")

## Example 2: Show parameter recycling
## these pairs give us the same results
dcoga(1:5, c(1, 2), c(1, 3, 4, 2, 5))
dcoga(1:5, c(1, 2, 1, 2, 1), c(1, 3, 4, 2, 5))

pcoga(1:5, c(1, 3, 5, 2, 2), c(3, 5))
pcoga(1:5, c(1, 3, 5, 2, 2), c(3, 5, 3, 5, 3))


coga documentation built on Aug. 20, 2023, 9:06 a.m.

Related to dcoga in coga...