Ejercicio 1
Carga de Datos
library(dplyr)
library(readr)
ejemplo_regresion <- read_csv("Econometria/ejemplo_regresion.csv")
head(ejemplo_regresion,n = 5)
## # A tibble: 5 × 3
## X1 X2 Y
## <dbl> <dbl> <dbl>
## 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.7
Ejemplo de regresion lineal
library(stargazer)
options(scipen = 99999)
modelo_lineal<-lm(formula = Y~X1+X2,data = ejemplo_regresion)
#Usando summary
summary(modelo_lineal)
##
## Call:
## lm(formula = Y ~ X1 + X2, data = ejemplo_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
#Usando stargazer
stargazer(modelo_lineal,title = "Modelo de Regresion",type = "text",digits = 6)
##
## Modelo de Regresion
## ===============================================
## Dependent variable:
## ---------------------------
## Y
## -----------------------------------------------
## X1 0.237197***
## (0.055559)
##
## X2 -0.000249***
## (0.000032)
##
## Constant 1.564497***
## (0.079396)
##
## -----------------------------------------------
## Observations 25
## R2 0.865296
## Adjusted R2 0.853050
## Residual Std. Error 0.053302 (df = 22)
## F Statistic 70.660570*** (df = 2; 22)
## ===============================================
## Note: *p<0.1; **p<0.05; ***p<0.01
Objetos dentro del modelo lineal
Vector de coeficientes estimados
options(scipen = 999)
modelo_lineal$coefficients
## (Intercept) X1 X2
## 1.5644967711 0.2371974748 -0.0002490793
Matriz de Varianza - Covarianza de los parametros
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
Intervalos de confianza
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
Valores Ajustados
plot(modelo_lineal$fitted.values,main = "Valores Ajustados", ylab = "Y", xlab = "casos")

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
Residuos del modelo
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
Carga de Datos
library(readxl)
ejemplo_regresion_2 <- read_excel("Econometria/ejemplo_regresion_2.xlsx",
col_types = c("numeric", "numeric", "numeric"))
head(ejemplo_regresion_2,n = 5)
## # A tibble: 5 × 3
## Y X1 X2
## <dbl> <dbl> <dbl>
## 1 320 50 7.4
## 2 450 53 5.1
## 3 370 60 4.2
## 4 470 63 3.9
## 5 420 69 1.4
Regresion lineal
library(stargazer)
options(scipen = 99999)
modelo_lineal_2<-lm(formula = Y~X1+X2+(X1*X2),data = ejemplo_regresion_2)
#Usando summary
summary(modelo_lineal_2)
##
## Call:
## lm(formula = Y ~ X1 + X2 + (X1 * X2), data = ejemplo_regresion_2)
##
## 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
#Usando stargazer
stargazer(modelo_lineal_2,title = "Modelo de Regresion",type = "text",digits = 6)
##
## Modelo de Regresion
## ===============================================
## Dependent variable:
## ---------------------------
## Y
## -----------------------------------------------
## X1 2.329275***
## (0.476982)
##
## X2 -25.071130**
## (11.484870)
##
## X1:X2 0.286169***
## (0.076813)
##
## Constant 303.504000***
## (71.546950)
##
## -----------------------------------------------
## Observations 20
## R2 0.963414
## Adjusted R2 0.956554
## Residual Std. Error 67.677750 (df = 16)
## F Statistic 140.440600*** (df = 3; 16)
## ===============================================
## Note: *p<0.1; **p<0.05; ***p<0.01
Objetos dentro del modelo lineal
Vector de coeficientes estimados
options(scipen = 999)
modelo_lineal_2$coefficients
## (Intercept) X1 X2 X1:X2
## 303.5040143 2.3292746 -25.0711288 0.2861686
Matriz de Varianza - Covarianza de los parametros
var_covar_2 <- vcov(modelo_lineal_2)
print(var_covar_2)
## (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
Intervalos de confianza
confint(object = modelo_lineal_2, 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
Valores Ajustados
plot(modelo_lineal_2$fitted.values,main = "Valores Ajustados", ylab = "Y", xlab = "casos")

modelo_lineal_2$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
Residuos del modelo
plot(modelo_lineal_2$residuals,main = "Residuos", ylab = "Residuos", xlab = "casos")

modelo_lineal_2$residuals %>% as.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