Learn R Programming

depower (version 2025.1.20)

wald_test_nb: Wald test for NB ratio of means

Description

Wald test for the ratio of means from two independent negative binomial outcomes.

Usage

wald_test_nb(
  data,
  equal_dispersion = FALSE,
  ci_level = NULL,
  link = "log",
  ratio_null = 1,
  ...
)

Value

A list with the following elements:

SlotSubslotNameDescription
1chisq\(\chi^2\) test statistic for the ratio of means.
2dfDegrees of freedom.
3pp-value.
4ratioEstimated ratio of means (group 2 / group 1).
41estimatePoint estimate.
42lowerConfidence interval lower bound.
43upperConfidence interval upper bound.
5mean1Estimated mean of group 1.
6mean2Estimated mean of group 2.
7dispersion1Estimated dispersion of group 1.
8dispersion2Estimated dispersion of group 2.
9n1Sample size of group 1.
10n2Sample size of group 2.
11methodMethod used for the results.
12ci_levelThe confidence level.
13equal_dispersionWhether or not equal dispersions were assumed.
14linkLink function used to transform the ratio of means in the test hypotheses.
15ratio_nullAssumed ratio of means under the null hypothesis.
16mle_codeInteger indicating why the optimization process terminated.
17mle_messageInformation from the optimizer.

Arguments

data

(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().

equal_dispersion

(Scalar logical: FALSE)
If TRUE, the Wald test is calculated assuming both groups have the same population dispersion parameter. If FALSE (default), the Wald test is calculated assuming different dispersions.

ci_level

(Scalar numeric: NULL; (0, 1))
If NULL, confidence intervals are set as NA. If in (0, 1), confidence intervals are calculated at the specified level.

link

(Scalar string: "log")
The one-to-one link function for transformation of the ratio in the test hypotheses. Must be one of "log" (default), "sqrt", "squared", or "identity".

ratio_null

(Scalar numeric: 1; (0, Inf))
The (pre-transformation) ratio of means assumed under the null hypothesis (group 2 / group 1). Typically ratio_null = 1 (no difference). See 'Details' for additional information.

...

Optional arguments passed to the MLE function mle_nb().

Details

This function is primarily designed for speed in simulation. Missing values are silently excluded.

Suppose \(X_1 \sim NB(\mu, \theta_1)\) and \(X_2 \sim 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 hypotheses for the Wald test of \(r\) are

$$ \begin{aligned} H_{null} &: f(r) = f(r_{null}) \\ H_{alt} &: f(r) \neq f(r_{null}) \end{aligned} $$

where \(f(\cdot)\) is a one-to-one link function with nonzero derivative, \(r = \frac{\bar{X}_2}{\bar{X}_1}\) is the population ratio of arithmetic means for group 2 with respect to group 1, and \(r_{null}\) is a constant for the assumed null population ratio of means (typically \(r_{null} = 1\)).

rettiganti_2012;textualdepower found that \(f(r) = r^2\) and \(f(r) = r\) had greatest power when \(r < 1\). However, when \(r > 1\), \(f(r) = \ln r\), the likelihood ratio test, and the Rao score test have greatest power. Note that \(f(r) = \ln r\), LRT, and RST were unbiased tests while the \(f(r) = r\) and \(f(r) = r^2\) tests were biased when \(r > 1\). The \(f(r) = \ln r\), LRT, and RST produced acceptable results for any \(r\) value. These results depend on the use of asymptotic vs. exact critical values.

The Wald test statistic is

$$ W(f(\hat{r})) = \left( \frac{f \left( \frac{\bar{x}_2}{\bar{x}_1} \right) - f(r_{null})}{f^{\prime}(\hat{r}) \hat{\sigma}_{\hat{r}}} \right)^2 $$

where

$$ \hat{\sigma}^{2}_{\hat{r}} = \frac{\hat{r} \left[ n_1 \hat{\theta}_1 (\hat{r} \hat{\mu} + \hat{\theta}_2) + n_2 \hat{\theta}_2 \hat{r} (\hat{\mu} + \hat{\theta}_1) \right]}{n_1 n_2 \hat{\theta}_1 \hat{\theta}_2 \hat{\mu}} $$

Under \(H_{null}\), the Wald test statistic is asymptotically distributed as \(\chi^2_1\). The approximate level \(\alpha\) test rejects \(H_{null}\) if \(W(f(\hat{r})) \geq \chi^2_1(1 - \alpha)\). Note that the asymptotic critical value is known to underestimate the exact critical value. Hence, the nominal significance level may not be achieved for small sample sizes (possibly \(n \leq 10\) or \(n \leq 50\)). The level of significance inflation also depends on \(f(\cdot)\) and is most severe for \(f(r) = r^2\), where only the exact critical value is recommended.

References

rettiganti_2012depower

aban_2009depower

Examples

Run this code
#----------------------------------------------------------------------------
# wald_test_nb() examples
#----------------------------------------------------------------------------
library(depower)

set.seed(1234)
sim_nb(
  n1 = 60,
  n2 = 40,
  mean1 = 10,
  ratio = 1.5,
  dispersion1 = 2,
  dispersion2 = 8
) |>
  wald_test_nb()

Run the code above in your browser using DataLab