library(haven)
auto_1_ <- read_dta("C:/Users/daffy/Downloads/auto (1).dta")
View(auto_1_)
attach(auto_1_)
modelo1<- lm(price~factor(foreign))
summary(modelo1)
##
## Call:
## lm(formula = price ~ factor(foreign))
##
## Residuals:
## Min 1Q Median 3Q Max
## -2781.4 -1885.6 -1160.4 259.8 9833.6
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 6072.4 411.4 14.762 <2e-16 ***
## factor(foreign)1 312.3 754.4 0.414 0.68
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 2966 on 72 degrees of freedom
## Multiple R-squared: 0.002374, Adjusted R-squared: -0.01148
## F-statistic: 0.1713 on 1 and 72 DF, p-value: 0.6802
Interpretación: Los modelos ANOVA se caracterizan por solo presentar variables del tipo categoricas en las exogenes en el modelo1 se toma el precio en función de la procedencia del auto es decir \(0=Nacioanl & 1=Internacioanl\) al ver los resultados podemos ver que solo la pendiente es significativa al \(\alpha=5%\), la respectiva interpretación seria de esta forma: - Si el auto es extranjero tiene un precio promedio de 312.3 más que por ser nacional.
modelo2 <- lm(price~factor(foreign)+trunk+length+gear_ratio,data = auto_1_)
summary(modelo2)
##
## Call:
## lm(formula = price ~ factor(foreign) + trunk + length + gear_ratio,
## data = auto_1_)
##
## Residuals:
## Min 1Q Median 3Q Max
## -3560 -1529 -807 1092 7681
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -490.37 5592.71 -0.088 0.9304
## factor(foreign)1 4025.07 877.34 4.588 1.95e-05 ***
## trunk -51.08 96.04 -0.532 0.5965
## length 74.58 22.40 3.330 0.0014 **
## gear_ratio -2605.48 1008.09 -2.585 0.0119 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 2395 on 69 degrees of freedom
## Multiple R-squared: 0.3769, Adjusted R-squared: 0.3408
## F-statistic: 10.43 on 4 and 69 DF, p-value: 1.145e-06
Nota: El modelo ANCOVA se caracteriza por incluir variables binarias y númeriacas en las exogenas. el modelo tiene la siguiente forma \(y= D_1+ b_1x_1 + b_2x_2 + b_3x_3\). La interpretación es la siguiente; - Ls unica variable que no es significante es trunk, si el auto es extranjero tendra un precio promedio mayor de 4025.07$ en comparación con que si fuera nacioanal.
modelo3 <- lm(price~factor(foreign)+length+length*factor(foreign),data = auto_1_)
summary(modelo3)
##
## Call:
## lm(formula = price ~ factor(foreign) + length + length * factor(foreign),
## data = auto_1_)
##
## Residuals:
## Min 1Q Median 3Q Max
## -2874.7 -1521.5 -793.2 875.7 9224.8
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -9107.10 3348.33 -2.720 0.00823 **
## factor(foreign)1 -10975.87 7362.05 -1.491 0.14049
## length 77.39 16.98 4.557 2.14e-05 ***
## factor(foreign)1:length 79.64 42.34 1.881 0.06410 .
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 2431 on 70 degrees of freedom
## Multiple R-squared: 0.3483, Adjusted R-squared: 0.3204
## F-statistic: 12.47 on 3 and 70 DF, p-value: 1.265e-06
Interpretación: Si la longitud aumenta en un 1% y este es extranjero tiene un incremento en el precio de 157.03 en promedio sobre el precio
library(tidyverse)
## -- Attaching packages ------------------------------------------------------------------------------------- tidyverse 1.3.0 --
## v ggplot2 3.3.0 v purrr 0.3.4
## v tibble 3.0.3 v dplyr 1.0.0
## v tidyr 1.1.0 v stringr 1.4.0
## v readr 1.3.1 v forcats 0.5.0
## -- Conflicts ---------------------------------------------------------------------------------------- tidyverse_conflicts() --
## x dplyr::filter() masks stats::filter()
## x dplyr::lag() masks stats::lag()
library(broom)
m1<-glance(modelo1)
m2<- glance(modelo2)
m3<- glance(modelo3)
s=labels(m1)
cuadro<- matrix(c(s[[2]],m1,m2,m3),nrow = 11)
cuadro1<- as.data.frame(cuadro)
names(cuadro1)<-c("caracteristicas","modelo1","modelo2","modelo3")
View(cuadro1)
Resulatdos: Al ver los criterios AIC podemos ver que el mejor modelo es el 2.
Una prueba más drastica podría ser la prueba resett del paquete lmtest
library(lmtest)
## Loading required package: zoo
##
## Attaching package: 'zoo'
## The following objects are masked from 'package:base':
##
## as.Date, as.Date.numeric
reset(modelo2)
##
## RESET test
##
## data: modelo2
## RESET = 9.1274, df1 = 2, df2 = 67, p-value = 0.0003122
Interpretación: El modelo si esta bien formulado ya que no hay evidencias suficientes para rechazar la hipótesis nula, la cual nos dice que el modelo si esta bien formulado.