Uma amostra desequilibrada é importante ao fazer regressão logística?

81

Ok, acho que tenho uma amostra decente o suficiente, levando em consideração a regra geral 20: 1: uma amostra bastante grande (N = 374) para um total de 7 variáveis ​​preditoras de candidatos.

Meu problema é o seguinte: qualquer que seja o conjunto de variáveis ​​preditoras que eu use, as classificações nunca ficam melhores que uma especificidade de 100% e uma sensibilidade de 0%. Por mais insatisfatório que seja, esse pode ser o melhor resultado possível, dado o conjunto de variáveis ​​preditoras candidatas (das quais não posso me desviar).

Mas não pude deixar de pensar que poderia fazer melhor, então notei que as categorias da variável dependente eram bastante desequilibradas, quase 4: 1. Uma subamostra mais equilibrada poderia melhorar as classificações?

Michiel
fonte
5
É difícil imaginar como isso poderia ser. Talvez você esteja cortando a probabilidade prevista em 0,5? Nesse caso, tente variar o ponto de corte.
Aniko
4
A área sob a curva ROC é 0,558, um resultado bastante ruim. Isso implica que realmente não existe um valor de corte em que a troca de especificidade / sensibilidade valha a pena. Brincar com o ponto de corte não melhorará muito as classificações, pois diminuiria a especificidade em aproximadamente o mesmo tempo que aumentaria a sensibilidade.
11119 Michiel
3
Algum dos coeficientes de variáveis ​​é significativamente diferente de (digamos, mais de cinco erros padrão)? Se não for o seu problema, pode ser que você simplesmente não tenha muito poder explicativo com seu conjunto de variáveis. 0
probabilityislogic
2
Observe também que o tamanho da amostra em termos de boas previsões é realmente o número de padrões únicos na variável preditora, e não o número de indivíduos amostrados. Por exemplo, um modelo com uma única variável preditora categórica com dois níveis só pode ajustar um modelo de regressão logística com dois parâmetros (um para cada categoria), mesmo se houver milhões de pessoas na amostra.
probabilityislogic
Relacionado: stats.stackexchange.com/questions/67903
ameba diz Reinstate Monica

Respostas:

75

Saldo no conjunto de treinamento

Para modelos de regressão logística, os dados de treinamento desequilibrados afetam apenas a estimativa de interceptação do modelo (embora isso obviamente incline todas as probabilidades previstas, o que por sua vez compromete suas previsões). Felizmente, a correção de interceptação é direta: desde que você saiba, ou possa adivinhar, a proporção verdadeira de 0s e 1s e saiba as proporções no conjunto de treinamento, você pode aplicar uma correção de eventos raros à interceptação. Os detalhes estão em King e Zeng (2001) [ PDF ].

Essas 'correções de eventos raros' foram projetadas para projetos de pesquisa de controle de caso, usados ​​principalmente em epidemiologia, que selecionam casos escolhendo um número fixo e geralmente equilibrado de 0 casos e 1 casos, e precisam corrigir o viés de seleção da amostra resultante. De fato, você pode treinar seu classificador da mesma maneira. Escolha uma boa amostra equilibrada e corrija a interceptação para levar em conta o fato de que você selecionou na variável dependente para aprender mais sobre classes mais raras do que uma amostra aleatória poderia lhe dizer.

Fazendo previsões

Sobre um tópico relacionado, mas distinto: Não esqueça que você deve estar em um limiar inteligente para fazer previsões. Nem sempre é melhor prever 1 quando a probabilidade do modelo é maior 0,5. Outro limite pode ser melhor. Para esse fim, você deve examinar as curvas ROC (Receiver Operating Characteristic) do seu classificador, não apenas seu sucesso preditivo com um limite de probabilidade padrão.

conjugado
fonte
8
Se você não conhece as frequências da classe operacional, elas podem ser estimadas por EM sem conhecer os rótulos das amostras de teste / operacionais. Os detalhes estão em Saerens et al. "Ajustando as saídas de um classificador para novas probabilidades a priori: um procedimento simples", Neural Computation, vol. 14, n. 1, pp. 21-41, 2002 ( dx.doi.org/10.1162/089976602753284446 ). Eu usei isso algumas vezes e fiquei impressionado com o quão bem funcionou. Observe, no entanto, que a correção teórica não é normalmente ideal e defini-la via, por exemplo, validação cruzada é geralmente melhor.
Dikran Marsupial
Sim, eu deveria ter mencionado que os resultados da curva ROC também não foram convincentes. Nesse caso, acho que não há um limite que dê resultados satisfatórios.
11119 Michiel
Em relação a fazer previsões: como posso levar em consideração o tamanho do meu conjunto de treinamento para resultados 0 e 1? Eu, na verdade não querem usar limiar de 0,5, mas não sabe como fazer isso em R.
Perlnika
1
@ Perlnika Os detalhes estão no link do papel (no caso mais simples, você altera a interceptação estimada). Para atingir um limite que não seja 0,5, obtenha as probabilidades previstas usando predicte calcule para cada uma delas se é maior que o novo limite.
conjugateprior
1
@SassaNF É verdade que uma mudança de interceptação pode ser compensada por uma mudança de limite. No entanto, isso associa sua estimativa de probabilidade (inferência) ao custo relativo dos erros (função de perda), enquanto o último pode diferir nas aplicações. Por exemplo, quando o custo de confundir um 1 com 0 é C vezes o custo de confundir um 0 com um 1, convém limitar sua probabilidade estimada em 1 / (1 + C).
conjugateprior
41

O problema não é que as classes estejam desequilibradas per se, é que talvez não haja padrões suficientes pertencentes à classe minoritária para representar adequadamente sua distribuição. Isso significa que o problema pode surgir para qualquer classificador (mesmo se você tiver um problema sintético e souber que possui o modelo verdadeiro), não apenas a regressão logística. O bom é que, à medida que mais dados se tornam disponíveis, o problema do "desequilíbrio de classe" geralmente desaparece. Dito isto, 4: 1 não é tão desequilibrado.

Se você usar um conjunto de dados balanceado, o importante é lembrar que a saída do modelo agora é uma estimativa da probabilidade a posteriori, assumindo que as classes sejam igualmente comuns e, portanto, você pode acabar influenciando demais o modelo. Eu ponderaria os padrões pertencentes a cada classe de maneira diferente e escolheria os pesos, minimizando a entropia cruzada em um conjunto de testes com as freqüências corretas da classe operacional.

Dikran Marsupial
fonte
6
1If you use a balanced dataset, the important thing is to remember that the output of the model is now an estimate of the a-posteriori probability
Zhubarb
2

Pense nas distribuições subjacentes das duas amostras. Você tem amostra suficiente para medir as duas subpopulações sem uma grande quantidade de viés na amostra menor?

Veja aqui para uma explicação mais longa.

https://statisticalhorizons.com/logistic-regression-for-rare-events

Paul Tulloch
fonte
5
Isso não parece responder à pergunta.
Michael Chernick
Isso é porque não há resposta definitiva! É sobre como você o aplica e a quantidade de viés que se deseja permitir no processo de estimativa.
Paul Tulloch
1
Eu acho que essa é uma ótima resposta. Tanto quanto eu entendo, todas as tentativas de corrigir o desequilíbrio dependem de algum conhecimento externo não capturado no experimento. O conhecimento específico da distribuição subjacente ajudaria nas correções.
precisa saber é o seguinte