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

Entradas populares de este blog

Prueba de Chi cuadrada para independencia y bondad de ajuste| Chi square Test in R

PYTHON, SERIE ARMÓNICA Y SERIE P

Programa de numero primo en C++ con funciones