Modelos lineales en R - Regresion lineal multiple
Hola y Bienvenido!!
Les comparto a ustedes el código escrito en R / Rstudio para el ejemplo del vídeo que adjunto.
Estos ejemplos tratan sobre la regresión lineal múltiple, donde se crea un modelo lineal y haremos uso de pruebas de normalidad, igualdad de varianza, stepAIC y ANOVA para obtener el mejor modelo posible.
Sigue aquí el código utilizado:
# mtcars is dataset ready to use in R
# mpg: miles per gallon
# disp: displacement
# hp: horse power
# wt: weight of the car
input <- mtcars[,c("mpg","disp","hp","wt")]
print(head(input))
# Create the relationship model.
# mpg = a + b1*disp + b2*hp + b3*wt + e
# e ~ N(0,s^2) , test these assumptions
mymodel <- lm(mpg~disp+hp+wt, data = input)
# Show the model.
summary(mymodel)
confint(mymodel)
coef(mymodel)
a <- coef(mymodel)[1]
print(a)
## write Equation
# mpg = 37.1055 - 0.000937*disp -0.031156*hp - 3.80089wt
# Test model assumptions
par(mfrow=c(2,2))
plot(mymodel)
par(mfrow=c(1,1))
par(mar = c(4, 4, 2, 2), mfrow = c(1, 2)) #optional
plot(mymodel, which = c(1, 2)) # "which" argument optional
par(mfrow=c(1,1))
shapiro.test(residuals(mymodel)) # test normality
## predicting new values
myvalues <- data.frame(disp=170, hp=100,wt= 2.4)
result <- predict(mymodel,myvalues)
result
mymodel2= lm(mpg~hp+wt, data = input)
summary(mymodel2)
plot(mymodel2)
## Hypothesis Ho: model1 = model2
# anova(reduced, full)
anova(mymodel2,mymodel)
MSE=(summary(mymodel)$sigma)^2 # store MSE for the full model
step(mymodel, scale=MSE, direction="backward")
## other functions
##step <- stepAIC(mymodel, direction="both")
# choose model with smallest AIC
Comentarios
Publicar un comentario