Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Solución
En el código mostrado a continuación se simulan observaciones en las cuales
la varianza de
E(i) no es constante ya que para generar los datos se usa la instrucción
ei <- rnorm(n=n, sd=x2), es decir que la varianza depende de la variable x2.
Programa en R
gen_data <- function(n) {
x1 <- rpois(n, lambda=5)
x2 <- rbinom(n, size=6, prob=0.4)
ei <- rnorm(n=n, sd=x2)
y <- -3 + 2 * x1 + 4 * x2 + ei
data.frame(y, x1, x2)
}
n <- 200
datos <- gen_data(n=n)
mod <- lm(y ~ x1 + x2, data=datos) # Modelo de interes
Vamos a aplicar la prueba de forma manual.
Programa en R
ei <- resid(mod)
fit <- lm(ei^2 ~ x1 + x2, data=datos) # Modelando ei^2 ~ x1 + x2
R2 <- summary(fit)$r.squared
k <- 2
estadistico <- n * R2
valorP <- pchisq(q=estadistico, df=k, lower.tail=FALSE)
cbind(estadistico, valorP)
## estadistico valorP
## [1,] 36.79662 1.022622e-08
Programa en R
Vamos a aplicar la prueba de forma automática con la función bptest.
library(lmtest)
bptest(mod)
##
## studentized Breusch-Pagan test
##
## data: mod
## BP = 43.12, df = 2, p-value = 4.331e-10
De la salida anterior se observa que el valor-P es menor que el nivel de
significancia usual de 5%, por lo tanto, hay evidencias para decir que no
se cumple la homocedasticidad de los ei.
Test de White
El test de Breusch-Pagan sólo detecta formas lineales de
heterocedasticidad. Para resolverlo, el test de White, propuesto
por White (1980), permite contrastar no linealidades utilizando los
cuadrados y los productos cruzados de todos los regresores. Si k=2 el
test de White crea el siguiente modelo de regresión:
Este test se puede implementar por medio de la función bptest pero
especificando los términos no lineales de la expresión anterior.
Ejemplo
Aplicar White test para los datos simulados del ejemplo anterior.
Solución
Para aplicar el test se usa el argumento varformula y se escribe la
fórmula con los términos no lineales: