Subsections

Aula 4: Experimento Fatorial Fracionário: Fração meia

Objetivo da aula

O objetivo dessa aula é analisar dados de um experimento fatorial fracionário (fração meia). Inicialmente será realizada a análise de um experimento fatorial completo e depois a análise de um fração meia.

Nessa análise, será utilizado o conjunto de dados de Box, Hunter & Hunter(1978), sobre um reator com cinco fatores.

Organizando os dados

Os dados de um experimento fatorial completo podem ser arranjados da seguinte maneira:

A variável resposta:

y<-c(61,53,63,61,53,56,54,61,69,61,94,93,66,60,95,98,56,63,70,65,59,55,67,65,44,45,78,77,49,
42,81,82)

E os fatores:

a<-rep(c(-1,1),16)
b<-rep(c(-1,-1,1,1),8)
c<-rep(c(-1,-1,-1,-1,1,1,1,1),4)
d<-rep(c(-1,1),each=8,2)
e<-rep(c(-1,1),each=16)
reactor1<-data.frame(a,b,c,d,e,y)
reactor1

Como há apenas dois níveis, não precisamos transformar para fatores.

Uma maneira alternativa é

require(AlgDesign)
x<-gen.factorial(2,5) #número de níveis, número de fatores
reactor2<-data.frame(x,y)
reactor2

Os dados também podem ser encontrados em

require(BsMD)
data(Reactor.data,package="BsMD")
print(Reactor.data)

Analisando os dados

Para construir o gráfico normal de probabilidade, inicialmente necessitamos das estimativas dos efeitos dos fatores do experimento. Por isso, deve-se fazer a análise de variância e extrair os efeitos. Observe que isso pode ser feito em qualquer dos conjuntos formados anteriormente.

r.av<-aov(y~a*b*c*d*e,data=reactor1)
summary(r.av)
r.av<-aov(y~X1*X2*X3*X4*X5,data=reactor2)
summary(r.av)
r.av<-aov(y~A*B*C*D*E,data=Reactor.data)
summary(r.av)

Separando os efeitos e construindo o gráfico normal de probabilidade:

efeitos<-coef(r.av)[2:32]*2 # 2 níveis
c<-qqnorm(efeitos)
qqline(efeitos)
identify(c$x,c$y,labels=names(c$y))

Observe nesse exemplo, que os efeitos de B, D, E, BD e DE são significativos.

O experimento fracionário

Utilizaremos as informações do experimento fatorial completo anterior para realizarmos a análise de um experimento fatorial fracionário. Ou seja, está sendo considerado que o experimento será iniciado a partir de agora. Isso nos fornece uma vantagem: pode-se comparar o resultado do experimento completo com o fracionário.

No R existem pelo menos duas maneiras de se obter uma configuração de um experimento fracionário. Uma é utilizando o pacote AlgDesign e a outra é utilizando o pacote BHH2.

Inicialmente, utilzaremos o pacote AlgDesign:

require(AlgDesign) # carregar o pacote

A função gen.factorial() é utilizada para gerar um experimento fatorial. Em seguida, cria-se uma quinta coluna para representar o fator E.

dat<-gen.factorial(levels=2,nVars=4,varNames=c("A","B","C","D")); dat
dat$E<-dat$A*dat$B*dat$C*dat$D; dat

Como estamos utilizando dados de um experimento fatorial completo, basta considerar as informações correspondentes para cada combinação dos níveis dos fatores e fazer a análise.

y<-c(56,53,63,65,53,55,67,61,69,45,78,93,49,60,95,82)
dados<-data.frame(dat,y);dados
colnames(dados)<-c(LETTERS[1:5],"y"); names(dados)
f.lm<-lm(y~A*B*C*D*E,data=dados)

Após a realização das análises, os efeitos podem ser avaliados com o uso do Gráfico Normal de Probabilidade.

efeitos<-f.lm$effects[2:16]
qqnorm(efeitos);qqline(efeitos)
identify(qqnorm(efeitos)$x,qqnorm(efeitos)$y)
efeitos

Em seguida, pode-se utilizar o pacote BHH2. Nesse pacote há uma função chamada ffDesMatrix() que faz as combinações para um experimento fracionário.

Primeiro, deve-se carregar o pacote:

require(BHH2)

Em seguida, utiliza-se a função ffDesMatrix(). Observe que a ordem das colunas do objeto será formada em função da forma como o gerador é inserido na função. Nesse exemplo, a coluna 5 será estruturada em função das colunas 1, 2 ,3 ,4 e 5 para construção de uma fração meia:

des<-ffDesMatrix(5,gen=list(c(5,1,2,3,4))) # 2^(5-1) fração meia

A entrada de dados e análise são como no exemplo anterior:

y<-c(56,53,63,65,53,55,67,61,69,45,78,93,49,60,95,82)
dados<-data.frame(des,y);dados

colnames(dados)<-c(LETTERS[1:5],"y"); names(dados)

f.lm<-lm(y~A*B*C*D*E,data=dados)
efeitos<-f.lm$effects[2:16]
qqnorm(efeitos);qqline(efeitos)
identify(qqnorm(efeitos)$x,qqnorm(efeitos)$y)
efeitos

Quais foram os efeitos significativos agora? E aí, vale a pena reduzir tanto o experimento?

O pacote FrF2

O pacote FrF2 pode ser utilizado para analisar os dados de um experimento fatorial. Além da avaliação dos efeitos do experimento, pode-se, por exemplo, utilizar a função aliases() para encontrar o padrão de confundimento do experimento e construir o cubo para representar um experimento fatorial.

Veja um exemplo com a utilização das análises do exemplo anterior:

require(FrF2)

summary(f.lm)
f.lm <- lm(y ~ (.)^2, data = dados) # apenas os efeitos estimáveis no modelo
summary(f.lm)

aliases(f.lm)
aliases(f.lm, code=TRUE) # padrão de confundimento

DanielPlot(f.lm) 

MEPlot(f.lm) # efeitos no gráfico

IAPlot(f.lm) # gráfico de interação

cubePlot(f.lm, "A", "B", "C") # cubo

Exercícios

  1. Faça uma nova configuração do fracionário, baseado nos critérios vistos em sala de aula e compare os resultados. Utilize os dados do exemplo dessa aula.
  2. Planeje, execute e analise o experimento do Girocóptero, utilizando a fração meia, com a seguinte configuração:
    Fator Nome - +
    A Cauda 1 dobra 2 dobras
    B Clip 1 clip 2 clips
    C Asa não dobrada dobrada
    D Lançamento reta dobrada

adilson dos anjos 2008-09-02