1. A resistência a tração de um determinado tipo de cimento está sendo analisada. Quatro técnicas de mistura possuem viabilidade econômica para serem utilizadas. Os seguintes dados foram coletados:

Definindo o diretório de trabalho:

setwd("E:\\Mestrado IFMG\\Disciplinas\\Analise de Dados\\Atividades\\Exames\\Exame 2")

(a) Teste a hipótese de que as técnicas de mistura afetam a resistência a tração. Use alfa = 5%.

Hipótese:

Ho: As técnicas de mistura utilizadas apresentam médias de resistência iguais.

H1: Pelo menos duas tecnicas de mistura utilizadas apresentam médias de resistência diferentes.

Habilitando os pacotes necessários:

library (agricolae)
library (ggplot2)
library (asbio) 
## Loading required package: tcltk

Importando os dados com a função read.table():

dados <- read.table("tabela1.txt", h=TRUE)

Verificando os dados:

str(dados)
## 'data.frame':    16 obs. of  2 variables:
##  $ mistura    : Factor w/ 4 levels "M1","M2","M3",..: 1 1 1 1 2 2 2 2 3 3 ...
##  $ resistencia: int  3129 3000 2865 2890 3200 3300 2975 3150 2800 2900 ...
dados
##    mistura resistencia
## 1       M1        3129
## 2       M1        3000
## 3       M1        2865
## 4       M1        2890
## 5       M2        3200
## 6       M2        3300
## 7       M2        2975
## 8       M2        3150
## 9       M3        2800
## 10      M3        2900
## 11      M3        2985
## 12      M3        3050
## 13      M4        2600
## 14      M4        2700
## 15      M4        2600
## 16      M4        2765

Informações importantes:

summary(dados)
##  mistura  resistencia  
##  M1:4    Min.   :2600  
##  M2:4    1st Qu.:2791  
##  M3:4    Median :2938  
##  M4:4    Mean   :2932  
##          3rd Qu.:3070  
##          Max.   :3300

Análise Gráfica dos Dados:

boxplot(resistencia ~ mistura, data = dados, col = "lightgray")

Estimação do Modelo Linear:

mod1 <- aov(resistencia ~ mistura , data = dados)

Exibindo a tabela ANOVA:

summary(mod1)
##             Df Sum Sq Mean Sq F value   Pr(>F)    
## mistura      3 489740  163247   12.73 0.000489 ***
## Residuals   12 153908   12826                     
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Conclusões:

(b) Use o teste da diferença mínima significativa de Fisher com correção de bonferroni para fazer comparações entre os pares de médias.

Teste de Fisher:

test1 = LSD.test (mod1, "mistura", p.adj="bon" , console=TRUE)
## 
## Study: mod1 ~ "mistura"
## 
## LSD t Test for resistencia 
## P value adjustment method: bonferroni 
## 
## Mean Square Error:  12825.69 
## 
## mistura,  means and individual ( 95 %) CI
## 
##    resistencia       std r      LCL      UCL  Min  Max
## M1     2971.00 120.55704 4 2847.624 3094.376 2865 3129
## M2     3156.25 135.97641 4 3032.874 3279.626 2975 3300
## M3     2933.75 108.27242 4 2810.374 3057.126 2800 3050
## M4     2666.25  80.97067 4 2542.874 2789.626 2600 2765
## 
## alpha: 0.05 ; Df Error: 12
## Critical Value of t: 3.152681 
## 
## Least Significant Difference 252.4675
## Means with the same letter are not significantly different.
## 
## Groups, Treatments and means
## a     M2      3156 
## a     M1      2971 
## a     M3      2934 
## b     M4      2666
bar.group(test1$groups, ylim=c(0,3500))

Conclusões:

No teste de Fisher, médias que possuem a mesma letra são estatisticamente iguais.

Dessa forma, pode-se concluir que as médias de resistência do cimento à tração nas técnicas de mistura 1, 2 e 3 são semelhantes, ou seja, estatisticamente iguais.

(c) Construa um gráfico quantil-quantil dos resíduos do modelo, quais as conclusões sobre a validade da hipótese de normalidade?

Verificação da Normalidade:

plot(mod1, which = 2)

Conclusões:

Através da análise do gráfico Normal Q-Q, pode-se observar uma distribuição homogênea dos pontos em relação à reta. Dessa forma, pode-se inferir que os resíduos do modelo seguem uma distribuição normal.

Tal característica é importante, uma vez que o quadrado médio do resíduo é uma medida usada para diversos cálculos estatísticos conclusivos.

(d) Faça um gráfico dos resíduos contra os valores previstos pelo modelo e comente o resultado.

Verificação de variâncias Homogêneas:

plot(mod1, which = 1)

Conclusões:

Através da análise do gráfico Residuals vs Fitted, pode-se observar que a média dos resíduos tem valores que oscilam muito pouco em relação ao zero. Isso demonstra que os resíduos apresentaram variância homogênea.

Dessa forma, pode-se considerar um bom ajuste do modelo, já que o comportamento observado no gráfico segue um padrão apenas de aleatoriedade.

(e) Relate as conclusões finais do experimento.

A análise estatística dos dados nos permite inferir que:

2. Um fabricante de ligas de alumínio produz refinadores de grãos em forma de lingote. A empresa produz usando em quatro fornos. Cada forno é conhecido por ter características operacionais únicas, portanto, qualquer experimento executado na fundição que envolva mais de um forno, irá considerá-los como um fator de perturbação. Os engenheiros responsáveis pelo processo de produção suspeitam que a velocidade de agitação afeta o tamanho de grão do produto. Cada forno pode ser executado em quatro taxas de agitação diferentes. Um delineamento em blocos aleatorizados foi para um refinador particular e o tamanho do grão resultante é exibido no quadro abaixo:

Habilitando os pacotes necessários:

library (agricolae)
library (ggplot2)
library (asbio) 

Importando os dados com a função read.table():

dados <- read.table("tabela2.txt", h=TRUE)

Verificando os dados:

str(dados)
## 'data.frame':    16 obs. of  3 variables:
##  $ rpm  : Factor w/ 4 levels "R10","R15","R20",..: 4 4 4 4 1 1 1 1 2 2 ...
##  $ forno: Factor w/ 4 levels "F1","F2","F3",..: 1 2 3 4 1 2 3 4 1 2 ...
##  $ y    : int  8 4 5 6 14 5 6 9 14 6 ...
dados
##    rpm forno  y
## 1   R5    F1  8
## 2   R5    F2  4
## 3   R5    F3  5
## 4   R5    F4  6
## 5  R10    F1 14
## 6  R10    F2  5
## 7  R10    F3  6
## 8  R10    F4  9
## 9  R15    F1 14
## 10 R15    F2  6
## 11 R15    F3  9
## 12 R15    F4  2
## 13 R20    F1 17
## 14 R20    F2  9
## 15 R20    F3  3
## 16 R20    F4  6

Informações importantes:

summary(dados)
##   rpm    forno        y         
##  R10:4   F1:4   Min.   : 2.000  
##  R15:4   F2:4   1st Qu.: 5.000  
##  R20:4   F3:4   Median : 6.000  
##  R5 :4   F4:4   Mean   : 7.688  
##                 3rd Qu.: 9.000  
##                 Max.   :17.000

Análise Gráfica dos dados:

ggplot (dados, aes (x=rpm, y=y, fill=rpm)) + geom_boxplot()

ggplot (dados, aes (x=forno, y=y, fill=forno)) + geom_boxplot()

Conclusões:

A partir dos boxplot y x rpm já dá para se perceber que a rotação de 5 rpm produz um produto com grãos menores.

Já através do boxplot y x forno pode-se inferir que o produto resultante do forno 1 possui grãos maiores do que os demais.

No entanto, o que os próximos testes estatísticos permitem é definir se isso aconteceu ao acaso ou não.

Verificando Interação entre Blocos e Níveis do Fator:

interaction.plot (dados$rpm, dados$forno, dados$y, fixed=T, pch = 19, type = "b", xlab= "RPM", ylab= "Média - Tamanho dos grãos")

O ideal seria que essas linhas não se cruzassem, uma vez que um fator não deve interferir na média de outro fator.

Observa-se no gráfico que as linhas representativas dos fornos F2, F3 e F4 se cruzam, o que é um forte indício de que haja interação entre os fatores.

Teste de Aditividade de Tukey:

Ho : Não há efeito interação.

H1: Há efeito de interação.

tukey.add.test (dados$y, dados$rpm, dados$forno)
## 
## Tukey's one df test for additivity 
## F = 2.9804177   Denom df = 8    p-value = 0.1225519

Visto que o valor p é maior que o nível de significância de 0.05, não se deve rejeitar a hipótese nula.

Sendo assim, confirma-se que - apesar das linhas representativas de F2, F3 E F4 se cruzarem no gráfico anterior - não há efeito de interação entre os fatores.

(a) Há alguma evidência de que as taxas de agitação afetam o tamanho do grão?

Estimação do Modelo com blocagem dos fornos:

Nesse caso, isola-se fonte de perturbação, no caso “forno”.

dados.aov <- aov(y ~ rpm + forno, data = dados)

Exibindo a tabela ANOVA:

summary(dados.aov)
##             Df Sum Sq Mean Sq F value Pr(>F)  
## rpm          3  22.19    7.40   0.853 0.4995  
## forno        3 165.19   55.06   6.348 0.0133 *
## Residuals    9  78.06    8.67                 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Conclusões:

Essa análise permite separar a variabilidade devida de cada fator.

Em relação à velocidade de agitação (rpm), o valor p é maior do que o nível de significância (0.05), consequentemente não se deve rejeitar a hipótese nula.

Dessa forma, não há evidências estatísticas de que as taxas de agitação afetem o tamanho dos grãos.

(b) Faça os gráficos apropriados e execute testes para verificar a normalidade e homogeneidade de variância dos resíduos. Comente os resultados.

Verificação da Normalidade:

plot(dados.aov, which = 2)

Teste de Shapiro-Wilks:

Ho: os dados apresentam distribuição aproximadamente normal.

H1: Os dados não apresentam distribuição aproximadamente normal.

shapiro.test (dados.aov$residuals)
## 
##  Shapiro-Wilk normality test
## 
## data:  dados.aov$residuals
## W = 0.9301, p-value = 0.2447

Verificação de homogeneidade das variâncias:

plot(dados.aov, which = 1)

Teste de Bartlett:

Ho: Variâncias dos resíduos são homogêneas.

H1: Variâncias dos resíduos não são homogêneas.

#bartlett.test(y ~ interaction(rpm, forno) , data = dados )

##Error in bartlett.test.default

(c) O que os engenheiros deveriam recomendar em relação a escolha da taxa de agitação e do forno para este refinador de grão em particular, se deseja-se um pequeno tamanho para o grão produzido?

Teste de Tukey - Agricolae

HSD.test(dados.aov, "rpm", group = TRUE, console = TRUE)
## 
## Study: dados.aov ~ "rpm"
## 
## HSD Test for y 
## 
## Mean Square Error:  8.673611 
## 
## rpm,  means
## 
##        y      std r Min Max
## R10 8.50 4.041452 4   5  14
## R15 7.75 5.057997 4   2  14
## R20 8.75 6.020797 4   3  17
## R5  5.75 1.707825 4   4   8
## 
## alpha: 0.05 ; Df Error: 9 
## Critical Value of Studentized Range: 4.41489 
## 
## Honestly Significant Difference: 6.501145 
## 
## Means with the same letter are not significantly different.
## 
## Groups, Treatments and means
## a     R20     8.75 
## a     R10     8.5 
## a     R15     7.75 
## a     R5      5.75

Conclusões:

3. Um engenheiro está tentando otimizar a produção de um processo químico. Ele avaliou que as duas variáveis mais importantes foram a temperatura e a pressão do processo. Três níveis de cada fator foram selecionados e um experimento fatorial com duas repetições foi executado. Os dados foram os seguintes:

(a) Analise os dados do experimento e tire as conclusões apropriadas. Use alfa = 5%.

Habilitando os pacotes necessários:

library (agricolae)
library (ggplot2)
library (effects)
library (car)
## 
## Attaching package: 'car'
## 
## The following object is masked from 'package:effects':
## 
##     Prestige

Importando os dados com a função read.table():

dados <- read.table("tabela3.txt", h=TRUE)

Verificando os dados:

str(dados)
## 'data.frame':    18 obs. of  3 variables:
##  $ y   : num  90.4 90.2 90.7 90.6 90.2 90.4 90.1 90.3 90.5 90.6 ...
##  $ temp: int  150 150 150 150 150 150 160 160 160 160 ...
##  $ pres: int  200 200 215 215 230 230 200 200 215 215 ...
dados
##       y temp pres
## 1  90.4  150  200
## 2  90.2  150  200
## 3  90.7  150  215
## 4  90.6  150  215
## 5  90.2  150  230
## 6  90.4  150  230
## 7  90.1  160  200
## 8  90.3  160  200
## 9  90.5  160  215
## 10 90.6  160  215
## 11 89.9  160  230
## 12 90.1  160  230
## 13 90.5  170  200
## 14 90.7  170  200
## 15 90.8  170  215
## 16 90.9  170  215
## 17 90.4  170  230
## 18 90.1  170  230

Informações importantes:

summary(dados)
##        y              temp          pres    
##  Min.   :89.90   Min.   :150   Min.   :200  
##  1st Qu.:90.20   1st Qu.:150   1st Qu.:200  
##  Median :90.40   Median :160   Median :215  
##  Mean   :90.41   Mean   :160   Mean   :215  
##  3rd Qu.:90.60   3rd Qu.:170   3rd Qu.:230  
##  Max.   :90.90   Max.   :170   Max.   :230

Convertendo temperatura e pressão para fatores:

dados$temp <- as.factor (dados$temp)
dados$pres <- as.factor (dados$pres)
str (dados)
## 'data.frame':    18 obs. of  3 variables:
##  $ y   : num  90.4 90.2 90.7 90.6 90.2 90.4 90.1 90.3 90.5 90.6 ...
##  $ temp: Factor w/ 3 levels "150","160","170": 1 1 1 1 1 1 2 2 2 2 ...
##  $ pres: Factor w/ 3 levels "200","215","230": 1 1 2 2 3 3 1 1 2 2 ...

Análise gráfica dos dados:

interaction.plot (dados$pres, dados$temp, dados$y, type="b", pch =19, fixed=T, xlab= "Pressão (psig)", ylab= "y")

O ideal seria que essas linhas não se cruzassem, uma vez que um fator não deve interferir na média de outro fator.

Observa-se no gráfico que as linhas representativas das temperaturas de 150 e 170 se cruzam em um ponto, o que pode ser considerado indício de que haja interação entre os dois fatores.

Estimação do modelo:

dados.aov <- aov(y ~ temp*pres, data = dados)

Exibindo a tabela ANOVA:

Ho: Não há diferença entre as médias.

summary(dados.aov)
##             Df Sum Sq Mean Sq F value   Pr(>F)    
## temp         2 0.3011  0.1506   8.469 0.008539 ** 
## pres         2 0.7678  0.3839  21.594 0.000367 ***
## temp:pres    4 0.0689  0.0172   0.969 0.470006    
## Residuals    9 0.1600  0.0178                     
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Conclusões:

(b) Analise os resíduos do modelo ajustado e comente sobre a adequação do modelo.

Verificação da Normalidade:

plot(dados.aov, which = 2)

Teste de Shapiro-Wilks:

Ho: os dados apresentam distribuição aproximadamente normal.

H1: Os dados não apresentam distribuição aproximadamente normal.

shapiro.test (dados.aov$residuals)
## 
##  Shapiro-Wilk normality test
## 
## data:  dados.aov$residuals
## W = 0.87366, p-value = 0.02046

Verificação de homogeneidade das variâncias:

plot(dados.aov, which = 1)

Teste de Fligner-Killeen:

Ho: Variância dos resíduos é homogênea.

H1: Variância dos resíduos não é homogênea.

fligner.test (y ~ interaction (temp, pres), data = dados)
## 
##  Fligner-Killeen test of homogeneity of variances
## 
## data:  y by interaction(temp, pres)
## Fligner-Killeen:med chi-squared = 14.869, df = 8, p-value =
## 0.06174

Conclusão:

(c) Sob quais condições dos fatores analisados o engenheiro deveria recomendar a operação do processo?

Gráficos dos Efeitos R base:

plot.design ( y ~ temp*pres , data = dados)

Gráfico dos Efeitos Pacote effects:

plot (allEffects (dados.aov))

inter <- with (dados , interaction (temp, pres))

amod <- aov (y ~ inter, data=dados)

HSD.test (amod, "inter" , group = TRUE, console = TRUE)
## 
## Study: amod ~ "inter"
## 
## HSD Test for y 
## 
## Mean Square Error:  0.01777778 
## 
## inter,  means
## 
##             y        std r  Min  Max
## 150.200 90.30 0.14142136 2 90.2 90.4
## 150.215 90.65 0.07071068 2 90.6 90.7
## 150.230 90.30 0.14142136 2 90.2 90.4
## 160.200 90.20 0.14142136 2 90.1 90.3
## 160.215 90.55 0.07071068 2 90.5 90.6
## 160.230 90.00 0.14142136 2 89.9 90.1
## 170.200 90.60 0.14142136 2 90.5 90.7
## 170.215 90.85 0.07071068 2 90.8 90.9
## 170.230 90.25 0.21213203 2 90.1 90.4
## 
## alpha: 0.05 ; Df Error: 9 
## Critical Value of Studentized Range: 5.594712 
## 
## Honestly Significant Difference: 0.5274745 
## 
## Means with the same letter are not significantly different.
## 
## Groups, Treatments and means
## a     170.215     90.85 
## ab    150.215     90.65 
## ab    170.200     90.6 
## ab    160.215     90.55 
## bc    150.200     90.3 
## bc    150.230     90.3 
## bc    170.230     90.25 
## bc    160.200     90.2 
## c     160.230     90

Conclusões: