[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