lm.influence {stats} | R Documentation |
Regression Diagnostics
Description
This function provides the basic quantities which are used in forming a wide variety of diagnostics for checking the quality of regression fits.
Usage
influence(model, ...)
## S3 method for class 'lm'
influence(model, do.coef = TRUE, ...)
## S3 method for class 'glm'
influence(model, do.coef = TRUE, ...)
lm.influence(model, do.coef = TRUE)
qr.influence(qr, res, tol = 10 * .Machine$double.eps)
Arguments
model |
|
do.coef |
logical indicating if the changed |
... |
further arguments passed to or from other methods. |
qr |
|
res |
numerical vector of model residuals. |
tol |
non-negative numerical tolerance. |
Details
The influence.measures()
and other functions listed in
See Also provide a more user oriented way of computing a
variety of regression diagnostics. These all build on
lm.influence
. Note that for GLMs (other than the Gaussian
family with identity link) these are based on one-step approximations
which may be inadequate if a case has high influence.
An attempt is made to ensure that computed hat values that are
probably one are treated as one, and the corresponding rows in
sigma
and coefficients
are NaN
. (Dropping such a
case would normally result in a variable being dropped, so it is not
possible to give simple drop-one diagnostics.)
naresid
is applied to the results and so will fill in
with NA
s it the fit had na.action = na.exclude
.
qr.influence()
is a low level interface to parts of
lm.influence(*, doc.coef = FALSE)
provided for cases where speed
is more important than user safety.
Value
A list containing the following components of the same length or
number of rows n
, which is the number of non-zero weights.
Cases omitted in the fit are omitted unless a na.action
method was used (such as na.exclude
) which restores them.
hat |
a vector containing the diagonal of the ‘hat’ matrix. |
coefficients |
(unless |
sigma |
a vector whose i-th element contains the estimate
of the residual standard deviation obtained when the i-th
case is dropped from the regression. (The approximations needed for
GLMs can result in this being |
wt.res |
a vector of weighted (or for class |
qr.influence()
returns list with the two components hat
and
sigma
, as above but without names
.
Note
The coefficients
returned by the R version
of lm.influence
differ from those computed by S.
Rather than returning the coefficients which result
from dropping each case, we return the changes in the coefficients.
This is more directly useful in many diagnostic measures.
Since these need O(n p^2)
computing time, they can be omitted by
do.coef = FALSE
.
Note that cases with weights == 0
are dropped (contrary
to the situation in S).
If a model has been fitted with na.action = na.exclude
(see
na.exclude
), cases excluded in the fit are
considered here.
References
See the list in the documentation for influence.measures
.
Chambers, J. M. (1992) Linear models. Chapter 4 of Statistical Models in S eds J. M. Chambers and T. J. Hastie, Wadsworth & Brooks/Cole.
See Also
summary.lm
for summary
and related methods;
influence.measures
,
hat
for the hat matrix diagonals,
dfbetas
,
dffits
,
covratio
,
cooks.distance
,
lm
.
Examples
## Analysis of the life-cycle savings data
## given in Belsley, Kuh and Welsch.
summary(lm.SR <- lm(sr ~ pop15 + pop75 + dpi + ddpi,
data = LifeCycleSavings),
correlation = TRUE)
utils::str(lmI <- lm.influence(lm.SR))
qRes <- qr(lm.SR) # == lm.SR $ qr
qrI <- qr.influence(qRes, residuals(lm.SR))
strip <- function(x) lapply(lapply(x, unname), drop)
stopifnot(identical(strip(qrI),
strip(lmI[c("hat", "sigma")])))
## For more "user level" examples, use example(influence.measures)