Ejercicio inicial de Regresión Lineal.

Este ejemplo tiene como objetivo en que el alumno conozca los procedimientos para llevar a cabo un análisis de regresión con una sola variable y las pruebas de validación del modelo de regresión.

Información del problema

El problema trata del análsis del cambio de un porcentaje de fibra en una prenda de vestir, en la cual se desea saber si existe una relación entre el porcentaje de fibra y la resistencia de la fibra.

Análisis:

Lectura de datos:

##    Porcentaje.de.fibra Resistencia
## 1                   12         144
## 2                    4         134
## 3                   18         157
## 4                   24         167
## 5                   28         174
## 6                   26         171
## 7                    8         142
## 8                   16         156
## 9                   22         166
## 10                  10         149
## 11                  30         183
## 12                   6         145
## 13                  20         168
## 14                  14         160

Es importante el hacer mención sobre la cantidad de datos, se requieren al menos 10 observaciones por cada variable introducida en el modelo.

Las variables del análisis son:

names(Datos_Regresion_1)
## [1] "Porcentaje.de.fibra" "Resistencia"

Se genera un modelo lineal:

Modelo <- lm(Resistencia~Porcentaje.de.fibra)
ANOVA <- aov(Modelo)
summary(ANOVA)
##                     Df Sum Sq Mean Sq F value   Pr(>F)    
## Porcentaje.de.fibra  1 2400.5    2400   159.7 2.71e-08 ***
## Residuals           12  180.3      15                     
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Se observa que existe evidencia estadística de relación entre la variable independiente y la independiente, por lo menos un coeficiente de la ecuación de regresión es diferente a cero.

Otra manera de obtener la tabla ANOVA

anova(Modelo)
## Analysis of Variance Table
## 
## Response: Resistencia
##                     Df  Sum Sq Mean Sq F value    Pr(>F)    
## Porcentaje.de.fibra  1 2400.53 2400.53  159.75 2.707e-08 ***
## Residuals           12  180.33   15.03                      
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Se observa que esta última manera entrega más detalles que el comando aov

Análisis de los coeficientes y ecuación de regresión.

summary(Modelo)
## 
## Call:
## lm(formula = Resistencia ~ Porcentaje.de.fibra)
## 
## Residuals:
##    Min     1Q Median     3Q    Max 
## -6.165 -2.529 -1.165  3.221  6.587 
## 
## Coefficients:
##                     Estimate Std. Error t value Pr(>|t|)    
## (Intercept)         130.6747     2.4178   54.05 1.06e-15 ***
## Porcentaje.de.fibra   1.6242     0.1285   12.64 2.71e-08 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 3.876 on 12 degrees of freedom
## Multiple R-squared:  0.9301, Adjusted R-squared:  0.9243 
## F-statistic: 159.7 on 1 and 12 DF,  p-value: 2.707e-08

Se observa que tanto la ordenada al orígen como la variable independiente son significativos.
La ecuación es: Resistencia = 130.675 + 1.624* Porcentaje.de.fibra

Para conocer los coeficientes de la ecuación de regresión:

coef(Modelo)
##         (Intercept) Porcentaje.de.fibra 
##          130.674725            1.624176

Coinciden con los obtenidos por el comando summary pero con mayor nivel de detalle, es importante mencionar que este comando se utiliza una vez que los coeficientes se han validado como los sognificativos en la ecuación de regresión.

Gráfica de los valores de regresión

plot(Resistencia~ Porcentaje.de.fibra, main="Relación entre la Resistencia y el Porcentaje de Fibra",
     xlab="Porcentaje de Fibra")
abline(Modelo)

Observe que en el comando plot se debe colocar la ecuación de regresión

Otra forma de obtener la gráfica de regresión con el mejor ajuste.

plot(Resistencia~ Porcentaje.de.fibra, main="Relación entre la Resistencia y el Porcentaje de Fibra",
     xlab="Porcentaje de Fibra")
lines(lowess(Datos_Regresion_1), col="red")
abline(Modelo)

La línea roja muestra el mejor valor de regresión y la línea negra muestra el ajuste lineal, lo cual nos indica que prácticamente no hay diferencia.

Pruebas de idoneidad del modelo

Prueba de Normalidad de los residuos.

Esto se puede verificar con la prueba de Shapiro-Wilk.

shapiro.test(rstandard(Modelo))
## 
##  Shapiro-Wilk normality test
## 
## data:  rstandard(Modelo)
## W = 0.9286, p-value = 0.2914

*** El criterio de rechrazo no se cumple p-value <=0.05 por lo que los residuos pueden considerarse dentro de un comportamiento normal.***

Gráficamente:

qqnorm(rstandard(Modelo))
qqline(rstandard(Modelo))