[R-br] Duvida de estatistica - GLM binomial

Augusto Ribas ribas.aca em gmail.com
Sexta Agosto 31 18:48:52 BRT 2012


Então nos dados não. Mas por exemplo, machos podem investir em plumagem,
entre outras coisas, deixando o sistema imuno mais fraco(menos
investimento). O que propiciaria uma maior chance de infecção.
Então eu queria testar as duas coisas (sexo e idade), mas me parece que
dado esse problema de identificar o sexo, fica uma colineariadade muitro
grande nos dados. (Jovens vs Sexo indeterminado)
Mas seria legal se eu consegui-se testar as duas coisas, sexo e idade, pq
afirmar que sexo não influencia na chance de estar infectado seria uma
informação legal também.
Por isso se tivesse um jeito de não discartar um variavel em detrimento da
outroa seria muito bom.


Em 31 de agosto de 2012 17:20, Heloíse Pavanato
<helopavanato em gmail.com>escreveu:

> Augusto, se o que te interessa é idade, como você disse no primeiro
> e-mail, minha sugestão é que uses apenas idade no modelo. O sexo sozinho
> tem efeito significativo?
>
> Em 31 de agosto de 2012 18:01, Augusto Ribas <ribas.aca em gmail.com>escreveu:
>
> Então:
>> Ai eu obtenho:
>>
>> Call:
>> glm(formula = as.factor(diagnostico) ~ factor(sexo) + factor(idade),
>>     family = "binomial", data = dados, na.action = na.exclude)
>>
>> Deviance Residuals:
>>     Min       1Q   Median       3Q      Max
>> -1.8176   0.4892   0.6524   0.7731   0.7833
>>
>> Coefficients:
>>                           Estimate Std. Error z value Pr(>|z|)
>> (Intercept)                1.05484    0.55778   1.891   0.0586 .
>> factor(sexo)Macho          0.38421    0.65814   0.584   0.5594
>> factor(idade)Jovem       -17.82256 1689.28892  -0.011   0.9916
>> factor(idade)Sub-Adulto   -0.03066    0.66748  -0.046   0.9634
>> ---
>> Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
>>
>> (Dispersion parameter for binomial family taken to be 1)
>>
>>     Null deviance: 62.982  on 55  degrees of freedom
>> Residual deviance: 56.863  on 52  degrees of freedom
>>   (38 observations deleted due to missingness)
>> AIC: 64.863
>>
>> Number of Fisher Scoring iterations: 15
>>
>>
>> Mas ai eu retiro perco muitas observações, e perco justamente as
>> observaçoes com resultados para individuos jovens, e no final não consigo
>> ver nada relacionado a eles.
>> Eu gostaria de declarar "não sei" para o sexo somente, mas não queria que
>> as muitas observaçoes que dizem se os passarinhos jovens estão doentes ou
>> não.
>> Se eu tiro eu não vejo mais nada sem amostras de passarinhos jovens,
>> tanto no exemplo como nos dados reais.
>> A maioria dos indeterminados é jovem.
>> Esse é o problema.
>>
>> Em 31 de agosto de 2012 16:49, Heloíse Pavanato <helopavanato em gmail.com>escreveu:
>>
>> Tente:
>>> modelo01<-glm(as.factor(diagnostico)~factor(sexo)+factor(idade),family="
>>> binomial",data=dados,na.action=na.exclude)
>>>
>>>
>>> Em 31 de agosto de 2012 17:32, Augusto Ribas <ribas.aca em gmail.com>escreveu:
>>>
>>> Arrumando o exemplo:  (eu não tinha colocado pra usar o dataframe que
>>>> criei nas analises)
>>>>
>>>> #dados, exemplo
>>>> set.seed(666)
>>>> n<-90
>>>>
>>>> idade<-sample(c("Adulto","Sub-Adulto","Jovem"),n,replace=T)
>>>> idade
>>>> efeito<-ifelse(idade=="Jovem",1,0)
>>>> efeito
>>>> diagnostico<-rbinom(n,1,0.75+efeito*(-0.25))
>>>> sexo<-NA
>>>> for(i in 1:length(idade)) {
>>>>  if(idade[i]=="Jovem") {
>>>>   sexo[i]<-c("Indeterminado")
>>>>   } else{
>>>>   sexo[i]<-sample(c("Macho","Femea"),1)
>>>>   }
>>>>  }
>>>> sexo
>>>> idade
>>>> diagnostico
>>>> dados<-data.frame(sexo,idade,diagnostico)
>>>>
>>>>
>>>> dados<-rbind(dados,c("Femea","Jovem",0))
>>>> dados<-rbind(dados,c("Indeterminado","Adulto",0))
>>>> dados<-rbind(dados,c("Macho","Jovem",0))
>>>> dados<-rbind(dados,c("Indeterminado","Sub-Adulto",0))
>>>>  table(dados$sexo,dados$idade)
>>>>
>>>> #grafico
>>>>
>>>> par(mfrow=c(1,2),cex=0.6)
>>>> barplot(table(diagnostico,sexo),ylim=c(0,40),legend.text
>>>> =c("Parasitado","Não Parasitado"))
>>>> barplot(table(diagnostico,idade),ylim=c(0,40),legend.text
>>>> =c("Parasitado","Não Parasitado"))
>>>>
>>>> #modelos
>>>> #as 2 variaveis juntas
>>>>
>>>> modelo01<-glm(as.factor(diagnostico)~factor(sexo)+factor(idade),family="binomial",data=dados)
>>>> summary(modelo01)
>>>>
>>>> #cada uma separada
>>>> modelo02<-glm(as.factor(diagnostico)~idade,family="binomial",data=dados)
>>>> summary(modelo02)
>>>>
>>>>
>>>> modelo03<-glm(as.factor(diagnostico)~factor(sexo),family="binomial",data=dados)
>>>> summary(modelo03)
>>>>
>>>> Em 31 de agosto de 2012 16:17, Augusto Ribas <ribas.aca em gmail.com>escreveu:
>>>>
>>>> Então, mas ai:
>>>>> na.action
>>>>>
>>>>> a function which indicates what should happen when the data contain NAs.
>>>>> The default is set by the na.action setting of options<http://127.0.0.1:30387/library/stats/help/options>,
>>>>> and is na.fail <http://127.0.0.1:30387/library/stats/help/na.fail> if
>>>>> that is unset. The ‘factory-fresh’ default is na.omit<http://127.0.0.1:30387/library/stats/help/na.omit>.
>>>>> Another possible value is NULL, no action. Value na.exclude<http://127.0.0.1:30387/library/stats/help/na.exclude>can be useful.
>>>>>
>>>>> Se eu colocar NA direto, não vai excluir as linhas que tem
>>>>> Indeterminado do Sexo, que vai exluir também as linhas de jovem da idade, e
>>>>> no final eu não vou avaliar a idade para os dois...
>>>>> O na action tinha que ser não o na.exclude não?
>>>>>
>>>>> Em 31 de agosto de 2012 15:29, Heloíse Pavanato <
>>>>> helopavanato em gmail.com> escreveu:
>>>>>
>>>>> Augusto,
>>>>>>
>>>>>> Tente colocar NA (missing value) onde você não tem a informação.
>>>>>>
>>>>>> Att,
>>>>>> Heloise
>>>>>>
>>>>>> Em 31 de agosto de 2012 16:18, Augusto Ribas <ribas.aca em gmail.com>escreveu:
>>>>>>
>>>>>>> Ola pessoal.
>>>>>>> Eu estava olhando aqui uns dados com um amigo e me surgiu uma duvida.
>>>>>>>
>>>>>>> O problema é o seguinte:
>>>>>>> Os dados são referentes a ocorrência de uma doença em passarinhos.
>>>>>>> Pegamos muitos passarinhos em redes em um lugar e testamos se ele esta
>>>>>>> doente ou não.
>>>>>>> Durante a captura, registramos varias caracteristicas dos
>>>>>>> passarinhos, entre elas o sexo e a idade.
>>>>>>> Ai gostaríamos de perguntar se essas variáveis influenciam na chance
>>>>>>> do passarinho estar doente ou não.
>>>>>>>
>>>>>>> O problema começa no seguinte, a idade é fácil de determinar, são 3
>>>>>>> classes, jovem, sub-adulto e adulto e isso é feito sem muito erro,
>>>>>>> Agora o sexo, era pra ser macho ou femea, mas quando o passarinho é
>>>>>>> muito novo, é impossível saber o sexo dele, então a gente tava colocando
>>>>>>> indeterminado, pq visualmente não da pra saber o sexo do passarinho, e não
>>>>>>> tem outro jeito.
>>>>>>>
>>>>>>> Então eu tenho 2 variáveis, de 3 níveis cada uma e fiz um glm
>>>>>>> binomial.
>>>>>>>
>>>>>>> So que qd eu faço a analise o sexo da significativo (a classe
>>>>>>> indeterminado), sendo que os indeterminados tem menor chance de estar
>>>>>>> doente.
>>>>>>> Mas na verdade eu acho que o que interessa é a idade (Que faz
>>>>>>> sentido biológico ser significativo).
>>>>>>> Se vc olha o gráfico, vc ve o padrão é o mesmo no sexo e na idade.
>>>>>>> E a inabilidade de identificar o sexo nos passarinhos vem exatamente
>>>>>>> dele ser jovem demais, não desenvolveu ainda. Ai uma coisa confunde com a
>>>>>>> outra.
>>>>>>> Será que alguem tem aluma sugestão de o que fazer?
>>>>>>> Tem como representar o sexo como "Não sei", é um dos 2 níveis mas
>>>>>>> pra esse passarinho eu não sei? Eu não sei como fazer isso. É possível
>>>>>>> fazer isso pro sexo no glm no meu caso?
>>>>>>>
>>>>>>> Segue um exemplo para ilustrar mais ou menos o que eu to vendo:
>>>>>>>
>>>>>>> #Gerando dados de exemplo
>>>>>>> set.seed(666)
>>>>>>> n<-90
>>>>>>>
>>>>>>> #eu acredito que a idade tem um efeito significativo
>>>>>>> #ja que por exemplo, o cara muito jovem vai ter tempo de exposição
>>>>>>> menor
>>>>>>> #a indivíduos doentes
>>>>>>> idade<-sample(c("Adulto","Sub-Adulto","Jovem"),n,replace=T)
>>>>>>> idade
>>>>>>> efeito<-ifelse(idade=="Jovem",1,0)
>>>>>>> efeito
>>>>>>> diagnostico<-rbinom(n,1,0.75+efeito*(-0.25))
>>>>>>>
>>>>>>> #E o sexo do passarinho não tem efeito, mas os jovens sempre são
>>>>>>> inderterminados
>>>>>>> sexo<-NA
>>>>>>> for(i in 1:length(idade)) {
>>>>>>>  if(idade[i]=="Jovem") {
>>>>>>>   sexo[i]<-c("Indeterminado")
>>>>>>>   } else{
>>>>>>>   sexo[i]<-sample(c("Macho","Femea"),1)
>>>>>>>   }
>>>>>>>  }
>>>>>>>
>>>>>>> dados<-data.frame(sexo,idade,diagnostico)
>>>>>>>
>>>>>>> #so completando os casos
>>>>>>> dados<-rbind(dados,c("Femea","Jovem",0))
>>>>>>> dados<-rbind(dados,c("Indeterminado","Adulto",0))
>>>>>>> dados<-rbind(dados,c("Macho","Jovem",0))
>>>>>>> dados<-rbind(dados,c("Indeterminado","Sub-Adulto",0))
>>>>>>>
>>>>>>> #amostras
>>>>>>> table(dados$sexo,dados$idade)
>>>>>>> head(dados)
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> #Grafico
>>>>>>> #no final o que eu vejo é mais ou menos isso:
>>>>>>> par(mfrow=c(1,2),cex=0.6)
>>>>>>> barplot(table(diagnostico,sexo),ylim=c(0,40),legend.text
>>>>>>> =c("Parasitado","Não Parasitado"))
>>>>>>> barplot(table(diagnostico,idade),ylim=c(0,40),legend.text
>>>>>>> =c("Parasitado","Não Parasitado"))
>>>>>>>
>>>>>>> #O indeterminado e Jovem é mais meio a meio no numero de parasitados
>>>>>>> que as outras classes
>>>>>>>
>>>>>>> #mas eu vejo um resultado significativo pro sexo, ou jovem se mudar
>>>>>>> a ordem
>>>>>>> #isso esta errado
>>>>>>>
>>>>>>> modelo01<-glm(diagnostico~factor(idade)+factor(sexo),family="binomial")
>>>>>>> summary(modelo01)
>>>>>>> plogis(coef(modelo01)[1:2])
>>>>>>> #eu acredito que cai naquele problema do aov, de experimento não
>>>>>>> balanceado e tal
>>>>>>>
>>>>>>> #se olhar individualmente tudo ok, mas não consigo olhar as 2
>>>>>>> variaveis juntas.
>>>>>>> modelo02<-glm(diagnostico~factor(idade),family="binomial")
>>>>>>> summary(modelo02)
>>>>>>> plogis(coef(modelo02)[1:2])
>>>>>>>
>>>>>>> modelo03<-glm(diagnostico~factor(sexo),family="binomial")
>>>>>>> summary(modelo03)
>>>>>>> plogis(coef(modelo03)[1:2])
>>>>>>>
>>>>>>>
>>>>>>> Se alguem puder dar uma olhada e dar alguma sugestão, fiz um
>>>>>>> exemplo, mas os dados deixam um grafico exatamente como aquele, se alguem
>>>>>>> quiser olhar os dados originais eu posso mandar.
>>>>>>>
>>>>>>> --
>>>>>>> Grato
>>>>>>> Augusto C. A. Ribas
>>>>>>>
>>>>>>> Site Pessoal: http://augustoribas.heliohost.org
>>>>>>> Lattes: http://lattes.cnpq.br/7355685961127056
>>>>>>>
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> R-br mailing list
>>>>>>> R-br em 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.
>>>>>>>
>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> R-br mailing list
>>>>>> R-br em 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.
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Grato
>>>>> Augusto C. A. Ribas
>>>>>
>>>>> Site Pessoal: http://augustoribas.heliohost.org
>>>>> Lattes: http://lattes.cnpq.br/7355685961127056
>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>> Grato
>>>> Augusto C. A. Ribas
>>>>
>>>> Site Pessoal: http://augustoribas.heliohost.org
>>>> Lattes: http://lattes.cnpq.br/7355685961127056
>>>>
>>>>
>>>> _______________________________________________
>>>> R-br mailing list
>>>> R-br em 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.
>>>>
>>>
>>>
>>> _______________________________________________
>>> R-br mailing list
>>> R-br em 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.
>>>
>>
>>
>>
>> --
>> Grato
>> Augusto C. A. Ribas
>>
>> Site Pessoal: http://augustoribas.heliohost.org
>> Lattes: http://lattes.cnpq.br/7355685961127056
>>
>>
>> _______________________________________________
>> R-br mailing list
>> R-br em 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.
>>
>
>
> _______________________________________________
> R-br mailing list
> R-br em 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.
>



-- 
Grato
Augusto C. A. Ribas

Site Pessoal: http://augustoribas.heliohost.org
Lattes: http://lattes.cnpq.br/7355685961127056
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20120831/516d0499/attachment.html>


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