Last chance! 50% off unlimited learning
Sale ends in
This function implements the score test of Cook83;textualskedastic for testing for heteroskedasticity in a linear regression model.
cook_weisberg(
mainlm,
auxdesign = NA,
hetfun = c("mult", "add", "logmult"),
statonly = FALSE
)
An object of class
"htest"
. If object is
not assigned, its attributes are displayed in the console as a
Either an object of class
"lm"
(e.g., generated by lm
), or
a list of two objects: a response vector and a design matrix. The objects
are assumed to be in that order, unless they are given the names
"X"
and "y"
to distinguish them. The design matrix passed
in a list must begin with a column of ones if an intercept is to be
included in the linear model. The design matrix passed in a list should
not contain factors, as all columns are treated 'as is'. For tests that
use ordinary least squares residuals, one can also pass a vector of
residuals in the list, which should either be the third object or be
named "e"
.
A data.frame
or
matrix
representing an auxiliary design matrix of
containing exogenous variables that (under alternative hypothesis) are
related to error variance, or a character "fitted.values" indicating
that the fitted NA
(the default), the
design matrix of the original regression model is used. An intercept
is included in the auxiliary regression even if the first column of
auxdesign
is not a vector of ones.
A character describing the form of "mult"
(the default), corresponding to
"add"
, corresponding to
"logmult"
, corresponding to
A logical. If TRUE
, only the test statistic value
is returned, instead of an object of class
"htest"
. Defaults to FALSE
.
The Cook-Weisberg Score Test entails fitting an auxiliary
regression model in which the response variable is the vector of
standardised squared residuals
car::ncvTest
, which implements the same
test. Calling car::ncvTest
with var.formula
argument omitted
is equivalent to calling skedastic::cook_weisberg
with
auxdesign = "fitted.values", hetfun = "additive"
. Calling
car::ncvTest
with var.formula = ~ X
(where X
is the
design matrix of the linear model with the intercept column omitted) is
equivalent to calling skedastic::cook_weisberg
with default
auxdesign
and hetfun
values. The
hetfun = "multiplicative"
option has no equivalent in
car::ncvTest
.
mtcars_lm <- lm(mpg ~ wt + qsec + am, data = mtcars)
cook_weisberg(mtcars_lm)
cook_weisberg(mtcars_lm, auxdesign = "fitted.values", hetfun = "logmult")
Run the code above in your browser using DataLab