Regresión Lineal Multiple

MSF. Ademir Pérez

carga de datos

descarga los datos del ejemplo

library(dplyr)
library(readr)
ejemplo_regresion <- read_csv("E:/ejemplo_regresion.csv")
head(ejemplo_regresion,n = 6)
## # A tibble: 6 x 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 
## 6  3.11  6402  0.72

Ejemplo de regresión lineal

library(stargazer)
options(scipen = 9999)
modelo_lineal<-lm(formula = Y~X1+X2,data = ejemplo_regresion)
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
stargazer(modelo_lineal,title = "Ejemplo de Regresión Multiple",type = "text",digits = 8)
## 
## Ejemplo de Regresión 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

Objetos dentro del modelo lineal

Vector de Coeficientes estimados \(\widehat{\beta}\):

options(scipen = 999)
modelo_lineal$coefficients
##   (Intercept)            X1            X2 
##  1.5644967711  0.2371974748 -0.0002490793

Matriz de Varianza - Covarianza de los parametros \(V[\beta]\)

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 \(\widehat{Y}\)

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 \(\widehat{\epsilon}\)

plot(modelo_lineal$residuals,main = "Residuos",ylab = "Residuos",xlab = "casos")

modelo_lineal$residuals %>% 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

Práctica 2

1 Reproduce todas las salidas de la presentación, con los mismos datos proporcionados al inicio, para tu comodidad se vuelve a incluir el link aquí: descarga los datos del ejemplo

2 Reproduce todas las salidas de la presentación con los datos del siguiente ejercicio: