When complete, a suite of functions that can be used to compute some of the regression (leave-one-out deletion) diagnostics, for the VGLM class.
hatvalues(model, ...)
hatvaluesvlm(model, type = c("diagonal", "matrix", "centralBlocks"), ...)
hatplot(model, ...)
hatplot.vlm(model, multiplier = c(2, 3), lty = "dashed",
xlab = "Observation", ylab = "Hat values", ylim = NULL, ...)
dfbetavlm(model, maxit.new = 1,
trace.new = FALSE,
smallno = 1.0e-8, ...)
an R object, typically returned by vglm
.
Character.
The default is the first choice, which is
a type = "matrix"
then the entire hat matrix is
returned.
If type = "centralBlocks"
then
Numeric, the multiplier. The usual rule-of-thumb is that values greater than two or three times the average leverage (at least for the linear model) should be checked.
Graphical parameters, see
par
etc.
The default of ylim
is c(0, max(hatvalues(model)))
which means that if the horizontal dashed lines cannot be seen
then there are no particularly influential observations.
Having maxit.new = 1
will give a one IRLS step approximation
from the ordinary solution (and no warnings!).
Else having maxit.new = 10
, say, should usually mean
convergence will occur for all observations when they are
removed one-at-a-time.
Else having maxit.new = 2
, say, should usually mean
some lack of convergence will occur when observations are
removed one-at-a-time.
Setting trace.new = TRUE
will produce some running output
at each IRLS iteration and for each individual row of the model matrix.
The argument smallno
multiplies each value of the
original prior weight (often unity); setting it identically
to zero will result in an error, but setting a very small value
effectively removes that observation.
further arguments,
for example, graphical parameters for hatplot.vlm()
.
T. W. Yee.
The invocation hatvalues(vglmObject)
should return a
vglm
object.
To do this,
the QR decomposition of the object is retrieved or
reconstructed, and then straightforward calculations
are performed.
The invocation hatplot(vglmObject)
should plot
the diagonal of the hat matrix for each of the
vglm
,
cumulative
,
influence.measures
.
# Proportional odds model, p.179, in McCullagh and Nelder (1989)
pneumo <- transform(pneumo, let = log(exposure.time))
fit <- vglm(cbind(normal, mild, severe) ~ let, cumulative, data = pneumo)
hatvalues(fit) # n x M matrix, with positive values
all.equal(sum(hatvalues(fit)), fit@rank) # Should be TRUE
if (FALSE) par(mfrow = c(1, 2))
hatplot(fit, ylim = c(0, 1), las = 1, col = "blue")
Run the code above in your browser using DataLab