library(wooldridge)
data(hprice1)
head(force(hprice1), n=5)
## 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
Ejercicio 1: Estimar Modelo.
library(stargazer)
HetEst_HP1<-lm(formula = price~lotsize+sqrft+bdrms, data = hprice1)
stargazer(HetEst_HP1, title = "Estimador del modelo de Heterocedasticidad HP1", type = "html")
Estimador del modelo de Heterocedasticidad HP1
|
|
|
|
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
|
Uso de la librería “lmtest”
library(lmtest)
prueba_white<-bptest(HetEst_HP1,~I(lotsize^2)+I(bdrms^2)+I(sqrft^2)+lotsize*bdrms*sqrft, data = hprice1)
print(prueba_white)
##
## studentized Breusch-Pagan test
##
## data: HetEst_HP1
## BP = 33.803, df = 10, p-value = 0.0001995
Como 0.0001995<0.05 Se rechaza la H0, por lo tanto hay evidencia
de que la varianza de los residuos es Heterocedasticidad.
Graficamente.
library(fastGraph)
alphan_sig<-0.05
gl<-3+3+3
u_i<-HetEst_HP1$residuals
data_prueba_white<-as.data.frame(cbind(u_i,hprice1))
regresion_auxiliar<-lm(formula = I(u_i^2)~lotsize+sqrft+bdrms+I(lotsize^2)+I(sqrft^2)+I(bdrms^2)+I(lotsize*sqrft)+I(lotsize*bdrms)+I(sqrft*bdrms),data = data_prueba_white)
sumario<-summary(regresion_auxiliar)
n<-nrow(data_prueba_white)
R_2<-sumario$r.squared
LM_w<-n*R_2
VC<-qchisq(p = 0.95, df = gl)
shadeDist(LM_w, ddist = "dchisq",
parm1 = gl,
lower.tail = FALSE, xmin = 0,
sub=paste("VC:", round(VC,2), " ", "LM_w", round(LM_w,2)))
