Análisis de Regresión Lineal del Consumo de Combustible (MPG) en R

Employment training and career guidance2.57 KB

Variables categóricas y continuas

cate <- c('cylinders','model_year','origin')

cont <- setdiff(names(autompg), cate)

for(col in cate) autompg[,col] <- as.factor(autompg[,col])

Diagrama de cajas de variables categóricas

par(mfrow=c(1,2))

boxplot(autompg$mpg, main = 'mpg boxplot')

boxplot(mpg ~ cylinders, data = autompg, col = c('red','blue','green','brown','yellow'), main = 'mpg by cylinders')

abline(h = mean(autompg$mpg), lty = 2, lwd = 3)

abline(h = median(autompg$mpg), lty = 1, lwd = 3)

Histograma de variables continuas

par(mfrow=c(1,2))

hist(autompg$acceleration, main = 'acceleration histogram', xlab = 'acceleration')

abline(v = mean(autompg$acceleration), lty = 2, col = 'red')

abline(v = median(autompg$acceleration), lty = 1, col = 'red')

boxplot(autompg$acceleration, main = 'acceleration boxplot', horizontal = TRUE)

Dispersión

scatter.smooth(autompg$displacement, autompg$mpg, xlab = 'displacement', ylab = 'mpg', lpars = list(col = 'red', lwd = 2), pch = 20)

abline(lm(mpg ~ displacement, data = autompg), lty = 2, col = 'red', lwd = 2)

Con colores

plot(autompg$horsepower, autompg$mpg, xlab = 'horsepower', ylab = 'mpg', col = c('red','blue','green')[autompg$origin], pch = 20)

legend('topright', legend = levels(autompg$origin), col = c('red','blue','green'), pch = 20)

Modelos de regresión lineal

fit1 <- lm(mpg ~ ., data = autompg)

summary(fit1)

fit2 <- lm(mpg ~ ., data = autompg[,-6])

summary(fit2)

Comparación de R2

R2s.fit1 <- c(summary(fit1)$r.squared, summary(fit1)$adj.r.squared)

R2s.fit2 <- c(summary(fit2)$r.squared, summary(fit2)$adj.r.squared)

data.frame('fit1' = R2s.fit1, 'fit2' = R2s.fit2, row.names = c('R2','R2adj'))

Matriz de variables dummy para cilindros

cyl.dummy <- matrix(0, nlevels(autompg$cylinders), (nlevels(autompg$cylinders) - 1))

colnames(cyl.dummy) <- c('x1','x2','x3','x4')

rownames(cyl.dummy) <- levels(autompg$cylinders)

fix(cyl.dummy)

Estimación de coeficientes

X <- model.matrix(fit2)

dim(X)

y <- as.matrix(autompg$mpg)

dim(y)

b <- solve(t(X) %*% X) %*% t(X) %*% y

Supuestos del modelo

El supuesto adicional que se necesita es que ε sea un vector de variables aleatorias independientes distribuidas normalmente con E(ε) = 0 y matriz de varianza-covarianza var(ε) = σ2I. Supongamos por ahora que este supuesto se cumple.

Download

PDF Word HTML