#Carga 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. estime el siguiente modelo,

price = α + α1(lotsize) + α2(sqrft) + α3(bdrms) + e

library(stargazer)
Modelo_estimado <- lm(formula = price~lotsize+sqrft+bdrms,data = hprice1)
stargazer(Modelo_estimado, title = "Modelo estimado",type = "html",digits = 8)
Modelo estimado
Dependent variable:
price
lotsize 0.00206771***
(0.00064213)
sqrft 0.12277820***
(0.01323741)
bdrms 13.85252000
(9.01014500)
Constant -21.77031000
(29.47504000)
Observations 88
R2 0.67236220
Adjusted R2 0.66066090
Residual Std. Error 59.83348000 (df = 84)
F Statistic 57.46023000*** (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:

a) 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.

#Indice de condicion (usando mctest)

library(stargazer)
library(mctest)
Tabla_indice <- eigprop(Modelo_estimado)
Colum_Ci <- (Tabla_indice$ci)
Indice_condi <- tail(Colum_Ci,n = 1)
stargazer(Indice_condi,title = "Indice de condición", type = "html")
Indice de condición
11.868

De acuerdo con los resultados, K(x)=11.8678, es inferior a 20, se presenta evidencia que la multicolinealidad es leve o no se considera un problema.

# Prueba FG
options(scipen = 9999)
library(stargazer)

#Matriz x
X_mat <- model.matrix(Modelo_estimado)

#Calculo de n y m
m <- ncol(X_mat[,-1]) #Cantidad de variables explicativas k-1
n <- nrow(X_mat)

#calculo de det de R, de una vez
determinante_Rc <- det(cor(X_mat[,-1]))

#Estadístico X2FG
chi_FG <- -(n-1-(2*m+5)/6)*log(determinante_Rc)

#Valor crítico
gl<- m*(m-1)/2
VC <- qchisq(0.05,gl,lower.tail = FALSE)

# P-value
p_value <- pchisq(chi_FG,gl,lower.tail = FALSE) 

#Resultados
FG_resul <- c(chi_FG,VC,p_value)
names(FG_resul) <- c("Estadístico","VC"," P-Value")
stargazer(FG_resul,title = "Resultados de prueba Farrer Glauder",type = "html",digits = 8)
Resultados de prueba Farrer Glauder
Estadístico VC P-Value
31.38122000 7.81472800 0.00000071
#Grafico
library(fastGraph)
shadeDist(xshade = chi_FG, ddist="dchisq",parm1 = gl, lower.tail = FALSE, sub=paste("VC:",VC,"FG",chi_FG))

Como el estadístico de prueba es mayor al valor crítico, y el p-value es menor al nivel de significancia (0.05) se rechaza la hipótesis nula. Por lo tanto hay evidencia de colinealidad en los regresores.

b) Factores inflacionarios de la varianza, presente sus resultados de forma tabular y de forma gráfica.

#Factores inflacionarios

VIF <- diag(solve(cor(X_mat[,-1])))
print(VIF)
##  lotsize    sqrft    bdrms 
## 1.037211 1.418654 1.396663
library(mctest)
mc.plot(Modelo_estimado, vif = 2)

Para un umbral de 2, se tiene evidencia que ninguna de las variables presenta multicolinealidad.

__