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."