Performs the Breusch-Pagan test against heteroskedasticity.
Usage
bptest(formula, varformula = NULL, studentize = TRUE, data = list())
Arguments
formula
a symbolic description for the model to be tested
(or a fitted "lm" object).
varformula
a formula describing only the potential explanatory variables
for the variance (no dependent variable needed). By default the same
explanatory variables are taken as in the main regression model.
studentize
logical. If set to TRUE Koenker's studentized
version of the test statistic will be used.
data
an optional data frame containing the variables in the model.
By default the variables are taken from the environment which bptest is
called from.
Details
The Breusch-Pagan test fits a linear regression model to the residuals
of a linear regression model
(by default the same explanatory variables are taken as in the main regression
model) and rejects if too much of the variance
is explained by the additional explanatory variables.
Under H_0 the test statistic of the Breusch-Pagan test follows a
chi-squared distribution with parameter (the number of regressors without
the constant in the model) degrees of freedom.
Examples can not only be found on this page, but also on the help pages of the
data sets bondyield, currencysubstitution,
growthofmoney, moneydemand,
unemployment, wages.
Value
A list with class "htest" containing the following components:
statistic
the value of the test statistic.
p.value
the p-value of the test.
parameter
degrees of freedom.
method
a character string indicating what type of test was
performed.
data.name
a character string giving the name(s) of the data.
References
T.S. Breusch & A.R. Pagan (1979),
A Simple Test for Heteroscedasticity and Random Coefficient Variation.
Econometrica47, 1287–1294
R. Koenker (1981), A Note on Studentizing a Test for Heteroscedasticity.
Journal of Econometrics17, 107–112.
W. Krämer & H. Sonnberger (1986),
The Linear Regression Model under Test. Heidelberg: Physica
See Also
lm, ncvTest
Examples
## generate a regressor
x <- rep(c(-1,1), 50)
## generate heteroskedastic and homoskedastic disturbances
err1 <- rnorm(100, sd=rep(c(1,2), 50))
err2 <- rnorm(100)
## generate a linear relationship
y1 <- 1 + x + err1
y2 <- 1 + x + err2
## perform Breusch-Pagan test
bptest(y1 ~ x)
bptest(y2 ~ x)