Resíduos e MCMCglmm

Olá, Bom dia. Talvez o assunto aqui abordado não seja tanto sobre o uso geral do software, mas uma questão teórica sobre estatística. Espero estar adequado às “guidelines” do grupo. Recentemente tenho optado por analisar meus dados usando MCMCglmm, isso se deu por várias questões, mas principalmente pela liberdade que o pacote me dá de criar meus “priors" e de poder controlar meus dados filogenéticamente. Contudo, sempre ouvi e li que “os resíduos de um modelo seguindo MCMCglmm devem ter distribuição normal”. Ai sequem algumas questões sobre isso: I) Isso é mesmo verdade absoluta? Pergunto isso porque tenho uma variável que não consigo normalizar. Essa variável apresenta uma distribuição gamma com uma obliqüidade positiva (ou "positive skewed”). Já tentei de tudo inclusive o “milagroso” boxcox. É uma variável que não se normaliza - se é que posso dizer isso =). II) Mesmo com meus resíduos não obedecendo uma distribuição normal, levei em consideração alguns dados importantes do “output” do meu modelo: i) não existe colinearidade entre as variáveis, ii) a influência da filogenia da minha amostra (ou melhor da diversidade filogenetica da minha amostra) é “irrelevante” - pois apresenta um intervalo de confiança exageradamente pequeno, iii) e os resultados são os mesmos (diferentes valores mesma direção) que quando conduzo um glm por exemplo. As questões são: a) poderia ignorar o controle filogenético? b) Ou existe outra maneira de normalizar meus dados? e por fim c) Em algum outro pacote posso controlar meu modelo quanto à filogenia e ainda assim executar meu modelo usando estatística "bayseana"? Obrigado pela paciência ao ler o email =) Atenciosamente, 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>

É assumido distribuição Normal para os resíduos em modelos lineares: y = X beta + E Fora disso, não. Em GLM temos eta = X beta E(y|X,beta) = h(eta) Sendo assumido uma distribuição para os dados. Neste caso, define-se resíduo alguma função envolvendo y_i e h(eta_i). Uma boa técnica de análise de resíduos neste caso considera, 1. simular da distribuição assumida para os dados, considerando h(eta) estimado com os dados 2. para cada conjunto de dados simulado estimar o modelo assuimido e calcular os residuos 3. Com o conjunto de resíduos simulados para cada observação, calcular quantis, visualizando com adição dos resíduos observados. script em R para essa técnica estão no final do livro de GLM do prof. Gilberto A. Paula (disponível para download gratuito em https://www.ime.usp.br/~giapaula/textoregressao.htm). Há tamém um conjunto mais amplo de funções para técnicas desse tipo em http://www.poleto.com/ Mas você está usando inferência Bayesiana... Alguma coisa muda aqui. Como você está usando MCMC pode definir resíduos MCMC calculando o resíduo para cada conjunto de beta simulados da distribuição a posteriori. Então visualizar algo parecido com o anterior. Elias

Talvez a discussão não seja para a lista, mas também me interessa saber como a comunidade está pensando neste problemas. 1 - A definição de resíduos para modelos de efeitos aleatórios não é imediata como para modelos apenas com efeitos fixos. Que tipo de resíduos vc esta usando? Ver por exemplo Haslett, J. and Hayes, K. (1998) Residuals for linear model with general covariante structure, JRSS, Series B. 2 - 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? 3 - Vc escreveu " ii) a influência da filogenia da minha amostra ... pois apresenta um intervalo de confiança exageradamente pequeno". Não entendi pq um intervalo pequeno é indicação de que a filogenia não tem efeito? Segundo será que seu MCMC realmente convergiu? O MCMC apresenta uma "boa mistura". 4 - Vc escreveu " iii) e os resultados são os mesmos (diferentes valores mesma direção) que quando conduzo um glm por exemplo". Se vc ajustou o GLM usando distribuição Normal, vc não espera que os efeitos fixos mudem, desde que na distribuição Normal a média é orthogonal a covariancia o que deve mudar é apenas os erros padrões associados aos coeficientes de regressão. 5 - Como é que um Bayesiano testa o efeito da filogenia no modelo? Que priori vc está usando para o componente de variância associado a filogenia? 6 - Pq vc quer manter a inferência Bayesiana? Talvez Elias posso ajudar. Em 23 de novembro de 2015 09:58, Filipe Cristovão <filipe.cunha@uzh.ch> escreveu:
Olá,
Bom dia.
Talvez o assunto aqui abordado não seja tanto sobre o uso geral do software, mas uma questão teórica sobre estatística. Espero estar adequado às “guidelines” do grupo.
Recentemente tenho optado por analisar meus dados usando MCMCglmm, isso se deu por várias questões, mas principalmente pela liberdade que o pacote me dá de criar meus “priors" e de poder controlar meus dados filogenéticamente.
Contudo, sempre ouvi e li que “os resíduos de um modelo seguindo MCMCglmm devem ter distribuição normal”. Ai sequem algumas questões sobre isso:
I) Isso é mesmo verdade absoluta? Pergunto isso porque tenho uma variável que não consigo normalizar. Essa variável apresenta uma distribuição gamma com uma obliqüidade positiva (ou "positive skewed”). Já tentei de tudo inclusive o “milagroso” boxcox. É uma variável que não se normaliza - se é que posso dizer isso =).
II) Mesmo com meus resíduos não obedecendo uma distribuição normal, levei em consideração alguns dados importantes do “output” do meu modelo: i) não existe colinearidade entre as variáveis, ii) a influência da filogenia da minha amostra (ou melhor da diversidade filogenetica da minha amostra) é “irrelevante” - pois apresenta um intervalo de confiança exageradamente pequeno, iii) e os resultados são os mesmos (diferentes valores mesma direção) que quando conduzo um glm por exemplo. As questões são: a) poderia ignorar o controle filogenético? b) Ou existe outra maneira de normalizar meus dados? e por fim c) Em algum outro pacote posso controlar meu modelo quanto à filogenia e ainda assim executar meu modelo usando estatística "bayseana"?
Obrigado pela paciência ao ler o email =)
Atenciosamente,
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)

On 23/11/15 10:19, Wagner Bonat wrote:
5 - Como é que um Bayesiano testa o efeito da filogenia no modelo? Que priori vc está usando para o componente de variância associado a filogenia?
6 - Pq vc quer manter a inferência Bayesiana?
Talvez o jargão de modelos lineares usado no primeior email dessa thread tenha me direcionado à falar de noções básicas de análise de resíduos (àquelas no livro do prof. G.A.P.) Mas o Wagner tocou levemente no assunto model assumptions. Um estatístico paramétrico ao usar GLMM assume 1. um modelo paramétrico relacionado observações, covariáveis e efeitos aleatórios 2. distribuição condicional de cada observação (condicional à covariáveis, efeitos aleatórios e possível(eis) parâmetros adicionais da distribuição assumida para os dados) 3. distribuição dos efeitos aleatórios geralmente Gaussiana com parâmetros na matriz de covariância/precisão Um Bayesiano considera os três ítens anteriores mais os dois seguintes 4. distribuição(ões) para o(s) parâmetro(s) adicionais da verossimilhança 5. distribuição para os parâmetros da ditribuição(ões) assumida para o(s) efeito(s) aleatório(s) O estatístico paramétrico não Bayesiano precisa checar 3 suposições de modelos. O estatístico Bayesiano paramétrico precisa checar todos os 5. Se usar a definição mais simples de resíduo, a forma de checar os três primeiros ítens dessa lista é como sugerido no meu email anterior. O terceiro item envolve o ítem número 1 da lista do Wagner. Os ítens 4-5 eu não sei. Um facilitador é considerar priori baseada na suposição de um modelo básico de referência (http://arxiv.org/abs/1403.4630). Tenho colegas que estão estudando isso, sendo que várias dessas prioris estão disponíveis no pacote INLA. Há também estudos sendo feitos em formas mais gerais de testar suposições de modelos e no futuro também serão incorporados automaticamente no pacote INLA. O item 6 da lista do Wagner: "Pq vc quer manter a inferência Bayesiana?". Porque o Bayesiano tem mais suposições que deseja incluir na análise? Porque 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? Porque Bayesianos não precisam da suposição de replicação? Elias

Eu compreendo que existe muita pesquisa em especificar priori's para parâmetros em modelos Bayesianos. Agora uma pergunta bem simples. Considere os modelos geneticos ou filogeneticos (eu não entendo nada disso) mas os modelos em geral são simples Linear Mixed models com uma estrutura de covariancia linear desta forma. Sigma = tau0 I + tau1 *A onde I denota uma identidade e A uma matriz que representa o efeito genetico ou filogenetico pode ter mais matrizes. Defina o espaço parametricos para (tau0, tau1) como o conjunto Omega tal que Sigma é positiva definida. Uma definição que me parece razoável. Isso implica que o tau1 pode ser negativo ou mesmo exatamente 0. Note ainda que vc testar tau1 = 0 é exatamente testar o efeito da estrutura genetica. Bayesiana não tem teste, então considere que se o 0 estiver uma razoável probabilidade a posteriori vc considere que tem efeito. Como especificar uma priori que permita que a posteriori contemple o 0 ? E ao mesmo tempo não atribua probabilidade a valores fora do espaço paramétrico? Posso estar enganado, mas acho que PC prior e cia não consegue resolver isso... Em 23 de novembro de 2015 10:47, Elias Teixeira Krainski < eliaskrainski@yahoo.com.br> escreveu:
On 23/11/15 10:19, Wagner Bonat wrote:
5 - Como é que um Bayesiano testa o efeito da filogenia no modelo? Que priori vc está usando para o componente de variância associado a filogenia?
6 - Pq vc quer manter a inferência Bayesiana?
Talvez o jargão de modelos lineares usado no primeior email dessa thread tenha me direcionado à falar de noções básicas de análise de resíduos (àquelas no livro do prof. G.A.P.)
Mas o Wagner tocou levemente no assunto model assumptions. Um estatístico paramétrico ao usar GLMM assume 1. um modelo paramétrico relacionado observações, covariáveis e efeitos aleatórios 2. distribuição condicional de cada observação (condicional à covariáveis, efeitos aleatórios e possível(eis) parâmetros adicionais da distribuição assumida para os dados) 3. distribuição dos efeitos aleatórios geralmente Gaussiana com parâmetros na matriz de covariância/precisão Um Bayesiano considera os três ítens anteriores mais os dois seguintes 4. distribuição(ões) para o(s) parâmetro(s) adicionais da verossimilhança 5. distribuição para os parâmetros da ditribuição(ões) assumida para o(s) efeito(s) aleatório(s)
O estatístico paramétrico não Bayesiano precisa checar 3 suposições de modelos. O estatístico Bayesiano paramétrico precisa checar todos os 5.
Se usar a definição mais simples de resíduo, a forma de checar os três primeiros ítens dessa lista é como sugerido no meu email anterior. O terceiro item envolve o ítem número 1 da lista do Wagner. Os ítens 4-5 eu não sei. Um facilitador é considerar priori baseada na suposição de um modelo básico de referência (http://arxiv.org/abs/1403.4630). Tenho colegas que estão estudando isso, sendo que várias dessas prioris estão disponíveis no pacote INLA. Há também estudos sendo feitos em formas mais gerais de testar suposições de modelos e no futuro também serão incorporados automaticamente no pacote INLA.
O item 6 da lista do Wagner: "Pq vc quer manter a inferência Bayesiana?". Porque o Bayesiano tem mais suposições que deseja incluir na análise? Porque 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? Porque Bayesianos não precisam da suposição de replicação?
Elias _______________________________________________ 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 fornea cdigo mnimo reproduzvel.
-- 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)

Embora hoje em dia seja possível encontrar o termo "teste de hipóteses Bayesiano", isso não é comum. O mais comum é estimar os modelos com e sem a componente e compará-los. A opção mais simples é usar fator de Bayes. A PC-prior não é contruida para fazer teste de hipóteses, mas funciona nesse caso, veja teorema 2 do paper. Como é uma lista de R, segue um código: n= 100; a = 2; tau1 = 1 x = rnorm(n, 0, sqrt(1/tau1)) y = rpois(n, exp(a + x)) require(INLA) res0 = inla(resp ~ 1, family='poisson', data=list(id=1:n, resp=y)) ### priori para a precisao do efeito aleatorio IID, x_1, ..., x_n ### P( std(x) >1 ) = 0.01 pp = list(theta=list(prior='pc.prec', param=c(1,0.01))) res1 = inla(resp ~ f(id, model='iid', hyper=pp), family='poisson', data=list(id=1:n, resp=y)) res1$mlik/res0$mlik Elias
participantes (3)
-
Elias Teixeira Krainski
-
Filipe Cristovão
-
Wagner Bonat