library(readr)
library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
ejemplo_regresion <-read_csv("C:/Users/74/Desktop/datos.csv")
## Parsed with column specification:
## cols(
##   Y = col_double(),
##   X1 = col_double(),
##   X2 = col_double()
## )
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)
## 
## Please cite as:
##  Hlavac, Marek (2018). stargazer: Well-Formatted Regression and Summary Statistics Tables.
##  R package version 5.2.2. https://CRAN.R-project.org/package=stargazer
options(scipen = 9999)
modelo_lineal<-lm(formula = Y~X1+X2,data = ejemplo_regresion)
stargazer(modelo_lineal,title = "Ejemplo de Regresión Multiple",type = "text",digits = 8)
## 
## Ejemplo de Regresión 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

library(fitdistrplus)
## Warning: package 'fitdistrplus' was built under R version 3.5.3
## Loading required package: MASS
## 
## Attaching package: 'MASS'
## The following object is masked from 'package:dplyr':
## 
##     select
## Loading required package: survival
## Loading required package: npsurv
## Loading required package: lsei
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.0000000000000003119033   18.49709
## sd   82.7214090610402337233609   13.07941
## Loglikelihood:  -116.6883   AIC:  237.3767   BIC:  239.3681 
## Correlation matrix:
##      mean sd
## mean    1  0
## sd      0  1

Prueba de Normalidad 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.0865
'el p-value>0.05 por lo tanto se acepta la hipóteis nula, lo que quiere decir que hay evidencia de que los errores se distribuyan de una manera normal.'
## [1] "el p-value>0.05 por lo tanto se acepta la hipóteis nula, lo que quiere decir que hay evidencia de que los errores se distribuyan de una manera normal."
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
'el p-value>0.05 por lo tanto se acepta la hipóteis nula, lo que quiere decir que hay evidencia de que los errores se distribuyan de una manera normal.' 
## [1] "el p-value>0.05 por lo tanto se acepta la hipóteis nula, lo que quiere decir que hay evidencia de que los errores se distribuyan de una manera normal."
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
'el p-value>0.05 por lo tanto se acepta la hipóteis nula, lo que quiere decir que hay evidencia de que los errores se distribuyan de una manera normal.' 
## [1] "el p-value>0.05 por lo tanto se acepta la hipóteis nula, lo que quiere decir que hay evidencia de que los errores se distribuyan de una manera normal."

prueba de normalidad para el modelo 2

Estimando el modelo3

library(readr)
library(dplyr)
ejemplo_regresion <-read_csv("C:/Users/74/Desktop/datos2.csv")
## Parsed with column specification:
## cols(
##   Y = col_double(),
##   X1 = col_double(),
##   X2 = col_double(),
##   X3 = col_double()
## )
head(ejemplo_regresion,n=6)
## # A tibble: 6 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.

Estimando el modelo

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

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

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

Prueba de Normalidad Jarque Bera

library(normtest)  
jb.norm.test(modelo_lineala$residuals)
## 
##  Jarque-Bera test for normality
## 
## data:  modelo_lineala$residuals
## JB = 0.58681, p-value = 0.685
'el p-value>0.05 por lo tanto se acepta la hipóteis nula, lo que quiere decir que hay evidencia de que los errores se distribuyan de una manera normal.' 
## [1] "el p-value>0.05 por lo tanto se acepta la hipóteis nula, lo que quiere decir que hay evidencia de que los errores se distribuyan de una manera normal."
qqnorm(modelo_lineala$residuals)
qqline(modelo_lineala$residuals)

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

Prueba de Normalidad de Kolmogorov - Smirnov

library(nortest)
lillie.test(modelo_lineala$residuals) 
## 
##  Lilliefors (Kolmogorov-Smirnov) normality test
## 
## data:  modelo_lineala$residuals
## D = 0.14222, p-value = 0.3594
'el p-value>0.05 por lo tanto se acepta la hipóteis nula, lo que quiere decir que hay evidencia de que los errores se distribuyan de una manera normal.'
## [1] "el p-value>0.05 por lo tanto se acepta la hipóteis nula, lo que quiere decir que hay evidencia de que los errores se distribuyan de una manera normal."
qqnorm(modelo_lineala$residuals)
qqline(modelo_lineala$residuals)

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

Prueba de Normalidad de Shapiro - Wilk

shapiro.test(modelo_lineala$residuals)
## 
##  Shapiro-Wilk normality test
## 
## data:  modelo_lineala$residuals
## W = 0.95957, p-value = 0.5352
'el p-value>0.05 por lo tanto se acepta la hipóteis nula, lo que quiere decir que hay evidencia de que los errores se distribuyan de una manera normal.'
## [1] "el p-value>0.05 por lo tanto se acepta la hipóteis nula, lo que quiere decir que hay evidencia de que los errores se distribuyan de una manera normal."