Practica 3

Patricia Lilibeth Portillo

April 27, 2019

Carga de Datos

library(readr)
ejemplo_regresion<-read_csv("ejercicio_2_regresion.csv")
head(ejemplo_regresion,n=6)
## # A tibble: 6 x 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
## 6   500    82   2.2

Estimando el modelo

library(stargazer)
options(scipen = 9999)
modelo_lineal<-lm(formula = Y~X1+X2,data = ejemplo_regresion)
stargazer(modelo_lineal,title = "Ejemplo de Regresion Multiple",type = "text",digits = 8)
## 
## Ejemplo de Regresion Multiple
## ================================================
##                         Dependent variable:     
##                     ----------------------------
##                                  Y              
## ------------------------------------------------
## X1                         3.94065500***        
##                             (0.26658770)        
##                                                 
## X2                         14.80694000**        
##                             (5.51843400)        
##                                                 
## Constant                    85.57848000         
##                            (54.61834000)        
##                                                 
## ------------------------------------------------
## Observations                     20             
## R2                           0.93167600         
## Adjusted R2                  0.92363790         
## Residual Std. Error    89.72397000 (df = 17)    
## F Statistic         115.90730000*** (df = 2; 17)
## ================================================
## Note:                *p<0.1; **p<0.05; ***p<0.01

Ajuste de los residuos a la Distribucion Normal

Verificando el ajuste de los residuos a la distribucion normal, se usara la libreria fitdistrplus

library(fitdistrplus)
library(stargazer)
fit_normal<-fitdist(data = modelo_lineal$residuals,distr = "norm")
plot(fit_normal)

summary(fit_normal)
## Fitting of the distribution ' norm ' by maximum likelihood 
## Parameters : 
##                      estimate Std. Error
## mean -0.000000000000002488114   18.49709
## sd   82.721409061040219512506   13.07940
## Loglikelihood:  -116.6883   AIC:  237.3767   BIC:  239.3681 
## Correlation matrix:
##                 mean              sd
## mean  1.000000000000 -0.000001289266
## sd   -0.000001289266  1.000000000000

Prueba de Normalidad de Jarque - Bera

library(normtest)
jb.norm.test(modelo_lineal$residuals)
## 
##  Jarque-Bera test for normality
## 
## data:  modelo_lineal$residuals
## JB = 2.7402, p-value = 0.0785
qqnorm(modelo_lineal$residuals)
qqline(modelo_lineal$residuals)

hist(modelo_lineal$residuals,main = "Histograma de los Residuos",xlab = "Residuos",ylab = "frecuencia")

Prueba de Normalidad de Kolmogorov - Smirnov

library(nortest)
lillie.test(modelo_lineal$residuals)
## 
##  Lilliefors (Kolmogorov-Smirnov) normality test
## 
## data:  modelo_lineal$residuals
## D = 0.12278, p-value = 0.5968
qqnorm(modelo_lineal$residuals)
qqline(modelo_lineal$residuals)

hist(modelo_lineal$residuals,main = "Histograma de los Residuos",xlab = "Residuos",ylab = "frecuencia")

Prueba de Normalidad de Shapiro - Wilk

shapiro.test(modelo_lineal$residuals)
## 
##  Shapiro-Wilk normality test
## 
## data:  modelo_lineal$residuals
## W = 0.94463, p-value = 0.2929

EJERCICIO DOS

Carga de Datos

library(readr)
ejemplo_regresion<-read_csv("ejercicio_2_regresion.csv")
head(ejemplo_regresion,n=6)
## # A tibble: 6 x 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
## 6   500    82   2.2

Calcular X3

library(dplyr)
ejemplo_regresion%>%mutate(X3=X1*X2)%>%select("Y","X1","X2","X3")->ejemplo_regresion
print(ejemplo_regresion)
## # A tibble: 20 x 4
##        Y    X1    X2     X3
##    <dbl> <dbl> <dbl>  <dbl>
##  1   320    50   7.4  370  
##  2   450    53   5.1  270. 
##  3   370    60   4.2  252  
##  4   470    63   3.9  246. 
##  5   420    69   1.4   96.6
##  6   500    82   2.2  180. 
##  7   570   100   7    700  
##  8   640   104   5.7  593. 
##  9   670   113  13.1 1480. 
## 10   780   130  16.4 2132  
## 11   690   150   5.1  765  
## 12   700   181   2.9  525. 
## 13   910   202   4.5  909  
## 14   930   217   6.2 1345. 
## 15   940   229   3.2  733. 
## 16  1070   240   2.4  576  
## 17  1160   243   4.9 1191. 
## 18  1210   247   8.8 2174. 
## 19  1450   249  10.1 2515. 
## 20  1220   254   6.7 1702.

Estimando el modelo

library(stargazer)
options(scipen = 9999)
modelo_lineal<-lm(formula = Y~X1+X2+X3,data = ejemplo_regresion)
stargazer(modelo_lineal,title = "Ejemplo de Regresion Multiple",type = "text",digits = 8)
## 
## Ejemplo de Regresion Multiple
## ================================================
##                         Dependent variable:     
##                     ----------------------------
##                                  Y              
## ------------------------------------------------
## X1                         2.32927500***        
##                             (0.47698220)        
##                                                 
## X2                         -25.07113000**       
##                            (11.48487000)        
##                                                 
## X3                         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

Ajuste de los residuos a la Distribucion Normal

Verificando el ajuste de los residuos a la distribucion normal, se usara la libreria fitdistrplus

library(fitdistrplus)
library(stargazer)
fit_normal<-fitdist(data = modelo_lineal$residuals,distr = "norm")
plot(fit_normal)

summary(fit_normal)
## Fitting of the distribution ' norm ' by maximum likelihood 
## Parameters : 
##                       estimate Std. Error
## mean -0.0000000000000004440892  13.535551
## sd   60.5328216633827125292555   9.571082
## Loglikelihood:  -110.4425   AIC:  224.885   BIC:  226.8764 
## Correlation matrix:
##      mean sd
## mean    1  0
## sd      0  1

Prueba de Normalidad de Jarque - Bera

library(normtest)
jb.norm.test(modelo_lineal$residuals)
## 
##  Jarque-Bera test for normality
## 
## data:  modelo_lineal$residuals
## JB = 0.58681, p-value = 0.659
qqnorm(modelo_lineal$residuals)
qqline(modelo_lineal$residuals)

hist(modelo_lineal$residuals,main = "Histograma de los Residuos",xlab = "Residuos",ylab = "frecuencia")

Prueba de Normalidad de Kolmogorov - Smirnov

library(nortest)
lillie.test(modelo_lineal$residuals)
## 
##  Lilliefors (Kolmogorov-Smirnov) normality test
## 
## data:  modelo_lineal$residuals
## D = 0.14222, p-value = 0.3594
qqnorm(modelo_lineal$residuals)
qqline(modelo_lineal$residuals)

hist(modelo_lineal$residuals,main = "Histograma de los Residuos",xlab = "Residuos",ylab = "frecuencia")

Prueba de Normalidad de Shapiro - Wilk

shapiro.test(modelo_lineal$residuals)
## 
##  Shapiro-Wilk normality test
## 
## data:  modelo_lineal$residuals
## W = 0.95957, p-value = 0.5352