Re: [R-br] Resíduos e MCMCglmm

Olá, Muito obrigado pelas mensagens. Vou dar continuidade a discussão com alguns esclarecimentos e um pouco de código: 1- Elias pergunta como calculo os resíduos nesse modelo: >residuals_model<-(data$response_variable-predict(model)) 2- Wagner, sua pergunta é, de alguma maneira, minha grande dúvida: "Se vc já sabe que sua variável resposta é gamma pq não ajusta um modelo gamma? Ou mesmo qq outro modelo para resposta contínua como a Gaussian Inverse?”. Contudo, qual tipo de análise que não MCMCglmm me permitiria controlar meus dados quanto à filogenia? 3. E finalmente sobre os motivos de se usar MCMCglmm: recaem novamente na não independência dos dados e na possibilidade de se controlar filogeneticamente. Mas, a mesma pergunta que foi feita, é parte da minha questão: "Por que assumindo distribuição de probabilidade aos parâmetros, a interpretação dos resultados é baseada no fato de que também se obtem distribuições de probabilidade à posteriori para interpretar?” Em outras palavras, por que os resíduos devem seguir uma distribuição normal mesmo se os dados não são normais? Ou essa última frase está equivocada? O modelo segue: #Phylo é minha árvore filogenética. >MCMC1<-MCMCglmm(Response_var~var1*var2*+var3, + random = ~Phylo, family=“?”, + ginverse=list(Phylo=inv.phylo$Ainv), prior = prior, + nitt = 10000, + burnin = 1000, thin = 500, data = mob, + verbose = F ) # Os resíduos estão acima. E para checar a normalidade dos resíduos usei: > qqnorm(residuals_model) > shapiro.test(residuals_model) Enfim, após as mensagens que me fizeram estudar novos artigos =) refaço as perguntas: A) Meus resíduos precisam ser normais quando uso um modelo MCMCglmm? B) Que outro pacote me permite controlar a filogenia em um modelo? Abraços, Filipe Cristovão R. da Cunha Anthropological Institute & Museum University of Zurich - Campus Irchel Winterthurerstrasse 190, CH-8057 Zürich Switzerland www.aim.uzh.ch/Research/birdfamilies/filipe.html <http://www.aim.uzh.ch/Research/birdfamilies/filipe.html> <http://www.flickr.com/photos/filipe_cristovao>www.flickr.com/photos/filipe_cristovao <http://www.flickr.com/photos/filipe_cristovao>

1 - Se sua resposta for Gaussiana o residuo deve ser Gaussiano. Eu nao tenho nenhuma experiencia com o pacote MCMCglmm, mas eu acho que vc esta assumindo Gaussianidade pq vc nao especificou nenhuma distribuicao no argumento family. O envelope simulado que o Elias falou vai ajudar a interpretar o QQ-plot que deve sim indicar que os residuos sao Gaussianos i.e. pontos dentro do envelope. Eu nao vi o qq-plot dos seus residuos talvez vc possa colocar aqui pra gente ver. As vezes nas pontas fica meio estranho mesmo. 2 - Esses testes de normalidade esquece isso. 3 - Apesar da normalidade dos residuos ser importantes, muitas vezes isso nao tem nenhum grande efeito na estimacao dos parametros que em geral e bastante robusta. Eu estaria mais preocupado em verificar se existe um relacionamento entre media e variancia, vc pode usar por exemplo um grafico residuos versus preditos ou observados. Se vc identificar algum padrao e sinal de problema no modelo. Vc precisa de alguma forma padronizar esses residuos para vc ter uma ideia do tamanho que eles sao. E identificar possiveis outliers ou pontos influentes aberrantes... 4 - MCMCglmm e so um pacote que ajusta Generalized Linear Mixed Models (GLMM) using MCMC methods. Vc pode ajustar GLMM usando diferentes distribuicoes para a sua variavel resposta, como Gaussiana, Gamma, Normal Inverse, T e outras. 5 - O pacote INLA e capaz de ajustar esse modelo filogenetico que vc quer. Vc pode ajustar usando a Normal e tbm tem opcao skew Normal and Gamma. Vc deve usar o modelo generic0 e passar a inversa da sua matriz filogenetica parecido com o que vc passou pro MCMCglmm. Ver http://www.math.ntnu.no/inla/r-inla.org/doc/latent/generic0.pdf. Exemplo de aplicacao de INLA em animal models que e praticamente a mesma coisa que o modelo filogetico neste paper. http://www.g3journal.org/content/3/8/1241.full 6 - Meu pacote mcglm tbm e capaz de ajustar esse modelo, usando estimating function uma abordagem diferente. No caso Gaussiano os modelos sao iguais a menos do efeito da priori. Vc pode baixar o meu paper aqui e ver se atende suas necessidades https://www.researchgate.net/profile/Wagner_Bonat2 7 - Se vc tiver interesse em uma abordagem nao Bayesiana. Manda um e-mail e conversamos. Em 23 de novembro de 2015 15:34, Filipe Cristovão <filipe.cunha@uzh.ch> escreveu: > Olá, > > Muito obrigado pelas mensagens. > > Vou dar continuidade a discussão com alguns esclarecimentos e um pouco de > código: > > 1- Elias pergunta como calculo os resíduos nesse modelo: > > > >residuals_model<-(data$response_variable-predict(model)) > > 2- Wagner, sua pergunta é, de alguma maneira, minha grande dúvida: "Se vc > já sabe que sua variável resposta é gamma pq não ajusta um modelo gamma? Ou > mesmo qq outro modelo para resposta contínua como a Gaussian Inverse?”. > Contudo, qual tipo de análise que não MCMCglmm me permitiria controlar meus > dados quanto à filogenia? > > 3. E finalmente sobre os motivos de se usar MCMCglmm: recaem novamente na > não independência dos dados e na possibilidade de se controlar > filogeneticamente. > > Mas, a mesma pergunta que foi feita, é parte da minha questão: > "Por que assumindo distribuição de probabilidade aos parâmetros, a > interpretação dos resultados é baseada no fato de que também se obtem > distribuições de probabilidade à posteriori para interpretar?” Em outras > palavras, por que os resíduos devem seguir uma distribuição normal mesmo se > os dados não são normais? Ou essa última frase está equivocada? > > O modelo segue: > > #Phylo é minha árvore filogenética. > > >MCMC1<-MCMCglmm(Response_var~var1*var2*+var3, > + random = ~Phylo, family=“?”, > + ginverse=list(Phylo=inv.phylo$Ainv), prior = prior, > + nitt = 10000, > + burnin = 1000, thin = 500, data = mob, > + verbose = F ) > > # Os resíduos estão acima. E para checar a normalidade dos resíduos usei: > > > qqnorm(residuals_model) > > shapiro.test(residuals_model) > > Enfim, após as mensagens que me fizeram estudar novos artigos =) refaço as > perguntas: > > A) Meus resíduos precisam ser normais quando uso um modelo MCMCglmm? > > B) Que outro pacote me permite controlar a filogenia em um modelo? > > Abraços, > > > > Filipe Cristovão R. da Cunha > Anthropological Institute & Museum > University of Zurich - Campus Irchel > Winterthurerstrasse 190, CH-8057 Zürich > Switzerland > www.aim.uzh.ch/Research/birdfamilies/filipe.html > * <http://www.flickr.com/photos/filipe_cristovao>* > www.flickr.com/photos/filipe_cristovao > > > _______________________________________________ > 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. > -- Wagner Hugo Bonat ---------------------------------------------------------------------------------------------- Department of Mathematics and Computer Science (IMADA) University of Southern Denmark (SDU) and Laboratório de Estatística e Geoinformação (LEG) Universidade Federal do Paraná (UFPR)

Para salientar o que o Wagner falou sobre esquecer teste de normalidade de resíduos. Historicamente tivemos evolução dos modelos lineares aos modelos GLM e desejou-se fazer análises parecidas (em GLM) para checar a suposição de distribuição do modelo. Uma destas, o "envelope de resíduos" (alguém mais clever que eu deu esse nome então o estou usando) é a que faz mais sentido para mim. Ou seja, como o Wagner falou: esqueça teste de normalidade! Eu tinha esquecido de mencionar que ao fazer análise Bayesiana podemos usar a Probability Integral Transform (PIT) para verificar a suposição de distribuição. No INLA isso pode ser obtido considerando control.compute=list(cpo=TRUE) e você pode visualizar isso no plot() do output. Elias On 23/11/15 16:18, Wagner Bonat wrote:
1 - Se sua resposta for Gaussiana o residuo deve ser Gaussiano. Eu nao tenho nenhuma experiencia com o pacote MCMCglmm, mas eu acho que vc esta assumindo Gaussianidade pq vc nao especificou nenhuma distribuicao no argumento family. O envelope simulado que o Elias falou vai ajudar a interpretar o QQ-plot que deve sim indicar que os residuos sao Gaussianos i.e. pontos dentro do envelope. Eu nao vi o qq-plot dos seus residuos talvez vc possa colocar aqui pra gente ver. As vezes nas pontas fica meio estranho mesmo.
2 - Esses testes de normalidade esquece isso.
3 - Apesar da normalidade dos residuos ser importantes, muitas vezes isso nao tem nenhum grande efeito na estimacao dos parametros que em geral e bastante robusta. Eu estaria mais preocupado em verificar se existe um relacionamento entre media e variancia, vc pode usar por exemplo um grafico residuos versus preditos ou observados. Se vc identificar algum padrao e sinal de problema no modelo. Vc precisa de alguma forma padronizar esses residuos para vc ter uma ideia do tamanho que eles sao. E identificar possiveis outliers ou pontos influentes aberrantes...
4 - MCMCglmm e so um pacote que ajusta Generalized Linear Mixed Models (GLMM) using MCMC methods. Vc pode ajustar GLMM usando diferentes distribuicoes para a sua variavel resposta, como Gaussiana, Gamma, Normal Inverse, T e outras.
5 - O pacote INLA e capaz de ajustar esse modelo filogenetico que vc quer. Vc pode ajustar usando a Normal e tbm tem opcao skew Normal and Gamma. Vc deve usar o modelo generic0 e passar a inversa da sua matriz filogenetica parecido com o que vc passou pro MCMCglmm. Ver http://www.math.ntnu.no/inla/r-inla.org/doc/latent/generic0.pdf. Exemplo de aplicacao de INLA em animal models que e praticamente a mesma coisa que o modelo filogetico neste paper. http://www.g3journal.org/content/3/8/1241.full
6 - Meu pacote mcglm tbm e capaz de ajustar esse modelo, usando estimating function uma abordagem diferente. No caso Gaussiano os modelos sao iguais a menos do efeito da priori. Vc pode baixar o meu paper aqui e ver se atende suas necessidades https://www.researchgate.net/profile/Wagner_Bonat2
7 - Se vc tiver interesse em uma abordagem nao Bayesiana. Manda um e-mail e conversamos.
Em 23 de novembro de 2015 15:34, Filipe Cristovão <filipe.cunha@uzh.ch <mailto:filipe.cunha@uzh.ch>> escreveu:
Olá,
Muito obrigado pelas mensagens.
Vou dar continuidade a discussão com alguns esclarecimentos e um pouco de código:
1- Elias pergunta como calculo os resíduos nesse modelo:
>residuals_model<-(data$response_variable-predict(model))
2- Wagner, sua pergunta é, de alguma maneira, minha grande dúvida: "Se vc já sabe que sua variável resposta é gamma pq não ajusta um modelo gamma? Ou mesmo qq outro modelo para resposta contínua como a Gaussian Inverse?”. Contudo, qual tipo de análise que não MCMCglmm me permitiria controlar meus dados quanto à filogenia?
3. E finalmente sobre os motivos de se usar MCMCglmm: recaem novamente na não independência dos dados e na possibilidade de se controlar filogeneticamente.
Mas, a mesma pergunta que foi feita, é parte da minha questão: "Por que assumindo distribuição de probabilidade aos parâmetros, a interpretação dos resultados é baseada no fato de que também se obtem distribuições de probabilidade à posteriori para interpretar?” Em outras palavras, por que os resíduos devem seguir uma distribuição normal mesmo se os dados não são normais? Ou essa última frase está equivocada?
O modelo segue:
#Phylo é minha árvore filogenética.
>MCMC1<-MCMCglmm(Response_var~var1*var2*+var3, + random = ~Phylo, family=“?”, + ginverse=list(Phylo=inv.phylo$Ainv), prior = prior, + nitt = 10000, + burnin = 1000, thin = 500, data = mob, + verbose = F )
# Os resíduos estão acima. E para checar a normalidade dos resíduos usei:
> qqnorm(residuals_model) > shapiro.test(residuals_model)
Enfim, após as mensagens que me fizeram estudar novos artigos =) refaço as perguntas:
A) Meus resíduos precisam ser normais quando uso um modelo MCMCglmm?
B) Que outro pacote me permite controlar a filogenia em um modelo?
Abraços,
Filipe Cristovão R. da Cunha Anthropological Institute & Museum University of Zurich - Campus Irchel Winterthurerstrasse 190, CH-8057 Zürich Switzerland www.aim.uzh.ch/Research/birdfamilies/filipe.html <http://www.aim.uzh.ch/Research/birdfamilies/filipe.html> www.flickr.com/photos/filipe_cristovao <http://www.flickr.com/photos/filipe_cristovao>
_______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br <mailto: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.
-- Wagner Hugo Bonat ---------------------------------------------------------------------------------------------- Department of Mathematics and Computer Science (IMADA) University of Southern Denmark (SDU) and Laboratório de Estatística e Geoinformação (LEG) Universidade Federal do Paraná (UFPR)
_______________________________________________ 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.

Estou confuso agora se você quer fazer análise Bayesiana ou não... Primeiro: estou pensando em modelos hierárquicos enquanto deduzo que o Wagner está pensando em modelos marginais. Segundo: Resíduo (se houver esse tipo de coisa no modelo) segue distribuição Normal se você assumiu isso para comecar. Esse termo (resíduo) é comum em modelos do tipo Y = X beta + Z b + e X: covariáveis/desenho/features beta: coeficientes de regressão Z: matriz dos efeitos aleatórios b: efeitos aleatórios r: os tais resíduos, Matematicamente, coeficientes de regressão e efeitos aleatórios podem ser tratados juntos (basta juntar X e Z). Geralmente, temos que b ~ N(0, alguma.matriz), r ~ N(0, sigma^2 * I). Ou seja, aqui assume-se Normalidade para r. Neste modelo, ambos, r|y e b|y, também têm distribuição Normal. Se invés do modelo acima você tiver E(Y) = eta = X beta + Z b Y|eta ~ Distribuição.não.Gaussiana(...) Ou seja, não existe resíduos Normais. A distribuição Normal é (geralmente) ainda assumida para os efeitos aleatórios, mas, condicionado aos dados isso não é mais o caso, isto é, b|y não segue distribuição Normal. Este último modelo recai no anterior se Y|eta ~ N(0, sigma^2 * I). Assim, apenas quando a verossimilhança é Normal temos b|y e r|y com distribuição Normal. Exite a possibilidade de se adicionar um termo de "resíduo" considerando E(Y) = eta = X beta + Z b + r em situações em que y|eta pode ter uma variação adicional que não torne o modelo não-identificável. Nestes casos, mesmo que r ~ Normal(0, sigma^2 * I), r|y não é Normal. Elias
participantes (3)
-
Elias Teixeira Krainski
-
Filipe Cristovão
-
Wagner Bonat