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?
Respostas:
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.
fonte
predict
e calcule para cada uma delas se é maior que o novo limite.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.
fonte
If 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
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
fonte