Maximum likelihood estimates (MLE) for two independent negative binomial outcomes.
mle_nb_null(
data,
equal_dispersion = FALSE,
ratio_null = 1,
method = "nlm_constrained",
...
)mle_nb_alt(data, equal_dispersion = FALSE, method = "nlm_constrained", ...)
For mle_nb_alt(), a list with the following elements:
| Slot | Name | Description |
| 1 | mean1 | MLE for mean of group 1. |
| 2 | mean2 | MLE for mean of group 2. |
| 3 | ratio | MLE for ratio of means. |
| 4 | dispersion1 | MLE for dispersion of group 1. |
| 5 | dispersion2 | MLE for dispersion of group 2. |
| 6 | equal_dispersion | Were equal dispersions assumed. |
| 7 | n1 | Sample size of group 1. |
| 8 | n2 | Sample size of group 2. |
| 9 | nll | Minimum of negative log-likelihood. |
| 10 | nparams | Number of estimated parameters. |
| 11 | method | Method used for the results. |
| 12 | mle_method | Method used for optimization. |
| 13 | mle_code | Integer indicating why the optimization process terminated. |
| 14 | mle_message | Additional information from the optimizer. |
For mle_nb_null(), a list with the following elements:
| Slot | Name | Description |
| 1 | mean1 | MLE for mean of group 1. |
| 2 | mean2 | MLE for mean of group 2. |
| 3 | ratio_null | Population ratio of means assumed for null hypothesis.
mean2 = mean1 * ratio_null. |
| 4 | dispersion1 | MLE for dispersion of group 1. |
| 5 | dispersion2 | MLE for dispersion of group 2. |
| 6 | equal_dispersion | Were equal dispersions assumed. |
| 7 | n1 | Sample size of group 1. |
| 8 | n2 | Sample size of group 2. |
| 9 | nll | Minimum of negative log-likelihood. |
| 10 | nparams | Number of estimated parameters. |
| 11 | method | Method used for the results. |
| 12 | mle_method | Method used for optimization. |
| 13 | mle_code | Integer indicating why the optimization process terminated. |
| 14 | mle_message | Additional information from the optimizer. |
(list)
A list whose first element is the vector of negative binomial values
from group 1 and the second element is the vector of negative binomial
values from group 2.
NAs are silently excluded. The default output from
sim_nb().
(Scalar logical: FALSE)
If TRUE, the MLEs are calculated assuming both groups have the same
population dispersion parameter. If FALSE (default), the MLEs are
calculated assuming different dispersions.
(Scalar numeric: 1; (0, Inf))
The ratio of means assumed under the null hypothesis (group 2 / group 1).
Typically ratio_null = 1 (no difference).
(string: "nlm_constrained")
The optimization method. Must choose one of "nlm",
"nlm_constrained", "optim", or "optim_constrained". The default
bounds for constrained optimization are [1e-03, 1e06].
Optional arguments passed to the optimization method.
These functions are primarily designed for speed in simulation. Missing values are silently excluded.
Suppose \(X_1 \sim \text{NB}(\mu, \theta_1)\) and \(X_2 \sim \text{NB}(r\mu, \theta_2)\), where \(X_1\) and \(X_2\) are independent, \(X_1\) is the count outcome for items in group 1, \(X_2\) is the count outcome for items in group 2, \(\mu\) is the arithmetic mean count in group 1, \(r\) is the ratio of arithmetic means for group 2 with respect to group 1, \(\theta_1\) is the dispersion parameter of group 1, and \(\theta_2\) is the dispersion parameter of group 2.
The MLEs of \(r\) and \(\mu\) are \(\hat{r} = \frac{\bar{x}_2}{\bar{x}_1}\) and \(\hat{\mu} = \bar{x}_1\). The MLEs of \(\theta_1\) and \(\theta_2\) are found by maximizing the profile log-likelihood \(l(\hat{r}, \hat{\mu}, \theta_1, \theta_2)\) with respect to \(\theta_1\) and \(\theta_2\). When \(r = r_{null}\) is known, the MLE of \(\mu\) is \(\tilde{\mu} = \frac{n_1 \bar{x}_1 + n_2 \bar{x}_2}{n_1 + n_2}\) and \(\tilde{\theta}_1\) and \(\tilde{\theta}_2\) are obtained by maximizing the profile log-likelihood \(l(r_{null}, \tilde{\mu}, \theta_1, \theta_2)\).
The backend method for numerical optimization is controlled by argument
method which refers to stats::nlm(), stats::nlminb(), or
stats::optim(). If you would like to see warnings from the optimizer,
include argument warnings = TRUE.
rettiganti_2012depower
aban_2009depower
sim_nb(), nll_nb
#----------------------------------------------------------------------------
# mle_nb() examples
#----------------------------------------------------------------------------
library(depower)
d <- sim_nb(
n1 = 60,
n2 = 40,
mean1 = 10,
ratio = 1.5,
dispersion1 = 2,
dispersion2 = 8
)
mle_alt <- d |>
mle_nb_alt()
mle_null <- d |>
mle_nb_null()
mle_alt
mle_null
Run the code above in your browser using DataLab