Utilizamos los datos “mtcars”. Explorar utilizando los comandos head, str, ?mtcars, etc.
suppressMessages(library(UsingR))
suppressMessages(library(sjstats))
## Warning in checkMatrixPackageVersion(): Package version inconsistency detected.
## TMB was built with Matrix version 1.2.14
## Current Matrix version is 1.2.12
## Please re-install 'TMB' from source using install.packages('TMB', type = 'source') or ask CRAN for a binary version of 'TMB' matching CRAN's 'Matrix' package
set.seed(1234)
head(mtcars)
## mpg cyl disp hp drat wt qsec vs am gear carb
## Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4
## Mazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4
## Datsun 710 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1
## Hornet 4 Drive 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1
## Hornet Sportabout 18.7 8 360 175 3.15 3.440 17.02 0 0 3 2
## Valiant 18.1 6 225 105 2.76 3.460 20.22 1 0 3 1
str(mtcars)
## 'data.frame': 32 obs. of 11 variables:
## $ mpg : num 21 21 22.8 21.4 18.7 18.1 14.3 24.4 22.8 19.2 ...
## $ cyl : num 6 6 4 6 8 6 8 4 4 6 ...
## $ disp: num 160 160 108 258 360 ...
## $ hp : num 110 110 93 110 175 105 245 62 95 123 ...
## $ drat: num 3.9 3.9 3.85 3.08 3.15 2.76 3.21 3.69 3.92 3.92 ...
## $ wt : num 2.62 2.88 2.32 3.21 3.44 ...
## $ qsec: num 16.5 17 18.6 19.4 17 ...
## $ vs : num 0 0 1 1 0 1 0 1 1 1 ...
## $ am : num 1 1 1 0 0 0 0 0 0 0 ...
## $ gear: num 4 4 4 3 3 3 3 4 4 4 ...
## $ carb: num 4 4 1 1 2 1 4 2 2 4 ...
Si buscamos analizar su el tipo de transmisión automática incrementa o disminuye la cantidad de mpg. Por la descripción de los datos (?mtcars), sabemos que am=0 es automática y 1 manual. Estudiamos los distribución de los datos de mpg para ambos casos utilizando función quantile.
quantile(mtcars$mpg)
## 0% 25% 50% 75% 100%
## 10.400 15.425 19.200 22.800 33.900
quantile(mtcars[which(mtcars$am==0),]$mpg)
## 0% 25% 50% 75% 100%
## 10.40 14.95 17.30 19.20 24.40
quantile(mtcars[which(mtcars$am==1),]$mpg)
## 0% 25% 50% 75% 100%
## 15.0 21.0 22.8 30.4 33.9
boxplot(mtcars[mtcars$am == 0, ]$mpg, mtcars[mtcars$am==1, ]$mpg, names = c("Automatic", "Manual"))
Creamos un modelo de regresion entre mpg y el peso, el qsec (1/4 mile time) y el tipo de transmisión, automática o manual. Analizamos los coeficientes obtenidos. El coeficiente de -3.9165 significa que cuando se aumenta una unidad de wt (1000lbs), se decrementa en 3.9165 las MPG del vehÃculo. El coeficiente para “am” de 2.9358 significa que los MGP se incrementan en una media de 2.9358 mpg cuando cambiamos de automática a manual, manteniendo constante el peso (wt) y el 1/4 mile time (qsec). R-Squared de un 0.84 indica que el modelo explica el 84% de la variación.
fitbest<-lm(mpg~wt+qsec+factor(am),data=mtcars)
summary(fitbest)
##
## Call:
## lm(formula = mpg ~ wt + qsec + factor(am), data = mtcars)
##
## Residuals:
## Min 1Q Median 3Q Max
## -3.4811 -1.5555 -0.7257 1.4110 4.6610
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 9.6178 6.9596 1.382 0.177915
## wt -3.9165 0.7112 -5.507 6.95e-06 ***
## qsec 1.2259 0.2887 4.247 0.000216 ***
## factor(am)1 2.9358 1.4109 2.081 0.046716 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 2.459 on 28 degrees of freedom
## Multiple R-squared: 0.8497, Adjusted R-squared: 0.8336
## F-statistic: 52.75 on 3 and 28 DF, p-value: 1.21e-11
Estudiamos los intervalos de confianza del 95 de los coeficientes. Para el de la caja am, el intervalo de confianza del 95% sera de 0.046MPG and 5.82MPG por el cambio de manual a automático.
confint(fitbest)
## 2.5 % 97.5 %
## (Intercept) -4.63829946 23.873860
## wt -5.37333423 -2.459673
## qsec 0.63457320 1.817199
## factor(am)1 0.04573031 5.825944
Calculamos las tasas de error Mean Squared Error (MSE) and Root Mean Squared Error (RMSE). Rmse se calcula en unidades de mpg, por lo que se puede comparar con la media de la muestra para valorar el error. Indicar como valora el error RMSE.
mse(fitbest)
## [1] 5.290185
rmse(fitbest)
## [1] 2.30004
mean(mtcars$mpg)
## [1] 20.09062