Base de Datos
library(wooldridge)
data(hprice1)
head(force(hprice1),n=5) #mostrar 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
1. Estimar el Modelo
library(stargazer)
Modelo<-lm(formula = price~lotsize+sqrft+bdrms,data = hprice1)
stargazer(Modelo, type = "html",title = "Modelo Wooldridge")
Modelo Wooldridge
|
|
|
|
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
|
2. Verifique si hay evidencia de la independencia de los regresores (no colinealidad), a través de:
- Indice de condición y prueba de FG, presente sus resultados de manera tabular en ambos casos y para la prueba de FG presente también sus resultados de forma gráfica usando la librería fastGraph
i) Indice de Condicion
Calculo de Manera Manual
library(stargazer)
options(scipen = 999999)
#Calcular la Matriz X
Mat_X<- model.matrix(Modelo)
stargazer(head(Mat_X,n = 10), type = "html", title = "Matriz X")
Matriz X
|
|
|
|
(Intercept)
|
lotsize
|
sqrft
|
bdrms
|
|
|
|
1
|
1
|
6,126
|
2,438
|
4
|
|
2
|
1
|
9,903
|
2,076
|
3
|
|
3
|
1
|
5,200
|
1,374
|
3
|
|
4
|
1
|
4,600
|
1,448
|
3
|
|
5
|
1
|
6,095
|
2,514
|
4
|
|
6
|
1
|
8,566
|
2,754
|
5
|
|
7
|
1
|
9,000
|
2,067
|
3
|
|
8
|
1
|
6,210
|
1,731
|
3
|
|
9
|
1
|
6,000
|
1,767
|
3
|
|
10
|
1
|
2,892
|
1,890
|
3
|
|
|
#Calcular la Matriz XX
Mat_XX<-t(Mat_X)%*%Mat_X
stargazer(Mat_XX, type = "html", title = "Sigma Matriz del modelo")
Sigma Matriz del modelo
|
|
|
|
(Intercept)
|
lotsize
|
sqrft
|
bdrms
|
|
|
|
(Intercept)
|
88
|
793,748
|
177,205
|
314
|
|
lotsize
|
793,748
|
16,165,159,010
|
1,692,290,257
|
2,933,767
|
|
sqrft
|
177,205
|
1,692,290,257
|
385,820,561
|
654,755
|
|
bdrms
|
314
|
2,933,767
|
654,755
|
1,182
|
|
|
#Calcular la Matriz de Normalizacion
Sn<-solve(diag(sqrt(diag(Mat_XX))))
stargazer(Sn, type = "html", title = "Matriz de Normalización ")
Matriz de Normalización
|
|
|
0.107
|
0
|
0
|
0
|
|
0
|
0.00001
|
0
|
0
|
|
0
|
0
|
0.0001
|
0
|
|
0
|
0
|
0
|
0.029
|
|
|
#Calcular la matriz XX normalizada
XX_norm<-(Sn%*%Mat_XX)%*%Sn
stargazer(XX_norm, type = "html", digits = 4, title = "Sigma Matriz Normalizada")
Sigma Matriz Normalizada
|
|
|
1
|
0.6655
|
0.9617
|
0.9736
|
|
0.6655
|
1
|
0.6776
|
0.6712
|
|
0.9617
|
0.6776
|
1
|
0.9696
|
|
0.9736
|
0.6712
|
0.9696
|
1
|
|
|
#Calcular el Indice de Correlacion
lambdas<-eigen(XX_norm, symmetric =TRUE)
stargazer(lambdas$values, type = "html", title = "Lambdas")
Lambdas
|
|
|
3.482
|
0.455
|
0.039
|
0.025
|
|
|
k<-sqrt(max(lambdas$values)/min(lambdas$values))
print(k)
[1] 11.86778
ii) Usando la libreria mctest
library(mctest)
eigprop(mod = Modelo)
##
## Call:
## eigprop(mod = Modelo)
##
## Eigenvalues CI (Intercept) lotsize sqrft bdrms
## 1 3.4816 1.0000 0.0037 0.0278 0.0042 0.0029
## 2 0.4552 2.7656 0.0068 0.9671 0.0061 0.0051
## 3 0.0385 9.5082 0.4726 0.0051 0.8161 0.0169
## 4 0.0247 11.8678 0.5170 0.0000 0.1737 0.9750
##
## ===============================
## Row 2==> lotsize, proportion 0.967080 >= 0.50
## Row 3==> sqrft, proportion 0.816079 >= 0.50
## Row 4==> bdrms, proportion 0.975026 >= 0.50
Como el indice de condicion es 11, la multicolinealidad es leve, por lo que no se considera un problema para el modelo.
iii) Prueba de Farrar-Glaubar
options(scipen = 999999)
library(psych)
library(fastGraph)
FG_test<- cortest.bartlett(Mat_X[,-1])
print(FG_test)
## $chisq
## [1] 31.38122
##
## $p.value
## [1] 0.0000007065806
##
## $df
## [1] 3
#Calcular el Valor Critico
VC<- qchisq(p = 0.95,df = FG_test$df)
print(VC)
## [1] 7.814728
#Graficamos el Estadistico de Prueba
shadeDist(xshade = FG_test$chisq,ddist = "dchisq",parm1 = FG_test$df,lower.tail = FALSE,sub=paste("VC:",VC,"FG:",FG_test$chisq))

El estadistico de prueba FG es mayor al Valor critico (31.38 > 7.814), por lo tanto, se rechaza la Hipotesis Nula, es decir, existe evidencia de que hay presencia de multicolinealidad entre las variables explicativas del modelo.
- Factores inflacionarios de la varianza, presente sus resultados de forma tabular y de forma gráfica.
VIFs
#Usando la libreria car
library(car)
library(stargazer)
VIFs_car<-vif(Modelo)
stargazer(VIFs_car, type = "html", title = "Factores Inflacionarios de la Varianza")
Factores Inflacionarios de la Varianza
|
|
|
lotsize
|
sqrft
|
bdrms
|
|
|
|
1.037
|
1.419
|
1.397
|
|
|
#Usando la libreria mctest
library(mctest)
mc.plot(mod = Modelo, vif = 2)

Los Factores inflacionarios de la Varianza son menores al doble de la varianza minima esperada, por lo que hay evidencia de una multicolinealidad leve