Escolar Documentos
Profissional Documentos
Cultura Documentos
Viçosa 2007
Capítulo 1 – Como Baixar e Instalar o Programa R Gustavo Mello Reis José Ivo Ribeiro Júnior 1
1. Download do R
Figura 1
Figura 2
Capítulo 1 – Como Baixar e Instalar o Programa R Gustavo Mello Reis José Ivo Ribeiro Júnior 2
O download do R pode ser feito através das etapas a seguir:
a) clicar em Windows (Figura 3);
b) clicar em “base” (Figura 4) para ter acesso à página de onde será feito o download do
instalador do R;
c) clicar em “R-2.7.2-win32.exe”, onde a numeração 2.7.2 representa a versão do R, disponível
naquele momento (Figura 5).
Por último aparecerá uma janela, onde se pode executar ou salvar o programa (Figura 6).
A forma mais segura de se fazer a instalação é salvar em uma pasta e depois executar o
instalador a partir dela, já que o processo de download pode ser demorado.
Figura 3
Figura 4
Capítulo 1 – Como Baixar e Instalar o Programa R Gustavo Mello Reis José Ivo Ribeiro Júnior 3
Figura 5
Figura 6
2. Instalação do R
Após o término do download, deve-se dar dois cliques com o botão esquerdo do mouse no
arquivo baixado (instalador) para começar a instalação, de acordo com as figuras a seguir:
Capítulo 1 – Como Baixar e Instalar o Programa R Gustavo Mello Reis José Ivo Ribeiro Júnior 4
Figura 7. Caso apareça um aviso de segurança, basta clicar em “Executar”
Capítulo 1 – Como Baixar e Instalar o Programa R Gustavo Mello Reis José Ivo Ribeiro Júnior 5
Figura 10. Clicar em “Avançar”
Figura 11. Escolher a pasta para a instalação do R, sendo aconselhável utilizar a pasta
sugerida e clicar em “Avançar”
Capítulo 1 – Como Baixar e Instalar o Programa R Gustavo Mello Reis José Ivo Ribeiro Júnior 6
Figura 12. Esta informação irá aparecer caso a pasta escolhida para se fazer a instalação já
exista. Caso esta esteja vazia, clicar em “Sim”, caso contrário, “NÃO” e escolher outra
Capítulo 1 – Como Baixar e Instalar o Programa R Gustavo Mello Reis José Ivo Ribeiro Júnior 7
Figura 15. Aconselhável deixar o nome sugerido “R” e clicar em “Avançar”
Capítulo 1 – Como Baixar e Instalar o Programa R Gustavo Mello Reis José Ivo Ribeiro Júnior 8
Após o termino da instalação, aparecerá uma janela de finalização do instalador. Nela,
clicar em “Concluir”. A partir daí, o R já pode ser usado. As janelas exibidas foram as do Windows
XP para a instalação da versão R 2.7.2.
3. Instalação de Pacotes do R
Para instalar os pacotes pelo programa R, deve-se seguir os passos abaixo, com o R
aberto:
a) clicar em “Pacotes” e depois em “Instalar pacotes(s)...” (Figura 17);
b) na janela “CRAN mirror”, escolher um servidor do Brasil que esteja mais perto de sua cidade e
clicar em “OK” para conectar-se a ele (Figura 18).
c) deve-se selecionar um pacote de interesse e clicar em “OK”. Este processo deve ser repetido
para cada pacote a ser instalado, pois só é possível instalar um por vez (Figura 19).
Caso apareça uma lista com poucos pacotes, provavelmente o servidor selecionado está
passando por algum problema temporário. Neste caso, pode-se fechar a janela e repetir os
passos escolhendo-se outro servidor.
Para instalar o pacote “qcc” (nomes em ordem alfabética), deve-se clicar nele e depois em
“OK” (Figura 20). Irá aparecer no console uma mensagem que indica se ocorreram ou não
problemas na instalação (Figura 21).
Capítulo 1 – Como Baixar e Instalar o Programa R Gustavo Mello Reis José Ivo Ribeiro Júnior 9
Figura 17
Figura 18
Capítulo 1 – Como Baixar e Instalar o Programa R Gustavo Mello Reis José Ivo Ribeiro Júnior 10
Figura 19
Figura 20
Capítulo 1 – Como Baixar e Instalar o Programa R Gustavo Mello Reis José Ivo Ribeiro Júnior 11
Figura 21
Quando os pacotes são instalados pelo site, aparece na frente de cada um deles, uma
breve descrição dos mesmos. Para instalá-los, deve-se seguir as etapas abaixo:
a) acessar o servidor mais próximo pelo site www.r-project.org (Figuras 1 e 2);
b) clicar sobre o link “Packages” (Figura 22) que abrirá uma página com mais de 1500 pacotes.
Por exemplo, para baixar um pacote relacionado ao controle estatístico de processo, deve-
se procurar por palavras chaves em inglês relacionadas ao assunto, assim será feita uma busca
por “Statistical Process Control“ utilizando o sistema de busca do navegador de internet (Figura
23), que pode ser acessado pela tecla de atalho CTRL + F. Dessa forma, foi encontrado o pacote
“spc” (Figura 24), deve-se clicar nesse link e em “spc 0.1.zip” (Figura 25), para salvar o pacote no
computador (fazer o download). O manual desse pacote, em inglês, está em “spc.pdf” (Figura 25).
Depois do download concluído, deve-se abrir o R para fazer a instalação, clicando-se em
“Packages” e depois em “Install package(s) from local zip file...” (Figura 26). Irá aparecer uma
janela para selecionar o pacote a ser instalado, basta ir até a pasta onde o mesmo foi salvo,
selecioná-lo e depois clicar em “Abrir”. Se a instalação ocorreu sem problemas, então irá aparecer
no console, a mensagem: “package 'spc' successfully unpacked and MD5 sums checked”.
Capítulo 1 – Como Baixar e Instalar o Programa R Gustavo Mello Reis José Ivo Ribeiro Júnior 12
Figura 22
Figura 23
Capítulo 1 – Como Baixar e Instalar o Programa R Gustavo Mello Reis José Ivo Ribeiro Júnior 13
Figura 24
Figura 25
Capítulo 1 – Como Baixar e Instalar o Programa R Gustavo Mello Reis José Ivo Ribeiro Júnior 14
Figura 26
Do mesmo modo, os pacotes podem ser transferidos de um computador para outro por
disquetes, CD’s ou pen drives e instalados seguindo os passos do exemplo acima referentes à
Figura 26.
Capítulo 1 – Como Baixar e Instalar o Programa R Gustavo Mello Reis José Ivo Ribeiro Júnior 15
Capítulo 2
A Linguagem R
Viçosa 2007
Como pode-se observar (Figura 1), a tela principal do R é bastante simples, cuja utilização
é feita através de comandos sobre os objetos (bancos de dados ou resultados gerados por
funções, por exemplo), criados pelo usuário quando efetua as análises estatísticas.
No R, os valores numéricos ou não (caracteres) podem ser dispostos em um vetor, matriz
ou data frame.
Os comandos são realizados por meio de operadores e de funções vistas da seguinte
forma: nome.da.funcao(argumento1, argumento2, ..., argumentoN). É aconselhável não utilizar
acentuação nem espaços no nome da função, assim como observado acima, o ponto substitui o
espaço. Os argumentos vêm sempre dentro de parênteses e separados por vírgula.
No console, janela onde os comandos são digitados, existe o menu, que é um conjunto de
ícones que se encontra na parte superior (Figura 1), e o prompt de comando, que é um sinal
indicador de que o programa está pronto para receber o comando (Figura1).
O R reconhece como local de trabalho, a pasta onde foi instalado, podendo a mesma ser
mudada, se houver interesse. Assim, cada vez que se abre um novo console, uma nova sessão é
criada, devendo ser salva, quando se tem interesse em acessar novamente os objetos e
comandos criados.
Com relação aos dados, NA representa a ausência de um dados, Inf ou –Inf informa que o
valor tende a mais ou menos infinito e NaN, informa que o valor não é um número válido.
As janelas de ajuda, abertas pela função help() ou pelo operador ?, de forma geral, podem
possuir até nove tópicos, como segue:
a) Description: descreve o que a função realiza.
b) Usage: exibe a forma de usar a função com os argumentos na ordem correta entre parênteses
e, quando a função possui alguma variação, esta também será mostrada.
c) Arguments: descreve os argumentos possíveis de serem usados, sendo que os argumentos
obrigatórios vêm primeiro e a ordem é a mesma mostrada no tópico Usage. No final deste tópico
poderá aparecer três pontos, o que indica que a função em questão poderá aceitar outros
argumentos não descritos e que fazem parte de alguma função relacionada a ela.
d) Details: exibe alguns detalhes sobre como usar os argumentos, os valores que podem ser
atribuídos a eles e outros assuntos relacionados.
Capítulo 2 – A Linguagem R Gustavo Mello Reis José Ivo Ribeiro Júnior 5
e) Value: descreve que tipo de objeto a função retorna.
f) Note: é um tipo de observação final, que pode conter dicas para melhorar o funcionamento da
função, informações a respeito de possíveis diferenças entre a utilização da função em versões
diferentes do R e outras.
g) References: exibe referências bibliográficas relacionadas à função.
h) See Also: exibe algumas funções que têm alguma relação com a função em questão.
i) Examples: exibe exemplos de como usar a função, que podem ser copiados e colados no
console para executá-los.
3. Salvar as Sessões do R
Para trabalhar no R, é aconselhável criar uma nova pasta de trabalho diferente daquela
padrão do Windows, como por exemplo, Rdados. Para escolher essa pasta, deve-se clicar em
“Arquivo”, no menu do R, e em “Mudar dir...”. Depois deve-se selecioná-la, clicando em “Browse”
e em “OK” e “OK” mais uma vez.
O formato que o R salva suas sessões é .RData. Este arquivo irá conter apenas os objetos
armazenados. O arquivo .RData pode ser criado de duas formas:
a) menu do R: clicar em “Arquivo”, em “Salvar área de trabalho...”, digitar um nome para a sessão
em questão e clicar em “Salvar”.
b) console do R: função save.iamge(“nome da sessão.Rdata”), salva o arquivo na pasta de
trabalho escolhida anteriormente.
Os comandos utilizados são salvos em outro arquivo do R, que tem a extensão do tipo
.Rhistory. Para criar este arquivo, deve-se clicar em “Arquivo”, em “Salvar Histórico...”, digitar um
nome para o arquivo, preferencialmente o mesmo utilizado para a sessão, e clicar em “Salvar”.
Depois que a sessão estiver salva, pode-se fechar o R e abrí-lo novamente na mesma
sessão sem perder nada. Para isso, deve-se ir até a pasta onde a sessão foi salva e dar dois
cliques no arquivo “nome da sessão.RData”. O R será aberto e, os objetos criados nesta sessão,
estarão prontos para serem usados, sendo que os comandos utilizados ainda não estarão
disponíveis. Para ativá-los, deve-se clicar em “Arquivo” e em “Carregar Histórico...” e selecionar o
arquivo “nome da sessão.Rhistory” e clicar em “Abrir”. E para acessá-los, basta apertar a seta
para cima do teclado que eles irão aparecendo.
Se os dados estiverem em uma planilha de dados, deve-se fazer com que o R leia esta
planilha e a transforme em um objeto. Mas para isso, deve ser informado o que separa uma
coluna da outra. As planilhas do tipo .xls e .ods, que são os formatos padrões do Excel e do Calc
(editor de planilhas do pacote OpenOffice), respectivamente, não possuem nenhum sinal
separando as colunas. Portanto, o R não conseguirá separá-las e irá exibir uma mensagem de
erro. Um modo fácil de resolver este problema é salvar a planilha de dados com um outro formato
(.csv), que utiliza o sinal “;” para separar as colunas. Isto pode ser feito no próprio Excel ou no
Calc.
Um outro possível problema na entrada de dados é a configuração do sinal utilizado para
separar as casas decimais. No Brasil, o padrão é utilizar a vírgula. No entanto, o R utiliza o ponto,
que é o padrão da língua inglesa. Para resolver isto, têm-se duas opções: informar ao R que o
arquivo a ser lido utiliza a vírgula como separador decimal e ele irá convertê-la para ponto ou
alterar a configuração do editor de planilha para que ele aceite o ponto como separador decimal.
De acordo com a Figura 2, pode-se verificar que os dados estão com o ponto como
separador decimal. Uma forma fácil de saber se o valor digitado foi reconhecido como numérico
ou não, é observar o seu posicionamento na coluna. Os caracteres são alinhados à esquerda,
enquanto os números são alinhados à direita. Além disso, deve-se evitar fazer formatações na
planilha de dados e, todas as fórmulas executadas, devem ser convertidas a valores. Como o
programa R irá reconhecer células em branco que já tenham sido trabalhadas como sendo um
valor perdido, para evitar possíveis problemas, é aconselhável copiar os valores de entrada para
uma nova planilha para depois convertê-la para o formato .csv.
Para salvar a planilha de dados no formato .csv, deve-se clicar em “Arquivo”, e em “Salvar
como...”, e selecionar a pasta onde o arquivo será salvo, que no presente trabalho é C:\Rdados.
Em seguida, deve-se escolher o nome do arquivo que, no exemplo será entrada, e o formato a ser
Figura 3
Figura 4
5. Manipulação de Dados
5.1. Vetor
b) criar um vetor contendo uma seqüência de números de 1 a 15 espaçados por duas unidades:
v<-seq(1,15,2)
v # Ver o vetor v
[1] 1 3 5 7 9 11 13 15
c) criar um vetor de números divididos em cinco níveis, com cada nível contendo três repetições:
v<-gl(5,3)
v # Ver o vetor v
[1] 1 1 1 2 2 2 3 3 3 4 4 4 5 5 5
Levels: 1 2 3 4 5
Como pode-se observar, o R tem como padrão ler os dados seguindo a ordem por
colunas. Caso os dados tivessem que ser ordenados por linha, tem-se a opção a seguir:
matriz2<-matrix(v,2,3,byrow=T)
Neste caso, a matriz2 é criada com os dados armazenados no vetor v, ordenando-os por
linha (byrow=TRUE). Além disso, os nomes dos três primeiros argumentos não foram utilizados,
pois os seus valores estão na ordem correta.
# Ver a matriz2
matriz2
[,1] [,2] [,3]
[1,] 1 2 3
[2,] 4 5 6
Na Figura 5, deve-se clicar sobre o nome da quarta coluna, onde será aberta uma nova
janela (Figura 6). Nesta, deve-se clicar em “numeric” e alterar o nome para “col4”, com o objetivo
de padronizar, e depois fechar a janela. Algumas restrições na criação de novos dados nesta
janela são que as novas linhas são inseridas apenas para baixo e, as novas colunas, apenas para
a direita, sendo que não é possível selecionar mais do que uma célula ao mesmo tempo. A coluna
e a linha serão criadas digitando número por número (Figura 7). Após a digitação de todos os
números, pode-se fechar a janela e ver a nova matriz.
Figura 5
Figura 6
A entrada de dados externos não é a única forma de se ter um “Data Frame” no R. Eles
podem também serem criados dentro do próprio programa. Primeiro, é preciso armazenar cada
coluna em um vetor diferente no R, da seguinte forma:
a) utilizar a função c( ):
X<-c(“A”,“A”,“A”,“A”,“A”,“B”,“B”,“B”,“B”,“B”) # usar aspas em caracteres
Y<-c(12.3,11.8,13.6,13,12.5,11.4,10.9,12.1,11.2,10.5)
A forma de manipular um “Data Frame” é parecida com a de uma matriz. A diferença entre
essas duas estruturas de dados é que o “Data Frame” permite trabalhar com valores numéricos e
caracteres ao mesmo tempo e também é possível mudar os nomes das colunas e de ter acesso a
cada uma delas através dos seus nomes. Como exemplo, tem-se:
6. Características de Qualidade
Estatística Descritiva e
Gráficos Gerais
Viçosa 2007
Capítulo 3 – Estatística Descritiva e Gráficos Gerais Gustavo Mello Reis José Ivo Ribeiro Júnior 1
Neste capítulo serão apresentadas algumas estatísticas descritivas e gráficos
freqüentemente utilizados na área de controle de qualidade, com o objetivo de medir a posição, a
variação e a distribuição da variável reposta Y, de forma geral ou estratificada.
1. Medidas
Pode-se calcular a média de Y, de forma geral ou para cada nível de X, da seguinte forma:
mean(Y) # média de Y
[1] 32.2
tapply(Y, X, mean) # média de Y para cada nível de X
1 2
25.4 39.0
A função tapply pode ser usada, não só para a média, mas para qualquer outra medida, de
duas maneiras:
a) tapply(variável Y, variável X, medida);
b) tapply(variável Y, c(variável X, variável XX), medida).
Neste último caso, a variável Y será estratificada em dois fatores diferentes (variável X e
variável XX).
A mediana de Y é dada por:
median(Y) # mediana de Y
[1]
35
tapply(Y, X, median) # mediana de Y para cada nível de X
1 2
23 37
Já os percentis, que por padrão no R são calculados o Po, P25, P50, P75 e P100, são obtidos
através de:
quantile(Y)
0% 25% 50% 75% 100%
Capítulo 3 – Estatística Descritiva e Gráficos Gerais Gustavo Mello Reis José Ivo Ribeiro Júnior 2
20.00 24.25 35.00 37.00 44.00
No R, existe a função summary capaz de resumir vários tipos de objetos, como por
exemplo:
summary(Y)
Min. 1st Qu. Median Mean 3rd Qu. Max.
20.00 24.25 35.00 32.20 37.00 44.00
tapply(Y,X,summary)
$"1"
Min. 1st Qu. Median Mean 3rd Qu. Max.
20.0 23.0 23.0 25.4 28.0 33.0
$"2"
Min. 1st Qu. Median Mean 3rd Qu. Max.
37 37 37 39 40 44
2. Intervalos de Confiança
Y<-c(11, 16, 22, 27, 31, 35, 39, 43, 47, 50)
Para a média de Y, serão estimados dois intervalos com 100(1-α)% de confiança, um com
base na distribuição de z e outro com base na de t, dados, respectivamente por:
b) IC(µ Y ) 1− α : Y ± t α / 2 S Y . onde: S Y = S Y / n
alfa<-0.05
z<-qnorm(1-alfa/2) # Valor de z para α = 0.05
n<-length(Y) # Tamanho da amostra
sinal<-c(-1,+1) # Sinal mais ou menos
mean(Y)+sinal*z*5/sqrt(n) # Fórmula: Y ± z α / 2 σ Y
Capítulo 3 – Estatística Descritiva e Gráficos Gerais Gustavo Mello Reis José Ivo Ribeiro Júnior 4
gl<-n-1 # Graus de liberdade
alfa<-0.05
t<-qt(1-alfa/2, gl) # Valor de t para α = 0.05
n<-length(Y) # Tamanho da amostra
sinal<-c(-1,+1) # Sinal mais ou menos
mean(Y)+sinal*t*sd(Y)/sqrt(n) # Fórmula: Y ± t α / 2 S Y
3. Gráficos
No R, cada tipo de gráfico possui uma função específica. No entanto, algumas de suas
configurações, serão controladas pela função par, de acordo com os argumentos apresentados na
Tabela 1:
Capítulo 3 – Estatística Descritiva e Gráficos Gerais Gustavo Mello Reis José Ivo Ribeiro Júnior 5
adj indica a posição dos textos através de valores de 0 a 1, sendo
que 0 indica texto à esquerda, 0.5 centralizado e 1 à direita
las indica a posição dos valores nos eixos x e y dos gráficos, sendo o
padrão neste material de las=1, que indica que os valores dos
eixos x e y devem ser postos na horizontal
Os argumentos, com exceção dos quatro primeiros, podem também ser usados nas
funções responsáveis por criar os gráficos. A diferença é que quando são utilizados na função
“par”, as suas propriedades serão aplicadas em todos os gráficos criados, enquanto a janela dos
gráficos não for fechada. Quando são utilizados dentro de uma função específica de um gráfico,
os seus efeitos serão aplicados apenas naquele gráfico.
A cópia dos gráficos do R para editores de textos, como por exemplo, Word e Writer (do
pacote OpenOffice), podem ser feitas sob duas opções:
a) pressionar Ctrl+c para copiar e Ctrl+v para colar o gráfico (apenas no tamanho da janela
reduzida);
b) clicar com o botão direito sobre o gráfico e depois com o esquerdo, em “Copy as metafile” para
copiar e, Ctrl+v, para colar o gráfico (no tamanho em que estiver apresentado no R).
Para salvar os gráficos gerados no R, durante uma sessão, deve-se estar com a janela dos
mesmos aberta e ativa, ou seja, à frente das outras janelas. Neste caso, o menu do R será
modificado em relação ao menu principal e, neste novo menu, clicar em “Histórico” e em
“Gravando”. Para acessá-los posteriormente, basta teclar PageUp ou PageDown para ver os
gráficos anteriores ou posteriores, respectivamente. O processo de gravação será finalizado após
clicar, novamente, em “Histórico” e em “Gravando”, desmarcando assim, esta opção. Porém, os
gráficos gravados anteriormente continuarão disponíveis. Caso haja necessidade de deletá-los,
deve-se clicar em “Histórico” e em “Limpar Histórico”. Outra maneira, é salvá-los em um objeto
dentro do R. Para isso, deve-se clicar em “Histórico” e em “Salvar para variável...”, digitar um
nome para o objeto e clicar em “OK”, cujo objeto estará disponível apenas na sessão que foi
salvo. Para ver os gráficos, deve-se clicar em “Histórico” e em “Pegar da variável...”, digitar o
nome do objeto e clicar em “OK”. E, para excluir o objeto, deve-se digitar no console o comando:
rm(nome.do.objeto).
Além disso, os gráficos podem ser salvos em um arquivo externo ao R. Com a janela do
gráfico de interresse aberta, clicar em “Arquivo” e em “Salvar como” e escolher um formato para
salvar o gráfico. Os formatos mais usuais e mais compatíveis com a maioria dos programas de
imagens, são Bmp (Bitmap) e Jpeg.
3.1. Histograma
Capítulo 3 – Estatística Descritiva e Gráficos Gerais Gustavo Mello Reis José Ivo Ribeiro Júnior 6
Como exemplo, será simulada uma variável Y em duas amostras com n1 = 50 e n2 = 50,
baseada nas distribuições normais com µY1 = 150 e σY1 = 20, para X1 e µY2 = 100 e σY2 = 20, para
X2. A simulação no R será feita da seguinte forma:
Figura 1. Histograma
a b
10 15
10
Frequency
Frequency
6
4
5
0 0
Y[X == 1] Y[X == 2]
stem(Y)
The decimal point is 1 digit(s) to the right of the |
4 | 9
6 | 55601666
8 | 34448888000122456668899
10 | 3345567134679
12 | 47890012234667889
14 | 01134555688902345556799
16 | 013449911267
18 | 258
stem(Y[X= =1])
stem(Y[X= =2])
Capítulo 3 – Estatística Descritiva e Gráficos Gerais Gustavo Mello Reis José Ivo Ribeiro Júnior 8
3.3. Box-plot
O gráfico de Pareto pode ser construído tanto para efeitos (variáveis Ys) como para causas
(variáveis Xs), cujo objetivo é de destacar os níveis prioritários da variável estudada.
As variáveis são, normalmente, expressas em número de ocorrências ou em unidades
monetárias, sendo que o gráfico pode ser estratificado com o objetivo de verificar se o
comportamento do processo, a nível geral, ocorre ou não de acordo com as diferentes
particularidades do mesmo.
Como exemplo, considere que uma indústria girou o ciclo PDCA com o objetivo de diminuir
o número de televisores defeituosos. A amostragem foi feita sobre a produção de um mês de
acordo os tipos de defeitos (X) e estratificada em função dos locais 1 e 2 de produção (XX). No
estudo, foram analisadas duas variáveis: número de ocorrência de cada tipo de defeito (Y) e custo
devido ao tipo de defeito (YY).
A entrada de dados pode ser feita da seguinte forma:
dados.p<-read.csv2(“pareto.csv”, dec=”.”)
dados.p
Capítulo 3 – Estatística Descritiva e Gráficos Gerais Gustavo Mello Reis José Ivo Ribeiro Júnior 9
XX X Y YY
1 def.A 15 30
1 def.B 12 60
1 def.C 6 120
1 def.D 4 40
1 def.E 7 25
2 def.A 6 12
2 def.B 16 80
2 def.C 12 240
2 def.D 6 60
2 def.E 2 15
attach(dados.p)
A função utilizada para construir o gráfico de pareto faz parte do pacote qcc, que deverá
ser instalado, caso ainda não tenha sido. Após a instalação, deve-se ativá-lo na sessão:
library(qcc) # Ativar o pacote qcc
As barras serão organizadas de acordo com a ordem de freqüência, sendo que por padrão,
a ordem das linhas é associada com a ordem das letras do alfabeto. As cores, por padrão
(default), terão uma tonalidade vermelha que diminui com a importância da barra.
O gráfico de Pareto para o número de defeitos (Y) será construído, de forma estratificada
em XX, da seguinte forma:
Capítulo 3 – Estatística Descritiva e Gráficos Gerais Gustavo Mello Reis José Ivo Ribeiro Júnior 10
def.B 16 16 38.095238 38.09524
def.C 12 28 28.571429 66.66667
def.D 6 34 14.285714 80.95238
def.A 6 40 14.285714 95.23810
def.E 2 42 4.761905 100.00000
Alguns nomes no eixo x podem não aparecer no gráfico, para não haver sobreposição de
nomes, não foi este caso. No entanto, uma forma de evitar esta falha é alinhar os nomes do eixo x
na vertical, usando o argumento las=2.
A construção do gráfico de Pareto para os custos dos defeitos (YY) segue os mesmos
passos anteriores:
Capítulo 3 – Estatística Descritiva e Gráficos Gerais Gustavo Mello Reis José Ivo Ribeiro Júnior 11
pie(Y[XX= =1])
pie(Y[XX= =2])
Este gráfico é utilizado com o objetivo de mostrar a relação entre duas variáveis Ys, entre
uma variável X e uma variável Y ou entre duas variáveis Xs.
Numa empresa metal-mecânica, após perceber que o desgaste das ferramentas de corte
nos tornos parecia excessivo, foi solicitado ao encarregado pelo controle de qualidade que
comprovasse ou não a suspeita. Para isso, ele realizou um experimento que consistiu em variar a
velocidade do torno (Y) e observar o tempo em que a ferramenta era capaz de manter a afiação
para a qual foi padronizada (YY). Ao todo, foram utilizadas 22 ferramentas de dois fornecedores
(X).
No R, foram utilizados os seguintes dados do arquivo C:\Rdados\dispersão.csv, como
segue:
Capítulo 3 – Estatística Descritiva e Gráficos Gerais Gustavo Mello Reis José Ivo Ribeiro Júnior 12
B 34 20
A 36 35
B 36 26
A 38 35.5
B 38 30
A 40 39
B 40 25
B 42 35
A 42 39.5
B 44 30
A 44 41
B 46 32
A 46 40
B 48 38
B 48 30
B 50 25
B 50 33
attach(dados.disp)
plot(YY~Y)
Figura 6. Diagrama de dispersão geral
Capítulo 3 – Estatística Descritiva e Gráficos Gerais Gustavo Mello Reis José Ivo Ribeiro Júnior 13
De acordo com a Figura 6, parece que a variável Y, velocidade do torno, não possui
relação com a variável YY, tempo em que mantêm a afiação. Para confirmar, será calculado o
coeficiente de correlação (r) entre as duas variáveis:
cor(Y,YY) # r
[1] 0.5041802
O argumento “pch” indica o tipo de símbolo que será usado, podendo receber valores de 1
a 25 e também qualquer caractere diretamente especificado utilizando aspas, como por exemplo,
pch = “*”.
Capítulo 3 – Estatística Descritiva e Gráficos Gerais Gustavo Mello Reis José Ivo Ribeiro Júnior 14
Para confirmar a tendência de aumento de YY, tempo capaz de manter a afiação, com um
acréscimo em Y, velocidade do torno, serão calculados os coeficientes de correlação para cada
fabricante:
Capítulo 3 – Estatística Descritiva e Gráficos Gerais Gustavo Mello Reis José Ivo Ribeiro Júnior 15
No R, o diagrama (Figura 9) será criada pela função cause.and.effect, que faz parte do
pacote qcc. Esta função possui cinco argumentos: cause = causas primárias
(sem.espaços.no.nome) e secundárias, effect = efeito, tittle = título, cex = tamanho dos textos e
font = fonte do texto. De acordo com a Figura 8, têm-se:
Capítulo 3 – Estatística Descritiva e Gráficos Gerais Gustavo Mello Reis José Ivo Ribeiro Júnior 16
Capítulo 4
Gráficos de Controle
Viçosa 2007
Capítulo 4 – Gráficos de Controle Gustavo Mello Reis José Ivo Ribeiro Júnior 1
1. Introdução
library(qcc)
2. Para Atributos
Y n p̂ p̂ ĉ û
sY
n p̂(1 − p̂) p̂(1 − p̂) n ĉ û r
Capítulo 4 – Gráficos de Controle Gustavo Mello Reis José Ivo Ribeiro Júnior 2
σY = desvio padrão paramétrico ou especificado de acordo com o interesse;
Y = média amostral;
sY = desvio padrão amostral;
n = número de repetições por amostra;
p = média paramétrica da proporção de itens defeituosos ou especificada de acordo
com o interesse;
2.1.1. Gráfico np
dados.np<-read.csv2(“gc_np.csv”, dec=“.”)
dados.np
n Y
300 9
300 3
320 16
350 7
Capítulo 4 – Gráficos de Controle Gustavo Mello Reis José Ivo Ribeiro Júnior 3
325 13
350 21
attach(dados.np)
np chart for Y
Number of groups: 6
Center of group statistics: 10.64267 10.64267 11.35219 12.41645
11.52956 12.41645
Standard deviation: 3.203922 3.203922 3.308997 3.460632 3.334748
3.460632
Control limits:
LCL UCL
1.030906 20.25444
1.030906 20.25444
1.425195 21.27918
2.034557 22.79835
1.525319 21.53381
2.034557 22.79835
Capítulo 4 – Gráficos de Controle Gustavo Mello Reis José Ivo Ribeiro Júnior 4
Figura 1. Gráfico np
np Chart
for Y
UCL
20
Group summary statistics
15
10
5
LCL
1 2 3 4 5 6
Group
Number of groups = 6
Center is variable LCL is variable Number beyond limits = 0
StdDev = 3.460632
3.203922
3.308997
3.334748 UCL is variable Number violating runs = 0
2.1.2. Gráfico p
Capítulo 4 – Gráficos de Controle Gustavo Mello Reis José Ivo Ribeiro Júnior 5
qcc(Y, type=“p”, sizes=n)
Call:
qcc(data = Y, type = "p", sizes = n)
p chart for Y
Number of groups: 6
Center of group statistics: 0.03547558
Standard deviation: 0.1849785
Control limits:
LCL UCL
0.003436355 0.06751480
0.003436355 0.06751480
0.004453733 0.06649742
0.005813021 0.06513814
0.004693288 0.06625787
0.005813021 0.06513814
Figura 2. Gráfico p
p Chart
for Y
0.07
UCL
0.06
Group summary statistics
0.05
0.04
0.03
0.02
0.01
LCL
1 2 3 4 5 6
Group
Number of groups = 6
Center = 0.03547558 LCL is variable Number beyond limits = 0
StdDev = 0.1849785 UCL is variable Number violating runs = 0
Capítulo 4 – Gráficos de Controle Gustavo Mello Reis José Ivo Ribeiro Júnior 6
qcc(Y, type=“p”, sizes=n, nsigmas=2, center=0.01, std.dev=0.0055)
Caso o interesse seja em ter LIC = 0, LM = 0,02, e LSC = 0,04, para k = 3
(default), então tem-se:
2.1.3. Gráfico c
dados.c<-read.csv2(“gc_c.csv”, dec=“.”)
dados.c
Y Ta Tu r
10 10 10 1
8 10 10 1
14 10 10 1
23 10 10 1
18 10 10 1
20 10 10 1
attach(dados.c)
c chart for Y
Capítulo 4 – Gráficos de Controle Gustavo Mello Reis José Ivo Ribeiro Júnior 7
Center of group statistics: 15.5
Standard deviation: 3.937004
Control limits:
LCL UCL
3.688988 27.31101
Figura 3. Gráfico c
c Chart
for Y
UCL
25
Group summary statistics
20
15
10
5
LCL
1 2 3 4 5 6
Group
Number of groups = 6
Center = 15.5 LCL = 3.688988 Number beyond limits = 0
StdDev = 3.937004 UCL = 27.31101 Number violating runs = 0
2.1.4. Gráfico u
dados.u<-read.csv2(“gc_u.csv”, dec=“.”)
dados.u
Capítulo 4 – Gráficos de Controle Gustavo Mello Reis José Ivo Ribeiro Júnior 8
Y ta tu r
14 500 50 10
20 650 50 13
7 475 50 9.5
21 600 50 12
19 600 50 12
23 625 50 12.5
attach(dados.u)
u chart for Y
Number of groups: 6
Center of group statistics: 1.507246
Standard deviation: 4.228955
Control limits:
LCL UCL
0.3425482 2.671945
0.4857385 2.528754
0.3122913 2.702201
0.4440273 2.570465
0.4440273 2.570465
0.4655087 2.548984
Capítulo 4 – Gráficos de Controle Gustavo Mello Reis José Ivo Ribeiro Júnior 9
Figura 4. Gráfico u
u Chart
for Y
UCL
2.5
Group summary statistics
2.0
1.5
1.0
0.5
LCL
1 2 3 4 5 6
Group
Number of groups = 6
Center = 1.507246 LCL is variable Number beyond limits = 0
StdDev = 4.228955 UCL is variable Number violating runs = 0
Capítulo 4 – Gráficos de Controle Gustavo Mello Reis José Ivo Ribeiro Júnior 10
SL(i)* µ Y − Yi Y − Yi
máximo 0; − k ∗ + S L (i − 1) ∗ máximo 0; − k ∗ + S L (i − 1) ∗
σY sY
Com relação aos valores de yi plotados no gráfico np, eles devem ser
substituídos por p̂ i , ĉ i e û i , quando forem construídos os gráficos p, c, e u,
respectivamente.
No R, o gráfico gerado é o CUSUM tabular padronizado. Nele, os argumentos
usados para especificar os parâmetros são: std.dev, center, se.shift (δ) e decision.int
(h*).
attach(dados.np)
dados.cusum.np<-qcc(Y, type=“p”, sizes=n, plot=F)
_ O argumento plot=F indica para não construir o gráfico np.
_ No R, as CUSUMs tabulares de np foram obtidas por meio do argumento
“type=p”, em função de serem iguais às CUSUMs tabulares de p.
re.cus.np<-cusum(dados.cusum.np) # Construir o gráfico CUSUM de np
Capítulo 4 – Gráficos de Controle Gustavo Mello Reis José Ivo Ribeiro Júnior 11
Figura 5. Gráfico CUSUM tabular de np
Cusum Chart
for Y
UDB
5
Above Target
4
3
Cumulative Sum
2
1
0
-1
Below Target
-2
-3
-4
-5
LDB
1 2 3 4 5 6
Group
$pos
[1] 0.0000000 0.0000000 0.9045994 0.0000000 0.0000000 1.9803413
$neg
[1] -0.01270703 -1.89811861 0.00000000 -1.06516294 -0.12421899
0.00000000
$decision.int
[1] 5
$se.shift
[1] 1
Caso haja interesse em construir o gráfico CUSUM tabular de np, com δ = 1,5,
h* = 4, µY = 3,24 e σY = 1,79, então têm-se:
Capítulo 4 – Gráficos de Controle Gustavo Mello Reis José Ivo Ribeiro Júnior 12
2.2.2. CUSUM tabular padronizada de p
attach(dados.np)
dados.cusum.p<-qcc(Y, type=“p”, sizes=n, plot=F)
_ O argumento plot=F indica para não gerar o gráfico p.
re.cus.p<-cusum(dados.cusum.p) # Construir o gráfico CUSUM de p
Cusum Chart
for Y
UDB
5
Above Target
4
3
Cumulative Sum
2
1
0
-1
Below Target
-2
-3
-4
-5
LDB
1 2 3 4 5 6
Group
$pos
[1] 0.0000000 0.0000000 0.9045994 0.0000000 0.0000000 1.9803413
$neg
[1]-0.01270703 -1.89811861 0.0000000 -1.06516294 -0.12421899 0.0000000
$decision.int
[1] 5
$se.shift
[1] 1
Capítulo 4 – Gráficos de Controle Gustavo Mello Reis José Ivo Ribeiro Júnior 13
Caso haja interesse em construir o gráfico CUSUM tabular de p, com δ = 1,5,
h* = 4, µY = 10 e σY = 3,1623, então tem-se os seguintes comandos:
attach(dados.c)
dados.cusum.c<-qcc(Y, type=“c”, sizes=r, plot=F)
_ O argumento plot= F indica para não construir o gráfico c
re.cus.c<-cusum(dados.cusum.c) # Construir o gráfico CUSUM de c
Cusum Chart
for Y
UDB
5
Above Target
4
3
Cumulative Sum
2
1
0
-1
Below Target
-2
-3
-4
-5
LDB
1 2 3 4 5 6
Group
$pos
[1] 0.000000 0.000000 0.000000 1.405002 1.540003 2.183004
Capítulo 4 – Gráficos de Controle Gustavo Mello Reis José Ivo Ribeiro Júnior 14
$neg
[1] -0.8970014 -2.3020033 -2.1830037 0.0000000 0.0000000 0.0000000
$decision.int
[1] 5
$se.shift
[1] 1
attach(dados.u)
dados.cusum.u<-qcc(Y, type=“c”, sizes=r, plot=F)
_ O argumento plot= F indica para não construir o gráfico u
_ Como pode-se observar, as CUSUMs tabulares de u são obtidas por meio do
procedimento type=“c”. A diferença está nos valores de r, que são diferentes de 1.
re.cus.u<-cusum(dados.cusum.u) # Construir o gráfico CUSUM de u
Capítulo 4 – Gráficos de Controle Gustavo Mello Reis José Ivo Ribeiro Júnior 15
Figura 8. Gráfico CUSUM tabular de u
Cusum Chart
for Y
UDB
5
Above Target
4
3
Cumulative Sum
2
1
0
-1
Below Target
-2
-3
-4
-5
LDB
1 2 3 4 5 6
Group
$pos
[1] 0 0 0 0 0 0
$neg
[1] 0.00000000 0.00000000 -0.06149701 0.00000000 0.00000000
0.00000000
$decision.int
[1] 5
$se.shift
[1] 1
Capítulo 4 – Gráficos de Controle Gustavo Mello Reis José Ivo Ribeiro Júnior 16
2.3. Gráfico de Controle EWMA
σWi = σY
λ
[
1 − (1 − λ )
2−λ
2i
] sWi = sY
λ
[
1 − (1 − λ )
2−λ
2i
]
2.3.1. EWMA de np
Com base no objeto dados.np, para construir o gráfico EWMA de np, λ = 0,2
(default) e do valor alvo e do desvio padrão estimados com base nos dados (figura 9),
têm-se os seguintes comandos no R:
attach(dados.np)
dados.ewma.np<-qcc(Y, type=“np”, sizes=n, plot=F)
re.ewma.np<-ewma(dados.ewma.np) # Construir o gráfico EWMA de np
Capítulo 4 – Gráficos de Controle Gustavo Mello Reis José Ivo Ribeiro Júnior 17
Figura 9. Gráfico EWMA de np
EWMA Chart
for Y
20
Group Summary Statistics
15
10
5
1 2 3 4 5 6
Group
$y
1 2 3 4 5 6
10.314139 8.851311 10.644319 10.351379 10.590487 12.904883
$sigma
[1] 0.03699571 0.04737762 0.05296463 0.05624983 0.05825522 0.05950321
$nsigmas
[1] 3
$limits
LCL UCL
[1,] 10.53169 10.75366
[2,] 10.50054 10.78481
[3,] 11.19329 11.51108
[4,] 12.24770 12.58520
[5,] 11.35480 11.70433
[6,] 12.23794 12.5949
Capítulo 4 – Gráficos de Controle Gustavo Mello Reis José Ivo Ribeiro Júnior 18
2.3.2. EWMA de p
attach(dados.np)
dados.ewma.p<-qcc(Y, type=“p”, sizes=n, plot=F)
re.ewma.p<-ewma(dados.ewma.p) # Construir o gráfico EWMA de p
EWMA Chart
for Y
0.06
0.05
Group Summary Statistics
0.04
0.03
0.02
0.01
1 2 3 4 5 6
Group
$y
1 2 3 4 5 6
0.03438046 0.02950437 0.03360350 0.03088280 0.03270624 0.03816499
$sigma
[1] 0.002135948 0.002735348 0.002960813 0.003006680 0.003231418
0.003180580
$nsigmas
[1] 3
$limits
LCL UCL
[1,] 0.02906773 0.04188342
Capítulo 4 – Gráficos de Controle Gustavo Mello Reis José Ivo Ribeiro Júnior 19
[2,] 0.02726953 0.04368162
[3,] 0.02659314 0.04435802
[4,] 0.02645554 0.04449562
[5,] 0.02578132 0.04516983
[6,] 0.02593384 0.04501732
2.3.3. EWMA de c
attach(dados.c)
dados.ewma.c<-qcc(Y, type=“c”, sizes=r, plot=F)
re.ewma.c<-ewma(dados.ewma.c) # Construir o gráfico EWMA de c
EWMA Chart
for Y
20
Group Summary Statistics
15
10
1 2 3 4 5 6
Group
Capítulo 4 – Gráficos de Controle Gustavo Mello Reis José Ivo Ribeiro Júnior 20
re.ewma.c$ewma # Ver os resultados referentes ao gráfico EWMA de c
$x
[1] 1 2 3 4 5 6
$y
1 2 3 4 5 6
14.40000 13.12000 13.29600 15.23680 15.78944 16.63155
$sigma
[1] 0.2489980 0.3188730 0.3564761 0.3785870 0.3920842 0.4004837
$nsigmas
[1] 3
$limits
LCL UCL
[1,] 14.75301 16.24699
[2,] 14.54338 16.45662
[3,] 14.43057 16.56943
[4,] 14.36424 16.63576
[5,] 14.32375 16.67625
[6,] 14.29855 16.70145
2.3.4. EWMA de u
attach(dados.u)
dados.ewma.u<-qcc(Y, type= “u”, sizes=r, plot=F)
re.ewma.u<-ewma(dados.ewma.u) # Construir o gráfico EWMA de u
Capítulo 4 – Gráficos de Controle Gustavo Mello Reis José Ivo Ribeiro Júnior 21
Figura 12. Gráfico EWMA de u
EWMA Chart
for Y
2.5
Group Summary Statistics
2.0
1.5
1.0
0.5
1 2 3 4 5 6
Group
$y
1 2 3 4 5 6
1.485797 1.496330 1.344432 1.425546 1.457103 1.533683
$sigma
[1] 0.2674626 0.3004092 0.3928582 0.3712293 0.3844642 0.3847663
$nsigmas
[1] 3
$limits
LCL UCL
[1,] 0.7048586 2.309634
[2,] 0.6060187 2.408474
[3,] 0.3286719 2.685821
[4,] 0.3935584 2.620934
[5,] 0.3538538 2.660639
[6,] 0.3529475 2.661545
Capítulo 4 – Gráficos de Controle Gustavo Mello Reis José Ivo Ribeiro Júnior 22
3. Para Variáveis
Para esses gráficos (tabela 5), os argumentos que podem ser utilizados para
especificar os parâmetros são: center, std.dev, nsigmas e limits=c(LIC,LSC).
R d2sY s c4sY
sR d3sY ss
1 − c 24 s Y
Capítulo 4 – Gráficos de Controle Gustavo Mello Reis José Ivo Ribeiro Júnior 23
Na tabela 6, d2, d3, e c4 representam constantes tabeladas em função do
tamanho da amostra.
3.1.1. Gráfico R
Capítulo 4 – Gráficos de Controle Gustavo Mello Reis José Ivo Ribeiro Júnior 24
Para construir o gráfico R (figura 13), deve-se utilizar os dados com as
repetições postas em colunas e não em linhas. Assim, para reorganizar os dados
dentro do próprio R será utilizado o comando a seguir:
dados2.r<-qcc.groups(Y, X)
dados2.r
[,1] [,2] [,3] [,4]
1 7.10 7.09 NA NA
2 7.12 7.11 7.10 NA
3 7.09 7.10 7.11 7.12
4 7.11 7.10 7.10 NA
5 7.07 7.09 7.11 NA
6 7.10 7.11 NA NA
qcc(dados2.r, type=“R”)
Call:
qcc(data = dados2.r, type = "R")
Number of groups: 6
Center of group statistics: 0.02176471
Standard deviation: 0.01259172
Control limits:
LCL UCL
0 0.05396814
0 0.05532300
0 0.05499969
0 0.05532300
0 0.05532300
0 0.05396814
Capítulo 4 – Gráficos de Controle Gustavo Mello Reis José Ivo Ribeiro Júnior 25
Figura 13. Gráfico R
R Chart
for dados2.r
UCL
0.05
Group summary statistics
0.04
0.03
0.02
0.01
0.00
LCL
1 2 3 4 5 6
Group
Number of groups = 6
Center = 0.02176471 LCL = 0 Number beyond limits = 0
StdDev = 0.01259172 UCL is variable Number violating runs = 0
3.1.2. Gráfico s
O gráfico de controle do desvio padrão (s) de Shewhart é usado com base nas
observações das amostras que contêm mais de uma unidade (n > 1) de tamanhos
constantes ou variáveis.
Como exemplo, considere o arquivo objeto “dados2.r” e, para construir o
gráfico s (figura 14) em função de k = 3 (default) e de s estimado com base nos dados,
será utilizado o seguinte comando:
qcc(dados2.r, type=“S”)
Call:
qcc(data = dados2.r, type = "S")
Capítulo 4 – Gráficos de Controle Gustavo Mello Reis José Ivo Ribeiro Júnior 26
0.005774 0.007071 0.008536 0.010470 0.012180 0.020000
Number of groups: 6
Center of group statistics: 0.01101439
Standard deviation: 0.01259172
Control limits:
LCL UCL
0 0.03378563
0 0.02851377
0 0.02570176
0 0.02851377
0 0.02851377
0 0.03378563
S Chart
for dados2.r
UCL
0.030
Group summary statistics
0.020
0.010
0.000
LCL
1 2 3 4 5 6
Group
Number of groups = 6
Center = 0.01101439 LCL = 0 Number beyond limits = 0
StdDev = 0.01259172 UCL is variable Number violating runs = 0
Capítulo 4 – Gráficos de Controle Gustavo Mello Reis José Ivo Ribeiro Júnior 27
Tabela 7. Limites dos gráficos para variáveis com monitoramento da média
Média e desvio padrão conhecidos Média e desvio padrão
desconhecidos
x Xbarra x Xbarra
LM µY µY Y Y
LC µY ± kσY µY ± k σ Y Y ± ksY Y ± ksY
3.2.1. Gráfico x
Capítulo 4 – Gráficos de Controle Gustavo Mello Reis José Ivo Ribeiro Júnior 28
qcc(dados.x, type=“xbar.one”)
Call:
qcc(data = dados.x, type = "xbar.one")
Control limits:
LCL UCL
7.023865 7.172801
xbar.one Chart
for dados.x
UCL
7.15
Group summary statistics
7.10
7.05
LCL
1 2 3 4 5 6
Group
Number of groups = 6
Center = 7.098333 LCL = 7.023865 Number beyond limits = 0
StdDev = 0.0248227 UCL = 7.172801 Number violating runs = 0
Capítulo 4 – Gráficos de Controle Gustavo Mello Reis José Ivo Ribeiro Júnior 29
3.2.2. Gráfico Xbarra
qcc(dados.xb, type=“xbar”)
Call:
qcc(data = dados.xb, type = "xbar")
Number of groups: 6
Center of group statistics: 7.101765
Standard deviation: 0.01259172
Control limits:
LCL UCL
7.075054 7.128476
7.079955 7.123574
Capítulo 4 – Gráficos de Controle Gustavo Mello Reis José Ivo Ribeiro Júnior 30
7.082877 7.120652
7.079955 7.123574
7.079955 7.123574
7.075054 7.128476
xbar Chart
for dados.xb
7.13
UCL
7.12
Group summary statistics
7.11
7.10
7.09
7.08
LCL
1 2 3 4 5 6
Group
Number of groups = 6
Center = 7.101765 LCL is variable Number beyond limits = 0
StdDev = 0.01259172 UCL is variable Number violating runs = 0
Capítulo 4 – Gráficos de Controle Gustavo Mello Reis José Ivo Ribeiro Júnior 31
Tabela 8. Limites e CUSUMs tabulares padronizadas dos gráficos para variáveis com
monitoramento da variabilidade
Média e desvio padrão conhecidos Médias e desvio padrão
desconhecidos
LM 0 0
LC ±h* ±h*
R i − µR Ri − R
SH(i)* máximo 0; − k ∗ + S H (i − 1) ∗ máximo 0; − k ∗ + S H (i − 1) ∗
σR SR
si − µS si − s
máximo 0; − k ∗ + S H (i − 1) ∗ máximo 0; − k ∗ + S H (i − 1) ∗
σS sS
µR − R i R − Ri
SL(i)* máximo 0; − k ∗ + S L (i − 1) ∗ máximo 0; − k ∗ + S L (i − 1) ∗
σR sR
µS − si s − si
máximo 0; − K * +S L (i − 1) * máximo 0; − K * +S L (i − 1) *
σS sS
Capítulo 4 – Gráficos de Controle Gustavo Mello Reis José Ivo Ribeiro Júnior 32
Figura 17. Gráfico CUSUM tabular de R
Cusum Chart
for dados2.r
UDB
5
Above Target
4
3
Cumulative Sum
2
1
0
-1
Below Target
-2
-3
-4
-5
LDB
1 2 3 4 5 6
Group
$pos
[1] 0.0000000 0.0000000 0.8080496 0.0000000 2.0083521 0.1870225
$neg
[1] -0.8213296 -0.5640734 0.0000000 -1.1182917 0.0000000 -0.8213296
$decision.int
[1] 5
$se.shift
[1] 1
Capítulo 4 – Gráficos de Controle Gustavo Mello Reis José Ivo Ribeiro Júnior 33
dados.cusum.s<-qcc(dados2.r, type=“S”, plot=F)
_ O argumento plot=F indica para não construir o gráfico s
re.cus.s<-cusum(dados.cusum.s) # Gerar o gráfico CUSUM de s
Cusum Chart
for dados2.r
UDB
5
Above Target
4
3
Cumulative Sum
2
1
0
-1
Below Target
-2
-3
-4
-5
LDB
1 2 3 4 5 6
Group
$pos
[1] 0.0000000 0.0000000 0.0000000 0.0000000 0.7360143 0.0000000
$neg
[1] 0.0000000 0.0000000 0.0000000 -0.2209086 0.0000000 0.0000000
$decision.int
[1] 5
$se.shift
[1] 1
Capítulo 4 – Gráficos de Controle Gustavo Mello Reis José Ivo Ribeiro Júnior 34
3.4. Gráfico CUSUM tabular para Monitorar a Média
Tabela 9. Limites e CUSUMs tabulares padronizados dos gráficos para variáveis com
monitoramento da média
Média e desvio padrão conhecidos Médias e desvio padrão
desconhecidos
LM 0 0
LC ±h* ±h*
Yi − µ Y Yi − Y
SH(i)* máximo 0; − k ∗ + S H (i − 1) ∗ máximo 0; − k ∗ + S H (i − 1) ∗
σY sY
Yi − µY Yi − Y
máximo 0; − k ∗ + S H (i − 1) ∗ máximo 0; − k ∗ + S H (i − 1) ∗
σY sY
µ Y − Yi Y − Yi
SL(i)* máximo 0; − k ∗ + S L (i − 1) ∗ máximo 0; − k ∗ + S L (i − 1) ∗
σY sY
µY − Yi Y − Yi
máximo 0; − k ∗ + S L (i − 1) ∗ máximo 0; − k ∗ + S L (i − 1) ∗
σY sY
Capítulo 4 – Gráficos de Controle Gustavo Mello Reis José Ivo Ribeiro Júnior 35
re.cus.x<-cusum(dados.cusum.x) # construir o gráfico CUSUM de x
Cusum Chart
for dados.x
UDB
5
Above Target
4
3
Cumulative Sum
2
1
0
-1
Below Target
-2
-3
-4
-5
LDB
1 2 3 4 5 6
Group
$pos
[1] 0.0000000 0.3728571 0.0000000 0.0000000 0.0000000 0.0000000
$neg
[1] 0.00000000 0.00000000 0.00000000 0.0000000 -0.64142857 -0.07428571
$decision.int
[1] 5
$se.shift
[1] 1
Capítulo 4 – Gráficos de Controle Gustavo Mello Reis José Ivo Ribeiro Júnior 36
3.4.2. CUSUM Tabular Padronizada da Média
Cusum Chart
for dados.xb
UDB
5
Above Target
4
3
Cumulative Sum
2
1
0
-1
Below Target
-2
-3
-4
-5
LDB
1 2 3 4 5 6
Group
$pos
[1] 0.0000000 0.6328042 0.6466808 0.3624530 0.0000000 0.0000000
$neg
[1] -0.2597645 0.0000000 0.0000000 0.0000000 -1.1182917 -0.2549260
$decision.int
[1] 5
Capítulo 4 – Gráficos de Controle Gustavo Mello Reis José Ivo Ribeiro Júnior 37
$se.shift
[1] 1
Para construir o gráfico EWMA (tabela 10), deve-se utilizar o comando para
construir um dos gráficos R ou s de Sherwhart, armazená-lo em um objeto e construir
o gráfico utilizando este objeto.
Tabela 10. Limites dos gráficos EWMAs para variáveis com monitoramento da
variabilidade
Média e desvio padrão conhecidos Média e desvio padrão
desconhecidos
R S R s
LM µR µs R s
LC µR ± kσWi µs ± kσWi R ± ksWi s ± ksWi
σWi = σR
λ
[
1 − (1 − λ )
2−λ
2i
] sWi = sR
λ
[
1 − (1 − λ )
2−λ
2i
]
σWi = σs
λ
[
1 − (1 − λ )
2−λ
2i
] sWi = ss
λ
[
1 − (1 − λ )
2−λ
2i
]
Capítulo 4 – Gráficos de Controle Gustavo Mello Reis José Ivo Ribeiro Júnior 38
3.5.1. EWMA de R
Com base no objeto dados2.r, para construir o gráfico EWMA de R (figura 21),
λ = 0,2 (default) e do valor alvo e do desvio padrão estimados com base nos dados,
têm-se os seguintes comandos no R:
EWMA Chart
for dados2.r
0.040
Group Summary Statistics
0.030
0.020
0.010
1 2 3 4 5 6
Group
$y
1 2 3 4 5 6
0.01941176 0.01952941 0.02162353 0.01929882 0.02343906 0.02075125
$sigma
1 2 3 4 5
6
0.001780737 0.001861985 0.001802683 0.002210671 0.002289485
0.002864105
$nsigmas
[1] 3
$limits
LCL UCL
1 0.01642249 0.02710692
Capítulo 4 – Gráficos de Controle Gustavo Mello Reis José Ivo Ribeiro Júnior 39
2 0.01617875 0.02735066
3 0.01635666 0.02717276
4 0.01513269 0.02839672
5 0.01489625 0.02863316
6 0.01317239 0.03035702
3.5.2. EWMA de s
EWMA Chart
for dados2.r
0.020
Group Summary Statistics
0.015
0.010
0.005
1 2 3 4 5 6
Group
$y
Capítulo 4 – Gráficos de Controle Gustavo Mello Reis José Ivo Ribeiro Júnior 40
1 2 3 4 5
6
0.010225722 0.010180578 0.010726451 0.009735861 0.011788689
0.010845165
$sigma
1 2 3 4 5
6
0.001780737 0.001861985 0.001802683 0.002210671 0.002289485
0.002864105
$nsigmas
[1] 3
$limits
LCL UCL
1 0.005672173 0.01635660
2 0.005428431 0.01660034
3 0.005606336 0.01642244
4 0.004382372 0.01764640
5 0.004145932 0.01788284
6 0.002422071 0.01960670
Para construir o gráfico EWMA (tabela 11), deve-se utilizar o comando para
construir um dos gráficos x ou Xbarra de Sherwhart, armazená-lo em um objeto e
construir o gráfico utilizando este objeto.
Tabela 11. Limites dos gráficos EWMAs para variáveis com monitoramento da média
Média e desvio padrão conhecidos Média e desvio padrão
desconhecidos
x Xbarra x Xbarra
LM µY µY Y Y
LC µY ± kσWi µY ± kσWi Y ± ksWi Y ± ksWi
σWi = σY
λ
[
1 − (1 − λ )
2−λ
2i
] sWi = sY
λ
[
1 − (1 − λ )
2−λ
2i
]
σWi = σ
Y
λ
2 − λ
[
1 − (1 − λ )
2i
] sWi = s
Y
λ
2 − λ
[
1 − (1 − λ )
2i
]
Capítulo 4 – Gráficos de Controle Gustavo Mello Reis José Ivo Ribeiro Júnior 41
Na tabela 11, W i é definido para os gráficos x e X , respectivamente, por:
Wi = λyi + (1 − λ)yi −1;
Wi = λ Y i −1 + (1 − λ) Y i −1 .
EWMA Chart
for dados.x
7.12
7.11
Group Summary Statistics
7.10
7.09
7.08
7.07
1 2 3 4 5 6
Group
Capítulo 4 – Gráficos de Controle Gustavo Mello Reis José Ivo Ribeiro Júnior 42
$y
1 2 3 4 5 6
7.098667 7.102933 7.100347 7.102277 7.095822 7.096657
$sigma
1 2 3 4 5
0.004964539 0.006357712 0.007107445 0.007548294 0.007817401
6
0.007984872
$nsigmas
[1] 3
$limits
LCL UCL
1 7.083440 7.113227
2 7.079260 7.117406
3 7.077011 7.119656
4 7.075688 7.120978
5 7.074881 7.121786
6 7.074379 7.122288
Capítulo 4 – Gráficos de Controle Gustavo Mello Reis José Ivo Ribeiro Júnior 43
Figura 24. Gráfico EWMA da média
EWMA Chart
for dados.xb
7.110
7.105
Group Summary Statistics
7.100
7.095
7.090
1 2 3 4 5 6
Group
$y
1 2 3 4 5 6
7.100412 7.102329 7.102864 7.102957 7.100366 7.101293
$sigma
1 2 3 4 5
0.001780737 0.001861985 0.001802683 0.002210671 0.002289485
6
0.002864105
$nsigmas
[1] 3
$limits
LCL UCL
1 7.096422 7.107107
2 7.096179 7.107351
3 7.096357 7.107173
4 7.095133 7.108397
5 7.094896 7.108633
6 7.093172 7.110357
Capítulo 4 – Gráficos de Controle Gustavo Mello Reis José Ivo Ribeiro Júnior 44
4. Capacidade de Processo
dados.cp<-qcc(dados.xb,type=“xbar”)
process.capability(dados.cp, spec.limits=c(7.05, 7.15))
Process Capability Analysis
Call:
process.capability(object = dados.cp, spec.limits = c(7.05, 7.15),
target = 7.1)
Capability indices:
Exp<LSL 0% Obs<LSL 0%
Exp>USL 0% Obs>USL 0%
Capítulo 4 – Gráficos de Controle Gustavo Mello Reis José Ivo Ribeiro Júnior 45
Figura 25. Gráfico da capacidade de processo
Caso haja interesse em fazer a capacidade de processo com LIC = 7,05, LSC =
7,13, µY = 1,10 e σY = 0,01, têm-se:
dados.cp<-qcc(dados.xb,type=“xbar”)
process.capability(dados.cp, spec.limits=c(7.05, 7.13), target=7.1, std.dev=0.01)
Capítulo 4 – Gráficos de Controle Gustavo Mello Reis José Ivo Ribeiro Júnior 46
Capítulo 5
Modelos de Confiabilidade
Viçosa 2007
Capítulo 5 – Modelos de Confiabilidade Gustavo Mello Reis José Ivo Ribeiro Júnior 1
1. Introdução
Capítulo 5 – Modelos de Confiabilidade Gustavo Mello Reis José Ivo Ribeiro Júnior 2
647 1 1060 1 2686 1 2729 0
675 1 1183 1 2729 1 2729 0
mod.np<-survfit(Surv(tempo, tipo))
Capítulo 5 – Modelos de Confiabilidade Gustavo Mello Reis José Ivo Ribeiro Júnior 3
867 40 1 0.650 0.0616 0.540 0.783
893 39 1 0.633 0.0622 0.522 0.768
930 38 1 0.617 0.0628 0.505 0.753
937 37 1 0.600 0.0632 0.488 0.738
976 36 1 0.583 0.0636 0.471 0.722
1008 35 1 0.567 0.0640 0.454 0.707
1040 34 1 0.550 0.0642 0.437 0.691
1051 33 1 0.533 0.0644 0.421 0.676
1060 32 1 0.517 0.0645 0.405 0.660
1183 31 1 0.500 0.0645 0.388 0.644
1329 30 1 0.483 0.0645 0.372 0.628
1334 29 1 0.467 0.0644 0.356 0.612
1379 28 1 0.450 0.0642 0.340 0.595
1380 27 1 0.433 0.0640 0.324 0.579
1633 26 1 0.417 0.0636 0.309 0.562
1769 25 1 0.400 0.0632 0.293 0.545
1827 24 1 0.383 0.0628 0.278 0.528
1831 23 1 0.367 0.0622 0.263 0.511
1849 22 1 0.350 0.0616 0.248 0.494
2016 21 1 0.333 0.0609 0.233 0.477
2282 20 1 0.317 0.0601 0.218 0.459
2415 19 1 0.300 0.0592 0.204 0.442
2430 18 1 0.283 0.0582 0.189 0.424
2686 17 1 0.267 0.0571 0.175 0.406
2729 16 1 0.250 0.0559 0.161 0.388
Capítulo 5 – Modelos de Confiabilidade Gustavo Mello Reis José Ivo Ribeiro Júnior 4
Figura 1. Estimativas de confiabilidade de Kaplan-Meier
1.0
0.8
0.6 Estimativas de Kaplan-Meier
R(t)
0.4
0.2
0.0
3. Estimação Paramétrica
Capítulo 5 – Modelos de Confiabilidade Gustavo Mello Reis José Ivo Ribeiro Júnior 5
minimização da soma de quadrados das distâncias dos pontos em relação à reta
ajustada.
Esse método também pode ser chamado de posição da regressão em Y (rank
regression on Y), pois as estimativas dos parâmetros são baseadas na funçãop de
desconfiabilidade estimada [S(t)] obtida com base no cálculo da posição da mediana
ou da média ou de Kaplan-Meier modificado ou não.
Para o cálculo de S(t), considere que os valores da amostra t1, t2, ..., tr, tr+1, ...,
tn, arranjados em ordem crescente, onde ti é o tempo de falha de ordem i observado.
Assim, t1 é o menor tempo e tr é o maior tempo de falha de n observações que
falharam ou censuraram. Neste caso, podem ser usados quaisquer um dos quatro
métodos mencionados:
i − 0,3
S(ti) = (posição da mediana segundo Bernard);
n + 0,4
i
S(ti) = (posição da média segundo Herd-Johnson);
n +1
i − 0,5
S(ti) = (posição de Kaplan-Meier modificado por Hazen);
n
i
S(ti) = (posição de Kaplan-Meier).
n
β̂ 0 = Y – βˆ 1X ;
r r
r ∑X ∑Y i i
∑X Y
i =1
i i − i =1
r
i =1
β̂1 = 2
.
r
r
∑ Xi
∑ X i2 − i =1
i =1 r
ŷ i = βˆ 0 + βˆ 1 x i .
Capítulo 5 – Modelos de Confiabilidade Gustavo Mello Reis José Ivo Ribeiro Júnior 6
Como exemplo para todas as distribuições estudadas, considere os dados
contidos no arquivo “mquad.csv” que possui nove falhas e uma censura. O arquivo de
dados será lido da seguinte forma:
dados.mq<-read.csv2(“mquad.csv”,dec=”.”)
dados.mq
tempo tipo
10 1
25 1
35 1
45 1
50 1
55 1
65 1
75 1
90 1
90 0
attach(dados.mq)
yi = Φ-1[S(ti)];
xi = ti;
T = – β̂ 0 sT (estimador de µT);
1
sT = (estimador de σT).
βˆ 1
Para calcular S(ti) pelo método da posição da mediana segundo Bernard, no R,
tem-se:
s.t<-ppoints(10, 0.3)
s.t
[1] 0.06730769 0.16346154 0.25961538 0.35576923 0.45192308 0.54807692
[7] 0.64423077 0.74038462 0.83653846 0.93269231
Capítulo 5 – Modelos de Confiabilidade Gustavo Mello Reis José Ivo Ribeiro Júnior 7
O último valor (0,9326931) deve ser desconsiderado, pois se refere à censura.
Para eliminar o último valor de s.t e calcular yi no R, tem-se:
s.t<-s.t[1:9]
Ynorm<-qnorm(s.t)
Ynorm
[1]-1.4961469 -0.9803304 -0.6445316 -0.3697907 -0.1208042 0.1208042
[7] 0.3697907 0.6445316 0.9803304
tempo.f<-c(10,25,35,45,50,55,65,75,90)
mod.norm<-lm(Ynorm~tempo.f)
summary(mod.norm)
Call:
lm(formula = Ynorm ~ tempo.f)
Residuals:
Capítulo 5 – Modelos de Confiabilidade Gustavo Mello Reis José Ivo Ribeiro Júnior 8
Min 1Q Median 3Q Max
-0.124934 -0.044614 -0.001480 0.045434 0.128105
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -1.755617 0.061971 -28.33 1.76e-08 ***
tempo.f 0.031788 0.001122 28.33 1.76e-08 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
dp<- 1/0.031788
dp
[1] 31.45841
m<- -(-1.755617*dp)
m
[1] 55.22892
ˆ t − 55,22892 .
R̂ = 1 - Φ
31,45841
Y = – β̂ 0 sY (estimador de µY);
1
sY = (estimador de σY), em que Y= ln(T).
β̂1
Capítulo 5 – Modelos de Confiabilidade Gustavo Mello Reis José Ivo Ribeiro Júnior 9
Como S(ti) e yi já foram calculados anteriormente, o vetor xi = ln(ti) será obtido
da seguinte forma no R:
X<-log(tempo.f)
Para estimar µY e σY, será montado o modelo e depois será utilizado a função
mod.ln<-lm(Y~X)
summary(mod.ln)
Call:
lm(formula = Y ~ X)
Residuals:
Min 1Q Median 3Q Max
-0.2623950 -0.2041550 -0.0001219 0.1707134 0.3225779
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -4.4386 0.4918 -9.025 4.19e-05 ***
X 1.1378 0.1292 8.809 4.90e-05 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
sy<- 1/1.1378
sy
[1] 0.878889
my<- -(-4.4386*sy)
my
[1] 3.901037
Capítulo 5 – Modelos de Confiabilidade Gustavo Mello Reis José Ivo Ribeiro Júnior 10
Portanto, a estimativa da função de confiabilidade é dada por:
ˆ t − 3,901037
R̂ = 1 - Φ
0,878889
Yexp<- log(-log(1-s.t))
B0<-mean(Yexp)-1*mean(X)
B0
[1] -4.446482
exp(-B0)
[1] 85.3262
Capítulo 5 – Modelos de Confiabilidade Gustavo Mello Reis José Ivo Ribeiro Júnior 11
βˆ 0
−
βˆ 1
αˆ = e (estimador de α);
δˆ = βˆ 1 (estimador de δ).
Como S(ti), yi e xi, já foram calculados anteriormente, para obter os
mod.wei<-lm(Yexp~X)
summary(mod.wei)
Call:
lm(formula = Yexp ~ X)
Residuals:
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -6.44400 0.37820 -17.04 5.88e-07 ***
X 1.53197 0.09933 15.42 1.16e-06 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
al<-exp(6.444 / 1.53197)
al
[1] 67.11105
Capítulo 5 – Modelos de Confiabilidade Gustavo Mello Reis José Ivo Ribeiro Júnior 12
3.2. Método de Máxima Verossimilhança
dados.para<-read.csv2(“estpara.csv”,dec=”.”)
dados.para
tempo tipo x
10 1 1
25 1 1
35 1 1
45 1 1
50 1 1
55 1 1
65 1 1
75 1 1
90 1 1
90 0 1
attach(dados.para)
Capítulo 5 – Modelos de Confiabilidade Gustavo Mello Reis José Ivo Ribeiro Júnior 13
Para ver as estimativas, deve-se usar a função summary. A média estimada
está no item “Intercept” e o desvio padrão estimado no item “Scale”.
summary(mod.norm)
Call:
survreg(formula = Surv(tempo, tipo) ~ x, dist = "gaussian")
Value Std. Error z p
(Intercept) 55.32 8.822 6.27 3.60e-10
x 0.00 0.000 NaN NaN
Log(scale) 3.32 0.242 13.71 8.28e-43
Scale= 27.6
Gaussian distribution
Loglik(model)= -43.8 Loglik(intercept only)= -43.8
Chisq= 0 on 1 degrees of freedom, p= 1
Number of Newton-Raphson Iterations: 3
n= 10
Scale= 0.693
Capítulo 5 – Modelos de Confiabilidade Gustavo Mello Reis José Ivo Ribeiro Júnior 14
Chisq= 0 on 1 degrees of freedom, p= 1
Number of Newton-Raphson Iterations: 3
n= 10
Scale fixed at 1
Exponential distribution
Loglik(model)= -45.8 Loglik(intercept only)= -45.8
Chisq= 0 on 1 degrees of freedom, p= 1
Number of Newton-Raphson Iterations: 4
n= 10
Capítulo 5 – Modelos de Confiabilidade Gustavo Mello Reis José Ivo Ribeiro Júnior 15
summary(mod.wei)
Call:
survreg(formula = Surv(tempo, tipo) ~ x, dist = "weibull")
Value Std. Error z p
(Intercept) 4.142 0.168 24.7 2.25e-134
x 0.000 0.000 NaN NaN
Log(scale) -0.703 0.281 -2.5 1.25e-02
Scale= 0.495
Weibull distribution
Loglik(model)= -43.5 Loglik(intercept only)= -43.5
Chisq= 0 on 1 degrees of freedom, p= 1
Number of Newton-Raphson Iterations: 6
n= 10
exp(4.142) # Aplicando o exponencial para obter α̂
[1] 62.92855
4. Distribuições
Deste modo, uma representação para este caso é dada por: T ~ N (µT, σ T ). Na
2
Capítulo 5 – Modelos de Confiabilidade Gustavo Mello Reis José Ivo Ribeiro Júnior 16
Como pode-se observar na figura 4.2, o produto 2 é melhor que o produto 1 em
termos de durabilidade. Para os produtos 1 e 2, existe uma probabilidade de 0,5 para
os itens falharem antes dos tempos t = 100 e t = 120, respectivamente.
No R, o gráfico será construído da seguinte forma:
plot(function(t){dnorm(t,mean=100,sd=10)},xlim=c(0,180),ylab=“f(t)”,xlab=“t”,lty=1)
plot(function(t){dnorm(t, mean=120,sd=20)},xlim=c(0,180),add=T, lty=2)
legend(“topright”, c(“p1”,“p2”), lty=c(1,2)) # Legenda
t−µ
F(t) = Φ T
σT
Na figura 3, são apresentadas as formas das duas funções de
desconfiabilidades, referentes aos produtos 1 e 2.
No R, o gráfico será construído da seguinte forma:
Capítulo 5 – Modelos de Confiabilidade Gustavo Mello Reis José Ivo Ribeiro Júnior 17
Figura 3. Funções de desconfiabilidades da distribuição normal
t−µ
R(t) = 1 – Φ T
.
σT
Na figura 4, são apresentadas as formas das duas funções de confiabilidades
referentes aos produtos 1 e 2. Como pode-se observar, o produto 2 possui uma função
de confiabilidade com um decréscimo menos acentuado que a do produto 1, o que
caracteriza uma melhor confiabilidade para o primeiro produto.
No R, o gráfico será construído da seguinte forma:
Capítulo 5 – Modelos de Confiabilidade Gustavo Mello Reis José Ivo Ribeiro Júnior 18
Figura 4. Funções de confiabilidades da distribuição normal
f(t)
A função de taxa de falha associada à variável T é igual a: h(t) = .
R(t)
Na figura 5, são apresentadas as formas das duas funções das taxas de falhas,
referentes aos produtos 1 e 2.
No R, o gráfico é construído da seguinte forma:
Capítulo 5 – Modelos de Confiabilidade Gustavo Mello Reis José Ivo Ribeiro Júnior 19
Figura 5. Funções de taxas de falhas da distribuição normal
Deste modo, uma representação para este caso é dada por: T ~ LN (µY, σ Y ).
2
Capítulo 5 – Modelos de Confiabilidade Gustavo Mello Reis José Ivo Ribeiro Júnior 20
e (2µ Y + σ Y ) × (e σ Y − 1) .
2 2
σT =
exp(4.6+(0.1^2/2)) # µT1
[1] 99.98298
sqrt(exp(2*4.6+0.1^2)*(exp(0.1^2)-1)) # σT1
[1] 10.02335
exp(4.8+(0.2^2/2)) # µT2
[1] 123.9651
sqrt(exp(2*4.8+0.2^2)*(exp(0.2^2)-1)) # σT2
[1] 25.04303
y − µY
F(t) = Φ .
σY
y − µY
R(t) = 1 – Φ .
σY
Capítulo 5 – Modelos de Confiabilidade Gustavo Mello Reis José Ivo Ribeiro Júnior 21
plot(function(t){1-plnorm(t, mean=4.6, sd=0.1)}, xlim=c(0,180), ylab= “R(t)”, xlab= “t”,
lty=1)
plot(function(t){1-plnorm(t, mean=4.8, sd=0.2)}, xlim=c(0,180), add=T, lty=2)
legend(“topright”, c(“p1”,“p2”), lty=c(1,2)) # Legenda
f(t)
A função de taxa de falha associada à variável T é igual a: h(t) = .
R(t)
No R, o gráfico é construído da seguinte forma:
Capítulo 5 – Modelos de Confiabilidade Gustavo Mello Reis José Ivo Ribeiro Júnior 22
A função de desconfiabilidade da variável T é dada por:
t
−
F(t) = 1 − e α .
plot(y = 1, x=1, ylim=c(0.004, 0.014), xlim=c(0, 700), ylab= “h(t)”, xlab= “t”, type= “n”) #
Gerar o gráfico em branco para incluir os limites
abline(a=c(1/100,1/100), b=c(0,700), lty=1) # Gerar h(t)1
abline(a=c(1/120,1/120), b=c(0,700), lty=2) # Gerar h(t)2
legend(“topleft”, c(“p1”,“p2”), lty=c(1,2), title=“Legenda”) # Legenda
Capítulo 5 – Modelos de Confiabilidade Gustavo Mello Reis José Ivo Ribeiro Júnior 23
4.4. Distribuição de Weibull
1
µ T = αΓ 1 + ;
δ
2 1
σ T = α Γ 1 + − Γ 2 1 + .
δ δ
Capítulo 5 – Modelos de Confiabilidade Gustavo Mello Reis José Ivo Ribeiro Júnior 24
A função de desconfiabilidade da variável T é dada por:
δ
t
−
α
F(t) = 1 − e .
Capítulo 5 – Modelos de Confiabilidade Gustavo Mello Reis José Ivo Ribeiro Júnior 25
Capítulo 6
Viçosa 2007
Capítulo 6 – Experimentos com um Fator de Interesse Gustavo Mello Reis José Ivo Ribeiro Júnior 1
1. Introdução
2. Um Nível de X
Os dados serão lidos a partir de um arquivo externo, dados1.csv, que esta situado na pasta
C:/Rdados.
dados1<- read.csv2(“dados1.csv”,dec=“.”)
dados1
X Y YY
1 1 93.45 0
2 1 94.46 0
3 1 94.93 0
4 1 96.17 0
5 1 96.74 1
6 1 97.07 0
7 1 97.68 0
8 1 97.93 0
9 1 99.10 0
10 1 99.30 1
11 1 100.73 0
12 1 103.29 0
13 1 103.60 0
14 1 103.83 1
15 1 105.20 0
attach(dados1) # para utilizar as colunas separadamente
Capítulo 6 – Experimentos com um Fator de Interesse Gustavo Mello Reis José Ivo Ribeiro Júnior 2
2.1. Testes de Aderência
Capítulo 6 – Experimentos com um Fator de Interesse Gustavo Mello Reis José Ivo Ribeiro Júnior 3
Figura 1. Gráfico dos quantis normais
104
102
Sample Quantiles
100
98
96
94
-1 0 1
Theoretical Quantiles
De forma visual, se todos os pontos plotados estiverem próximos à reta, pode-se concluir
que a variável Y tem distribuição normal, como apresentado no exemplo.
Para esse teste será utilizado o pacote nortest que, após a instalação, deverá ser ativado pelo
comando library(nortest).
Utilizando a ajuda do R para visualizar as funções contidas no pacote nortest, tem-se:
help(package=nortest) # Irá abrir uma nova janela e as funções estarão no tópico Index
O pacote nortest possui cinco funções: ad.test (teste de Anderson-Darling), cvm.test (teste
de Cramer-von Mises), lillie.test (teste de Lilliefors), pearson.test (teste de Pearson qui-quadrado),
sf.test (teste de Shapiro-Francia).
O teste de lilliefors será feito da seguinte forma:
data: Y
D = 0.1488, p-value = 0.4965
Capítulo 6 – Experimentos com um Fator de Interesse Gustavo Mello Reis José Ivo Ribeiro Júnior 4
Desse modo, para α = 0,05, não se rejeita a hipótese de normalidade dos dados de Y, dado
que p-valor > α.
ks.test(Y, “pnorm”,sd=sd(Y),mean=mean(Y))
data: Y
D = 0.1488, p-value = 0.847
alternative hypothesis: two.sided
Do mesmo modo, para α = 0,05, conclui-se que Y é normal, para µY e σY estimados com
base nos dados. No entanto, esse argumentos conferem a possibilidade de testar diferentes
distribuições normais para diferentes combinações de µY e σY de interesses.
O gráfico (Figura 2) é construído através de:
A função ecdf( ) é aplicada aos dados de Y para que eles sejam organizados de forma
crescente. O argumento verticals=T indica que as linhas verticais, que ligam um ponto ao outro,
também devem ser postas no gráfico. A curva pontilhada no gráfico (Figura 2) é construída através
de:
ecdf(Y )
1.0
0.8
0.6
Fn(x)
0.4
0.2
0.0
2.2. Teste t
Como foi verificado que os dados de Y seguem distribuição normal (P > 0,05), então
procede-se à aplicação do teste t. No R, tem-se:
t.test (x, y = NULL, alternative = “two.side” ou “less” ou “greater”, mu = 0, paired = FALSE ou
TRUE, var.equal = FALSE ou TRUE, conf.level = 1-0.05).
Como exemplo, serão testadas as hipóteses Ho ( µY = 100) e Ha (µY ≠ 100):
Capítulo 6 – Experimentos com um Fator de Interesse Gustavo Mello Reis José Ivo Ribeiro Júnior 6
t.test(Y, mu=100) # Teste bilateral
One Sample t-test
data: Y
t = -1.1519, df = 14, p-value = 0.2687
alternative hypothesis: true mean is not equal to 100
95 percent confidence interval:
96.84797 100.94937
sample estimates:
mean of x
98.89867
Para α = 0,05, não se rejeita Ho, dado que p-valor > α. Do mesmo modo, pode-se observar
que µY = 100 pertence ao intervalo para a média µY com 100(1-0,05)% de confiança.
Para construir as barras de erros da média amostral de Y, será utilizado o intervalo de
confiança fornecido pela função t.test. Primeiro, deve-se construir o gráfico com a média e
especificar os limites do eixo y, que deve conter intervalos um pouco maiores que o intervalo de
confiança. Para este exemplo tem-se:
media<-mean(Y)
plot(media, ylim=c(media-5, media+5))
Para adicionar as barras de erros, deve-se informar as coordenadas das barras. Para o eixo y,
as coordenadas são os intervalos de confiança e, para o eixo x, são 1 e 1. Para o teste bilateral
(Figura 3), tem-se:
Capítulo 6 – Experimentos com um Fator de Interesse Gustavo Mello Reis José Ivo Ribeiro Júnior 7
Figura 3. Estimativa do intervalo para µY com 100(1-0,05)% de confiança
media<-mean(Y)
barplot(media) # sem configuração (Figura 4a)
barplot(media,ylim=c(0,120),xlim=c(0,3),names=“Y”) # mais organizado (Figura 4b)
Para a representação do intervalo de confiança pela adição das barras (Figura 5), têm-se:
Capítulo 6 – Experimentos com um Fator de Interesse Gustavo Mello Reis José Ivo Ribeiro Júnior 8
Figura 5. Estimativa da média e do intervalo para µY com 100(1-0,05)% de confiança
3. Dois Níveis de X
3.1. Independentes
Como exemplo, considere as variáveis Y, YY, YYY e YYYY, cujos dados foram coletados
em duas amostras diferentes (x1 e x2), de tamanhos iguais a cinco. Neste caso o arquivo de dados
utilizado será “teste2i.csv”. No R tem-se:
dados2i<-read.csv2(“teste2i.csv”,dec=“.”)
dados2i
rept X Y YY YYY YYYY
1 1 37.4 47.9 2 10
2 1 38.9 48.0 6 80
3 1 38.2 47.7 10 55
4 1 38.5 47.3 15 95
5 1 37.6 47.5 14 45
1 2 36.0 50.5 4 35
2 2 35.4 47.7 8 90
3 2 35.3 50.0 18 85
4 2 35.8 49.3 1 65
5 2 34.9 48.0 5 7
attach(dados2i)
Capítulo 6 – Experimentos com um Fator de Interesse Gustavo Mello Reis José Ivo Ribeiro Júnior 9
3.1.1. Variáveis Y e YY Normais
# Teste de Lilliefors
library(nortest) # Ativar o pacote que possui a função do teste de Lilliefors
lillie.test(Y[X= =1])
lillie.test(Y[X= =2])
# Teste de Kolmogorov-Smirnov
ks.test(Y[X= =1], “pnorm”, mean=mean(Y[X= =1]), sd=sd(Y[X= =1]))
ks.test(Y[X= =2], “pnorm”, mean=mean(Y[X= =2]), sd=sd(Y[X= =2]))
3.1.1.1. Teste F
Para a aplicação desse teste, a pressuposição de normalidade deve ser verificada dentro de
cada nível de X, ou seja, as variáveis respostas Y’s têm distribuição normal nos níveis 1 e 2,
separadamente.
No exemplo, como apenas as variáveis Y e YY apresentaram normalidade (P > 0,05) nos
níveis 1 e 2 de X, então pode-se verificar a relação existente entre as variâncias das populações Y1 e
Y2 e entre YY1 e YY2, pelo teste F. Através do tópico Usage do help (?var.test), tem-se por default
que ratio=1, ou, seja, que σ2Y1 / σ2Y2 = 1 e que σ2YY1 / σ2YY2 = 1, para a hipótese Ho. Então, no R,
para variável Y, têm-se:
Capítulo 6 – Experimentos com um Fator de Interesse Gustavo Mello Reis José Ivo Ribeiro Júnior 10
var.test(Y~X) # Comparar as variâncias das populações Y1 e Y2
F test to compare two variances
data: Y by X
F = 2.0695, num df = 4, denom df = 4, p-value = 0.4985
alternative hypothesis: true ratio of variances is not equal to 1
95 percent confidence interval:
0.2154732 19.8767544
sample estimates:
ratio of variances
2.069519
data: YY by X
F = 0.0548, num df = 4, denom df = 4, p-value = 0.01566
alternative hypothesis: true ratio of variances is not equal to 1
95 percent confidence interval:
0.005710795 0.526803646
sample estimates:
ratio of variances
0.0548495
Para a variável Y e α = 0,05, conclui-se que as variâncias são homogêneas ( P > 0,05). Por
outro lado, a variável YY apresentou variâncias heterogêneas ( P < 0,05).
Caso haja interesse em testar σ2Y1 > σ2Y2 ou σ2Y1 < σ2Y2, deve-se utilizar o argumento
alternative = “greater” ou “less”, respectivamente.
3.1.1.2. Teste t
Capítulo 6 – Experimentos com um Fator de Interesse Gustavo Mello Reis José Ivo Ribeiro Júnior 11
Two Sample t-test
data: Y by X
t = 7.7917, df = 8, p-value = 5.277e-05
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
1.858676 3.421324
sample estimates:
mean in group 1 mean in group 2
38.12 35.48
Do mesmo modo, como µY1 - µY2 = 0 não pertence ao intervalo de confiança, então conclui-
se que µY1 ≠ µY2. Na verdade µY1 > µY2, dado que os dois limites são positivos.
Figura 6. Gráfico de barras com o intervalo com 100(1-0,05)% de confiança para µY1 - µY2
4
2
0
-2
-4
Y1-Y2
Capítulo 6 – Experimentos com um Fator de Interesse Gustavo Mello Reis José Ivo Ribeiro Júnior 12
3.1.1.2.2. Variâncias Heterogêneas
data: YY by X
t = -2.5285, df = 4.437, p-value = 0.05874
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
-2.92047081 0.08047081
sample estimates:
mean in group 1 mean in group 2
47.68 49.10
2 2
1.5
0.5
Standardized residuals
1.0
0.5
Residuals
0.0
0.0
-1.5 -1.0 -0.5
-0.5
10
10
1
1
35.5 36.0 36.5 37.0 37.5 38.0 -1.5 -1.0 -0.5 0.0 0.5 1.0 1.5
data: re.dic.y
D = 0.1484, p-value = 0.7699
data: re.dic.y
D = 0.1484, p-value = 0.9578
alternative hypothesis: two.sided
Para testar se os resíduos têm variâncias homogêneas será utilizado o teste de Bartlett, da
seguinte forma:
Capítulo 6 – Experimentos com um Fator de Interesse Gustavo Mello Reis José Ivo Ribeiro Júnior 14
bartlett.test(re.dic.y,X)
Bartlett test of homogeneity of variances
Assim, para α = 0,05, conclui-se que os resíduos são normais e têm variâncias homogêneas.
Logo, a anova é apresentada como segue:
Response: Y
Df Sum Sq Mean Sq F value Pr(>F)
X 1 17.424 17.424 60.711 5.277e-05 ***
Residuals 8 2.296 0.287
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
dic.y<-aov(Y~X)
3.1.2.1. Teste de χ2
Com base nas variáveis YYY (números de defeitos) e YYYY (tamanho da amostra), deseja
testar se a proporção média de itens defeituosos nos níveis 1 e 2 de X são iguais.
As hipóteses a serem testadas são: Ho (pX1 = pX2) e Ha (pX1 ≠ pX2). Para isto deve-se calcular
a média de YYY e YYYY dentro cada nível de X:
tapply(YYY, X, mean)
1 2
9.4 7.2
tapply(YYYY, X, mean)
1 2
57.0 56.4
Capítulo 6 – Experimentos com um Fator de Interesse Gustavo Mello Reis José Ivo Ribeiro Júnior 15
O teste será realizado da seguinte forma:
Para α = 0,05, não rejeita-se Ho, dado que p-valor > α. Logo, as proporções de peças
defeituosas nos níveis 1 e 2 de X, são estatisticamente iguais.
Caso haja interesse em testar Ha (pX1 > pX2) ou Ha (pX1 < pX2), deve-se utilizar o argumento
alternative = “greater” ou “less”, respectivamente.
wilcox.test(YYY~X) # Por default (mu = 0), o que significa Ho: µYYY1 − µYYY2 = 0
Wilcoxon rank sum test
data: YYY by X
W = 16, p-value = 0.5476
alternative hypothesis: true mu is not equal to 0
Capítulo 6 – Experimentos com um Fator de Interesse Gustavo Mello Reis José Ivo Ribeiro Júnior 16
No exemplo, não se rejeita Ho (P > 0,05), para YYY e YYY/YYYY.
Caso haja interesse em testar Ha (µYYY1 > µYYY2) ou Ha (µYYY1 < µYYY2), deve-se utilizar o
argumento alternative = “greater” ou “less”, respectivamente.
3.2. Dependentes
Capítulo 6 – Experimentos com um Fator de Interesse Gustavo Mello Reis José Ivo Ribeiro Júnior 17
O mesmo procedimento deve ser adotado aos tratamentos, ou seja, de caracterizá-los
corretamente como qualitativos ou quantitativos.
3.2.1.1. Teste t
Antes da realização do teste t, deve-se verificar se as diferenças entre cada par de valores das
duas amostras seguem distribuição normal. Para isso, pode-se utilizar um dos três métodos, como
seguem, para a variável dif:
Capítulo 6 – Experimentos com um Fator de Interesse Gustavo Mello Reis José Ivo Ribeiro Júnior 18
Figura 8. Gráfico dos quantis normais
2.5
2.0
1.5
Theoretical Quantiles
# Teste de Lilliefors
library(nortest)
lillie.test(dif)
Lilliefors (Kolmogorov-Smirnov) normality test
data: dif
D = 0.3312, p-value = 0.07677
# Teste de Kolmogorov-Smirnov
ks.test(dif, “pnorm”, mean= mean(dif), sd=sd (dif))
One-sample Kolmogorov-Smirnov test
data: dif
D = 0.3312, p-value = 0.6431
alternative hypothesis: two.sided
Warning message:
não é possível calcular os níveis descritivos corretos com empates in:
ks.test(dif, "pnorm", mean = mean(dif), sd = sd(dif))
Após satisfazer a pressuposição de normalidade (P>0,05), pode-se fazer o teste t por meio de
duas formas:
t.test(dif)
Capítulo 6 – Experimentos com um Fator de Interesse Gustavo Mello Reis José Ivo Ribeiro Júnior 19
t.test(Y~X, paired= T)
Paired t-test
data: Y by X
t = 7.6984, df = 4, p-value = 0.001532
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
1.687878 3.592122
sample estimates:
mean of the differences
2.64
Para fazer a barra de erro da diferença média (Figura 9) serão utilizados os intervalos
fornecidos pelo teste t.
plot(mean(dif),ylim=c(1, 4.2))
arrows(1 , 1.687878, 1, 3.592122, length=0.1,angle=90, code=3)
Capítulo 6 – Experimentos com um Fator de Interesse Gustavo Mello Reis José Ivo Ribeiro Júnior 20
dbc.y<-lm(Y~XX+X) # ou dbc.y<-aov(Y~XX+X)
re.dbc.y<-residuals(dbc.y)
re.dbc.y
1 2 3 4 5 6 7 8 9 10
-0.62 0.62 0.43 -0.43 0.13 -0.13 0.03 -0.03 0.03 -0.03
2 2
0.4
3 3
Standardized residuals
1
0.2
Residuals
-0.2 0.0
0
-1
-0.6
1
1
35.0 36.0 37.0 38.0 -1.5 -1.0 -0.5 0.0 0.5 1.0 1.5
# Teste de Lilliefors
library(nortest)
lillie.test(re.dbc.y)
Lilliefors (Kolmogorov-Smirnov) normality test
data: re.dbc.y
D = 0.1669, p-value = 0.5972
Capítulo 6 – Experimentos com um Fator de Interesse Gustavo Mello Reis José Ivo Ribeiro Júnior 21
# Teste de Kolmogorov-Smirnov
ks.test(re.dbc.y, “pnorm”, mean= 0, sd=sd(re.dbc.y))
One-sample Kolmogorov-Smirnov test
data: re.dbc.y
D = 0.1669, p-value = 0.9017
alternative hypothesis: two.sided
# Teste de Bartlett
bartlett.test(re.dbc.y,X)
Bartlett test of homogeneity of variances
anova(dbc.y)
Analysis of Variance Table
Response: Y
Df Sum Sq Mean Sq F value Pr(>F)
XX 4 1.120 0.280 0.9524 0.518289
X 1 17.424 17.424 59.2653 0.001532 **
Residuals 4 1.176 0.294
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Capítulo 6 – Experimentos com um Fator de Interesse Gustavo Mello Reis José Ivo Ribeiro Júnior 22
3.2.2. Variáveis YYY e YYYY não Normais
Para as variáveis não normais YYY (contagem) e YYY / YYYY (proporção), têm-se:
wilcox.test(YYY~X,paired=T)
Wilcoxon signed rank test with continuity correction
data: YYY by X
V = 8, p-value = 1
alternative hypothesis: true mu is not equal to 0
Warning message:
cannot compute exact p-value with ties in: wilcox.test.default(x =
c(2, 6, 10, 15, 14), y = c(4, 8, 18,
y34<-YYY/YYYY # Criar um vetor com a proporção (YYY / YYYY)
wilcox.test(y34~X, paired=T)
Wilcoxon signed rank test
data: y34 by X
V = 12, p-value = 0.3125
alternative hypothesis: true mu is not
equal to 0
O aviso que aparece no teste de Wilcoxon para a variável YYY, chama a atenção para os
dados utilizados na realização desse teste. Um p-valor exato será calculado quando a variável
possuir tamanho menor que cinqüenta (com valores finitos) e quando não houver repetições (ties)
na diferença entre os valores da variável dentro de cada nível de X. Caso isto não ocorra, uma
aproximação normal será usada.
Observe as diferenças para as variáveis YYY e y34 e veja que para YYY possui uma
repetição (-2) enquanto que para y34 não possui.
Capítulo 6 – Experimentos com um Fator de Interesse Gustavo Mello Reis José Ivo Ribeiro Júnior 23
4. Mais de Dois Níveis Qualitativos de X
4.1. DIC
dados3dic<-read.csv2(“teste3dic.csv”,dec=”.”)
dados3dic
rept X Y YY YYY
1 A 1.5 2 15
2 A 1.8 5 49
3 A 1.65 8 75
1 B 1.4 14 42
2 B 1.55 7 26
3 B 1.6 6 17
1 C 1.65 1 5
2 C 1.7 13 95
3 C 1.73 18 55
1 D 1.55 10 50
2 D 1.4 7 80
3 D 1.45 4 65
1 E 1.6 9 35
2 E 1.45 11 25
3 E 1.53 4 60
attach(dados3dic)
A normalidade será testada através do erro experimental (eij), pois yij não é variável
aleatória.
Capítulo 6 – Experimentos com um Fator de Interesse Gustavo Mello Reis José Ivo Ribeiro Júnior 24
dic.y<-lm(Y~X)
re.dic.y<-residuals(dic.y)
bartlett.test(re.dic.y, X)
Bartlett test of homogeneity of variances
0.15 6 2 6
0.10
S tandardized residuals
1
0.05
Residuals
0.00
0
-0.05
-0.10 -1
2
2
-0.15 1
1
-2
anova(dic.y)
Analysis of Variance Table
Response: Y
Df Sum Sq Mean Sq F value Pr(>F)
X 4 0.111027 0.027757 2.9889 0.07297 .
Residuals 10 0.092867 0.009287
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Capítulo 6 – Experimentos com um Fator de Interesse Gustavo Mello Reis José Ivo Ribeiro Júnior 25
4.1.1.2. Teste de Tukey
Para fazer o teste de Tukey o modelo deve ser montado utilizando a função aov, da seguinte
forma:
dic.y<-aov(Y~X)
teste.dic.y<-TukeyHSD(dic.y, conf.level= (1 - 0.05)) # Por default α = 0,05
teste.dic.y # Para ver o resultado do teste de Tukey
Tukey multiple comparisons of means
95% family-wise confidence level
Fit: aov(formula = Y ~ X)
$X
diff lwr upr p adj
B-A -0.13333333 -0.39228757 0.12562091 0.4779094
C-A 0.04333333 -0.21562091 0.30228757 0.9793603
D-A -0.18333333 -0.44228757 0.07562091 0.2124291
E-A -0.12333333 -0.38228757 0.13562091 0.5468424
C-B 0.17666667 -0.08228757 0.43562091 0.2391180
D-B -0.05000000 -0.30895424 0.20895424 0.9655836
E-B 0.01000000 -0.24895424 0.26895424 0.9999298
D-C -0.22666667 -0.48562091 0.03228757 0.0941497
E-C -0.16666667 -0.42562091 0.09228757 0.2841712
E-D 0.06000000 -0.19895424 0.31895424 0.9357538
Capítulo 6 – Experimentos com um Fator de Interesse Gustavo Mello Reis José Ivo Ribeiro Júnior 26
Figura 12. Intervalo de confiança para os contrastes estabelecidos
B -A
C -A
D -A
E -A
C -B
D -B
E -B
D -C
E -C
E -D
Os intervalos que sobrepõem a diferença igual a zero, indicam que as duas médias são
semelhantes (P>α).
kruskal.test(YY~X)
Kruskal-Wallis rank sum test
data: YY by X
Kruskal-Wallis chi-squared = 1.7981, df = 4, p-value = 0.7728
kruskal.test(YY/YYY~X)
Kruskal-Wallis rank sum test
data: YY/YYY by X
Kruskal-Wallis chi-squared = 7.1878, df = 4, p-value = 0.1263
Capítulo 6 – Experimentos com um Fator de Interesse Gustavo Mello Reis José Ivo Ribeiro Júnior 27
4.2. DBC
dados3dbc<-read.csv2(“teste3dbc.csv”,dec=”.”)
dados3dbc
rept XX X Y YY YYY
1 bloco1 A 1.5 2 15
1 bloco1 B 1.4 14 42
1 bloco1 C 1.65 1 5
1 bloco1 D 1.55 10 50
1 bloco1 E 1.6 9 35
2 bloco2 A 1.8 5 49
2 bloco2 B 1.55 7 26
2 bloco2 C 1.7 13 95
2 bloco2 D 1.4 7 80
2 bloco2 E 1.45 11 25
3 bloco3 A 1.65 8 75
3 bloco3 B 1.6 6 17
3 bloco3 C 1.73 18 55
3 bloco3 D 1.45 4 65
3 bloco3 E 1.53 4 60
attach(dados3dbc)
Como yij não é variável aleatória, a normalidade será testada através do erro experimental
(eij), da seguinte forma:
dbc.y<-lm(Y~XX+X) # ou dbc.y<-aov(Y~XX+X)
Capítulo 6 – Experimentos com um Fator de Interesse Gustavo Mello Reis José Ivo Ribeiro Júnior 28
re.dbc.y<-residuals(dbc.y)
bartlett.test(re.dbc.y, X)
Bartlett test of homogeneity of variances
anova(dbc.y)
friedman.test(YY~X|XX)
Friedman rank sum test
friedman.test(YY/YYY~X|XX)
Friedman rank sum test
4.3. Teste de χ2
Como exemplo, será utilizado o arquivo de dados “prop.csv”, cujo a primeira coluna contém
o número de defeitos (nd) e a segunda o tamanho da amostra (ta).
Os dados serão lidos da seguinte forma:
Capítulo 6 – Experimentos com um Fator de Interesse Gustavo Mello Reis José Ivo Ribeiro Júnior 29
dados.prop<-read.csv2(“prop.csv”, dec= “.”)
dados.prop
nd ta
83 86
90 93
129 136
70 82
attach(dados.prop)
prop.test(nd, ta)
4-sample test for equality of proportions without continuity
correction
data: nd out of ta
X-squared = 12.6004, df = 3, p-value = 0.005585
alternative hypothesis: two.sided
sample estimates:
prop 1 prop 2 prop 3 prop 4
0.9651163 0.9677419 0.9485294 0.8536585
Como exemplo, será utilizado o arquivo C:/Rdados/regressao1.csv, que será acessado por:
dados.reg1<-read.csv2(“regressao1.csv”, dec=“.”)
dados.reg1
X Y
5 24.1
5.4 24.5
Capítulo 6 – Experimentos com um Fator de Interesse Gustavo Mello Reis José Ivo Ribeiro Júnior 30
5.7 24.4
5.9 24.7
6.3 24.9
6.8 25.2
7.2 25.5
7.3 25.8
7.6 25.7
7.8 26
attach(dados.reg1)
Para estudar a variável Y em função da variável X com dez níveis quantitativos, tem-se:
par(mfrow=c(1,2))
plot(reg.y, which=c(1,2))
8 8
1.5
2 2
Standardized residuals
0.1
1.0
Residuals
0.5
0.0
-0.5 0.0
-0.1
3
-1.5
24.5 25.0 25.5 26.0 -1.5 -1.0 -0.5 0.0 0.5 1.0 1.5
Capítulo 6 – Experimentos com um Fator de Interesse Gustavo Mello Reis José Ivo Ribeiro Júnior 31
De acordo com os gráficos (Figura 13), percebe-se que as pressuposições de normalidade e
homogeneidade de variâncias foram satisfeitas
Para verificar a significância do modelo é necessário verificar a tabela da análise de
variância (Teste F) ou utilizar a função summary (Teste t), que além dessa informação, apresenta as
estimativas dos coeficientes de regressão.
anova(reg.y) # Teste F
Analysis of Variance Table
Response: Y
Df Sum Sq Mean Sq F value Pr(>F)
X 1 3.7691 3.7691 282.18 1.597e-07 ***
Residuals 8 0.1069 0.0134
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1
' ' 1
summary(reg.y) # Teste t
Call:
lm(formula = Y ~ X)
Residuals:
Min 1Q Median 3Q Max
-0.15100 -0.07072 -0.01550 0.04947 0.19100
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 20.78186 0.25847 80.40 6.38e-13 ***
X 0.66125 0.03936 16.80 1.60e-07 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Capítulo 6 – Experimentos com um Fator de Interesse Gustavo Mello Reis José Ivo Ribeiro Júnior 32
coef(reg.y)
(Intercept) X
20.7818561 0.6612529
Capítulo 6 – Experimentos com um Fator de Interesse Gustavo Mello Reis José Ivo Ribeiro Júnior 33
5.2. Regressão de 2º grau
Como exemplo, será utilizado o arquivo C:/Rdados/regressao2.csv, que será lido por:
par(mfrow=c(1,2))
plot(reg2.y,which=c(1,2))
Capítulo 6 – Experimentos com um Fator de Interesse Gustavo Mello Reis José Ivo Ribeiro Júnior 34
Figura 15. Gráficos dos resíduos para Y
5 5
1
0.1
Standardized residuals
0.0
Residuals
0
-0.1
4
4
-1
-0.2
-0.3
-2
8
8
9.5 10.0 10.5 11.0 11.5 -1.5 -1.0 -0.5 0.0 0.5 1.0 1.5
anova(reg2.y)
Analysis of Variance Table
Response: Y
Df Sum Sq Mean Sq F value Pr(>F)
X 1 0.5463 0.5463 23.393 0.001885 **
X2 1 4.9313 4.9313 211.166 1.744e-06 ***
Residuals 7 0.1635 0.0234
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Capítulo 6 – Experimentos com um Fator de Interesse Gustavo Mello Reis José Ivo Ribeiro Júnior 35
summary(reg2.y)
Call:
lm(formula = Y ~ X + X2)
Residuals:
Min 1Q Median 3Q Max
-0.30087 -0.01629 0.01407 0.07451 0.19325
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -30.04554 2.94812 -10.19 1.89e-05 ***
X 13.24450 0.93021 14.24 2.00e-06 ***
X2 -1.04782 0.07211 -14.53 1.74e-06 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Capítulo 6 – Experimentos com um Fator de Interesse Gustavo Mello Reis José Ivo Ribeiro Júnior 36
Outra forma de gerar o gráfico de regressão de Y em função de X seria:
Como pode-se perceber a segunda forma de gerar o gráfico, apesar de ser mais rápida, gera
uma linha de regressão menos precisa, devido à pequena quantidade de amostras aqui utilizadas.
Quando se esta trabalhando com um número maior de amostras, o segundo método irá se aproximar
ainda mais do primeiro.
Para estimar Y em função de um valor de X especificado dentro do intervalo, será criada a
seguinte função:
est2.y<-function(reg, x) {coef(reg)[1]+coef(reg)[2]*x+coef(reg)[3]*x^2}
est2.y(reg2.y, 6.25) # Estimativa de Y para X = 6,25
(Intercept)
11.80203
Capítulo 6 – Experimentos com um Fator de Interesse Gustavo Mello Reis José Ivo Ribeiro Júnior 37
Capítulo 7
Viçosa 2007
Capítulo 7 – Experimentos com dois ou três Fatores de Interesse Gustavo Mello Reis José Ivo Ribeiro Júnior 1
1. Dois Fatores
Capítulo 7 – Experimentos com dois ou três Fatores de Interesse Gustavo Mello Reis José Ivo Ribeiro Júnior 2
1 A I 3 4.3
2 B I 3 5.4
3 C I 3 5.0
4 A A 3 5.6
5 B A 3 6.3
6 C A 3 6.0
attach(dados.2f)
1.1.1. DIC
1.5
3 3
1.0
0.2
Standardized residuals
0.5
Residuals
0.0
0.0
-1.0 -0.5
-0.2
-0.4
-1.5
10
8
10 8
Capítulo 7 – Experimentos com dois ou três Fatores de Interesse Gustavo Mello Reis José Ivo Ribeiro Júnior 3
O teste de Lilliefors é dado por:
data: re.2f
D = 0.1621, p-value = 0.2404
data: re.2f
D = 0.1621, p-value = 0.7312
alternative hypothesis: two.sided
bartlett.test(re.2f ,TRAT)
Bartlett test of homogeneity of variances
Capítulo 7 – Experimentos com dois ou três Fatores de Interesse Gustavo Mello Reis José Ivo Ribeiro Júnior 4
anova(mod.2f)
Analysis of Variance Table
Response: Y
Df Sum Sq Mean Sq F value Pr(>F)
X 2 2.64778 1.32389 15.4740 0.0004758 ***
XX 1 2.88000 2.88000 33.6623 8.448e-05 ***
X:XX 2 0.14333 0.07167 0.8377 0.4565219
Residuals 12 1.02667 0.08556
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Como pode-se observar, não existe (P < 0,05) interação entre os fatores
X e XX. Outra forma de observar este resultado é através do gráfico de
interação da seguinte forma:
Capítulo 7 – Experimentos com dois ou três Fatores de Interesse Gustavo Mello Reis José Ivo Ribeiro Júnior 5
Para entrar com os dados no R, será utilizado o arquivo “dados2f.csv”,
que será lido da seguinte forma:
1.2.1. DIC
Capítulo 7 – Experimentos com dois ou três Fatores de Interesse Gustavo Mello Reis José Ivo Ribeiro Júnior 6
plot(mod.2f,which=c(1,2)) # Gerar os gráficos 1 e 2 para a análise dos
resíduos
1.5
3 3
1.0
0.2
Standardized residuals
0.5
Residuals
0.0
0.0
-1.5 -1.0 -0.5
-0.2
-0.4
10
8
10 8
data: re.2f
D = 0.1114, p-value = 0.803
data: re.2f
D = 0.1114, p-value = 0.9788
alternative hypothesis: two.sided
Capítulo 7 – Experimentos com dois ou três Fatores de Interesse Gustavo Mello Reis José Ivo Ribeiro Júnior 7
O teste de Bartlett é dado por:
bartlett.test(re.2f ,TRAT)
Bartlett test of homogeneity of variances
anova(mod.2f)
Analysis of Variance Table
Response: Y
Df Sum Sq Mean Sq F value Pr(>F)
X 2 4.5811 2.2906 27.8581 3.097e-05 ***
XX 1 0.1089 0.1089 1.3243 0.2722
X:XX 2 5.0411 2.5206 30.6554 1.923e-05 ***
Residuals 12 0.9867 0.0822
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
interaction.plot(X, XX, Y)
Capítulo 7 – Experimentos com dois ou três Fatores de Interesse Gustavo Mello Reis José Ivo Ribeiro Júnior 8
Figura 3. Gráfico da interação entre os fatores X e XX
Capítulo 7 – Experimentos com dois ou três Fatores de Interesse Gustavo Mello Reis José Ivo Ribeiro Júnior 9
Em função dos resultados das anovas realizadas, pode-se montar a
Tabela 3 por meio do desdobramento da interação X*XX.
Capítulo 7 – Experimentos com dois ou três Fatores de Interesse Gustavo Mello Reis José Ivo Ribeiro Júnior 10
anova(mod.c)
Analysis of Variance Table
1.2.2. DBC
XXXql<-factor(XXX)
mod.2fdbc<-lm(Y~X*XX+XXXql)
re.2fdbc<-residuals(mod.2fdbc)
Capítulo 7 – Experimentos com dois ou três Fatores de Interesse Gustavo Mello Reis José Ivo Ribeiro Júnior 11
par(mfrow=c(1,2))
plot(mod.2fdbc, which=c(1,2))
# Teste de Lilliefors
library(nortest)
lillie.test(re.2fdbc)
# Teste de Kolmogorov-Smirnov
ks.test(re.2fdbc, “pnorm”, mean=mean(re.2fdbc), sd=sd(re.2fdbc))
# Teste de Bartlett
bartlett.test(re.2fdbc,TRAT)
anova(mod.2fdbc)
Analysis of Variance Table
Response: Y
Df Sum Sq Mean Sq F value Pr(>F)
X 2 4.5811 2.2906 28.9130 6.967e-05 ***
XX 1 0.1089 0.1089 1.3745 0.2682
XXXql 2 0.1944 0.0972 1.2272 0.3337
X:XX 2 5.0411 2.5206 31.8163 4.620e-05 ***
Residuals 10 0.7922 0.0792
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
interaction.plot(X, XX, Y)
Capítulo 7 – Experimentos com dois ou três Fatores de Interesse Gustavo Mello Reis José Ivo Ribeiro Júnior 12
1.3. Superfície de Resposta
dados.super<-read.csv2(“super.csv”,dec= “.”)
dados.super
X XX Y YY
50 160 35 65.3
60 160 39 68.2
50 170 36 66.0
60 170 43 69.8
48 165 30 64.5
62 165 44 69.0
55 158 31 64.0
55 172 45 68.5
55 165 37 68.9
55 165 34 69.7
55 165 35 68.5
55 165 36 69.4
55 165 37 69.0
attach(dados.super)
Capítulo 7 – Experimentos com dois ou três Fatores de Interesse Gustavo Mello Reis José Ivo Ribeiro Júnior 13
1.3.1. Superfície de 1º Grau
Residuals:
Min 1Q Median 3Q Max
-3.0090 -1.7943 0.2057 1.2057 3.3201
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 1683.71923 1184.78573 1.421 0.198
X -7.68659 9.47433 -0.811 0.444
X2 0.03190 0.03930 0.812 0.444
XX -18.29144 13.27050 -1.378 0.211
XX2 0.05231 0.03930 1.331 0.225
XXX 0.03000 0.05108 0.587 0.575
Capítulo 7 – Experimentos com dois ou três Fatores de Interesse Gustavo Mello Reis José Ivo Ribeiro Júnior 14
# Retirar a interação entre os fatores X e XX do modelo
mod.y1<-lm(Y~ X+X2+XX+XX2)
summary(mod.y1)
Call:
lm(formula = Y ~ X + X2 + XX + XX2)
Residuals:
Min 1Q Median 3Q Max
-3.0090 -1.7943 0.2057 1.2057 4.0701
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 1411.46923 1044.73023 1.351 0.214
X -2.73659 4.14568 -0.660 0.528
X2 0.03190 0.03765 0.847 0.421
XX -16.64144 12.42730 -1.339 0.217
XX2 0.05231 0.03765 1.389 0.202
Residuals:
Min 1Q Median 3Q Max
-3.3653 -1.3386 -0.3386 0.6920 4.4192
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 1211.00996 1001.50700 1.209 0.25740
X 0.77273 0.17118 4.514 0.00146 **
XX -15.37480 12.14211 -1.266 0.23722
Capítulo 7 – Experimentos com dois ou três Fatores de Interesse Gustavo Mello Reis José Ivo Ribeiro Júnior 15
XX2 0.04847 0.03679 1.318 0.22021
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residuals:
Min 1Q Median 3Q Max
-3.0769 -1.6678 -0.3193 1.1655 4.8928
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -107.9231 30.8558 -3.498 0.00575 **
X 0.7727 0.1774 4.357 0.00143 **
XX 0.6212 0.1774 3.502 0.00570 **
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
mod.y<-mod.y3
Capítulo 7 – Experimentos com dois ou três Fatores de Interesse Gustavo Mello Reis José Ivo Ribeiro Júnior 16
Porém antes da interpretação dos resultados, é necessário verificar se
as pressuposições de normalidade e homogeneidade de variâncias dos erros
experimentais são satisfeitas (Figura 4):
par(mfrow=c(1,2))
plot(mod.y, which=c(1,2))
R e s i d u a ls vs F i tte d N o rm a l Q -Q
1 1
4
2
8
Standardized residuals
8
2
Residuals
1
0
0
-2
-1
10
10
-4
30 32 34 36 38 40 42 44 -1 .5 -0 .5 0 .0 0 .5 1 .0 1 .5
F i tte d va lu e s T h e o re ti c a l Q u a n ti le s
Response: Y
Df Sum Sq Mean Sq F value Pr(>F)
X 1 118.227 118.227 18.981 0.001428 **
XX 1 76.409 76.409 12.267 0.005703 **
Residuals 10 62.287 6.229
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
summary(mod.y)
Call:
lm(formula = Y ~ X + XX)
Residuals:
Capítulo 7 – Experimentos com dois ou três Fatores de Interesse Gustavo Mello Reis José Ivo Ribeiro Júnior 17
Min 1Q Median 3Q Max
-3.0769 -1.6678 -0.3193 1.1655 4.8928
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -107.9231 30.8558 -3.498 0.00575 **
X 0.7727 0.1774 4.357 0.00143 **
XX 0.6212 0.1774 3.502 0.00570 **
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Capítulo 7 – Experimentos com dois ou três Fatores de Interesse Gustavo Mello Reis José Ivo Ribeiro Júnior 19
h) d: serve para redimensionar o gráfico, de acordo com diferentes valores
numéricos;
j) r: também redimensiona o gráfico, porém em outras partes de acordo com
diferentes valores numéricos.
Uma forma melhorada desta superfície de resposta (Figura 6) poderia
ser obtida pelo comando abaixo:
contour(x,xx,y)
Capítulo 7 – Experimentos com dois ou três Fatores de Interesse Gustavo Mello Reis José Ivo Ribeiro Júnior 20
Figura 7. Gráfico de contorno de Y em função de X e XX
Response: YY
Df Sum Sq Mean Sq F value Pr(>F)
X 1 21.3384 21.3384 36.3878 0.000312 ***
X2 1 4.6555 4.6555 7.9389 0.022577 *
XX 1 9.3384 9.3384 15.9245 0.004002 **
XX2 1 10.1687 10.1687 17.3405 0.003147 **
Residuals 8 4.6913 0.5864
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Capítulo 7 – Experimentos com dois ou três Fatores de Interesse Gustavo Mello Reis José Ivo Ribeiro Júnior 21
summary(mod.yy)
Call:
lm(formula = YY ~ X + X2 + XX + XX2)
Residuals:
Min 1Q Median 3Q Max
-1.16867 -0.39089 -0.09298 0.30702 1.13236
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -1.438e+03 3.269e+02 -4.399 0.00229 **
X 4.603e+00 1.297e+00 3.548 0.00753 **
X2 -3.886e-02 1.178e-02 -3.298 0.01089 *
XX 1.641e+01 3.889e+00 4.220 0.00292 **
XX2 -4.906e-02 1.178e-02 -4.164 0.00315 **
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
f.yy<-function(x,xx)
{co.yy[1]+co.yy[2]*x+co.yy[3]*x^2+co.yy[4]*xx+co.yy[5]*xx^2}
yy<-outer(x,xx,f.yy) # Fazer combinações de cada valor de x aos de xx com a
função
persp(x, xx, yy, main= “YY = a + bX + cX2 + dXX + eXX2”, xlab= “Tempo de
Reação”, ylab= “Temperatura”, zlab= “Conversão”, col= “lightgrey”, phi=10,
theta=300, ticktype= “detailed”, expand=0.75, d=20, r=10)
contour(x,xx,yy)
Capítulo 7 – Experimentos com dois ou três Fatores de Interesse Gustavo Mello Reis José Ivo Ribeiro Júnior 23
Figura 9. Gráfico de contorno de YY em função de X e XX
2. Três Fatores
2.1. DIC
Capítulo 7 – Experimentos com dois ou três Fatores de Interesse Gustavo Mello Reis José Ivo Ribeiro Júnior 24
36 39 35 35 36 31
28 35 26 26 36 28
3 24 35 27 29 37 26
27 34 25 25 34 34
Capítulo 7 – Experimentos com dois ou três Fatores de Interesse Gustavo Mello Reis José Ivo Ribeiro Júnior 25
9 alta 3 C 2 26
10 baixa 1 A 2 24
11 baixa 1 B 2 28
12 baixa 1 C 2 32
13 baixa 2 A 2 35
14 baixa 2 B 2 38
15 baixa 2 C 2 34
16 baixa 3 A 2 24
17 baixa 3 B 2 35
18 baixa 3 C 2 27
1 alta 1 A 3 28
2 alta 1 B 3 35
3 alta 1 C 3 39
4 alta 2 A 3 35
5 alta 2 B 3 36
6 alta 2 C 3 31
7 alta 3 A 3 25
8 alta 3 B 3 34
9 alta 3 C 3 34
10 baixa 1 A 3 25
11 baixa 1 B 3 26
12 baixa 1 C 3 28
13 baixa 2 A 3 36
14 baixa 2 B 3 39
15 baixa 2 C 3 35
16 baixa 3 A 3 27
17 baixa 3 B 3 34
18 baixa 3 C 3 25
attach(dados.3f)
3
1 1
45 45
4
Standardized residuals
2
2
Residuals
1
0
0
-2
-1
-4
-2
19
-6
19
-3
24 26 28 30 32 34 36 -2 -1 0 1 2
library(nortest)
lillie.test(re.3f)
Lilliefors (Kolmogorov-Smirnov) normality test
data: re.3f
D = 0.0792, p-value = 0.543
data: re.3f
D = 0.0792, p-value = 0.887
alternative hypothesis: two.sided
Warning message:
cannot compute correct p-values with ties in: ks.test(re.3f, "pnorm",
mean = mean(re.3f), sd = sd(re.3f))
Capítulo 7 – Experimentos com dois ou três Fatores de Interesse Gustavo Mello Reis José Ivo Ribeiro Júnior 27
O teste de Bartlett é dado por:
bartlett.test(re.3f, TRAT)
Bartlett test of homogeneity of variances
anova(mod.3f)
Analysis of Variance Table
Response: Y
Df Sum Sq Mean Sq F value Pr(>F)
X 1 98.69 98.69 18.1877 0.0001383 ***
XXql 2 362.70 181.35 33.4232 6.224e-09 ***
XXX 2 207.81 103.91 19.1502 2.166e-06 ***
X:XXql 2 105.59 52.80 9.7304 0.0004185 ***
X:XXX 2 3.37 1.69 0.3106 0.7349659
XXql:XXX 4 253.19 63.30 11.6655 3.545e-06 ***
X:XXql:XXX 4 27.85 6.96 1.2833 0.2947013
Residuals 36 195.33 5.43
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
interaction.plot(X,XXql,Y) # Figura 11
interaction.plot(XXql, XXX,Y) # Figura 12
Capítulo 7 – Experimentos com dois ou três Fatores de Interesse Gustavo Mello Reis José Ivo Ribeiro Júnior 28
Figura 11. Gráfico da interação entre os fatores X e XXql
2.2. DBC
Capítulo 7 – Experimentos com dois ou três Fatores de Interesse Gustavo Mello Reis José Ivo Ribeiro Júnior 30
bartlett.test(re.3fdbc, TRAT)
anova(mod.3fdbc)
Analysis of Variance Table
Response: Y
Df Sum Sq Mean Sq F value Pr(>F)
X 1 98.69 98.69 17.2394 0.000209 ***
XXql 2 362.70 181.35 31.6805 1.708e-08 ***
XXX 2 207.81 103.91 18.1517 4.331e-06 ***
XXXXql 2 0.70 0.35 0.0615 0.940490
X:XXql 2 105.59 52.80 9.2230 0.000631 ***
X:XXX 2 3.37 1.69 0.2944 0.746868
XXql:XXX 4 253.19 63.30 11.0573 7.476e-06 ***
X:XXql:XXX 4 27.85 6.96 1.2164 0.321995
Residuals 34 194.63 5.72
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
interaction.plot(X,XXql,Y)
interaction.plot(XXql, XXX,Y)
Experimentos k Fatores de
Interesse
Viçosa 2007
Capítulo 8 – Experimentos com k Fatores de Interesse Gustavo Mello Reis José Ivo Ribeiro Júnior 1
1. Fatorial 2k Completo
1.1. Fatorial 22
Capítulo 8 – Experimentos com k Fatores de Interesse Gustavo Mello Reis José Ivo Ribeiro Júnior 2
O modelo é o seguinte:
Response: Y
Df Sum Sq Mean Sq F value Pr(>F)
A 1 2.79558 2.79558 134.4675 7.076e-08 ***
B 1 0.01809 0.01809 0.8701 0.3693
A:B 1 0.00397 0.00397 0.1909 0.6699
Residuals 12 0.24948 0.02079
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Capítulo 8 – Experimentos com k Fatores de Interesse Gustavo Mello Reis José Ivo Ribeiro Júnior 3
Para obter as estimativas dos efeitos, deve-se multiplicar as estimativas
dos coeficientes por dois, da seguinte forma:
coef(mod.fat22)*2
(Intercept) A B A:B
28.77775 0.83600 -0.06725 0.03150
1.2. Fatorial 23
Capítulo 8 – Experimentos com k Fatores de Interesse Gustavo Mello Reis José Ivo Ribeiro Júnior 4
A montagem do modelo e a verificação das pressuposições se dão por:
Response: Y
Df Sum Sq Mean Sq F value Pr(>F)
A 1 45.562 45.562 18.6923 0.002534 **
B 1 10.562 10.562 4.3333 0.070931 .
C 1 3.062 3.062 1.2564 0.294849
A:B 1 7.562 7.562 3.1026 0.116197
A:C 1 0.062 0.062 0.0256 0.876749
B:C 1 1.562 1.562 0.6410 0.446463
A:B:C 1 5.062 5.062 2.0769 0.187512
Residuals 8 19.500 2.438
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Capítulo 8 – Experimentos com k Fatores de Interesse Gustavo Mello Reis José Ivo Ribeiro Júnior 5
As estimativas dos efeitos serão obtidas através de:
coef(mod.fat23)*2
(Intercept) A B C A:B A:C B:C A:B:C
1.3. Fatorial 24
Capítulo 8 – Experimentos com k Fatores de Interesse Gustavo Mello Reis José Ivo Ribeiro Júnior 6
14 1 -1 1 1 860
15 -1 1 1 1 1063
16 1 1 1 1 729
attach(dados.fat24)
efeito<-coef(mod.fat24)*2
efeito
(Intercept) A B C D A:B
1552.125 -101.625 -1.625 7.375 306.125 -7.875
qqnorm(efeito)
qqline(efeito)
Capítulo 8 – Experimentos com k Fatores de Interesse Gustavo Mello Reis José Ivo Ribeiro Júnior 7
Figura 1. Gráfico de probabilidade normal dos efeitos
1500
1000 Normal Q-Q Plot
Sample Quantiles
500
0
-2 -1 0 1 2
Theoretical Quantiles
sort(efeito)
A:D A B:C A:B:C:D B:C:D A:C
-153.625 -101.625 -43.875 -40.125 -25.375 -24.875
A:C:D C D (Intercept)
5.625 7.375 306.125 1552.125
mod.fat24<-lm(Y~A+B+C+D+A:B+A:C+A:D+B:C+B:D+C:D)
Capítulo 8 – Experimentos com k Fatores de Interesse Gustavo Mello Reis José Ivo Ribeiro Júnior 8
Se as pressuposições forem satisfeitas, então tem-se:
anova(mod.fat24) # Gerar o quadro da ANOVA
Analysis of Variance Table
Response: Y
Df Sum Sq Mean Sq F value Pr(>F)
A 1 41311 41311 20.2765 0.006382 **
B 1 11 11 0.0052 0.945391
C 1 218 218 0.1068 0.757069
D 1 374850 374850 183.9879 3.903e-05 ***
A:B 1 248 248 0.1218 0.741351
A:C 1 2475 2475 1.2148 0.320582
A:D 1 94403 94403 46.3357 0.001042 **
B:C 1 7700 7700 3.7794 0.109498
B:D 1 2 2 0.0008 0.978978
C:D 1 18 18 0.0089 0.928641
Residuals 5 10187 2037
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
interaction.plot(A, D, Y)
Capítulo 8 – Experimentos com k Fatores de Interesse Gustavo Mello Reis José Ivo Ribeiro Júnior 9
interaction.plot(C, D, fit.mod.fat24.sig)
2. Fatorial 2k Fracionado
Capítulo 8 – Experimentos com k Fatores de Interesse Gustavo Mello Reis José Ivo Ribeiro Júnior 10
A matriz G deve conter a relação de definição para a obtenção do
planejamento. Como neste caso existe apenas um (I=ABC), a matriz será M1x4.
No R, tem-se:
m24<-c(1,1,1,1) # Matriz G
pla24<-conf.design(G=m24, p=2, treatment.names=c(“A”,“B”,“C”,“D”))
pla24
Blocks A B C D
1 0 0 0 0 0
2 0 1 1 0 0
3 0 1 0 1 0
4 0 0 1 1 0
5 0 1 0 0 1
6 0 0 1 0 1
7 0 0 0 1 1
8 0 1 1 1 1
9 1 1 0 0 0
10 1 0 1 0 0
11 1 0 0 1 0
12 1 1 1 1 0
13 1 0 0 0 1
14 1 1 1 0 1
15 1 1 0 1 1
16 1 0 1 1 1
pla24<-pla24[1:8,]
Capítulo 8 – Experimentos com k Fatores de Interesse Gustavo Mello Reis José Ivo Ribeiro Júnior 11
fix(pla24)
pla24
Blocks A B C D Y
1 0 -1 -1 -1 -1 550
2 0 1 1 -1 -1 650
Capítulo 8 – Experimentos com k Fatores de Interesse Gustavo Mello Reis José Ivo Ribeiro Júnior 12
3 0 1 -1 1 -1 642
4 0 -1 1 1 -1 601
5 0 1 -1 -1 1 749
6 0 -1 1 -1 1 1052
7 0 -1 -1 1 1 1075
8 0 1 1 1 1 729
attach(pla24)
mod24<-lm(Y~A+B+C+D)
anova(mod24)
Analysis of Variance Table
Response: Y
Df Sum Sq Mean Sq F value Pr(>F)
A 1 32258 32258 1.2171 0.35049
B 1 32 32 0.0012 0.97446
C 1 265 265 0.0100 0.92673
D 1 168781 168781 6.3680 0.08591 .
Residuals 3 79513 26504
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
coef(mod24)*2
(Intercept) A-1 B-1 C-1 D-1
1691 254 -8 -23 -581
Capítulo 8 – Experimentos com k Fatores de Interesse Gustavo Mello Reis José Ivo Ribeiro Júnior 13
fracionado 2k–p. Desse modo, uma fração 1/2 é chamada de fatorial 2k–1, uma
fração 1/4 de 2k–2, uma fração 1/8 de 2k–3, uma fração 1/16 de 2k–4 e assim por
diante.
Com o objetivo de ilustrar a fração 1/4, considere um experimento com
seis fatores e suponha que o interesse esteja, principalmente, nos efeitos
principais e de obter alguma informação a respeito das interações de segunda
ordem. Nesse caso, tem-se uma fração 1/4 ou um fatorial fracionado 2 6IV− 2 . Esse
m26<-rbind(c(1,1,1,0,1,0), c(0,1,1,1,0,1))
m26
[,1] [,2] [,3] [,4] [,5] [,6]
[1,] 1 1 1 0 1 0
[2,] 0 1 1 1 0 1
Capítulo 8 – Experimentos com k Fatores de Interesse Gustavo Mello Reis José Ivo Ribeiro Júnior 14
O planejamento será montado da seguinte forma:
pla26<-pla26[1:16,]
pla26
Blocks A B C D E F
1 00 0 0 0 0 0 0
2 00 0 1 1 0 0 0
3 00 1 1 0 1 0 0
4 00 1 0 1 1 0 0
5 00 1 0 0 0 1 0
6 00 1 1 1 0 1 0
7 00 0 1 0 1 1 0
8 00 0 0 1 1 1 0
9 00 1 1 0 0 0 1
10 00 1 0 1 0 0 1
11 00 0 0 0 1 0 1
12 00 0 1 1 1 0 1
13 00 0 1 0 0 1 1
14 00 0 0 1 0 1 1
15 00 1 0 0 1 1 1
16 00 1 1 1 1 1 1
fix(pla26)
Capítulo 8 – Experimentos com k Fatores de Interesse Gustavo Mello Reis José Ivo Ribeiro Júnior 15
Também, será adicionado a variável Y na posição de var8, como
mostrado nas Figuras 3a e 3b.
pla26
Blocks A B C D E F Y
1 00 -1 -1 -1 -1 -1 -1 6
2 00 -1 1 1 -1 -1 -1 26
3 00 1 1 -1 1 -1 -1 60
Capítulo 8 – Experimentos com k Fatores de Interesse Gustavo Mello Reis José Ivo Ribeiro Júnior 16
4 00 1 -1 1 1 -1 -1 5
5 00 1 -1 -1 -1 1 -1 10
6 00 1 1 1 -1 1 -1 60
7 00 -1 1 -1 1 1 -1 34
8 00 -1 -1 1 1 1 -1 16
9 00 1 1 -1 -1 -1 1 60
10 00 1 -1 1 -1 -1 1 15
11 00 -1 -1 -1 1 -1 1 8
12 00 -1 1 1 1 -1 1 37
13 00 -1 1 -1 -1 1 1 32
14 00 -1 -1 1 -1 1 1 4
15 00 -1 -1 -1 1 1 1 12
16 00 1 1 1 1 1 1 32
attach(pla26)
mod26<-lm(Y~A+B+C+D+E+F+A:B+B:C+C:D+D:E+E:F)
anova(mod26)
Analysis of Variance Table
Response: Y
Df Sum Sq Mean Sq F value Pr(>F)
A 1 901.0 901.0 11.1336 0.028924 *
B 1 3965.2 3965.2 48.9980 0.002192 **
C 1 92.2 92.2 1.1393 0.345943
D 1 0.5 0.5 0.0058 0.942879
E 1 1.7 1.7 0.0215 0.890492
F 1 1.8 1.8 0.0223 0.888637
A:B 1 374.7 374.7 4.6296 0.097800 .
B:C 1 78.2 78.2 0.9667 0.381171
C:D 1 25.8 25.8 0.3192 0.602255
D:E 1 15.2 15.2 0.1874 0.687394
E:F 1 266.9 266.9 3.2982 0.143527
Residuals 4 323.7 80.9
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Capítulo 8 – Experimentos com k Fatores de Interesse Gustavo Mello Reis José Ivo Ribeiro Júnior 17
summary(mod26)
Call:
lm(formula = Y ~ A + B + C + D + E + F + A:B + B:C + C:D + D:E +
E:F)
Residuals:
1 2 3 4 5 6 7 8
-0.9318 -1.5000 3.2500 -0.8182 -1.2159 3.6477 -5.3977 2.9659
9 10 11 12 13 14 15 16
0.3977 2.0341 -7.5795 5.1477 1.7500 -4.1818 9.7273 -7.2955
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 25.8239 2.2995 11.230 0.000358 ***
A 4.2330 2.4915 1.699 0.164551
B 16.8011 2.2995 7.306 0.001866 **
C -1.4489 2.2995 -0.630 0.562848
D -0.8011 2.2995 -0.348 0.745109
E -1.3011 2.2995 -0.566 0.601743
F -1.3011 2.2995 -0.566 0.601743
A:B 6.1420 2.4915 2.465 0.069301 .
B:C -2.4261 2.2995 -1.055 0.350907
C:D -1.0739 2.2995 -0.467 0.664806
D:E -1.1761 2.2995 -0.511 0.635962
E:F -4.1761 2.2995 -1.816 0.143527
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
coef(mod26)*2
(Intercept) A B C D E
51.647727 8.465909 33.602273 -2.897727 -1.602273 -2.602273
F A:B B:C C:D D:E E:F
-2.602273 12.284091 -4.852273 -2.147727 -2.352273 -8.352273
Capítulo 8 – Experimentos com k Fatores de Interesse Gustavo Mello Reis José Ivo Ribeiro Júnior 18
No exemplo, somente os efeitos do intercepto, do fator B, e da interação
A:B não foram nulos (P < 0,1). Neste caso o gráfico da interação dos fatores A
e B (Figura 4) será construído da seguinte forma:
interaction.plot(B, A, Y)
Capítulo 8 – Experimentos com k Fatores de Interesse Gustavo Mello Reis José Ivo Ribeiro Júnior 19