Por que a regressão logística se torna instável quando as classes são bem separadas? O que significam classes bem separadas? Eu realmente aprecio se alguém puder explicar com um exemplo.
r
regression
logistic
separation
Jane Dow
fonte
fonte
Respostas:
Não é correto que a regressão logística em si se torne instável quando houver separação. Separação significa que existem algumas variáveis que são preditores muito bons, o que é bom ou que a separação pode ser um artefato com poucas observações / muitas variáveis. Se for esse o caso, a solução pode ser obter mais dados. Mas a própria separação, então, é apenas um sintoma, e não um problema em si mesma.
Portanto, existem casos realmente diferentes a serem tratados. Primeiro, qual é o objetivo da análise? Se o resultado final da análise for uma classificação de casos, a separação não é um problema, significa realmente que existem variáveis muito boas que dão uma classificação muito boa. Mas se o objetivo é a estimativa de risco, precisamos das estimativas de parâmetros e, com a separação, as estimativas usuais de mle (probabilidade máxima) não existem. Então, devemos mudar o método de estimativa, talvez. Existem várias propostas na literatura, voltarei a isso.
Depois, existem (como dito acima) duas causas possíveis diferentes para a separação. Pode haver separação em toda a população ou a separação pode ser causada por poucos casos observados / muitas variáveis.
O que quebra com a separação é o procedimento de estimativa de probabilidade máxima. As estimativas do parâmetro mle (ou pelo menos algumas delas) tornam-se infinitas. Eu disse na primeira versão desta resposta que isso pode ser resolvido facilmente, talvez com o bootstrapping, mas isso não funciona, pois haverá separação em cada nova amostra do bootstrap, pelo menos com o procedimento usual de bootstrap. Mas a regressão logística ainda é um modelo válido, mas precisamos de algum outro procedimento de estimativa. Algumas propostas foram:
Se você usa R, existe um pacote no CRAN,
SafeBinaryRegression
que ajuda no diagnóstico de problemas com a separação, usando métodos de otimização matemática para verificar se há separação ou quase-separação! A seguir, darei um exemplo simulado usando este pacote e oelrm
pacote para regressão logística condicional aproximada.Primeiro, um exemplo simples com o
safeBinaryRegression
pacote. Este pacote apenas redefine aglm
função, sobrecarregando-a com um teste de separação, usando métodos de programação linear. Se ele detecta a separação, sai com uma condição de erro, declarando que o mle não existe. Caso contrário, ele apenas executa aglm
função comum destats
. O exemplo é de suas páginas de ajuda:A saída da execução:
Agora simulamos a partir de um modelo que pode ser aproximado de perto por um modelo logístico, exceto que, acima de um determinado ponto de corte, a probabilidade de evento é exatamente 1,0. Pense em um problema de bioensaio, mas acima do ponto de corte o veneno sempre mata:
Ao executar esse código, estimamos a probabilidade de separação como 0,759. Execute o código você mesmo, é rápido!
Em seguida, estendemos esse código para tentar diferentes procedimentos de estimativa, mle e aproximar a regressão logística condicional da elrm. A execução desta simulação leva cerca de 40 minutos no meu computador.
Agora queremos plotar os resultados, mas antes disso, observe que TODAS as estimativas condicionais são iguais! Isso é realmente estranho e deve precisar de uma explicação ... O valor comum é 0,9523975. Mas pelo menos obtivemos estimativas finitas, com intervalos de confiança que contêm o valor verdadeiro (não mostrado aqui). Então, mostrarei apenas um histograma das estimativas de mle nos casos sem separação:
[
O que é notável é que todas as estimativas são menores que o valor verdadeiro 1,5. Isso pode ter a ver com o fato de termos simulado a partir de um modelo modificado, que precisa de investigação.
fonte
Aqui existem boas respostas de @ sean501 e @kjetilbhalvorsen. Você pediu um exemplo. Considere a figura abaixo. Você pode se deparar com uma situação em que o processo de geração de dados é semelhante ao descrito no painel A . Se assim for, é bem possível que os dados que você realmente se reúnem olhar como aqueles no painel B . Agora, quando você usa dados para criar um modelo estatístico, a idéia é recuperar o verdadeiro processo de geração de dados ou, pelo menos, apresentar uma aproximação razoavelmente próxima. Assim, a questão é: o ajuste de uma regressão logística aos dados em B produzirá um modelo que se aproxima da linha azul em A ? Se você olhar para o painel C, você pode ver que a linha cinza se aproxima melhor dos dados do que a função verdadeira; portanto, ao buscar o melhor ajuste, a regressão logística 'preferirá' retornar a linha cinza em vez da azul. Não pára por aí, no entanto. Olhando para o painel D, a linha preta aproxima os dados melhor do que a cinza - na verdade, é o melhor ajuste que pode ocorrer. Portanto, essa é a linha que o modelo de regressão logística está seguindo. Corresponde a um intercepto do infinito negativo e uma inclinação do infinito. É claro que isso está muito longe da verdade que você espera recuperar. A separação completa também pode causar problemas com o cálculo dos valores de p para suas variáveis que vêm de fábrica com a saída de regressão logística (a explicação é ligeiramente diferente e mais complicada). Além disso, tentar combinar o ajuste aqui com outras tentativas, por exemplo, com uma meta-análise, tornará as outras descobertas menos precisas.
fonte
Isso significa que existe um hiperplano de tal modo que, por um lado, existem todos os pontos positivos e, por outro, todos os negativos. A solução de máxima verossimilhança é então plana 1 de um lado e plana 0 do outro lado, o que é 'alcançado' com a função logística, tendo os coeficientes no infinito.
fonte
O que você está chamando de "separação" (não "separação") abrange duas situações diferentes que acabam causando o mesmo problema - que eu não chamaria, no entanto, de "instabilidade" como você.
Uma ilustração: Sobrevivência no Titanic
Seria esse o caso se todos os passageiros de primeira classe no Titanic tivessem sobrevivido aos destroços e nenhum dos passageiros de segunda classe tivesse sobrevivido.
Por que a regressão logística é "instável" nesses casos?
Isso está bem explicado em Rainey 2016 e Zorn 2005 .
Nos dois casos, a função de probabilidade do seu modelo não conseguirá encontrar uma estimativa de probabilidade máxima: ele encontrará apenas uma aproximação desse valor aproximando-o assintoticamente.
O que você está chamando de "instabilidade" é o fato de que, em casos de separação completa ou quase completa, não há probabilidade finita de o modelo logístico alcançar. No entanto, eu não usaria esse termo: a função de probabilidade é, de fato, bastante "estável" (monotônica) em sua atribuição de valores de coeficiente ao infinito.
Nota: meu exemplo é fictício. A sobrevivência no Titanic não se resumia apenas à participação na classe de passageiros. Veja Hall (1986) .
fonte