#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
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)
| 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 |
#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")
| 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)
| 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.
#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.
__