# ===========================================
# Dr. Carlos TƩllez Martƭnez
# Febrero de 2015
# DiseƱo y AnƔlisis de Experimentos
# AnÔlisis de regresión con varias variables
# ===========================================

# Lectura de datos
Varias <- read.csv("/Carlos Tellez Martinez/SkyDrive/Clases/DiseƱo de Experimentos/Curso en Blackboard/Curso/Tema 2/Videos clase/Varias variables/Varias.csv")
# Tabla de datos
Varias
##    Temperatura Velocidad Tension Porcentaje.Defectuosos
## 1           20     37.79    84.9                  25.08
## 2           26     28.37   109.8                  24.13
## 3           34     58.59   111.1                  40.47
## 4           14     16.05   102.2                  12.75
## 5           21     12.34   116.5                  14.73
## 6           21     53.32   115.4                  32.30
## 7           24     58.39    95.3                  36.67
## 8           21     31.45   114.1                  19.07
## 9           26     55.45    83.3                  34.21
## 10          15     55.01   111.9                  25.87
## 11          19     13.51    91.6                  16.39
## 12          21     25.87   110.7                  17.55
## 13          20     21.84    94.8                  20.52
## 14          21     19.89    99.2                  17.23
## 15          20     37.75   105.8                  21.79
## 16          15     13.43    99.4                  11.51
## 17          16     27.65   112.3                  16.71
## 18          17     48.99    99.1                  26.63
## 19          19     54.68    90.8                  28.04
## 20          25     18.33   101.0                  15.54
## 21          19     40.47   121.1                  25.40
## 22          13     44.05    98.8                  19.87
## 23          15     20.60    85.8                  17.47
## 24          18     12.35    96.0                  14.75
## 25          17     48.03   111.1                  25.78
# Procesando tabla
attach(Varias)
names(Varias)
## [1] "Temperatura"            "Velocidad"             
## [3] "Tension"                "Porcentaje.Defectuosos"
# Se crea el modelo lineal
Modelo <- lm(Porcentaje.Defectuosos~Temperatura+Velocidad+Tension)
ANOVA <- aov(Modelo)
summary(ANOVA)
##             Df Sum Sq Mean Sq F value   Pr(>F)    
## Temperatura  1  477.8   477.8 132.051 1.61e-10 ***
## Velocidad    1  838.2   838.2 231.639 8.13e-13 ***
## Tension      1    8.5     8.5   2.358     0.14    
## Residuals   21   76.0     3.6                     
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
# Existen elementos significativos

# Para verificar las variables significativas
summary(Modelo)
## 
## Call:
## lm(formula = Porcentaje.Defectuosos ~ Temperatura + Velocidad + 
##     Tension)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -4.1158 -0.9581  0.2431  1.2800  2.7534 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  3.37325    4.00204   0.843    0.409    
## Temperatura  0.60364    0.08750   6.899 8.12e-07 ***
## Velocidad    0.37482    0.02455  15.266 7.66e-13 ***
## Tension     -0.05623    0.03662  -1.536    0.140    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 1.902 on 21 degrees of freedom
## Multiple R-squared:  0.9457, Adjusted R-squared:  0.938 
## F-statistic:   122 on 3 and 21 DF,  p-value: 1.9e-13
## Retiramos la variable con el p-value mayor, en este caso la ordenada al origen

# Nuevo Modelo
Modelo <- lm(Porcentaje.Defectuosos~-1+Temperatura+Velocidad+Tension)
ANOVA <- aov(Modelo)
summary(ANOVA)
##             Df Sum Sq Mean Sq  F value   Pr(>F)    
## Temperatura  1  13029   13029 3648.714  < 2e-16 ***
## Velocidad    1    846     846  236.874 2.92e-13 ***
## Tension      1     11      11    3.214   0.0868 .  
## Residuals   22     79       4                      
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
# Para verificar las variables significativas
summary(Modelo)
## 
## Call:
## lm(formula = Porcentaje.Defectuosos ~ -1 + Temperatura + Velocidad + 
##     Tension)
## 
## Residuals:
##    Min     1Q Median     3Q    Max 
## -4.144 -1.028  0.246  1.559  2.767 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## Temperatura  0.62665    0.08259   7.588 1.40e-07 ***
## Velocidad    0.37598    0.02435  15.439 2.75e-13 ***
## Tension     -0.02846    0.01587  -1.793   0.0868 .  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 1.89 on 22 degrees of freedom
## Multiple R-squared:  0.9944, Adjusted R-squared:  0.9936 
## F-statistic:  1296 on 3 and 22 DF,  p-value: < 2.2e-16
# la Tensión no es significativa por lo que se retira

# Nuevo Modelo
Modelo <- lm(Porcentaje.Defectuosos~-1+Temperatura+Velocidad)
ANOVA <- aov(Modelo)
summary(ANOVA)
##             Df Sum Sq Mean Sq F value   Pr(>F)    
## Temperatura  1  13029   13029  3328.4  < 2e-16 ***
## Velocidad    1    846     846   216.1 3.49e-13 ***
## Residuals   23     90       4                     
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
# Para verificar las variables significativas
summary(Modelo)
## 
## Call:
## lm(formula = Porcentaje.Defectuosos ~ -1 + Temperatura + Velocidad)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -3.7323 -1.5725 -0.1672  1.1852  3.1869 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## Temperatura  0.50162    0.04630   10.83 1.65e-10 ***
## Velocidad    0.36726    0.02498   14.70 3.49e-13 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 1.979 on 23 degrees of freedom
## Multiple R-squared:  0.9936, Adjusted R-squared:  0.993 
## F-statistic:  1772 on 2 and 23 DF,  p-value: < 2.2e-16
# La temperatura y la velocidad son las variables significativas

# Los coeficientes de la ecuación de regresión
coef(Modelo)
## Temperatura   Velocidad 
##   0.5016193   0.3672592
# Porcentaje-Defectuosos= 0.5016193*Temperatura + 0.3672592*Velocidad

## AnÔlisis de la adecuación del modelo
# Normalidad de los residuos
shapiro.test(rstandard(Modelo))
## 
##  Shapiro-Wilk normality test
## 
## data:  rstandard(Modelo)
## W = 0.9717, p-value = 0.6874
# No es significativo por lo que no se puede rechazar la hipótesis nula
# Los residuos son normales
qqnorm(rstandard(Modelo))
qqline(rstandard(Modelo))

# AnƔlisis de la homocedasticidad
library(car)

ncvTest(model = Modelo)
## Non-constant Variance Score Test 
## Variance formula: ~ fitted.values 
## Chisquare = 0.1304853    Df = 1     p = 0.7179294
## No se rechaza hipótesis nula por lo que
# se puede considerar que no hay problema con la diferencia de varianzas en el modelo