Patricia Lilibeth Portillo
April 27, 2019
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
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
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
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")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")shapiro.test(modelo_lineal$residuals)##
## Shapiro-Wilk normality test
##
## data: modelo_lineal$residuals
## W = 0.94463, p-value = 0.2929
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
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.
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
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
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")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")shapiro.test(modelo_lineal$residuals)##
## Shapiro-Wilk normality test
##
## data: modelo_lineal$residuals
## W = 0.95957, p-value = 0.5352