Exercício Aula 23.11

Experimento Industrial: Um engenheiro está fazendo o design de uma bateria para uso em um instrumento que estará sujeito a fortes variações de temperatura. O único parâmetro de design que ele pode selecionar nesta fase é o material da lâmina da bateria, sendo que ele tem 3 opções de materiais. O engenheiro decide testar todos os 3 materiais em três níveis de temperatura. 4 baterias são testadas para cada combinação de lâminas e temperaturas e todos os 36 testes são executados em ordem aleatória. O experimento e os dados observados da vida da bateria (em horas) são mostrados na tabela a seguir.

Perguntas

  1. Design de Produto Robusto
  2. Quais os efeitos do tipo de material e da temperatura sobre a vida da bateria?
  3. Há um tipo de material que produz uma vida uniformemente longa independentemente da temperatura?
  4. Este é um exemplo da aplicação do Delineamento Estatístico de Experimentos para o design de produtos robustos.
library(agricolae)
library(ggplot2)
library(ggalt)
## Registered S3 methods overwritten by 'ggalt':
##   method                  from   
##   grid.draw.absoluteGrob  ggplot2
##   grobHeight.absoluteGrob ggplot2
##   grobWidth.absoluteGrob  ggplot2
##   grobX.absoluteGrob      ggplot2
##   grobY.absoluteGrob      ggplot2
library(asbio) # Teste Tukey de Aditividade
## Loading required package: tcltk
library(WRS2)
library(effects)
## Loading required package: carData
## lattice theme set by effectsTheme()
## See ?effectsTheme for details.

Importando dados

# Importanto Dados
bateria <- read.table("bateria.txt", header = T)
str(bateria)
## 'data.frame':    36 obs. of  4 variables:
##  $ mat : Factor w/ 3 levels "m1","m2","m3": 1 1 1 1 2 2 2 2 3 3 ...
##  $ temp: Factor w/ 3 levels "t125","t15","t70": 2 2 2 2 2 2 2 2 2 2 ...
##  $ y   : int  130 155 74 180 150 188 159 126 138 110 ...
##  $ tr  : int  2 3 1 3 2 3 3 2 2 2 ...
summary(bateria)
##  mat       temp          y               tr       
##  m1:12   t125:12   Min.   : 20.0   Min.   :0.000  
##  m2:12   t15 :12   1st Qu.: 70.0   1st Qu.:1.000  
##  m3:12   t70 :12   Median :108.0   Median :2.000  
##                    Mean   :105.5   Mean   :1.611  
##                    3rd Qu.:141.8   3rd Qu.:2.000  
##                    Max.   :188.0   Max.   :3.000

Análise exploratória dos Dados

# Boxplot: y x material
ggplot(bateria, aes(x = mat, y = y, fill = mat)) + geom_boxplot() + xlab ("materiais") + ylab("horas vida bateria")

Obs.: Pode-se observar que a mediana do material 1 apresenta uma distribuição de dados simétrica, logo pode-se considerar uma Distruibuição Normal ao compará-la aos demais blocos (2 e 3). Contudo, devido a presença de outliers é possível identificar que dois valores apresentam-se bem distantes dos demais. O material 2 é o que representa maior amplitude de dados quando comparados aos demais (1 e 2). O material 2 também apresenta mediana bem próxima do Q3, logo os dados são negativamente assimétricos.

# Boxplot: y x temperatura
ggplot(bateria, aes(x = temp, y = y, fill = temp)) + geom_boxplot() + xlab ("temperatura") + ylab("horas vida bateria") 

Obs.: A temperatura 1 apresenta uma menor assimetria dos dados devido ao posicionamento da mediana. A temperatura 2, como o material 2, também apresenta mediana bem próxima do Q3, informando que seus dados também estão assimétricos. Ja a temperatura 3 foi a que demonstrou maior amplitude dos dados e assimetria em relação à mediana.

Interação Blocos

interaction.plot(bateria$temp, bateria$mat, bateria$y, fixed = TRUE)

Obs.: Observa-se que não existe semelhança entre os materiais.

# Verificando de há interação
asbio::tukey.add.test(bateria$y, bateria$mat, bateria$temp)
## 
## Tukey's one df test for additivity 
## F = 0.0260641   Denom df = 30    p-value = 0.8728263

obs.: Conforme resultado p-value (0.8728263) o resultado ficou acima de 0.05, ou seja, H0 pode ser aceito. Contudo, nao existe interação entre as relações de tempo x material.

Estimação modelo ANAVA

# Estimação do Modelo com 1 Fator
mdic <- aov(y ~ mat, data = bateria)

# Estimação do modelo com blocagem dos dias
mdbca <- aov(y ~ mat + temp, data = bateria)

summary(mdbca)
##             Df Sum Sq Mean Sq F value     Pr(>F)    
## mat          2  10684    5342   5.947    0.00651 ** 
## temp         2  39119   19559  21.776 0.00000124 ***
## Residuals   31  27845     898                       
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
summary(mdic)
##             Df Sum Sq Mean Sq F value Pr(>F)  
## mat          2  10684    5342   2.633 0.0869 .
## Residuals   33  66963    2029                 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Obs: A informação na Tabela de Estimação do Modelo ANAVA é importante para se confirmar o valor Pr(F) do mat (material) que é o meu fator de interesse. O valor de P para temperatura, neste momento, nao é tão interessante avaliar. Contudo, esta análise visa obter a certeza de que foi retirado um fator que poderia alterar o resultado, melhorando assim, o poder do teste.

CV do pacote Agricolae

cv.model(mdic)
## [1] 42.68689
cv.model(mdbca)
## [1] 28.40026

Análise gráfica dos resíduos - Linearidade

# Linearidade
plot(mdbca, which = 1)

Obs.: o gráfico “Residual x valores previstos”, indica que os resíduos não encontram-se distruibuidos próximos de zero, ocorrendo alguns ocialações. Inclusive, pode-se notar também a presença de outliers, que são valores relativamente altos e que encontram-se distantes dos valores previstos.

# Análise Gráfica da Normalidade 
plot(mdbca, which = 2) # grafico qqplot

Obs.: O gráfico Normal Q-Q demonstra o quanto o resíduo está ou não próximo de uma distribuição normal, ou seja, é considerado uma Distruibuição Normal quanto mais próximos os resíduos estiverem da linha pontilhada.

Testes Formal dos Resíduos

Teste de Shapiro

# Teste Shapiro para formalizar os dados obtidos em gráfico.
shapiro.test(mdbca$residuals)
## 
##  Shapiro-Wilk normality test
## 
## data:  mdbca$residuals
## W = 0.97846, p-value = 0.6932

Obs: O resultado de p-value no Shapiro Test resultou em 0.6707 concluindo que o H0 deve ser aceito, pois o valor obtido é > que 0.05.

Teste de Tukey

teste_tukey <- agricolae::HSD.test(mdbca,"material", group = FALSE)
print(teste_tukey$comparison)
## NULL

O Teste de Tukey, o qual avalia se exite ou não interação entre os blocos do gráfico boxplot, apresentou resultado Nulo.

Eficiência

qmr.di = 1974
qmr.db = 850
qmr.di/qmr.db
## [1] 2.322353