ic.test | R Documentation |
ic.test
tests linear inequality hypotheses for multivariate normal
means by likelihood ratio tests. print
and summary
functions
display results in different degrees of detail.
ic.test(obj, TP = 1, s2 = 1, df.error = Inf,
ui0.11 = diag(rep(1, length(obj$b.restr))),
ci0.11 = NULL, meq.alt = 0,
df = NULL, wt = NULL, tol=sqrt(.Machine$double.eps), ...)
## S3 method for class 'ict'
print(x, digits = max(3, getOption("digits") - 3), scientific = FALSE, ...)
## S3 method for class 'ict'
summary(object, brief = TRUE, digits = max(3, getOption("digits") - 3),
scientific = FALSE, tol=sqrt(.Machine$double.eps), ...)
obj |
Object of class for objects of class |
TP |
type of test problem, cf. details |
s2 |
multiplier that modifies the matrix |
df.error |
error degrees of freedom connected with estimation of s2
(e.g. residual df from linear model);
if |
ui0.11 |
matrix (or vector in case of one restriction only) for defining (additional) equality restrictions for TP 11 (in addition to restrictions in obj); note that there must be as many columns as there are elements of vector b.restr (no extra index vector taken); if there is overlap between restrictions in ui0.11 and restrictions
already present in obj, restrictions already present in obj are
projected out for ui0.11:
for example, the default choice for |
ci0.11 |
right-hand-side vector for equality restrictions defined by
|
meq.alt |
number of equality restrictions (from beginning) that are maintained under the alternative hypothesis (for TP21) |
df |
optional vector of degrees of freedom for mixed chibar- or beta-
distributions; if omitted, degrees of freedom and weights are calculated;
if given, must be accompanied by corresponding |
wt |
optional vector of weights for mixed chibar- or beta-
distributions; if omitted, weights are calculated using function
|
x |
output object from |
tol |
numerical tolerance value;
estimates closer to 0 than |
... |
Further options, e.g. algorithm for |
digits |
number of digits to display |
scientific |
if FALSE, suppresses scientific format; default: FALSE |
object |
output object from |
brief |
if TRUE, requests brief output without restrictions (default), otherwise restrictions are shown with indication, which are active |
The following test problems are implemented:
TP=1
: H0: restrictions valid with equality vs. H1: at least one inequality
TP=2
: H0: all restrictions true vs. H1: at least one restriction false
TP=3
: H0: restrictions false vs. H1: restrictions true (with inequality)
TP=11
: H0: restriction valid with equality and further linear equalities
vs. H1: at least one equality from H0 violated, restriction valid
TP=21
: H0: restrictions valid (including some equality restrictions)
vs. H1: at least one restriction from H0 violated, some equality restrictions
are maintained
Note that TPs 1 and 11 can reject H0 even if H1 is violated by the data. Rejection of H0 does not provide evidence for H1 (but only against H0) in these TPs because H1 is not the opposite of H0. The tests concentrate their power in H1, but are only guaranteed to observe their level for the stated H0.
Also note that TP 3 does not make sense if obj
involves equality
restrictions (obj$meq
>0).
Under TPs 1, 2, 11, and 21, the distributions of test statistics are mixtures
of chi-square distributions (df.error=Inf
) or beta-distributions (df.error
finite)
with different degrees of freedom (chi-square) or parameter combinations (beta).
Shapiro (1988) gives detailed information on the mixing weights for the
different scenarios. Basically, there are two different situations:
If meq=0
,
the weights are probabilities that a random variable with covariance matrix
ui%*%cov%*%t(ui)
is realized in the positive orthant or its
lower-dimensional faces, respectively (if ui
has too few
columns, blow up by columns of 0s in appropriate positions) (Shapiro, formulae
(5.5) or (5.10), respectively).
If meq > 0
(but not all restrictions are equality restrictions),
the weights are probabilities that a random variable with covariance matrix the
inverse of the lower right corner of solve(ui%*%cov%*%t(ui))
is realized
in the positive orthant or its lower-dimensional faces, respectively
(Shapiro, formula (5.9)).
These weights must then be combined with the appropriate degrees of freedom - these can be worked out by realizing that either the null hypothesis or the alternative hypothesis has fixed dimension and the respective mixing degrees of freedom are obtained by taking the difference to the dimension of the respective other hypothesis, which is correct because - given a certain dimension of the inequality-restricted estimate, the inequality-restricted estimate is a projection onto a linear space of that dimension.
The test for TP 3 (cf. e.g. Sasabuchi 1980) is based on the intersection-union principle and simply obtains its p-value as the maximum p-value from testing the individual restrictions.
object of class ict
, which is a list containing elements
TP |
test problem identifier (cf. argument |
b.unrestr |
unrestricted estimate |
b.restr |
restricted estimate |
ui |
restriction matrix, LHS |
ci |
restriction vector, RHS |
restr.index |
elements of mean referred to by |
meq |
number of equality restrictions (first |
iact |
row numbers of active restrictions (all equality restrictions plus inequality restrictions that are met with equality by the solution b.restr) |
ui.extra |
additional restrictions for |
b.eqrestr |
equality-restrected estimate for |
b.extra.restr |
estimate for null hypothesis of |
T |
test statistic |
p.value |
p-value |
s2 |
input parameter |
cov |
matrix with |
df.error |
input parameter |
df.bar |
vector of degrees of freedom for test statistic distribution,
cf. also input parameter |
wt.bar |
vector of weights for test statistic distribution,
cf. also input parameter |
Package versions up to 1.1-4 had a bug that caused p-values for TP=11 to be too large.
Ulrike Groemping, BHT Berlin
Sasabuchi, S. (1980) A test of a multivariate normal mean with composite hypotheses determined by linear inequalities. Biometrika 67, 429–429
Shapiro, A. (1988) Towards a unified theory of inequality-constrained testing in multivariate analysis. International Statistical Review 56, 49–62
See also ic.est
, ic.weights
corr.plus <- matrix(c(1,0.5,0.5,1),2,2)
corr.null <- matrix(c(1,0,0,1),2,2)
corr.minus <- matrix(c(1,-0.5,-0.5,1),2,2)
## unrestricted vectors
x1 <- c(1, 1)
x2 <- c(-1, 1)
ict1 <- ic.test(ic.est(x1, corr.plus, ui=diag(c(1,1)), ci=c(0,0)))
ict1
summary(ict1)
ic.test(ic.est(x1, corr.plus, ui=diag(c(1,1)), ci=c(0,0)), s2=1, df.error=10)
ic.test(ic.est(x1, corr.minus, ui=diag(c(1,1)), ci=c(0,0)))
ic.test(ic.est(x1, corr.minus, ui=diag(c(1,1)), ci=c(0,0)), s2=1, df.error=10)
ic.test(ic.est(x2, corr.plus, ui=diag(c(1,1)), ci=c(0,0)))
ic.test(ic.est(x2, corr.plus, ui=diag(c(1,1)), ci=c(0,0)), s2=1, df.error=10)
ic.test(ic.est(x2, corr.minus, ui=diag(c(1,1)), ci=c(0,0)))
ic.test(ic.est(x2, corr.minus, ui=diag(c(1,1)), ci=c(0,0)), s2=1, df.error=10)
ict2 <- ic.test(ic.est(x2, corr.plus, ui=diag(c(1,1)), ci=c(0,0)),TP=2)
summary(ict2)
ict3 <- ic.test(ic.est(x1, corr.plus, ui=diag(c(1,1)), ci=c(0,0)),TP=3)
summary(ict3)
ict11 <- ic.test(ic.est(x1, corr.plus, ui=c(1,1), ci=0),TP=11, ui0.11 =c(1,0))
summary(ict11)
## larger example
corr.plus <- diag(1,8)
for (i in 1:7)
for (j in (i+1):8)
corr.plus[i,j] <- corr.plus[j,i] <- 0.5
u <- rbind(rep(1,6), c(-1,-1,-1,1,1,1), c(-1,0,1,0,0,0), c(0,0,0,-1,0,1))
ice <- ic.est(c(rep(1,4),rep(4,4)), corr.plus, ui=u, ci=rep(0,4), index=2:7, meq = 1)
ict1 <- ic.test(ice,TP=1)
summary(ict1)
ict2 <- ic.test(ice,TP=2)
summary(ict2)
ict11 <- ic.test(ice,TP=11)
summary(ict11,digits=3)
ice <- ic.est(c(rep(1,4),rep(4,4)), corr.plus, ui=u, ci=rep(0,4), index=2:7)
ict3 <- ic.test(ice, TP=3)
summary(ict3)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.