wald.stat {VGAM} | R Documentation |
Generic function that computes Wald test statistics evaluated at the null values (consequently they do not suffer from the Hauck-Donner effect).
wald.stat(object, ...) wald.stat.vlm(object, values0 = 0, subset = NULL, omit1s = TRUE, all.out = FALSE, iterate = TRUE, trace = FALSE, as.summary = FALSE, ...)
object |
A |
values0 |
Numeric vector. The null values corresponding to the null hypotheses. Recycled if necessary. |
subset |
Same as in |
omit1s |
Logical. Does one omit the intercepts? Because the default would be to test that each intercept is equal to 0, which often does not make sense or is unimportant, the intercepts are not tested by default. If they are tested then each linear predictor must have at least one coefficient (from another variable) to be estimated. |
all.out |
Logical. If |
iterate |
Logical. If |
trace |
Logical. If |
as.summary |
Logical. If |
... |
Ignored for now. |
By default, summaryvglm
and most regression
modelling functions such as summary.glm
compute the standard errors (SEs) of the estimates at the MLE and
not at 0.
This make it vulnerable to the Hauck-Donner effect (HDE)
(see hdeff
).
One solution is to compute the SEs
at 0 (or more generally, at the values of
the argument values0
).
This function does that.
The two variants of Wald statistics are asymptotically equivalent;
however in small samples there can be an appreciable difference,
and the difference can be large if the estimates are near
to the boundary of the parameter space.
None of the tests here are joint,
hence the degrees of freedom is always unity.
If iterate = FALSE
then
one retains the MLEs of the original fit for the values of
the other coefficients, and replaces one coefficient at a
time by the value 0 (or whatever specified by values0
).
One alternative would be to recompute the MLEs of the other
coefficients after replacing one of the values;
this is the default because iterate = TRUE
.
Just like the original IRLS iterations,
note that the iterations here are not guaranteed to converge.
Almost all VGAM family functions use the EIM and not
the OIM; this affects the resulting standard errors.
Also, regularity conditions are assumed for the Wald,
likelihood ratio and score tests; some VGAM family functions
such as alaplace1
are experimental and
do not satisfy such conditions, therefore naive inference is
hazardous.
The default output of this function can be seen by
setting wald0.arg = TRUE
in summaryvglm
.
By default the signed square root of the Wald statistics
whose SEs are computed at one each of the null values.
If all.out = TRUE
then a list is returned with the
following components:
wald.stat
the Wald statistic,
SE0
the standard error of that coefficient,
values0
the null values.
Approximately, the default Wald statistics output are standard normal
random variates if each null hypothesis is true.
This function has not yet been thoroughly tested.
Convergence failure is possible for some models applied to
certain data sets; it is a good idea to set trace = TRUE
to monitor convergence.
For example, for a particular explanatory variable,
the estimated regression coefficients
of a non-parallel cumulative logit model
(see cumulative
) are ordered,
and perturbing one coefficient might disrupt the order
and create numerical problems.
Thomas W. Yee
lrt.stat
,
score.stat
,
summaryvglm
,
summary.glm
,
vglm
,
hdeff
.
set.seed(1) pneumo <- transform(pneumo, let = log(exposure.time), x3 = rnorm(nrow(pneumo))) (fit <- vglm(cbind(normal, mild, severe) ~ let + x3, propodds, data = pneumo)) wald.stat(fit) # No HDE here summary(fit, wald0 = TRUE) # See them here coef(summary(fit)) # Usual Wald statistics evaluated at the MLE wald.stat(fit, as.summary = TRUE) # Same as previous line