bws_cdf: CDF of the Baumgartner-Weiss-Schindler test under the null.

View source: R/RcppExports.R

bws_cdfR Documentation

CDF of the Baumgartner-Weiss-Schindler test under the null.

Description

Computes the CDF of the Baumgartner-Weiss-Schindler test statistic under the null hypothesis of equal distributions.

Usage

bws_cdf(b, maxj = 5L, lower_tail = TRUE)

Arguments

b

a vector of BWS test statistics.

maxj

the maximum value of j to take in the approximate computation of the CDF via equation (2.5). Baumgartner et. al. claim that a value of 3 is sufficient.

lower_tail

boolean, when TRUE returns \Psi, otherwise compute the upper tail, 1-\Psi, which is more useful for hypothesis tests.

Details

Given value b, computes the CDF of the BWS statistic under the null, denoted as \Psi(b) by Baumgartner et al. The CDF is computed from equation (2.5) via numerical quadrature.

The expression for the CDF contains the integral

\int_0^1 \frac{1}{\sqrt{r^3 (1-r)}} \mathrm{exp}\left(\frac{rb}{8} - \frac{\pi^2 (4j+1)^2}{8rb}\right) \mathrm{dr}

By making the change of variables x = 2r - 1, this can be re-expressed as an integral of the form

\int_{-1}^1 \frac{1}{\sqrt{1-x^2}} f(x) \mathrm{dx},

for some function f(x) involving b and j. This integral can be approximated via Gaussian quadrature using Chebyshev nodes (of the first kind), which is the approach we take here.

Value

A vector of the CDF of b, \Psi(b).

Author(s)

Steven E. Pav shabbychef@gmail.com

References

W. Baumgartner, P. Weiss, H. Schindler, 'A nonparametric test for the general two-sample problem', Biometrics 54, no. 3 (Sep., 1998): pp. 1129-1135. \Sexpr[results=rd]{tools:::Rd_expr_doi("10.2307/2533862")}

See Also

bws_stat, bws_test

Examples


# do it 500 times
set.seed(123)
bvals <- replicate(500, bws_stat(rnorm(50),rnorm(50)))
pvals <- bws_cdf(bvals)
# these should be uniform!
 
  plot(ecdf(pvals)) 


# compare to Table 1 of Baumgartner et al.
bvals <- c(1.933,2.493,3.076,3.880,4.500,5.990)
tab1v <- c(0.9,0.95,0.975,0.990,0.995,0.999)
pvals <- bws_cdf(bvals,lower_tail=TRUE)
show(data.frame(B=bvals,BWS_psi=tab1v,our_psi=pvals))


BWStest documentation built on Oct. 11, 2023, 1:07 a.m.