Un échantillon non équilibré est-il important lors de la régression logistique?


81

Bon, je pense donc avoir un échantillon assez décent, en tenant compte de la règle empirique de 20: 1: un échantillon assez volumineux (N = 374) pour un total de 7 variables prédictives candidates.

Mon problème est le suivant: quel que soit le jeu de variables de prédiction que j'utilise, les classifications ne dépassent jamais une spécificité de 100% et une sensibilité de 0%. Bien que peu satisfaisant, cela pourrait en fait être le meilleur résultat possible, étant donné l'ensemble des variables prédictives candidates (à partir desquelles je ne peux pas dévier).

Mais, je ne pouvais pas m'empêcher de penser que je pouvais faire mieux, alors j'ai remarqué que les catégories de la variable dépendante étaient assez inégalement équilibrées, presque 4: 1. Un sous-échantillon plus équilibré pourrait-il améliorer les classifications?


5
Il est difficile d’imaginer ce que cela pourrait être. Vous réduisez peut-être la probabilité prévue à 0,5? Si c'est le cas, essayez de faire varier le seuil.
Aniko

4
L'aire sous la courbe ROC est de 0,585, un résultat plutôt médiocre. Cela implique qu'il n'y a pas vraiment de valeur limite lorsque le compromis spécificité / sensibilité en vaut la peine. Le fait de jouer avec le seuil n'améliorera pas beaucoup les classifications, car cela réduirait simplement la spécificité d'environ autant que cela augmenterait la sensibilité.
Michiel

3
Les coefficients des variables sont-ils significativement différents de (disons plus de cinq erreurs types)? Si ce n’est pas votre problème, il se peut que vous n’ayez tout simplement pas beaucoup de pouvoir explicatif avec votre ensemble de variables. 0
Probistislogic

2
Notez également que la taille de votre échantillon pour faire de bonnes prévisions correspond en réalité au nombre de modèles uniques dans la variable de prédiction, et non au nombre d'individus échantillonnés. Par exemple, un modèle avec une seule variable prédictive catégorielle à deux niveaux ne peut s’adapter qu’à un modèle de régression logistique à deux paramètres (un pour chaque catégorie), même s’il ya des millions de personnes dans l’échantillon.
Probistislogic

Réponses:


75

Équilibre dans le set d'entraînement

Pour les modèles de régression logistique, les données d'entraînement déséquilibrées n'affectent que l'estimation de l'interception de modèle (bien que cela fausse évidemment toutes les probabilités prédites, ce qui compromet vos prévisions). Heureusement, la correction de l'interception est simple: si vous connaissez ou pouvez deviner la proportion réelle de 0 et de 1 et connaissez les proportions dans l'ensemble d'entraînement, vous pouvez appliquer une correction d'événements rares à l'interception. Les détails sont dans King and Zeng (2001) [ PDF ].

Ces «corrections d'événements rares» ont été conçues pour les plans de recherche cas-témoins, principalement utilisés en épidémiologie, qui sélectionnent les cas en choisissant un nombre fixe et généralement équilibré de 0 cas et 1 cas, puis doivent corriger le biais de sélection de l'échantillon obtenu. En effet, vous pourriez former votre classificateur de la même manière. Choisissez un bon échantillon équilibré, puis corrigez l'interception pour tenir compte du fait que vous avez sélectionné la variable dépendante pour en savoir plus sur les classes plus rares qu'un échantillon aléatoire ne pourrait vous en dire.

Faire des prédictions

Sur un sujet connexe mais distinct: N'oubliez pas que vous devriez faire un calcul judicieux pour pouvoir faire des prédictions. Il n'est pas toujours préférable de prévoir 1 lorsque la probabilité du modèle est supérieure à 0,5. Un autre seuil peut être mieux. À cette fin, vous devriez examiner les courbes ROC (Receiver Operating Characteristic) de votre classificateur, et pas seulement son succès prédictif avec un seuil de probabilité par défaut.


8
Si vous ne connaissez pas les fréquences de classe opérationnelle, elles peuvent être estimées par EM sans connaître les étiquettes des échantillons de test / opérationnels. Les détails sont dans Saerens et al. "Ajuster les sorties d'un classificateur à de nouvelles probabilités a priori: une procédure simple", Neural Computation, vol. 14, non. 1, pages 21-41, 2002 ( dx.doi.org/10.1162/089976602753284446 ). Je l'ai utilisé plusieurs fois et j'ai été impressionné par son efficacité. Notez cependant que la correction théorique n’est pas normalement optimale et qu’elle est souvent préférable, par exemple, par validation croisée.
Dikran Marsupial le

Ouais, j'aurais dû mentionner que les résultats de la courbe ROC n'étaient pas convaincants également. Dans ce cas, je pense qu’aucun seuil ne donne des résultats satisfaisants.
Michiel

Concernant les prévisions: comment puis-je prendre en compte la taille de mon ensemble de formation pour les résultats 0 et 1? En effet, je ne veux pas utiliser le seuil de 0,5, mais je ne sais pas comment faire cela dans R.
Perlnika

1
@Perlnika Les détails se trouvent dans le lien papier (dans le cas le plus simple, vous modifiez l'interception estimée). Pour que le seuil ne soit pas égal à 0,5, obtenez simplement les probabilités prédites en utilisant predictet calculez si elles sont supérieures au nouveau seuil.
conjugateprior

1
@SassaNF Il est vrai qu'un décalage d'interception peut être compensé par un changement de seuil. Cependant, cela couple votre estimation de probabilité (inférence) au coût relatif des erreurs (fonction de perte), alors que cette dernière peut différer dans les applications. Par exemple, lorsque le coût d'une erreur de 1 pour un 0 équivaut à C fois le coût d'une erreur de 0 pour un 1, vous souhaitez définir un seuil de probabilité estimée de 1 / (1 + C).
conjugateprior

41

Le problème n’est pas que les classes soient déséquilibrées en soi, mais bien qu’il n’existe peut-être pas suffisamment de modèles appartenant à la classe minoritaire pour bien représenter sa répartition. Cela signifie que le problème peut survenir pour tout classificateur (même si vous avez un problème synthétique et que vous savez que vous avez le vrai modèle), pas seulement une régression logistique. La bonne chose est qu’au fur et à mesure que plus de données deviennent disponibles, le problème du «déséquilibre des classes» disparaît généralement. Cela dit, 4: 1 n’est pas tout à fait déséquilibré.

Si vous utilisez un ensemble de données équilibré, il est important de garder à l'esprit que la sortie du modèle est maintenant une estimation de la probabilité a posteriori, en supposant que les classes sont également communes, ce qui peut entraîner une distorsion excessive du modèle. Je pondérerais différemment les motifs appartenant à chaque classe et choisirais les poids en minimisant l'entropie croisée sur un ensemble de test avec les fréquences de classe opérationnelle correctes.


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

Pensez aux distributions sous-jacentes des deux échantillons. Avez-vous suffisamment d’échantillons pour mesurer les deux sous-populations sans trop de biais dans le plus petit échantillon?

Voir ici pour une explication plus longue.

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


5
Cela ne semble pas répondre à la question.
Michael Chernick

C'est parce qu'il n'y a pas de réponse définitive! Il s’agit de la façon dont vous l’appliquez et du degré de biais que vous êtes prêt à tolérer dans le processus d’estimation.
Paul Tulloch

1
Je pense que c'est une excellente réponse. Pour autant que je sache, toutes les tentatives pour corriger le déséquilibre reposent sur des connaissances externes non prises en compte dans l'expérience. En particulier, connaître la distribution sous-jacente aiderait les corrections.
user1700890
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.