[R-br] RES: Distribuição para regressão de resposta binária
Leonard Mendonça de Assis
assis.leonard em gmail.com
Quarta Fevereiro 8 20:35:10 BRST 2017
Exato,
Existem várias funções de ligação pre definidas para cada família. Não tenho certeza se ‘log’ é um link válido para binomial, nunca o usei com binomial.
Caso este link não exista, você terá que cria-lo antes, veja um exemplo neste local: https://stat.ethz.ch/pipermail/r-help/2013-November/362787.html
Neste exemplo, é criado o link ‘clog’, muito próximo ao que você precisa.
Mas o que você chama de ‘não consigo criar o modelo’? Eu já ajustei modelo logístico com mais de 200 variáveis (Contínuas, discretas, fatores ...) sem problemas, a não ser problemas de algumas variáveis serem linearmente dependentes e, com isto, me gerou problemas de estimação. Outro problema que tive (não o tenho a mais de ano) foi estourar memória do computador.
Mande pra mim o erro especifico que está dando ao executar o comando. Só assim posso ser mais preciso em te ajudar
De: Marcos Bissoli [mailto:mbissoli em gmail.com]
Enviada em: quarta-feira, 8 de fevereiro de 2017 19:35
Para: Leonard Mendonça de Assis <assis.leonard em gmail.com>
Assunto: Re: [R-br] Distribuição para regressão de resposta binária
Prezado Leonard e amigos,
Agradeço muito pelo debate. Venho tentando cada vez mais dialogar com estatísticos, pois respeito muito o trabalho de vocês, embora admita ainda ser "um menino" na arte.
Em relação à função de ligação para logística, talvez eu não tenha sido claro. Eu tentei uma função "ln(y)" que, ao menos no material que venho consultando, seria uma regressão log-binomial. Este seria um modelo ideal, e foi minha primeira tentativa. Ou seja, usei um código semelhante a:
> Modelo -> glm(y~., data = Dados, family = binomial(link = "log"))
O problema é que o R não consegue criar tal modelo. Tenho muitas variáveis explicativas (isso é bastante comum em estudos epidemiológicos descritivos), incluindo cinco contínuas, se é que esse seja o motivo. O fato é que em uma das referências que citei em e-mail anterior, os autores tratam deste problema. Veja os resultados apresentados no resumo de Coutinho et al:
"RESULTADOS: As estimativas por ponto e por intervalo [das razões de prevalência] obtidas pelas regressões de Cox e Poisson foram semelhantes à obtida pela estratificação de Mantel-Haenszel [considerada 'prova-ouro' para a Epidemiologia], independentemente da prevalência do desfecho [variável resposta] e das covariáveis [variáveis explicativas, pode-se dizer; talvez, para que tem uma formação mais voltada para análises experimentais, poderíamos dizer que covariáveis referem-se mais a 'blocos'] do modelo. O modelo log-binomial apresentou dificuldade de convergência quando o desfecho tinha prevalência alta e havia covariável contínua no modelo. A regressão logística [valendo-se de logito como função de ligação] produziu estimativas por ponto e por intervalo maiores do que as obtidas pelos outros métodos, principalmente para os desfechos com maiores prevalências iniciais. Se interpretados como estimativas de RP, os OR superestimariam as associações para os desfechos com prevalência inicial baixa, intermediária e alta em 13%, quase 100% e quatro vezes mais, respectivamente."
[notas minhas] [grifos meus]
Portanto, os autores indicam (e vi isso em outros artigos) regressão de Poisson, mesmo admitindo a variável resposta como sendo binária, variando de 0 a 1, que representa a probabilidade de ocorrência do desfecho (doença). Quase todos são unânimes em recomendar apenas que se use ajuste de variância robusta para sanar problemas nos intervalos de confiança dos coeficientes. Em Epidemiologia, mais importante que os valores p são esses intervalos de confiança, pois há muitos desdobramentos inferenciais que são feitos a partir deles. Portanto, creio que a justificativa para adoção de Poisson seja esta: a não convergência da log-binomial.
Talvez uma outra função de ligação em família binomial possa ser uma solução, então? Como disse, tentei "log" e o próprio "logit". "Log" não deu convergência e o modelo nem foi gerado. O "logit" eu também tentei, e o gráfico de resíduos do modelo foi praticamente idêntico a este de quasi-poisson que postei na primeira mensagem. Seria grato caso pudesse me indicar algum referencial sobre outras funções de ligação, preferencialmente com aplicações. Mas acho que isso se tornará um problema, pois os coeficientes gerados certamente me resultarão indicadores não reconhecidos na área da Epidemiologia. Não sei até que ponto eu posso "converter" coeficientes livremente aplicando pura e simplesmente aritméticas a estes coeficientes. Como acho que já expliquei acima: "logit" me devolve razão de chances (odds ratio, OR) e "log" me retorna a tão desejada razão de prevalência (razão de riscos, RR). Se eu não tiver como converter meus coeficientes em uma dessas razões (e preferencialmente a RR) eu vou apanhar tanto da banca que vou sair dali roxo e sem título. :D
(Um parênteses: essas questões, como a brincadeira acima, tem me motivado muito a ingressar em um doutorado em Estatística assim que eu concluir esse. Creio que há muito há se propor de novo para a Epidemiologia, a partir de um conhecimento mais profundo em Estatística. A Epidemiologia é, de fato, bastante limitada naquilo que ela "aceita" como técnica válida para suas análises inferenciais)
Quando o senhor diz:
"Uma segunda forma de analisar, seria termos uma resposta composta de número de ocorrências do evento em um total possível",
eu posso interpretar que isso também seria adaptável a uma probabilidade? Valeria a pena eu tentar ajuste com Gamma ou Beta? A binomial negativa eu até tentei, mais por curiosidade, pois tenho seguido o material do curso que fiz com o Walmes em Varginha e ele preconizou que ela seria recomendada para casos de superdispersão, e minha variável resposta aparenta subdispersão. Mas a binomial negativa também gerou o mesmo gráfico de resíduos. Eu posso usar uma variável binária como resposta num modelo Gamma ou Beta? Ou teria que dar algum "tratamento" na variável antes de aplicar estes modelos. Confesso que estes ainda não tentei com essa resposta com a qual estou enfrentando o problema. Em outras variáveis eu experimentei modelos Gamma, mas eles não apresentaram melhor ajuste que o gaussiano, a ponto de justificar eu enfrentar tamanha novidade com a banca de epidemiologistas. :D
Agradeço, já, e muito, o diálogo estabelecido.
Abraços fraternos,
Marcos
Em 8 de fevereiro de 2017 17:28, Leonard Mendonça de Assis <assis.leonard em gmail.com <mailto:assis.leonard em gmail.com> > escreveu:
Marcos,
Não tenho acesso aos artigos, mas ... baseado em 27 anos de experiência ajustando regressão logística, vamos aos meus pitacos:
1. Quando eu tenho os Y em forma binária (Presente/ausente), isto, estatisticamente falando, é uma distribuição de Bernoulli
2. Esta distribuição de bernoulli tem como parâmetro, a proporção. Esta proporção varia de 0 a 1.
3. Uma forma de ajustar este tipo de dados é a regressão logística, esta pode assumir vários tipos de ligação. Aqui, de cabeça, eu lembro uns 5, mas deve ter muito mais.
4. Estas funções de ligação se ajustam melhor a determinados tipos de dados e algumas áreas de conhecimento às vezes preferem um em detrimento de outros.
Baseado neste cenário acima, acho “estranho” utilizar outro tipo de modelo (com dados na característica acima), sem uma justificativa bastante forte.
Uma segunda forma de analisar, seria termos uma resposta composta de número de ocorrências do evento em um total possível. Neste caso, teríamos uma variedade de distribuições que provavelmente se encaixariam nos documentos que você apresentou. Neste caso, o modelo seria ou binomial negativa, ou Gama, ou Beta, ou qualquer outra similar.
Ajustados os conceitos, vamos agora à minha opinião sobre seu problema.
1. Pelo que consegui entender de seu texto inicial e seu código fornecido, você está ajustando algo que é 0 ou 1 como sendo uma quase-poisson (esta é uma das opções de ajuste para o que expliquei acima, onde existe uma determinada quantidade.
2. Como seus dados são 0/1 (suposição esta que faço baseado em sua explicação), o ajuste estar deficiente é algo bem esperado
Seria bom se você informasse do que se trata a variável tabagismo, se ela é 0/1 ou se é uma quantidade. Se for 0/1, certamente o problema dos dados é esperado, por serem oriundos de uma distribuição diversa da que você está ajustando.
No aguardo
Leonard
De: Marcos Bissoli [mailto:mbissoli em gmail.com <mailto:mbissoli em gmail.com> ]
Enviada em: quarta-feira, 8 de fevereiro de 2017 14:57
Para: Leonard Assis <assis.leonard em gmail.com <mailto:assis.leonard em gmail.com> >; a lista Brasileira oficial de discussão do programa R. <r-br em listas.c3sl.ufpr.br <mailto:r-br em listas.c3sl.ufpr.br> >
Assunto: Re: [R-br] Distribuição para regressão de resposta binária
Olá Leonard,
Muito obrigado pelo interesse no debate.
Minha afirmação baseada em epidemiologistas é, na verdade, baseada numa série de artigos que venho estudando recentemente. Seguem algumas referências, dentre outras várias, sobre as quais venho me fundamentando.
ZOU, G. A Modified Poisson Regression Approach to Prospective Studies with Binary Data. American Journal of Epidemiology, v. 159, n. 7, p. 702–706, 1 abr. 2004.
COUTINHO, L. M. S.; SCAZUFCA, M.; MENEZES, P. R. Métodos para estimar razão de prevalência em estudos de corte transversal. Revista de Saúde Pública, v. 42, n. 6, p. 992–998, dez. 2008.
BARROS, A. J.; HIRAKATA, V. N. Alternatives for logistic regression in cross-sectional studies: an empirical comparison of models that directly estimate the prevalence ratio. BMC Medical Research Methodology, v. 3, n. 1, p. 21, 20 dez. 2003.
FRANCISCO, P. M. S. B. et al. Medidas de associação em estudo transversal com delineamento complexo: razão de chances e razão de prevalência. Revista Brasileira de Epidemiologia, v. 11, n. 3, p. 347–355, set. 2008.
WILLIAMSON, T.; ELIASZIW, M.; FICK, G. H. Log-binomial models: exploring failed convergence. Emerging themes in epidemiology, v. 10, n. 1, p. 14, 13 dez. 2013.
Abraços fraternos,
Marcos
Em 7 de fevereiro de 2017 22:22, Leonard Assis via R-br <r-br em listas.c3sl.ufpr.br <mailto:r-br em listas.c3sl.ufpr.br> > escreveu:
Tem ruído aí nesta explicação. Na verdade, o que o "epidemiologista" alegou, não me convenceu.
Em 7 de fev de 2017 9:14 PM, "Marcos Bissoli via R-br" <r-br em listas.c3sl.ufpr.br <mailto:r-br em listas.c3sl.ufpr.br> > escreveu:
Prezados,
De antemão peço desculpas se desvio o tópico da lista. Mas creio que o tema da mensagem é minimamente transversal aos aqui tratados.
Tenho uma variável resposta binária. Como a frequência da resposta é alta (38,11%), teóricos da Estatística aplicada à Epidemiologia sugerem que não seja usada uma regressão logística. Neste caso (de alta prevalência do desfecho), a primeira opção deveria ser uma log-binomial. Mas (e isso não é raro de ocorrer), minha log-binomial não apresentou convergência.
Quando não há convergência, os teóricos sugerem uma regressão de Poisson com variância robusta. Entretanto, como meus dados sugerem subdispersão, optei por um modelo de quasi-poisson. Isso já deu certo em outras análises que fiz para terceiros. Inclusive, tenho conseguido adaptar a variância robusta ao modelo de quasi-poisson. Mas justamente agora, com os dados de minha tese...
O diagnóstico visual está, ao meu ver, péssimo, para ajuste. A imagem anexa é do modelo de quasi-poisson. Mas experimentei todos os acima citados (logística e Poisson) e o gráfico não diferiu muito.
A dúvida é... Há alguma outra alternativa de técnica de regressão que eu poderia tentar? Minhas variáveis explicativas são diversas, em quantidade e tipo (há contínuas, ordinais e binárias). Ou será (embora eu ache pouco provável) que este gráfico não significa um grande incômodo?
Fiz o teste de qui-quadrado da deviance residual e estranhamente o valor p está resultando em 1, tanto para Poisson quanto para quasi-Poisson. Um outro fato estranho é o pseudo R² de Nagelkerke ter acusado 20%: todas as outras minhas variáveis resposta não passaram de 12%. Não sei se é correto (consultei bibliografia que sugeria isso para a regressão logística), mas apliquei um teste de Hosmer e Lemeshow e ele acusou um bom ajuste do modelo, também (p = 0,2718). Até uma curva de ROC eu fiz e a área está grande no gráfico (mais uma técnica que não sei se deve ser aplicada além da regressão logística,).
Seguem alguns resultados, caso possa ajudar em algo.
Desde já agradeço qualquer comentário. E reforço minhas desculpas caso eu tenha desviado do tópico além do esperado, e desde já acato qualquer negativa em prosseguir o debate. Nesse caso, se possível, aceitaria sugestões de boas listas para debates nesse nível onde eu pudesse me inscrever.
Há braços,
Marcos Bissoli
Faculdade de Nutrição
Unifal-MG
> Mod1 <- glm(Tabagismo~.,data = TabModelagem,family = quasipoisson)
> summary(Mod1)
Call:
glm(formula = Tabagismo ~ ., family = quasipoisson, data = TabModelagem)
Deviance Residuals:
Min 1Q Median 3Q Max
-1.4867 -0.7821 -0.5889 0.5349 1.6624
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -1.245e+00 8.738e-01 -1.424 0.154644
factor.SexoDic.1 5.800e-01 8.273e-02 7.011 4.11e-12 ***
factor.Branca.1 -8.332e-01 7.836e-01 -1.063 0.287863
factor.Negra.1 -8.210e-01 7.987e-01 -1.028 0.304185
factor.Parda.1 -9.009e-01 7.863e-01 -1.146 0.252163
factor.Amarela.1 -1.089e+00 8.481e-01 -1.284 0.199466
factor.SemReligiao.1 -9.670e-02 1.888e-01 -0.512 0.608566
factor.Catolica.1 -4.813e-01 1.862e-01 -2.585 0.009863 **
factor.Espirita.1 -1.235e-01 2.181e-01 -0.566 0.571230
factor.Evangelica.1 -9.177e-01 2.429e-01 -3.779 0.000166 ***
factor.AfroBrasileira.1 6.068e-01 4.303e-01 1.410 0.158794
factor.Turno.1 1.534e-03 1.034e-01 0.015 0.988169
factor.Aposentado.1 -4.516e-02 1.055e-01 -0.428 0.668597
factor.OcupaEstDiApenasDesemp.1 7.249e-02 1.411e-01 0.514 0.607474
factor.ComFamilia.1 -4.323e-01 2.128e-01 -2.031 0.042444 *
factor.ComOutParentes.1 -5.029e-01 3.517e-01 -1.430 0.153011
factor.Republica.1 8.985e-03 1.959e-01 0.046 0.963429
factor.Sozinho.1 -2.475e-01 2.236e-01 -1.107 0.268673
factor.Pensao.1 -8.439e-01 4.000e-01 -2.110 0.035106 *
factor.OutroMoradia.1 -5.262e-01 3.353e-01 -1.569 0.116880
factor.RU.1 -1.937e-01 1.059e-01 -1.830 0.067589 .
factor.praec4.1 -1.583e-01 2.666e-01 -0.594 0.552951
IdadeA 3.787e-02 9.381e-03 4.037 5.79e-05 ***
escola 8.576e-02 3.441e-02 2.492 0.012836 *
RendaPC 4.045e-05 1.313e-05 3.080 0.002119 **
Dist 2.605e-05 1.296e-04 0.201 0.840689
PraecSoma 2.419e-02 3.086e-02 0.784 0.433427
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for quasipoisson family taken to be 0.6036898)
Null deviance: 834.67 on 1135 degrees of freedom
Residual deviance: 706.16 on 1109 degrees of freedom
AIC: NA
Number of Fisher Scoring iterations: 5
--
MARCOS BISSOLI
Faculdade de Nutrição
Universidade Federal de Alfenas
Blog: bocademiamaldita.blogspot.com/ <http://bocademiamaldita.blogspot.com/>
E-mail: mbissoli em gmail.com <mailto:mbissoli em gmail.com>
Twitter: #mbissoli
Alfenas, Minas Gerais, Brasil
*****Pense na Natureza antes de Imprimir*****
Divulgue ON-LINE
Eu apoio a ENEN "na luta por um Brasil sem fome"
"por ĉiu popolo ties propran lingvon, por ĉiuj popoloj la esperantan"
(para cada povo sua própria língua, para todos os povos o Esperanto)
E nunca votarei no PSDB/DEM!
_______________________________________________
R-br mailing list
R-br em listas.c3sl.ufpr.br <mailto: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 <mailto: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.
--
MARCOS BISSOLI
Faculdade de Nutrição
Universidade Federal de Alfenas
Blog: bocademiamaldita.blogspot.com/ <http://bocademiamaldita.blogspot.com/>
E-mail: mbissoli em gmail.com <mailto:mbissoli em gmail.com>
Twitter: #mbissoli
Alfenas, Minas Gerais, Brasil
*****Pense na Natureza antes de Imprimir*****
Divulgue ON-LINE
Eu apoio a ENEN "na luta por um Brasil sem fome"
"por ĉiu popolo ties propran lingvon, por ĉiuj popoloj la esperantan"
(para cada povo sua própria língua, para todos os povos o Esperanto)
E nunca votarei no PSDB/DEM!
--
MARCOS BISSOLI
Faculdade de Nutrição
Universidade Federal de Alfenas
Blog: bocademiamaldita.blogspot.com/ <http://bocademiamaldita.blogspot.com/>
E-mail: mbissoli em gmail.com <mailto:mbissoli em gmail.com>
Twitter: #mbissoli
Alfenas, Minas Gerais, Brasil
*****Pense na Natureza antes de Imprimir*****
Divulgue ON-LINE
Eu apoio a ENEN "na luta por um Brasil sem fome"
"por ĉiu popolo ties propran lingvon, por ĉiuj popoloj la esperantan"
(para cada povo sua própria língua, para todos os povos o Esperanto)
E nunca votarei no PSDB/DEM!
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20170208/2ee1067e/attachment.html>
-------------- Próxima Parte ----------
Um anexo não-texto foi limpo...
Nome: image001.png
Tipo: image/png
Tamanho: 25239 bytes
Descrição: não disponível
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20170208/2ee1067e/attachment.png>
Mais detalhes sobre a lista de discussão R-br