Enunciado:
Sea el conjunto de datos, indicados en el enlace de abajo, 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.
#Importando datos
library(readxl)
ventas_empresa <- read_excel("E:/ARCHIVOS_LAB#3_EMA/ventas_empresa.xlsx")
library(stargazer)
# Corriendo el modelo de regresion
modelo_ventas<- lm(formula = V~C+P+M,data = ventas_empresa )
stargazer(modelo_ventas,title = "Modelo Estimado de Ventas",type ="html")
| 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 |
Heterocedásticidad (Prueba de White)
Usando librería “lmtest”
library(lmtest)
prueba_white<-bptest(modelo_ventas,~I(C^2)+I(P^2)+I(M^2)+C*P+C*M+P*M,data = ventas_empresa)
print(prueba_white)
##
## studentized Breusch-Pagan test
##
## data: modelo_ventas
## BP = 7.1227, df = 9, p-value = 0.6244
Como 0.6244>0.05 No se rechaza la H0, por lo tanto hay evidencia de que la varianza de los residuos es homocedástica.
library(lmtest)
dwtest(modelo_ventas,alternative = "two.sided",iterations = 1000)
##
## Durbin-Watson test
##
## data: modelo_ventas
## DW = 1.2996, p-value = 0.05074
## alternative hypothesis: true autocorrelation is not 0
Como 0.05=0.05 se rechaza la Ho,por lo que hay evidencia de autocorrelación de primer orden en los residuos.
library(lmtest)
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
Como 0.1465>0.05 No se rechaza H0, por lo tanto puede concluirse que los residuos del modelo, no siguen autocorrelación de orden “2”
El modelo solo presenta autocorrelación de primer orden, por lo que se utilizara el estimador HAC Newey West
library(lmtest)
library(sandwich)
# Corrección
estimacion_omega<-NeweyWest(modelo_ventas,lag = 1)
coeftest(modelo_ventas,vcov. = estimacion_omega)
##
## t test of coefficients:
##
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 107.44351 16.59810 6.4732 2.600e-06 ***
## C 0.92257 0.13426 6.8713 1.123e-06 ***
## P 0.95018 0.10505 9.0448 1.664e-08 ***
## M 1.29779 0.41401 3.1347 0.005217 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Enunciado:
Se tienen los datos para trabajadores hombres,en el archivo adjunto, 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.
library(stargazer)
load("E:/ARCHIVOS_LAB#3_EMA/wage2.RData")
# Corriendo el modelo de regresion
modelo_escolaridad<-lm(formula= educ~sibs+meduc+feduc, data=wage2)
stargazer(modelo_escolaridad,title = "Modelo estimado de escolaridad",type = "html")
| 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 |
Heterocedásticidad (Prueba de White)
Usando librería “lmtest”
library(lmtest)
prueba_white_1<-bptest(modelo_escolaridad,~I(sibs^2)+I(meduc^2)+I(feduc^2)+sibs*meduc+sibs*feduc+meduc*feduc,data = wage2)
print(prueba_white_1)
##
## studentized Breusch-Pagan test
##
## data: modelo_escolaridad
## BP = 15.537, df = 9, p-value = 0.0772
El p-value es cercano al nivel de significancia por lo que la varianza de los residuos podria ser heterocedástica
library(lmtest)
dwtest(modelo_escolaridad,alternative = "two.sided",iterations = 1000)
##
## Durbin-Watson test
##
## data: modelo_escolaridad
## DW = 1.8989, p-value = 0.1705
## alternative hypothesis: true autocorrelation is not 0
Como 0.1705>0.05 No se rechaza H0, por lo tanto puede concluirse que los residuos del modelo, no siguen autocorrelación de 1° orden
library(lmtest)
bgtest(modelo_escolaridad,order = 2)
##
## Breusch-Godfrey test for serial correlation of order up to 2
##
## data: modelo_escolaridad
## LM test = 4.5747, df = 2, p-value = 0.1015
Como p-value>0.05 No se rechaza H0, por lo tanto puede concluirse que los residuos del modelo, no siguen autocorrelación de orden “2”
Se realizará la corrección con un estimador HAC, “HC0” debido a que en la prueba de heterocedásticidad el p-value es cercano al nivel de significancia, lo que podría indicar que la varianza de los residuos es heterocedástica.
options(scipen = 99999)
library(lmtest)
#Sin corregir:
coeftest(modelo_escolaridad)
##
## t test of coefficients:
##
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 10.364256 0.358500 28.9100 < 0.00000000000000022 ***
## sibs -0.093636 0.034471 -2.7163 0.00676 **
## meduc 0.130787 0.032689 4.0010 0.00006963195128573 ***
## feduc 0.210004 0.027475 7.6435 0.00000000000006787 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
options(scipen = 99999)
library(lmtest)
library(sandwich)
#Corregido
estimacion_omega_1<-vcovHC(modelo_escolaridad,type = "HC0")
coeftest(modelo_escolaridad,vcov. = estimacion_omega_1)
##
## t test of coefficients:
##
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 10.364256 0.366488 28.2799 < 0.00000000000000022 ***
## sibs -0.093636 0.032763 -2.8580 0.004387 **
## meduc 0.130787 0.032842 3.9823 0.00007518997076645 ***
## feduc 0.210004 0.027172 7.7288 0.00000000000003667 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Enunciado:
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(SAT,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.
load("E:/ARCHIVOS_LAB#3_EMA/LAWSCH85.RData")
# Corriendo el modelo de regresion
library(stargazer)
modelo_salario<-lm(formula= lsalary~LSAT+llibvol+GPA+lcost+rank, data=LAWSCH85)
stargazer(modelo_salario, title= "Modelo Estimado de Salario", type="html")
| Dependent variable: | |
| lsalary | |
| LSAT | 0.005 |
| (0.004) | |
| llibvol | 0.095*** |
| (0.033) | |
| GPA | 0.248*** |
| (0.090) | |
| 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 |
Heterocedásticidad (Prueba de White)
Usando librería “lmtest”
library(lmtest)
prueba_white_2<-bptest(modelo_salario,~I(LSAT^2)+I(llibvol^2)+I(GPA^2)+I(lcost^2)+I(rank^2)+LSAT*llibvol+LSAT*GPA+LSAT*lcost+LSAT*rank+llibvol*GPA+llibvol*lcost+llibvol*rank+GPA*lcost+GPA*rank+lcost*rank,data = LAWSCH85)
print(prueba_white_2)
##
## studentized Breusch-Pagan test
##
## data: modelo_salario
## BP = 34.295, df = 20, p-value = 0.0242
Como 0.02<0.05 se rechaza la Ho,por lo que la varianza de los residuos es heterocedástica.
library(lmtest)
dwtest(modelo_salario,alternative = "two.sided",iterations = 1000)
##
## Durbin-Watson test
##
## data: modelo_salario
## DW = 1.7058, p-value = 0.07519
## alternative hypothesis: true autocorrelation is not 0
El p-value es muy cercano al nivel de sigmificancia,lo que podria evidenciar autocorrelación de orden 1 en los residuos del modelo.
library(lmtest)
bgtest(modelo_salario,order = 2)
##
## Breusch-Godfrey test for serial correlation of order up to 2
##
## data: modelo_salario
## LM test = 3.2116, df = 2, p-value = 0.2007
Como 0.2007>0.05 No se rechaza H0, por lo tanto puede concluirse que los residuos del modelo, no siguen autocorrelación de orden “2”
Se utilizará el estimador HAC,“HC1”. Debido a que el modelo presenta heterocedásticidad, y en la prueba de autocorrelación de primer orden el p-value es muy cercano al nivel de significancia, lo que podría indicar autocorrelación en los residuos de orden 1.
options(scipen = 99999)
library(lmtest)
#Sin corregir:
coeftest(modelo_salario)
##
## 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
## llibvol 0.09499321 0.03325435 2.8566 0.004988 **
## GPA 0.24752388 0.09003704 2.7491 0.006826 **
## 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
options(scipen = 99999)
library(lmtest)
library(sandwich)
#Corregido
estimacion_omega_2<-vcovHC(modelo_salario,type = "HC1")
coeftest(modelo_salario,vcov. = estimacion_omega_2)
##
## t test of coefficients:
##
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 8.34322596 0.52146075 15.9997 < 0.00000000000000022 ***
## LSAT 0.00469647 0.00457858 1.0257 0.3069146
## llibvol 0.09499321 0.02765545 3.4349 0.0007961 ***
## GPA 0.24752388 0.09063695 2.7309 0.0071926 **
## lcost 0.03755380 0.03333279 1.1266 0.2619732
## rank -0.00332459 0.00030813 -10.7895 < 0.00000000000000022 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1