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@ufpr.br
twitter:
@walmeszeviani
homepage: http://www.leg.ufpr.br/~walmes
linux user number:
531218