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:

  1. 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.

  1. 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