[R-br] Contrastes para interação significativa em GLM

Wirton Macedo Coutinho wirton_coutinho em yahoo.com.br
Terça Junho 25 17:06:16 BRT 2013


Walmes, Alexandre e demais colaboradores da lista do R,

Primeiramente quero agradecer pela resposta rápida ao meu questionamento. 
Da forma como eu coloquei o conjunto de dados no post anterior, realmente é de supor que mesmo não seja uma variável discreta (foi falha minha):

da$y <- c(4.5, 25.5, 8.5, 12, 123, 19.5, 111.5, 83.5, 10, 4, 4.5,
           90.5, 46.5, 61.5, 20.5, 33.5, 47.5, 39, 131.5, 68.5, 4,
           10, 13.5, 10, 9, 0, 0, 0, 2, 0, 0, 0, 0, 12.5, 4.5, 6.5,
           1, 0, 0, 1, 0, 0, 0.5, 0, 2, 2, 0.5, 0.5)


De fato, esses dados equivalem ao número de esporos de um fungo em suspensão/mL de água x 104, ou seja:

da$y1= c(45000, 255000, 85000, 12000, 1230000, 195000, 1115000, 
         835000, 100000, 40000, 45000, 905000, 465000, 615000, 
         205000, 335000, 475000, 390000, 1315000, 685000, 40000,
         100000, 135000, 100000, 90000, 0, 0, 0, 20000, 0, 0, 0,
         0, 125000, 45000, 650000, 10000, 0, 0, 10000, 0, 0, 5000,
         0, 20000, 20000, 5000, 5000)

Sendo uma variável discreta, utilizei a distribuição de Poisson, conforme o código abaixo.

g0 <- glm(y1~isol + cult + isol:cult, family=poisson, data=da)
summary(g0)
anova(g0, test="Chisq")

isolcult <- interaction(da$isol, da$cult, drop=TRUE)
m0 <- glm(da$y~isolcult, family=poisson)
require(multcomp)
glht.m0 <- glht(m0, mcp(isolcult = "Tukey"))
summary(glht.m0)


Estando a função correta, conforme falou o Walmes, surgiram algumas dúvidas com relação aos contrastes gerados.

Esses contrastes que são testados pelo teste z (contraste de Tukey) são baseados na distribuição normal? (sendo que o teste z pressupõe a normalidade dos dados para grandes amostras - normal 0,1). Se sim, é correto utilizar esse teste em situações de não normalidade de dados?

É o teste z, resultante do R nesse caso específico, equivalente a um teste não paramétrico, como o de qui-quadrado?

Quando eu utilizava o SAS, a ferramenta estatitica no proc GENMOD do SAS permitia a realização do teste de qui-quadrado para efetuar os contrates dentro da interação ou efeitos principais. Dessa forma, gostaria de saber de vcs, se é possível fazer isso também no R, utilizando o teste de qui-quadrado para testar as os efeitos principais e desdobramento das interações? 


Mais uma vez, agradeço a todos antecipadamente pela atenção, e peço desculpas pelo excesso de perguntas em um único post.


Att.,

--
Wirton Macedo Coutinho
Pesquisador Fitopatologia
Embrapa Algodão
Rua Oswaldo Cruz, 1143, Centenário
Campina Grande PB
CEP 28428-095









Remove Ads
 
ASANTOS
Reply | Threaded | More     
Jun 23, 2013; 9:29pmRe: [R-br] Contrastes para interação significativa em GLM
216 posts Boa noite Wirton,

       Vejo problemas com o seu modelo:
Em summary(g0), o Residual deviance:  431.11  on 36  degrees of freedom esta com sobre dispersão e se fizer plot(m0), especificamente no gráfico Normal Q-Q versus Desvio padrão residual vera que o ajuste não ficou bom. Veja também que sua variável resposta da$y são dados contínuos e não discretos e não existe 0 na distribuição de Poisson.

Abraço,


-- 
======================================================================
Alexandre dos Santos
Proteção Florestal
Coordenador do curso Técnico em Florestas
Vice Coordenador do curso de Engenharia Florestal 
IFMT - Instituto Federal de Educação, Ciência e Tecnologia de Mato Grosso
Campus Cáceres
Caixa Postal 244
Avenida dos Ramires, s/n
Bairro: Distrito Industrial 
Cáceres - MT                      CEP: 78.200-000
Fone: (+55) 65 8132-8112 (TIM)   (+55) 65 9686-6970 (VIVO) [hidden email] [hidden email] ======================================================================


Em 23/06/2013 20:08, Wirton Macedo Coutinho escreveu:

Boa noite a todos,
>
>
>Tenho um conjunto de dados em arranjo fatorial que não atendem as pressuposições de normalidade e homocesdacidade de variâncias. Para contornar esse problema, optei por fazer a análise do mesmo por GLM; no entanto,como houve efeito significativo da interação, fiquei na dúvida de como proceder para fazer o desdobramento e fazer comparações múltiplas entre os tratamentos.
>
>
>Pesquisando na internet, encontrei um post que recomendava fazê-lo por meio de constrastes utilizando o pacote multcomp. Assim o fiz (como vcs podem conferir pelo código abaixo). No entanto, como migrei recentemente para o R, surgiu a dúvida se isso que fiz está correto ou não. Assim, gostaria da opinião de vcs sobre o código ou se tem uma outra forma de fazê-lo.
>
>
>
>
>da <- expand.grid(rep=1:4, isol=factor(1:6), cult=factor(1:2))
>da$y <- c(4.5, 25.5, 8.5, 12, 123, 19.5, 111.5, 83.5, 10, 4, 4.5,
>           90.5, 46.5, 61.5, 20.5, 33.5, 47.5, 39, 131.5, 68.5, 4,
>           10, 13.5, 10, 9, 0, 0, 0, 2, 0, 0, 0, 0, 12.5, 4.5, 6.5,
>           1, 0, 0, 1, 0, 0, 0.5, 0, 2, 2, 0.5, 0.5)
>
>
>g0 <- glm(y~isol + cult + isol:cult, family=poisson, data=da)
>summary(g0)
>anova(g0, test="Chisq")
>
>
>isolcult <- interaction(da$isol, da$cult, drop=TRUE)
>m0 <- glm(da$y~isolcult, family=poisson)
>require(multcomp)
>glht.m0 <- glht(m0, mcp(isolcult = "Tukey"))
>summary(glht.m0)
>
>
>
>
>Certo de contar com a boa vontade de todos, agradeço antecipadamente.
>
>
>Att.,
>
>
>--
>Wirton Macedo Coutinho
>Pesquisador Fitopatologia
>Embrapa Algodão
>Rua Oswaldo Cruz, 1143, Centenário
>Campina Grande PB
>CEP 28428-095
>   
>
>
>_______________________________________________
R-br mailing list [hidden email] 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.

_______________________________________________ 
R-br mailing list 
[hidden email] 
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. 
Walmes Zeviani 2
Reply | Threaded | More     
Jun 24, 2013; 9:04pmRe: [R-br] Contrastes para interação significativa em GLM
725 posts O uso da função tá correto, no entanto os teus dados não são inteiros, como contagens, para você usar distribuição Poisson. Se os dados não são números de eventos, contagens, não há razão para usar Poisson. Penso que o seu dado seja contínuo e que uma transformação pode amenizar o desvio dos pressupostos. Pelo gráfico de diagnostico dos resíduos o que se vê é uma forte relação média-variância. A transformação Box-Cox sugeriu transformar com log. Veja o CMR.

da <- expand.grid(rep=1:4, isol=factor(1:6), cult=factor(1:2))
da$y <- c(4.5, 25.5, 8.5, 12, 123, 19.5, 111.5, 83.5, 10, 4, 4.5,
           90.5, 46.5, 61.5, 20.5, 33.5, 47.5, 39, 131.5, 68.5, 4,
           10, 13.5, 10, 9, 0, 0, 0, 2, 0, 0, 0, 0, 12.5, 4.5, 6.5,
           1, 0, 0, 1, 0, 0, 0.5, 0, 2, 2, 0.5, 0.5)

g0 <- lm(y~isol + cult + isol:cult, data=da)
par(mfrow=c(2,2))
plot(g0)
layout(1)

g0 <- lm(y+0.5~isol + cult + isol:cult, data=da)
MASS::boxcox(g0)

g0 <- lm(log(y+0.5)~isol + cult + isol:cult, data=da)
par(mfrow=c(2,2))
plot(g0)
layout(1)

À 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: [hidden email]
skype: walmeszeviani
twitter: @walmeszeviani
homepage: http://www.leg.ufpr.br/~walmes
linux user number: 531218
========================================================================== 




Boa noite a todos,

Tenho um conjunto de dados em arranjo fatorial que não atendem as pressuposições de normalidade e homocesdacidade de variâncias. Para contornar esse problema, optei por fazer a análise do mesmo por GLM; no entanto,como houve efeito significativo da interação, fiquei na dúvida de como proceder para fazer o desdobramento e fazer comparações múltiplas entre os tratamentos.

Pesquisando na internet, encontrei um post que recomendava fazê-lo por meio de constrastes utilizando o pacote multcomp. Assim o fiz (como vcs podem conferir pelo código abaixo). No entanto, como migrei recentemente para o R, surgiu a dúvida se isso que fiz está correto ou não. Assim, gostaria da opinião de vcs sobre o código ou se tem uma outra forma de fazê-lo.


da <- expand.grid(rep=1:4, isol=factor(1:6), cult=factor(1:2))
da$y <- c(4.5, 25.5, 8.5, 12, 123, 19.5, 111.5, 83.5, 10, 4, 4.5,
           90.5, 46.5, 61.5, 20.5, 33.5, 47.5, 39, 131.5, 68.5, 4,
           10, 13.5, 10, 9, 0, 0, 0, 2, 0, 0, 0, 0, 12.5, 4.5, 6.5,
           1, 0, 0, 1, 0, 0, 0.5, 0, 2, 2, 0.5, 0.5)

g0 <- glm(y~isol + cult + isol:cult, family=poisson, data=da)
summary(g0)
anova(g0, test="Chisq")

isolcult <- interaction(da$isol, da$cult, drop=TRUE)
m0 <- glm(da$y~isolcult, family=poisson)
require(multcomp)
glht.m0 <- glht(m0, mcp(isolcult = "Tukey"))
summary(glht.m0)


Certo de contar com a boa vontade de todos, agradeço antecipadamente.

Att.,

--
Wirton Macedo Coutinho
Pesquisador Fitopatologia
Embrapa Algodão
Rua Oswaldo Cruz, 1143, Centenário
Campina Grande PB
CEP 28428-095
   
_______________________________________________ 
R-br mailing list 
[hidden email] 
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.
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20130625/f6313b78/attachment.html>


Mais detalhes sobre a lista de discussão R-br