[R-br] Dúvida- resposta do Walmes
Fernando A. Souza
nandodesouza em gmail.com
Quinta Setembro 13 14:46:20 BRT 2012
Caro walmes, Ha algum tempo atras postei uma dúvida a respeito de testes
de comparações multiplas para dados desbalanceados. E você então postou
a seguinte resposta a qual reproduzo novamente abaixo e que foi de
grande ajuda. Depois de entender tudo que você postou fiquei com a
seguinte dúvida:
Em seu exemplo no final da resposta, vc executa a função glht do pacote
multicomp, baseado em seu contraste de interesse. A função acima utiliza
o procedimento step-one (Default), o qual segundo o autor do livro do
pacote multicomp é um procedimento conservador. Com base em sua
abordagem como fica esta questão de escolher um teste menos conservador
(ex. SNK) ou mais conservador (Ex.Tukey)?Não importa mais qual o tipo de
teste utilizado, desde que ele controle a taxa de erro?
grato pela atenção
"Eu prefiro usar a multcomp porque lá eu tenho controle total das
comparações que quero fazer. Eu aprendi a usá-la antes de pacotes mais
dedicados estarem disponíveis. Basicamente, qual o problema das
comparações múltiplas? É o fato de você testar muitas hipóteses e isso
elevar rapidamente a taxa de erro tipo I global. Qual a solução? Lançar
mão de métodos que mantenham essa taxa global próximo do valor nominal,
na sua maioria 5%. Tudo o que se conhece sobre testes de comparações
múltiplas são conceitualmente maneiras de fazer isso. Cada um lança mão
de um princípio para fazê-lo e por isso possem alguma divergência.
Alguns deles se baseiam no fato das estimativas terem mesma precisão e
serem independentes, o que ocorre em todo experimento de fatores
categóricos completamente cruzados e balanceado. Nesses casos a matriz
de covariância das estimativas das médias é diagonal. Com fatores
cruzados mas não balanceado (diferente número de repetições), será
diagonal com precisões diferentes para cada nível do fator. Com
cruzamento incompleto, chamado de perda de caselas, você terá elementos
fora da diagonal não nulos. É importante que você entenda que médias
amostrais só são estimadores admissíveis para médias (parâmetro) em
raras situações. Deve usar médias obtidas matricialmente, que foi
batizado por aí de médias ajustadas. Eu pessoalmente não vejo porque o
uso da palavra ajustado se de fato é o procedimento correto, o caso
geral para estimar uma média. As médias amostrais é que deviam ser
chamadas de "médias possivelmente desajustadas/viesadas". Eu gosto da
multcomp porque o que tá implementado lá resolve todos os casos e faz o
que tem que fazer, controlar a taxa nominal de significância (conduza um
estudo de simulação e verifique se for o caso). Os tipos de somas de
quadrados em si não têm importância porque as incertezas sobre as médias
estão na matriz de covariância das estimativas e são invariantes a soma
de quadrado. Além do mais, essa coisa de soma de quadrado é particular
da anova e comparações múltiplas de estimativas podem ser aplicadas em
qualquer situação, seja em GLM e até mesmo para parâmetros em modelos de
regressão não linear. Esqueça uso de letras seguindo as médias. Faça um
gráfico dos contrastes do teu interesse e verifique se o valor nulo está
contido no intervalo de confiança. Para ilustrar, rode o CMR
#------------------------------------------------------------------------------------------
require(doBy)
# caso 1
# experimento balanceado e completamente cruzados níveis de bloc e trat
da <- expand.grid(trat=gl(3,1), bloc=gl(2,2))
da$y1 <- rnorm(nrow(da), 10, 0.1)
str(da)
m0 <- lm(y1~bloc+trat, da)
ctr <- popMatrix(m0, effect="trat")
dim(ctr)
V0 <- vcov(m0)
dim(V0)
vm0 <- ctr%*%V0%*%t(ctr)
vm0 # mesma precisão e sem correlação
#------------------------------------------------------------------------------------------
# caso 2
# experimento desbalanceado e completamente cruzados níveis de bloc e trat
da$y2 <- da$y1
da$y2[1:2] <- NA # trat 1 e 2 têm apenas 2 repetições (desbalanceamento)
m1 <- lm(y2~bloc+trat, da)
V1 <- vcov(m1)
vm1 <- ctr%*%V1%*%t(ctr)
vm1 # trat 1 e 2 tem maior variância mas fora da diagonal é zero!
#------------------------------------------------------------------------------------------
# caso 3
# experimento desbalanceado e completamente cruzados níveis de bloc e trat
da$y3 <- da$y1
da$y3[c(1,4,9,12)] <- NA # trat 1 não observado no bloc 1 (perda
completa de combinação)
m2 <- lm(y3~bloc+trat, da)
V2 <- vcov(m2)
vm2 <- ctr%*%V2%*%t(ctr)
vm2 # diferença de precisão
round(cov2cor(vm2),3) # agora tem presença de correção devido não
ortogonalidade
#------------------------------------------------------------------------------------------
# em qualquer caso, multcomp pode comparar as médias, escolha 1 deles e faça
comb <- combn(1:nlevels(da$trat), 2) # 1 vs 2, 1 vs 3, 2 vs 3
mcomp <- ctr[comb[1,],]-ctr[comb[2,],] # matriz de contrastes 2 a 2
require(multcomp)
g0 <- glht(m2, linfct=mcomp)
summary(g0)
plot(g0) # diferenças nas amplitudes refletem o número de repetições
#------------------------------------------------------------------------------------------
À disposição.
Walmes.
==========================================================================
Walmes Marques Zeviani
LEG (Laboratório de Estatística e Geoinformação, 25.450418 S, 49.231759 W)
Departamento de Estatística - Universidade Federal do Paraná
fone: (+55) 41 3361 3573
VoIP: (3361 3600) 1053 1173
e-mail: walmes em ufpr.br <mailto:walmes em ufpr.br>
twitter: @walmeszeviani
homepage: http://www.leg.ufpr.br/~walmes <http://www.leg.ufpr.br/%7Ewalmes>
linux user number: 531218
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20120913/63b0be01/attachment.html>
Mais detalhes sobre a lista de discussão R-br