##Importación de datos
library(wooldridge)
datos_parcial<-wooldridge::hprice2
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
library(stargazer)
##
## Please cite as:
## Hlavac, Marek (2022). stargazer: Well-Formatted Regression and Summary Statistics Tables.
## R package version 5.2.3. https://CRAN.R-project.org/package=stargazer
modelo_precio<-lm(log(price)~log(nox)+log(dist) +rooms +stratio, data = hprice2)
stargazer(modelo_precio,type = "html",title = "Modelo Price")
Dependent variable: | |
log(price) | |
log(nox) | -0.954*** |
(0.117) | |
log(dist) | -0.134*** |
(0.043) | |
rooms | 0.255*** |
(0.019) | |
stratio | -0.052*** |
(0.006) | |
Constant | 11.084*** |
(0.318) | |
Observations | 506 |
R2 | 0.584 |
Adjusted R2 | 0.581 |
Residual Std. Error | 0.265 (df = 501) |
F Statistic | 175.855*** (df = 4; 501) |
Note: | p<0.1; p<0.05; p<0.01 |
summary(modelo_precio)
Call: lm(formula = log(price) ~ log(nox) + log(dist) + rooms + stratio, data = hprice2)
Residuals: Min 1Q Median 3Q Max -1.05890 -0.12427 0.02128 0.12882 1.32531
Coefficients: Estimate Std. Error t value Pr(>|t|)
(Intercept) 11.083861 0.318111 34.843 < 2e-16 log(nox)
-0.953539 0.116742 -8.168 2.57e-15 log(dist) -0.134339
0.043103 -3.117 0.00193 ** rooms 0.254527 0.018530 13.736 < 2e-16
stratio -0.052451 0.005897 -8.894 < 2e-16
— Signif. codes: 0 ‘’ 0.001 ’’ 0.01 ’’ 0.05
‘.’ 0.1 ’ ’ 1
Residual standard error: 0.265 on 501 degrees of freedom Multiple R-squared: 0.584, Adjusted R-squared: 0.5807 F-statistic: 175.9 on 4 and 501 DF, p-value: < 2.2e-16
##Ajute de residuos
library(fitdistrplus)
## Loading required package: MASS
##
## Attaching package: 'MASS'
## The following object is masked from 'package:wooldridge':
##
## cement
## Loading required package: survival
fit_normal<-fitdist(data =modelo_precio$residuals,distr = "norm")
plot(fit_normal)
summary(fit_normal)
## Fitting of the distribution ' norm ' by maximum likelihood
## Parameters :
## estimate Std. Error
## mean 6.225592e-18 0.011722460
## sd 2.636902e-01 0.008288494
## Loglikelihood: -43.49487 AIC: 90.98974 BIC: 99.44282
## Correlation matrix:
## mean sd
## mean 1.000000e+00 3.451871e-13
## sd 3.451871e-13 1.000000e+00
##Prueba JB
library(tseries)
## Registered S3 method overwritten by 'quantmod':
## method from
## as.zoo.data.frame zoo
salida_JB<-jarque.bera.test(modelo_precio$residuals)
print(salida_JB)
##
## Jarque Bera Test
##
## data: modelo_precio$residuals
## X-squared = 480.14, df = 2, p-value < 2.2e-16
Interpretación: Dado que el valor p es menor que 0.05 (alfa), se rechaza la hipótesis nula. Esto significa que hay una evidencia muy fuerte para concluir que los datos no siguen una distribución normal. ##Prueba KS
library(nortest)
prueba_KS<-lillie.test(modelo_precio$residuals)
print(prueba_KS)
##
## Lilliefors (Kolmogorov-Smirnov) normality test
##
## data: modelo_precio$residuals
## D = 0.082888, p-value = 7.618e-09
Interpretación: Dado que el valor p es menor que 0.05 (alfa), se rechaza la hipótesis nula.Los residuales no siguen una distribución normal.
##Prueba Shapiro - Wilk
salida_SW<-shapiro.test(modelo_precio$residuals)
print(salida_SW)
##
## Shapiro-Wilk normality test
##
## data: modelo_precio$residuals
## W = 0.91733, p-value = 5.123e-16
Dado que el valor p es inferior al nivel de significancia, se rechaza la hipótesis nula. Esto significa que hay una evidencia de que los residuos no siguen una distribución normal.
##Cálculo del Indice de Condición usando librería “mctest”
library(mctest)
X_mat<-model.matrix(modelo_precio)
mctest(mod = modelo_precio)
##
## Call:
## omcdiag(mod = mod, Inter = TRUE, detr = detr, red = red, conf = conf,
## theil = theil, cn = cn)
##
##
## Overall Multicollinearity Diagnostics
##
## MC Results detection
## Determinant |X'X|: 0.2003 0
## Farrar Chi-Square: 808.4964 1
## Red Indicator: 0.4344 0
## Sum of Lambda Inverse: 10.2562 0
## Theil's Method: 0.0663 0
## Condition Number: 69.1140 1
##
## 1 --> COLLINEARITY is detected by the test
## 0 --> COLLINEARITY is not detected by the test
La presencia de multicolinealidad en el modelo, indicada por el índice de condición de 69.1140, significa que algunas de las variables predictoras están correlacionadas entre sí. Esto puede afectar la estabilidad y la interpretación de los coeficientes estimados en el modelo. Es importante tomar medidas para resolver este problema y mejorar la confiabilidad de los resultados obtenidos. ##Cálculo de FG usando “mctest”
library(mctest)
mctest::omcdiag(mod = modelo_precio)
##
## Call:
## mctest::omcdiag(mod = modelo_precio)
##
##
## Overall Multicollinearity Diagnostics
##
## MC Results detection
## Determinant |X'X|: 0.2003 0
## Farrar Chi-Square: 808.4964 1
## Red Indicator: 0.4344 0
## Sum of Lambda Inverse: 10.2562 0
## Theil's Method: 0.0663 0
## Condition Number: 69.1140 1
##
## 1 --> COLLINEARITY is detected by the test
## 0 --> COLLINEARITY is not detected by the test
El valor de la estadística de prueba es de 808.4964 y el indicador de detección es de 1, lo que significa que se ha encontrado la presencia de multicolinealidad. Esto implica que algunas de las variables predictoras están correlacionadas entre sí, lo cual puede afectar la interpretación y la fiabilidad de los resultados del modelo. ## Cálculo de los VIF’s usando “performance”
library(performance)
VIFs<-multicollinearity(x = modelo_precio,verbose = FALSE)
##Prueba White
library(lmtest)
## Loading required package: zoo
##
## Attaching package: 'zoo'
## The following objects are masked from 'package:base':
##
## as.Date, as.Date.numeric
prueba_White<-bptest(modelo_precio,~I(log(nox)^2)+I(log(dist)^2)
+I(rooms^2)+I(stratio^2)+log(nox)*log(dist)
+log(nox)*rooms+log(nox)*stratio,data
= hprice2)
print(prueba_White)
##
## studentized Breusch-Pagan test
##
## data: modelo_precio
## BP = 141.12, df = 11, p-value < 2.2e-16
Dado que el valor p es inferior al nivel de significancia de 0.05), se tiene una evidencia muy fuerte en contra de la hipótesis nula. Por lo tanto, se rechaza la hipótesis nula en favor de la hipótesis alternativa, lo que indica la presencia de heterocedasticidad en los residuos del modelo. ##Prueba del Multiplicador de Lagrange
library(lmtest)
bgtest(modelo_precio,order = 2)
##
## Breusch-Godfrey test for serial correlation of order up to 2
##
## data: modelo_precio
## LM test = 227.03, df = 2, p-value < 2.2e-16
En este caso, se rechazaría la hipótesis nula de no autocorrelación y se concluiría que existe evidencia estadística de autocorrelación en los residuos del modelo.