Mario Antonio Herrera Rivera. HR17038. GT02
23 de marzo de 2019
library(dplyr)
library(readr)
ejemp_regresion <- read.csv("M:/Econometria/GUIA 2/ejemplo_regresion.csv")
head(ejemp_regresion,n=6)## ï..X1 X2 Y
## 1 3.92 7298 0.75
## 2 3.61 6855 0.71
## 3 3.32 6636 0.66
## 4 3.07 6506 0.61
## 5 3.06 6450 0.70
## 6 3.11 6402 0.72
library(stargazer)
options(scipen = 9999)
modelo_lineal<-lm(formula = Y~ï..X1+X2,data = ejemp_regresion)
summary(modelo_lineal)##
## Call:
## lm(formula = Y ~ ï..X1 + X2, data = ejemp_regresion)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.085090 -0.039102 -0.003341 0.030236 0.105692
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 1.56449677 0.07939598 19.705 0.00000000000000182 ***
## ï..X1 0.23719747 0.05555937 4.269 0.000313 ***
## X2 -0.00024908 0.00003205 -7.772 0.00000009508790794 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.0533 on 22 degrees of freedom
## Multiple R-squared: 0.8653, Adjusted R-squared: 0.8531
## F-statistic: 70.66 on 2 and 22 DF, p-value: 0.000000000265
stargazer(modelo_lineal, title="Regresion Multiple",type = "text",digits = 8)##
## Regresion Multiple
## ===============================================
## Dependent variable:
## ---------------------------
## Y
## -----------------------------------------------
## ï..X1 0.23719750***
## (0.05555937)
##
## X2 -0.00024908***
## (0.00003205)
##
## Constant 1.56449700***
## (0.07939598)
##
## -----------------------------------------------
## Observations 25
## R2 0.86529610
## Adjusted R2 0.85305030
## Residual Std. Error 0.05330222 (df = 22)
## F Statistic 70.66057000*** (df = 2; 22)
## ===============================================
## Note: *p<0.1; **p<0.05; ***p<0.01
Vector de coeficientes estimados \(\hat{β}\):
options(scipen = 999)
modelo_lineal$coefficients## (Intercept) ï..X1 X2
## 1.5644967711 0.2371974748 -0.0002490793
Matriz de Varianza - Covarianza de los parametros V[β]
var_covar<-vcov(modelo_lineal)
print(var_covar)## (Intercept) ï..X1 X2
## (Intercept) 0.0063037218732 0.000240996434 -0.000000982806321
## ï..X1 0.0002409964344 0.003086843196 -0.000001675537651
## X2 -0.0000009828063 -0.000001675538 0.000000001027106
confint(object = modelo_lineal, level = .95)## 2.5 % 97.5 %
## (Intercept) 1.3998395835 1.7291539588
## ï..X1 0.1219744012 0.3524205485
## X2 -0.0003155438 -0.0001826148
plot(modelo_lineal$fitted.values,main = "Valores ajustados",ylab = "Y",xlab = "X")modelo_lineal$fitted.values %>% as.matrix()## [,1]
## 1 0.6765303
## 2 0.7133412
## 3 0.6991023
## 4 0.6721832
## 5 0.6837597
## 6 0.7075753
## 7 0.7397638
## 8 0.7585979
## 9 0.7943078
## 10 0.7935605
## 11 0.7984347
## 12 0.8272778
## 13 0.8021665
## 14 0.7992462
## 15 0.7544349
## 16 0.7339716
## 17 0.7048866
## 18 0.6930338
## 19 0.6350898
## 20 0.6127185
## 21 0.5701215
## 22 0.4796371
## 23 0.4374811
## 24 0.3953981
## 25 0.3773799
plot(modelo_lineal$residuals,main = "Residuos",ylab = "Residuos",xlab = "Casos")modelo_lineal$residuals %>% as.matrix()## [,1]
## 1 0.073469743
## 2 -0.003341163
## 3 -0.039102258
## 4 -0.062183196
## 5 0.016240338
## 6 0.012424659
## 7 0.030236216
## 8 -0.018597878
## 9 0.105692240
## 10 0.026439478
## 11 -0.048434733
## 12 -0.057277771
## 13 -0.022166535
## 14 0.040753758
## 15 0.035565142
## 16 -0.033971640
## 17 -0.024886579
## 18 0.026966239
## 19 -0.085089833
## 20 0.017281530
## 21 -0.010121525
## 22 -0.069637086
## 23 0.072518915
## 24 0.074601871
## 25 -0.057379932
Ejercicio 2. Reproduce todas las salidas de la presentación con los datos del siguiente ejercicio: se ha recogido datos del coste de mantenimiento (Y) de una empresa, del numero de maquinas (X1) y del tiempo medido (X2) de interrupcion de trabajo por mantenimiento, y se trata de estimar el gasto en mantenimiento en funcion de estos factores.
Como el numero de máquinas y el tiempo medio de averías pueden interaccionar, causando un efecto sobre el coste del mantenimiento (al producirse una avería, se intent recuperar el tiempo, mediante un trabajo mas intenso), se usa la variable X3=X1X2, que representa el efecto de esa interacción.
library(dplyr)
library(readr)
ejemp_regresion2 <- read.csv("M:/Econometria/GUIA 2/guia2.csv")
print(ejemp_regresion2)## X1 X2 Y
## 1 50 7.4 320
## 2 53 5.1 450
## 3 60 4.2 370
## 4 63 3.9 470
## 5 69 1.4 420
## 6 82 2.2 500
## 7 100 7.0 570
## 8 104 5.7 640
## 9 113 13.1 670
## 10 130 16.4 780
## 11 150 5.1 690
## 12 181 2.9 700
## 13 202 4.5 910
## 14 217 6.2 930
## 15 229 3.2 940
## 16 240 2.4 1070
## 17 243 4.9 1160
## 18 247 8.8 1210
## 19 249 10.1 1450
## 20 254 6.7 1220
ejemp_regresion2 <- read.csv("M:/Econometria/GUIA 2/guia2.csv")
head(ejemp_regresion2,n=6)## X1 X2 Y
## 1 50 7.4 320
## 2 53 5.1 450
## 3 60 4.2 370
## 4 63 3.9 470
## 5 69 1.4 420
## 6 82 2.2 500
library(stargazer)
options(scipen = 9999)
modelo_lineal2<-lm(formula = Y~X1+X2+ (X1*X2),data = ejemp_regresion2)
summary(modelo_lineal2)##
## Call:
## lm(formula = Y ~ X1 + X2 + (X1 * X2), data = ejemp_regresion2)
##
## Residuals:
## Min 1Q Median 3Q Max
## -108.527 -37.595 -2.745 52.292 102.808
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 303.50401 71.54695 4.242 0.000621 ***
## X1 2.32927 0.47698 4.883 0.000166 ***
## X2 -25.07113 11.48487 -2.183 0.044283 *
## X1:X2 0.28617 0.07681 3.726 0.001840 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 67.68 on 16 degrees of freedom
## Multiple R-squared: 0.9634, Adjusted R-squared: 0.9566
## F-statistic: 140.4 on 3 and 16 DF, p-value: 0.00000000001054
stargazer(modelo_lineal2, title="Regresion Multiple",type = "text",digits = 8)##
## Regresion Multiple
## ================================================
## Dependent variable:
## ----------------------------
## Y
## ------------------------------------------------
## X1 2.32927500***
## (0.47698220)
##
## X2 -25.07113000**
## (11.48487000)
##
## X1:X2 0.28616860***
## (0.07681293)
##
## Constant 303.50400000***
## (71.54695000)
##
## ------------------------------------------------
## Observations 20
## R2 0.96341370
## Adjusted R2 0.95655370
## Residual Std. Error 67.67775000 (df = 16)
## F Statistic 140.44060000*** (df = 3; 16)
## ================================================
## Note: *p<0.1; **p<0.05; ***p<0.01
Vector de coeficientes estimados \(\hat{β}\):
options(scipen = 999)
modelo_lineal$coefficients## (Intercept) ï..X1 X2
## 1.5644967711 0.2371974748 -0.0002490793
Matriz de Varianza - Covarianza de los parametros V[β]
var_covar2<-vcov(modelo_lineal2)
print(var_covar2)## (Intercept) X1 X2 X1:X2
## (Intercept) 5118.96645 -31.10997447 -722.8989902 4.493190281
## X1 -31.10997 0.22751204 4.5755139 -0.033223456
## X2 -722.89899 4.57551391 131.9021598 -0.822206343
## X1:X2 4.49319 -0.03322346 -0.8222063 0.005900226
confint(object = modelo_lineal2, level = .95)## 2.5 % 97.5 %
## (Intercept) 151.8312499 455.1767786
## X1 1.3181175 3.3404318
## X2 -49.4179582 -0.7242993
## X1:X2 0.1233324 0.4490047
plot(modelo_lineal2$fitted.values,main = "Valores ajustados",ylab = "Y",xlab = "X")modelo_lineal2$fitted.values %>% as.matrix()## [,1]
## 1 340.3238
## 2 376.4442
## 3 410.0762
## 4 422.7825
## 5 456.7683
## 6 490.9729
## 7 561.2516
## 8 572.4839
## 9 661.8956
## 10 805.2546
## 11 743.9514
## 12 802.6063
## 13 921.3246
## 14 1038.5268
## 15 966.3846
## 16 967.1923
## 17 1087.4101
## 18 1280.2249
## 19 1349.9604
## 20 1214.1649
plot(modelo_lineal2$residuals,main = "Residuos",ylab = "Residuos",xlab = "Casos")modelo_lineal2$residuals %>% matrix()## [,1]
## [1,] -20.323767
## [2,] 73.555820
## [3,] -40.076233
## [4,] 47.217467
## [5,] -36.768268
## [6,] 9.027138
## [7,] 8.748419
## [8,] 67.516125
## [9,] 8.104393
## [10,] -25.254613
## [11,] -53.951414
## [12,] -102.606335
## [13,] -11.324647
## [14,] -108.526815
## [15,] -26.384626
## [16,] 102.807683
## [17,] 72.589856
## [18,] -70.224936
## [19,] 100.039646
## [20,] 5.835106