Ejercicio de prueba de Heterocedasticidad
Importación de datos
library(wooldridge)
data(hprice1)
head(force(hprice1),n=5) #Se muestras las primeras 5 observaciones
## price assess bdrms lotsize sqrft colonial lprice lassess llotsize lsqrft
## 1 300 349.1 4 6126 2438 1 5.703783 5.855359 8.720297 7.798934
## 2 370 351.5 3 9903 2076 1 5.913503 5.862210 9.200593 7.638198
## 3 191 217.7 3 5200 1374 0 5.252274 5.383118 8.556414 7.225482
## 4 195 231.8 3 4600 1448 1 5.273000 5.445875 8.433811 7.277938
## 5 373 319.1 4 6095 2514 1 5.921578 5.765504 8.715224 7.829630
Estimación del modelo
library(stargazer)
modelo_price<-lm(formula = price~lotsize+sqrft+bdrms,data = hprice1)
stargazer(modelo_price,title = "Modelo Price",type = "html")
Modelo Price
|
|
|
|
Dependent variable:
|
|
|
|
|
|
price
|
|
|
|
lotsize
|
0.002***
|
|
|
(0.001)
|
|
|
|
|
sqrft
|
0.123***
|
|
|
(0.013)
|
|
|
|
|
bdrms
|
13.853
|
|
|
(9.010)
|
|
|
|
|
Constant
|
-21.770
|
|
|
(29.475)
|
|
|
|
|
|
|
Observations
|
88
|
|
R2
|
0.672
|
|
Adjusted R2
|
0.661
|
|
Residual Std. Error
|
59.833 (df = 84)
|
|
F Statistic
|
57.460*** (df = 3; 84)
|
|
|
|
Note:
|
p<0.1; p<0.05; p<0.01
|
Prueba de White con libreria lmtest
library(lmtest)
prueba_white<-bptest(modelo_price,~I(lotsize^2)+I(sqrft^2)+I(bdrms^2)+lotsize*sqrft*bdrms,data = hprice1)
print(prueba_white)
##
## studentized Breusch-Pagan test
##
## data: modelo_price
## BP = 33.803, df = 10, p-value = 0.0001995
#Interpretación: Al ser el p-value menor que el nivel de significancia, se evidencia que la varianza de los residuos es heterocedastica, por ende se rechaza la hipotesis nula
Prueba White con FastGraph
library(fastGraph)
options(scipen = 99999)
White<-bptest(modelo_price,~I(lotsize^2)+I(sqrft^2)+I(bdrms^2)+lotsize*sqrft*bdrms,data = hprice1)
W<-White$statistic
pv<-White$p.value
gl<-3+3+3
VC<-qchisq(0.95,df=gl,lower.tail = FALSE)
PV<-0.05
shadeDist(xshade = W, ddist = "dchisq", parm1 = gl, lower.tail = FALSE, sub=paste("LMw:",W,"VC:",VC))

shadeDist(xshade = pv, ddist = "dchisq", parm1 = gl, lower.tail = TRUE, sub=paste("pv:",pv,"PV:",PV))
