Dúvida- resposta do Walmes

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

A questão do quão conservador jamais desaparecerá na verdade. Na função glht(), ou melhor no summary.glht(..., test= ), você pode inclusive trocar o método de correção da multiplicidade, argumento test=. Veja o help da summary.glht() e stats::p.adjust() para uma lista dos disponíveis e rank de conservação. Fiz uns estudos de simulação com dados binomiais comparando o desempenho dos métodos de correção com relação ao número de tratamentos, variando o p de cada, o size da binomial e conclui que o single-step sem comporta muito bem e próximo do nível nominal. O probleminha dele é ser lento para maior número de comparações, por exemplo, nos casos de ensaios com vários cultivares (>30), ela demora para calcular. Aí eu uso o fdr que é rápido muito próximo do single-step nas minhas simulações. Dado esse estudo que fiz e as coisas que li, adoto sempre single-step e fdr. À 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 skype: walmeszeviani twitter: @walmeszeviani homepage: http://www.leg.ufpr.br/~walmes linux user number: 531218 ==========================================================================

Em quinta-feira, 13 de setembro de 2012 15:30:41, Walmes Zeviani escreveu:
A questão do quão conservador jamais desaparecerá na verdade. Na função glht(), ou melhor no summary.glht(..., test= ), você pode inclusive trocar o método de correção da multiplicidade, argumento test=. Veja o help da summary.glht() e stats::p.adjust() para uma lista dos disponíveis e rank de conservação. Fiz uns estudos de simulação com dados binomiais comparando o desempenho dos métodos de correção com relação ao número de tratamentos, variando o p de cada, o size da binomial e conclui que o single-step sem comporta muito bem e próximo do nível nominal. O probleminha dele é ser lento para maior número de comparações, por exemplo, nos casos de ensaios com vários cultivares (>30), ela demora para calcular. Aí eu uso o fdr que é rápido muito próximo do single-step nas minhas simulações. Dado esse estudo que fiz e as coisas que li, adoto sempre single-step e fdr.
À 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 <mailto:walmes@ufpr.br> skype: walmeszeviani twitter: @walmeszeviani homepage: http://www.leg.ufpr.br/~walmes <http://www.leg.ufpr.br/%7Ewalmes> linux user number: 531218 ==========================================================================
_______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.
Entendi. Fiz esta pergunta pois aqui em meu curso o pessoal utiliza com frequência o SNK por ele ser menos conservador. No entanto sua abordagem parece ser menos ortodoxa que a utilizada aqui. Mas vou estudar um pouco mais sobre o tema. Sem querer abusar, Eu não encontro exemplos de uso da função glhg para testes de interação. Há como fazer isto? Você recomenda alguma referência. Grato pela atenção

Desdobrar as interações não tem segredo, basta saber montar a matriz K das comparações. Você pode usar a popMatrix() para te ajudar. Eu já fiz isso e não consigo encontrar. Assim que eu conseguir eu deixo um CMR em algum lugar e divulgo. Por enquanto você pode partir da solução que eu tinha sem a popMatrix() que tá aqui http://www.leg.ufpr.br/doku.php/ridiculas?desdobramento_de_interacao_usand... À 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 skype: walmeszeviani twitter: @walmeszeviani homepage: http://www.leg.ufpr.br/~walmes linux user number: 531218 ==========================================================================
participantes (2)
-
Fernando A. Souza
-
Walmes Zeviani