tests {hyper2} | R Documentation |
Hypothesis testing
Description
Tests different nulls against a free alternative
Usage
equalp.test(H, startp=NULL, ...)
knownp.test(H, p, ...)
samep.test(H, i, give=FALSE, startp=NULL, ...)
specificp.test(H, i, specificp=1/size(H),
alternative = c("two.sided","less","greater"), ...)
specificp.ne.test(H, i, specificp=1/size(H), ...)
specificp.gt.test(H, i, specificp=1/size(H), delta=1e-5, ...)
specificp.lt.test(H, i, specificp=1/size(H), ...)
## S3 method for class 'hyper2test'
print(x, ...)
Arguments
H |
A likelihood function, an object of class |
p |
In |
... |
Further arguments passed by |
startp |
Starting value for optimization |
i |
A character vector of names |
specificp |
Strength, real number between 0 and 1 |
alternative |
a character string specifying the alternative
hypothesis, must be one of |
give |
Boolean, with |
x |
Object of class |
delta |
Small value for numerical stability |
Details
Given a hyper2
likelihood function, there are a number of
natural questions to ask about the strengths of the players; see
Hankin 2010 (JSS) for examples. An extended discussion is presented
in vignette “hyper2
” and the functions documented here
cover most of the tests used in the vignette.
The tests return an object with class hyper2test
, which has its
own print method.
Function
equalp.test(H,p)
tests the null that all strengths are equal to vectorp
. Ifp
is missing, it testsH_0\colon p_1=p_2=\cdots=p_n=\frac{1}{n}
, for exampleequalp.test(icons)
Function
knownp.test()
tests the null that the strengths are equal to the elements of named vectorp
; it is a generalization ofequalp.test()
. Example:knownp.test(icons,zipf(6))
.Function
specificp.test(H,i,p)
testsH_0\colon p_i=p
, for examplespecificp.test(icons,"NB",0.1)
Function
samep.test()
testsH_0\colon p_{i_1}=p_{i_2}=\cdots=p_{i_k}
, for examplesamep.test(icons,c("NB","L"))
tests thatNB
has the same strength asL
.Functions
specificp.ne.test(H,i,p)
,specificp.gt.test(H,i,p)
, andspecificp.lt.test(H,i,p)
are low-level helper functions that implement one- or two-sided versions ofspecificp.test()
via thealternative
argument, followingt.test()
Value
The test functions return a list with class "hyper2test"
containing the following components:
statistic |
the difference in support between the null and alternative |
p.value |
the (asymptotic) p-value for the test, based on Wilks's theorem |
estimate |
the maximum likelihood estimate for |
method |
a character string indicating what type of test was performed |
data.name |
a character string giving the name(s) of the data. |
Note
Function specificp.gt.test()
includes quite a bit of messing
about to ensure that frequently-used idiom like
specificp.gt.test(icons,"NB",0)
works as expected, testing a null
of p_NB=0
(observe that specificp.ne.test(icons,"NB",0)
and specificp.gt.test(icons,"NB",0)
will (correctly) throw an
error). In the case of testing a strength's being zero, the support
function is often quite badly-behaved near the constraint [think tossing
a coin with probability p
twice, observing one head and one tail,
and testing p=0
; at the constraint, the likelihood is zero, the
support negative infinity, and the gradient of the support is infinite].
Numerically, the code tests p_NB=delta
. Note that similar
machinations are not required in specificp.lt.test()
because a
null of p_NB=1
is unrealistic.
Function samep.test()
does not have access to gradient
information so it is slow, inaccurate, and may fail completely for
high-dimensional datasets. If any(i==n)
, this constrains the
fillup value; this makes no difference mathematically but the function
idiom is involved.
In functions specificp.??.test(H,i,...)
, if i
is not
present in H
, an error is returned although technically the
result should be “not enough evidence to reject”, as H
is
uninformative about i
.
See Also
Examples
equalp.test(chess)
# samep.test(icons,c("NB","L"))
# knownp.test(icons,zipf(icons))