27 de abril de 2019
library(readr)
regre <- read.csv("C:/Users/luisn/Downloads/ejemplo_regresion (1).csv")
colnames(regre) <- c("X1","X2","Y")
head(regre, n=6)
## X1 X2 Y ## 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.70 ## 6 3.11 6402 0.72
library(stargazer) options(scipen=9999) modelo_lineal <- lm(formula = Y~X1+X2, data = regre) stargazer(modelo_lineal, title="Ejemplo de regresion lineal", type= "text", digits= 8)
## ## Ejemplo de regresion lineal ## =============================================== ## 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
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.000000000000000007770748 0.010000382 ## sd 0.050001911895951975384200 0.007058615 ## Loglikelihood: 39.41889 AIC: -74.83778 BIC: -72.40002 ## Correlation matrix: ## mean sd ## mean 1 0 ## sd 0 1
-Un nivel de significancia del 5% , V.C. = 5.9915,JB=0.93032 La Hipótesis Nula no se rechaza -JB
hist(modelo_lineal$residuals, main = "Histograma de residuos", xlab = "Residuos", ylab = "Frecuencia")
##Prueba de Normalidad de Kolmogorov - Smirnov -Con un nivel de significancia del 5%, tamaño muestral n=25, V.C.=0.175 D=0.082345. La Hipótesis Nula no se rechaza. -D ≤ VC, por lo que poder decir que la prueba tiene una distribución normal
library(nortest) lillie.test(modelo_lineal$residuals)
## ## Lilliefors (Kolmogorov-Smirnov) normality test ## ## data: modelo_lineal$residuals ## D = 0.082345, p-value = 0.9328
qqnorm(modelo_lineal$residuals) qqline(modelo_lineal$residuals)
##Histograma de residuos
hist(modelo_lineal$residuals, main = "Histograma de residuos", xlab = "Residuos", ylab = "Frecuencia")
##Prueba de Normalidad de Shapiro - Wilk -Un nivel de significancia del 5%, un tamaño muestral de n=25, V.C. = 0.264 y W = 0.97001. La Hipótesis Nula no se rechaza. -La prueba tiene una distribución normal, porque W > VC
shapiro.test(modelo_lineal$residuals)
## ## Shapiro-Wilk normality test ## ## data: modelo_lineal$residuals ## W = 0.97001, p-value = 0.6453
library(readr)
library(dplyr)
Mnueva<-read_csv("C:/Users/luisn/Downloads/ejercicio econometria.csv")
Mnueva%>%mutate(x3=x1*x2)%>%select(Y,x1,x2,x3)->Mnueva
print(Mnueva)
## # A tibble: 14 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.
head(Mnueva,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.
options(scipen = 9999) modelo_lineal2 <- lm(formula = Y~x1+x2+(x1*x2), data = Mnueva) stargazer(modelo_lineal2, title = "Ejemplo de Regresión Múltiple", type = "text", digits = 8)
## ## Ejemplo de Regresión Múltiple ## =============================================== ## Dependent variable: ## --------------------------- ## Y ## ----------------------------------------------- ## x1 1.89347600** ## (0.72255180) ## ## x2 -19.28153000 ## (16.61324000) ## ## x1:x2 0.25080920* ## (0.13808420) ## ## Constant 329.03170000*** ## (85.58103000) ## ## ----------------------------------------------- ## Observations 14 ## R2 0.94974120 ## Adjusted R2 0.93466350 ## Residual Std. Error 48.90988000 (df = 10) ## F Statistic 62.99002000*** (df = 3; 10) ## =============================================== ## Note: *p<0.1; **p<0.05; ***p<0.01
Verificando el ajuste de los residuos a la distribución normal.
fit_normal <- fitdist(data = modelo_lineal2$residuals, distr = "norm") plot(fit_normal)
summary(fit_normal)
## Fitting of the distribution ' norm ' by maximum likelihood ## Parameters : ## estimate Std. Error ## mean -0.000000000000005329071 11.047616 ## sd 41.336391536725230366756 7.811844 ## Loglikelihood: -71.96955 AIC: 147.9391 BIC: 149.2172 ## Correlation matrix: ## mean sd ## mean 1 0 ## sd 0 1
jb.norm.test(modelo_lineal2$residuals) #Ejecuta la prueba de Jarque-Bera.
## ## Jarque-Bera test for normality ## ## data: modelo_lineal2$residuals ## JB = 0.9454, p-value = 0.393
qqnorm(modelo_lineal2$residuals) qqline(modelo_lineal2$residuals)
hist(modelo_lineal2$residuals,main = "Histograma de los residuos",xlab = "Residuos", ylab = "Frecuencia")
lillie.test(modelo_lineal$residuals) #Ejecuta la prueba KS, con la correción de Lilliefors.
## ## Lilliefors (Kolmogorov-Smirnov) normality test ## ## data: modelo_lineal$residuals ## D = 0.082345, p-value = 0.9328
qqnorm(modelo_lineal2$residuals) qqline(modelo_lineal2$residuals)
hist(modelo_lineal2$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.97001, p-value = 0.6453