Laboratorio

Ejercicio 1.

Sea el conjunto de datos, tomados en 24 meses correspondientes a los gastos de comercialización (C) de una empresa, el nivel de ventas (V), su coste de personal (P) y los costes de materias primas (M); se trata de estimar el nivel de ventas a partir de las restantes variables.

  1. Verifique los supuestos de Heterocedastidad y Autocorrelación para el modelo propuesto.

  2. En caso de encontrar evidencia de violación de los supuestos, planteados en el literal anterior, corrija a través de un estimador HAC apropiado, el modelo propuesto.

Carga de datos Ejercicio 1

library(readxl)
library(stargazer)
## 
## Please cite as:
##  Hlavac, Marek (2018). stargazer: Well-Formatted Regression and Summary Statistics Tables.
##  R package version 5.2.2. https://CRAN.R-project.org/package=stargazer
ventas_empresa_1_ <- read_excel("C:/Users/Admin/Downloads/ventas_empresa (1).xlsx")
head(ventas_empresa_1_, n=6)
## # A tibble: 6 x 4
##       V     C     P     M
##   <dbl> <dbl> <dbl> <dbl>
## 1   607   197   173   110
## 2   590   208   152   107
## 3   543   181   150    99
## 4   558   194   150   102
## 5   571   192   163   109
## 6   615   196   179   114
modelo_ventas<- lm(V~C+P+M,data = ventas_empresa_1_)
stargazer(modelo_ventas,title = "Modelo Ventas",type = "text")
## 
## Modelo Ventas
## ===============================================
##                         Dependent variable:    
##                     ---------------------------
##                                  V             
## -----------------------------------------------
## C                            0.923***          
##                               (0.223)          
##                                                
## P                            0.950***          
##                               (0.156)          
##                                                
## M                            1.298***          
##                               (0.431)          
##                                                
## Constant                    107.444***         
##                              (18.057)          
##                                                
## -----------------------------------------------
## Observations                    24             
## R2                             0.980           
## Adjusted R2                    0.977           
## Residual Std. Error       9.506 (df = 20)      
## F Statistic           323.641*** (df = 3; 20)  
## ===============================================
## Note:               *p<0.1; **p<0.05; ***p<0.01

Comprobando heterocedasticidad con la Prueba de White

library(stargazer)
residuales<-modelo_ventas$residuals
data_regresion_aux<-as.data.frame(cbind(residuales,ventas_empresa_1_))
regresion_auxiliar<-lm(formula = I(residuales**2)~C+P+M+I(C**2)+I(P**2)+I(M**2)+C*P+C*M+P*M,data = data_regresion_aux)
resumen<-summary(regresion_auxiliar)
R_2<-resumen$r.squared
n<-nrow(data_regresion_aux)
LM_w<-n*R_2
gl<-2+2+1
VC<-qchisq(p = 0.95,df =  gl)
P_value<-1-pchisq(q = LM_w,df=gl)
salida_prueba_white<-c(LM_w,VC,P_value)
names(salida_prueba_white)<-c("LMw","Valor Critico","P_value")
stargazer(salida_prueba_white,title = "Prueba de White",type = "text",digits = 6)
## 
## Prueba de White
## ===============================
## LMw      Valor Critico P_value 
## -------------------------------
## 7.122650   11.070500   0.211677
## -------------------------------

El estadistico de prueba(7.122) es menor que el valor critico(11.07) por tanto No se rechaza la hipotesis nula,es decir hay evidencia de homocedasticidad es decir que la varianza de los residuos es constante.

Comprobando autocorrelación de primer orden con la prueba Durbin-Watson

library(car)
## Loading required package: carData
durbinWatsonTest(modelo_ventas,simulate = TRUE,reps = 1000000)
##  lag Autocorrelation D-W Statistic  p-value
##    1       0.3013888      1.299572 0.053306
##  Alternative hypothesis: rho != 0

No Se rechaza Ho es decir nuestro p-value(0.052)es mayor que el nivel de significancia(0.05) nos demuestra que no hay evidencia de autocorrelacion de primer orden en el modelo ventas,dl=1.101 y dy=1.656,el estadistico de prueba es no concluyente debido a que cae en medio de dl y dy.

Comprobando autocorrelación de segundo orden con la prueba Breusch-Godfrey

library(lmtest)
## Warning: package 'lmtest' was built under R version 4.0.2
## Loading required package: zoo
## Warning: package 'zoo' was built under R version 4.0.2
## 
## Attaching package: 'zoo'
## The following objects are masked from 'package:base':
## 
##     as.Date, as.Date.numeric
bgtest(modelo_ventas,order = 2)
## 
##  Breusch-Godfrey test for serial correlation of order up to 2
## 
## data:  modelo_ventas
## LM test = 3.8409, df = 2, p-value = 0.1465

No se rechaza la Ho el valor-P(0.1465) es mayor que el nivel de significancia(0.05) es decir no hay evidencia de autocorrelacion de segundo orden en los residuos del modelo ventas

No es necesario usar ninguna correccion ,el modelo ventas no tiene problemas de heterocedasticidad ni de autocorrelación y se puede afirmar que sus residuos son homocedásticos y no autocorrelacionados.

Ejercicio 2.

Se tienen los datos para trabajadores hombres, con ellos estime un modelo donde educ es años de escolaridad, como variable dependiente, y como regresores sibs (número de hermanos), meduc (años de escolaridad de la madre) y feduc (años de escolaridad del padre)

  1. Verifique los supuestos de Heterocedastidad y Autocorrelación para el modelo propuesto.

  2. En caso de encontrar evidencia de violación de los supuestos, planteados en el literal anterior, corrija a través de un estimador HAC apropiado, el modelo propuesto.

Carga de datos Ejercicio 2

library(readr)
library(stargazer)
load("C:/Users/Admin/Downloads/wage2 (1).RData")
head(wage2, n=6)
##   wage hours  IQ KWW educ exper tenure age married black south urban sibs
## 1  769    40  93  35   12    11      2  31       1     0     0     1    1
## 2  808    50 119  41   18    11     16  37       1     0     0     1    1
## 3  825    40 108  46   14    11      9  33       1     0     0     1    1
## 4  650    40  96  32   12    13      7  32       1     0     0     1    4
## 5  562    40  74  27   11    14      5  34       1     0     0     1   10
## 6 1400    40 116  43   16    14      2  35       1     1     0     1    1
##   brthord meduc feduc    lwage
## 1       2     8     8 6.645091
## 2      NA    14    14 6.694562
## 3       2    14    14 6.715384
## 4       3    12    12 6.476973
## 5       6     6    11 6.331502
## 6       2     8    NA 7.244227
modelo_educ<- lm(educ~sibs+meduc+feduc,data =  wage2)
stargazer(modelo_educ,title = "Modelo Educ",type = "text")
## 
## Modelo Educ
## ===============================================
##                         Dependent variable:    
##                     ---------------------------
##                                educ            
## -----------------------------------------------
## sibs                         -0.094***         
##                               (0.034)          
##                                                
## meduc                        0.131***          
##                               (0.033)          
##                                                
## feduc                        0.210***          
##                               (0.027)          
##                                                
## Constant                     10.364***         
##                               (0.359)          
##                                                
## -----------------------------------------------
## Observations                    722            
## R2                             0.214           
## Adjusted R2                    0.211           
## Residual Std. Error      1.987 (df = 718)      
## F Statistic           65.198*** (df = 3; 718)  
## ===============================================
## Note:               *p<0.1; **p<0.05; ***p<0.01

Comprobando heterocedasticidad con la Prueba de White

library(lmtest)
prueba_white_lmtest_edu<-bptest(modelo_educ,~I(sibs**2)+I(meduc**2)+I(feduc**2)+sibs*meduc+sibs*feduc+meduc*feduc,data = wage2)
print(prueba_white_lmtest_edu)
## 
##  studentized Breusch-Pagan test
## 
## data:  modelo_educ
## BP = 15.537, df = 9, p-value = 0.0772

El p-value(0.0772) es mayor que el nivel de significancia(0.05) por tanto No se rechaza la hipotesis nula,es decir hay evidencia de homocedasticidad es decir que la varianza de los residuos es constante en el modelo educ

Comprobando autocorrelación de primer orden con la prueba Durbin-Watson

library(car)
durbinWatsonTest(modelo_educ,simulate = TRUE,reps = 1000)
##  lag Autocorrelation D-W Statistic p-value
##    1      0.05018452      1.898938   0.126
##  Alternative hypothesis: rho != 0

No Se rechaza Ho es decir nuestro p-value(0.176)es mayor que el nivel de significancia(0.05) nos demuestra que no hay evidencia de autocorrelacion de primer orden en el modelo educ.

Comprobando autocorrelación de segundo orden con la prueba Breusch-Godfrey

library(lmtest)
bgtest(modelo_educ,order = 2)
## 
##  Breusch-Godfrey test for serial correlation of order up to 2
## 
## data:  modelo_educ
## LM test = 4.5747, df = 2, p-value = 0.1015

No se rechaza la Ho el valor-P(0.1015) es mayor que el nivel de significancia(0.05) es decir no hay evidencia de autocorrelacion de orden superior en los residuos del modelo

No es necesario usar ninguna correccion ,el modelo educ no tiene problemas de heterocedasticidad ni de autocorrelación y se puede afirmar que sus residuos son homocedásticos y no autocorrelacionados.

Ejercicio 3.

El sueldo inicial medio (salary) para los recién graduados de la Facultad de Economía se determina mediante una función lineal: log(salary)=f(LSAT,GPA ,log(libvol),log(cost),rank)

Donde LSAT es la media del puntaje LSAT del grupo de graduados, GPA es la media del GPA (promedio general) del grupo, libvol es el número de volúmenes en la biblioteca de la Facultad de Economía, cost es el costo anual por asistir a dicha facultad y rank es una clasificación de las escuelas de Economía (siendo rank 1 la mejor)

  1. Verifique los supuestos de Heterocedastidad y Autocorrelación para el modelo propuesto.

  2. En caso de encontrar evidencia de violación de los supuestos, planteados en el literal anterior, corrija a través de un estimador HAC apropiado, el modelo propuesto.

Carga de datos Ejercicio 3

library(readr)
library(stargazer)
load("C:/Users/Admin/Downloads/LAWSCH85 (1).RData")
head(LAWSCH85, n=6)
##   rank salary  cost LSAT  GPA libvol faculty age clsize north south east west
## 1  128  31400  8340  155 3.15    216      45  12    210     1     0    0    0
## 2  104  33098  6980  160 3.50    256      44 113    190     0     1    0    0
## 3   34  32870 16370  155 3.25    424      78 134    270     0     0    1    0
## 4   49  35000 17566  157 3.20    329     136  89    277     0     0    1    0
## 5   95  33606  8350  162 3.38    332      56  70    150     0     0    0    1
## 6   98  31700  8350  161 3.40    311      40  29    156     0     0    0    1
##    lsalary  studfac top10 r11_25 r26_40 r41_60  llibvol    lcost
## 1 10.35456 4.666667     0      0      0      0 5.375278 9.028818
## 2 10.40723 4.318182     0      0      0      0 5.545177 8.850804
## 3 10.40032 3.461539     0      0      1      0 6.049734 9.703206
## 4 10.46310 2.036765     0      0      0      1 5.796058 9.773721
## 5 10.42246 2.678571     0      0      0      0 5.805135 9.030017
## 6 10.36407 3.900000     0      0      0      0 5.739793 9.030017
modelo_salary<- lm(lsalary~LSAT+GPA+llibvol+lcost+rank,data =  LAWSCH85)
stargazer(modelo_salary,title = "Modelo salary",type = "text")
## 
## Modelo salary
## ===============================================
##                         Dependent variable:    
##                     ---------------------------
##                               lsalary          
## -----------------------------------------------
## LSAT                           0.005           
##                               (0.004)          
##                                                
## GPA                          0.248***          
##                               (0.090)          
##                                                
## llibvol                      0.095***          
##                               (0.033)          
##                                                
## lcost                          0.038           
##                               (0.032)          
##                                                
## rank                         -0.003***         
##                              (0.0003)          
##                                                
## Constant                     8.343***          
##                               (0.533)          
##                                                
## -----------------------------------------------
## Observations                    136            
## R2                             0.842           
## Adjusted R2                    0.836           
## Residual Std. Error      0.112 (df = 130)      
## F Statistic          138.230*** (df = 5; 130)  
## ===============================================
## Note:               *p<0.1; **p<0.05; ***p<0.01

Comprobando heterocedasticidad con la Prueba de White

library(lmtest)
prueba_white_lmtest_edu<-bptest(modelo_salary,~I(LSAT**2)+I(GPA**2)+I(llibvol**2)+I(lcost**2)+I(rank**2)+LSAT*GPA+LSAT*llibvol+LSAT*lcost+LSAT*rank+GPA*llibvol+GPA*lcost+GPA*rank+llibvol*lcost+llibvol*rank+lcost*rank,data = LAWSCH85)
print(prueba_white_lmtest_edu)
## 
##  studentized Breusch-Pagan test
## 
## data:  modelo_salary
## BP = 34.295, df = 20, p-value = 0.0242

El p-value(0.0242) es menor que el nivel de significancia(0.05) por tanto se rechaza la hipotesis nula,es decir hay evidencia de heterocedasticidad en la varianza de los residuos del modelo salary

Comprobando autocorrelación de primer orden con la prueba Durbin-Watson

library(car)
durbinWatsonTest(modelo_salary,simulate = TRUE,reps = 1000)
##  lag Autocorrelation D-W Statistic p-value
##    1        0.144458      1.705846    0.07
##  Alternative hypothesis: rho != 0

No Se rechaza Ho es decir nuestro p-value(0.092)es mayor que el nivel de significancia(0.05) nos demuestra que no hay evidencia de autocorrelacion de primer orden en el modelo salary

Comprobando autocorrelación de segundo orden con la prueba Breusch-Godfrey

library(lmtest)
bgtest(modelo_salary,order = 2)
## 
##  Breusch-Godfrey test for serial correlation of order up to 2
## 
## data:  modelo_salary
## LM test = 3.2116, df = 2, p-value = 0.2007

No se rechaza la Ho el valor-P(0.2007) es mayor que el nivel de significancia(0.05) es decir no hay evidencia de autocorrelacion de orden superior en los residuos del modelo salary.

Hay problema de heterocedasticidad en el modelo salary

sin corregir

options(scipen = 999999)
library(lmtest)
coeftest(modelo_salary)
## 
## t test of coefficients:
## 
##                Estimate  Std. Error t value              Pr(>|t|)    
## (Intercept)  8.34322596  0.53251920 15.6675 < 0.00000000000000022 ***
## LSAT         0.00469647  0.00401049  1.1710              0.243722    
## GPA          0.24752388  0.09003704  2.7491              0.006826 ** 
## llibvol      0.09499321  0.03325435  2.8566              0.004988 ** 
## lcost        0.03755380  0.03210608  1.1697              0.244270    
## rank        -0.00332459  0.00034846 -9.5408 < 0.00000000000000022 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

corregido(Usando un estimador HAC)

options(scipen = 999999)
library(sandwich)
## Warning: package 'sandwich' was built under R version 4.0.2
estimacion_omega_1<-vcovHC(modelo_salary,type="HC0")
coeftest(modelo_salary,vcov. = estimacion_omega_1)
## 
## t test of coefficients:
## 
##                Estimate  Std. Error  t value              Pr(>|t|)    
## (Intercept)  8.34322596  0.50982819  16.3648 < 0.00000000000000022 ***
## LSAT         0.00469647  0.00447644   1.0492             0.2960540    
## GPA          0.24752388  0.08861505   2.7932             0.0060073 ** 
## llibvol      0.09499321  0.02703852   3.5133             0.0006095 ***
## lcost        0.03755380  0.03258921   1.1523             0.2512966    
## rank        -0.00332459  0.00030126 -11.0356 < 0.00000000000000022 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Al evaluar el modelo solo adolece de heterocedasticidad y se corrige mediante el estimador HAC.se podra tener mayor confianza en los resultados que proporcione.