# nbconv

## Introduction

nbconv was written to facilitate the evaluation of the sums of
arbitrary negative binomial (NB) random variables. nbconv implements
three distinct methods for approaching this problem: Furman’s exact
probability mass function (https://ssrn.com/abstract=1650365),
saddlepoint approximation, and a method of moments approximation. I
would like to acknowledge Martin Modrák for inspiring me to pursue the
saddlepoint approximation with his related
blog post.

It should be noted that Furman’s PMF is expressed as a series
representation. Because of this, the accuracy of the evaluation is
limited by the number of terms included in the series. The probability
values calculated in this way are therefore also approximate solutions,
meaning that nbconv only offers approximate solutions to the convolution
of NB random variables. Nevertheless, the approximations appear to be
rather good ones.

Like other distribution functions in R, nbconv can calculate the
density, distribution, and quantile functions of NB convolutions. These
are done with `dnbconv()`

, `pnbconv()`

, and
`qnbconv()`

, respectively. Each of these functions requires
specification of the method of evaluation. Random deviates can be
sampled with the `rnbconv()`

function and are obtained
independently of any evaluation method. Finally, the function
`nbconv_params()`

explicitly calculates the mean, variance,
skewness, and excess kurtosis of the convolution distribution using
cumulants.

See the manual for more information and please do not hesitate to
reach out with any questions or comments.

## Installation

You can install the development version of nbconv from GitHub with:

```
# install.packages("devtools")
devtools::install_github("gbedwell/nbconv")
```