Você está na página 1de 7

Avaliação Experimetos

• Aluna: Karina Costa - 21555662


• Professor: Jose Clelto
Um pesquisador deseja estudar a influência do sabor de um refrigerante: tipo de
adocante (A), razão de xarope e água (B), nível de carbonatação (C) e temperatura (D).
Cada fator pode ser corrido em dois níveis, produzindo um planejamento 24 . Em cada
corrida do planejamento, amostras de refrigerante são dadas a 20 pessoas para testar.
Cada pessoa atribui uma pontuação de 1 a 10 para o refrigerante. A pontuação total é
a variável resposta avaliada e o objetivo é encontrar uma formulação que maximize a
pontuação total. Duas réplicas desse planejamento são corridas e os resultados são
mostrados na tabela
#PACOTES
library(dplyr)

## Warning: package 'dplyr' was built under R version 4.0.5

##
## Attaching package: 'dplyr'

## The following objects are masked from 'package:stats':


##
## filter, lag

## The following objects are masked from 'package:base':


##
## intersect, setdiff, setequal, union

library(ggplot2)

## Warning: package 'ggplot2' was built under R version 4.0.5

Análise Exploratória
Cálculos para obter as estimativas dos parâmetros, somas de quadrados, predição e
erros padrões. Na seção seguinte os dados serão analisados com funções do R e será
feita discussão dos resultados.
# Repetições de cada ponto experimental.
ftable(xtabs(~A + B + C + D, data = refri))
## D -1 1
## A B C
## -1 -1 -1 2 2
## 1 2 2
## 1 -1 2 2
## 1 2 2
## 1 -1 -1 2 2
## 1 2 2
## 1 -1 2 2
## 1 2 2
# Gráfico.

ggplot(data = refri,
mapping = aes(x = A, y = y, color = B)) +
facet_grid(facets = C ~ D) +
geom_point() +
stat_summary(mapping = aes(group = B),
fun = "mean",
geom = "line")

Análise com funções


Análise dos dados. Como é um modelo linear, usa-se a lm().
# Ajuste do modelo saturado.
m0 <- lm(y ~ A * B * C * D, data = refri)

# Diagnóstico nos resíduos.


par(mfrow = c(1, 2))
plot(m0, which = 3)
plot(m0, which = 2)
layout(1)

Atráves dos gráficos podemos observar que, não existem evidências contra o
atendimento dos pressupostos. Obviamente que por serem poucas observações,
dificulta-se detectar padrões característicos, como relação média-variância. O que
pode ser comentado é que o fato da variável ser medida em escala discreta (soma de
20 termos com notas de 0 a 10), isso aparece no gráfico com resíduos padronizados de
mesmo valor.

# Quadro de análise de variância.


anova(m0)
## Analysis of Variance Table
##
## Response: y
## Df Sum Sq Mean Sq F value Pr(>F)
## A 1 2312.00 2312.00 241.7778 4.451e-11 ***
## B 1 21.12 21.12 2.2092 0.1566
## C 1 946.13 946.13 98.9412 2.958e-08 ***
## D 1 561.13 561.13 58.6797 9.692e-07 ***
## A:B 1 0.13 0.13 0.0131 0.9104
## A:C 1 3.13 3.13 0.3268 0.5755
## B:C 1 0.50 0.50 0.0523 0.8220
## A:D 1 666.12 666.12 69.6601 3.187e-07 ***
## B:D 1 12.50 12.50 1.3072 0.2697
## C:D 1 12.50 12.50 1.3072 0.2697
## A:B:C 1 4.50 4.50 0.4706 0.5025
## A:B:D 1 2.00 2.00 0.2092 0.6536
## A:C:D 1 0.00 0.00 0.0000 1.0000
## B:C:D 1 0.13 0.13 0.0131 0.9104
## A:B:C:D 1 21.13 21.13 2.2092 0.1566
## Residuals 16 153.00 9.56
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
# Estimativas.
summary(m0)
##
## Call:
## lm(formula = y ~ A * B * C * D, data = refri)
##
## Residuals:
## Min 1Q Median 3Q Max
## -3.5 -2.0 0.0 2.0 3.5
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 1.752e+02 5.467e-01 320.588 < 2e-16 ***
## A 8.500e+00 5.467e-01 15.549 4.45e-11 ***
## B -8.125e-01 5.467e-01 -1.486 0.157
## C 5.438e+00 5.467e-01 9.947 2.96e-08 ***
## D 4.188e+00 5.467e-01 7.660 9.69e-07 ***
## A:B -6.250e-02 5.467e-01 -0.114 0.910
## A:C -3.125e-01 5.467e-01 -0.572 0.575
## B:C -1.250e-01 5.467e-01 -0.229 0.822
## A:D 4.562e+00 5.467e-01 8.346 3.19e-07 ***
## B:D 6.250e-01 5.467e-01 1.143 0.270
## C:D -6.250e-01 5.467e-01 -1.143 0.270
## A:B:C 3.750e-01 5.467e-01 0.686 0.503
## A:B:D -2.500e-01 5.467e-01 -0.457 0.654
## A:C:D 1.305e-14 5.467e-01 0.000 1.000
## B:C:D 6.250e-02 5.467e-01 0.114 0.910
## A:B:C:D -8.125e-01 5.467e-01 -1.486 0.157
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 3.092 on 16 degrees of freedom
## Multiple R-squared: 0.9676, Adjusted R-squared: 0.9371
## F-statistic: 31.81 on 15 and 16 DF, p-value: 4.504e-09

Pela análise de variância podemos dizer que, não houve interações relevantes
envolvendo C (nível de carbonação), apenas o efeito principal. Não houve efeito de B
(xarope/água) em nenhum termo. Houve interação dupla entre A (adoçante) e D
(temperatura). Portanto, alguns termos do modelo podem ser abandonados.
# Ajuste do modelo reduzido apenas nos termos relevantes.
m1 <- update(m0, . ~ C + A * D)
anova(m1)
## Analysis of Variance Table
##
## Response: y
## Df Sum Sq Mean Sq F value Pr(>F)
## C 1 946.13 946.13 110.766 4.688e-11 ***
## A 1 2312.00 2312.00 270.673 1.347e-15 ***
## D 1 561.13 561.13 65.693 1.046e-08 ***
## A:D 1 666.12 666.12 77.985 1.905e-09 ***
## Residuals 27 230.63 8.54
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
# Variâncias residuais.
c(s2_m0 = summary(m0)$sigma^2,
s2_m1 = summary(m1)$sigma^2)
## s2_m0 s2_m1
## 9.562500 8.541667

# Teste para nulidade dos termos abandonados.


anova(m1, m0)
## Analysis of Variance Table
##
## Model 1: y ~ C + A + D + A:D
## Model 2: y ~ A * B * C * D
## Res.Df RSS Df Sum of Sq F Pr(>F)
## 1 27 230.62
## 2 16 153.00 11 77.625 0.738 0.6907

Percebe-se que o modelo ajustado não diferiu. Neste exemplo, a variância residual do
modelo m1 foi menor que do modelo m0.Então, a diferença nessas estimativas é
irrelevante. Poderia-se usar a estimativa pura da variância residual fornecida pelo
modelo m0. Os resultados não devem mudar substancialmente.
# Malha fina de valores para predição.
pred <- expand.grid(A = seq(-1, 1, by = 0.1),
C = seq(-1, 1, by = 0.5),
D = seq(-1, 1, by = 0.1),
KEEP.OUT.ATTRS = FALSE)
pred <- cbind(pred,
as.data.frame(predict(m1,
newdata = pred,
se.fit = TRUE)[1:2]))

# Gráfico da superfície média (valores ajustados).


ggplot(data = pred,
mapping = aes(x = A, y = D, z = fit, fill = fit)) +
facet_wrap(facets = ~C) +
geom_tile() +
scale_fill_distiller(palette = "Spectral",
direction = 1) +
geom_contour(color = "blue") +
coord_equal()
A função apresenta um comportamento que, conforme antecipado, indica que o efeito
de A (adoçante) depende do valor de D (temperatura) e vice versa. É possível
entender melhor com gráfico de linhas.
# Gráficos de linhas.
ggplot(data = pred,
mapping = aes(x = A, y = fit, color = D, group = D)) +
facet_wrap(facets = ~C) +
geom_line() +
scale_color_distiller(palette = "PRGn")

Perceba que quanto maior o valor de D (temperatura), mais pronunciado é o efeito


de A (adoçante). Diz-se que existe sinergismo entre esses fatores. O efeito de C
(carbonação) é aditivo aos demais (nas escalas consideradas). Quanto maior C, maior
o valor médio fixando-se os demais fatores.
# Valores preditos em cada ponto experimental.
grid <- unique(refri[, c("A", "C", "D")])
grid$fit <- predict(m1, newdata = grid)
arrange(grid, fit)
## A C D fit
## 1 -1 -1 1 160.9375
## 2 -1 -1 -1 161.6875
## 3 1 -1 -1 169.5625
## 4 -1 1 1 171.8125
## 5 -1 1 -1 172.5625
## 6 1 1 -1 180.4375
## 7 1 -1 1 187.0625
## 8 1 1 1 197.9375

A melhor combinação experimental no sentido de aumentar a nota para o


refrigerante é 𝑦𝑜𝑝𝑡𝑎𝑟 = 𝑓(𝐴 = 1, 𝐶 = 1, 𝐷 = 1) = 197.94. Dado que o efeito de C
(carbonação) é aditivo aos demais, a condicação de operação 𝐴 = 1, 𝐷 = 1 é a melhor
independente do nível de C, ou seja, independente da carbonação.

Você também pode gostar