Stratégie de gestion de la régression logistique des événements rares

27

Je voudrais étudier des événements rares dans une population finie. Étant donné que je ne sais pas quelle stratégie est la mieux adaptée, j'apprécierais les conseils et les références liés à cette question, bien que je sache bien qu'elle a été largement couverte. Je ne sais pas vraiment par où commencer.

Mon problème est des sciences politiques et j'ai une population finie comprenant 515 843 enregistrements. Ils sont associés à une variable dépendante binaire avec 513 334 "0" s et 2 509 "1" s. Je peux inventer mes "1" comme des événements rares car ils ne représentent que 0,49% de la population.

J'ai un ensemble d'une dizaine de variables indépendantes avec lesquelles j'aimerais construire un modèle pour expliquer la présence de "1". Comme beaucoup d'entre nous, j'ai lu l'article de King & Zeng de 2001 sur la correction d'événements rares. Leur approche consistait à utiliser une conception cas-témoins pour réduire le nombre de «0», puis à appliquer une correction à l'interception.

Cependant, ce post dit que l'argument de King & Zeng n'était pas nécessaire si j'avais déjà collecté mes données sur l'ensemble de la population, ce qui est mon cas. Par conséquent, je dois utiliser le modèle logit classique. Malheureusement pour moi, bien que j'obtienne de bons coefficients significatifs, mon modèle est totalement inutile en termes de prédiction (ne parvient pas à prédire 99,48% de mes "1").

Après avoir lu l'article de King & Zeng, je voulais essayer une conception cas-témoins et sélectionner seulement 10% des "0" avec tous les "1". Avec presque les mêmes coefficients, le modèle a pu prédire près d'un tiers des «1» lorsqu'il était appliqué à l'ensemble de la population. Bien sûr, il y a beaucoup de faux positifs.

J'ai donc trois questions que je voudrais vous poser:

1) Si l'approche de King & Zeng est préjudiciable lorsque vous avez une connaissance complète de la population, pourquoi utilisent-ils une situation dans laquelle ils connaissent la population dans leur article pour prouver leur point de vue?

2) Si j'ai des coefficients bons et significatifs dans une régression logit, mais un pouvoir prédictif très faible, cela signifie-t-il que la variation expliquée par ces variables n'a pas de sens?

3) Quelle est la meilleure approche pour faire face aux événements rares? J'ai lu sur le modèle de relogit de King, l'approche de Firth, le logit exact, etc. Je dois avouer que je suis perdu parmi toutes ces solutions.

Damien
la source
Le nombre semble familier ... par hasard un ensemble de données sur les conflits ethniques? Si c'est le cas, c'est une série chronologique - J'ai utilisé un modèle de survie avec grand succès dans une étude sur les conflits ethniques ...
Christian Sauer
Assez proche. Il s'agit d'un ensemble de données sur l'emplacement des événements de conflit en Afrique. Cependant, j'étudie l'emplacement de ces événements sans tenir compte du temps.
Damien
1
Ah, beaucoup de mes cas venaient d'Afrique, car les conflits ethniques y sévissent. Avez-vous une étude géographique? Serait-ce un énorme problème de tenir compte du temps? Je l'ai trouvé vraiment utile, notamment parce que certaines variables changent avec le temps (système politique, guerre froide, etc.)
Christian Sauer
J'utilise l'ensemble de données GED de l'UCDP qui couvre la période 1989-2010. Je m'intéresse aux facteurs géographiques qui peuvent jouer un rôle dans la localisation des événements de conflit. Les variations de temps ont certes beaucoup à dire, mais les réponses aux questions sont différentes. De plus, plusieurs de mes variables indépendantes ne sont pas disponibles pour différentes périodes (couverture terrestre) ou n'ont pas changé du tout (topographie)
Damien
1
"(ne parvient pas à prédire 99,48% de mes" 1 ")." cela semble que vous utilisez une règle de coupure arbitraire [par exemple 0,5!] pour classer, alors que l'idée de régression logistique est que la sortie est une probabilité - c'est à vous de décider du seuil pour équilibrer les faux positifs / négatifs
seanv507

Réponses:

17

(1) Si vous avez "une connaissance complète d'une population", pourquoi avez-vous besoin d'un modèle pour faire des prédictions? Je suppose que vous les considérez implicitement comme un échantillon d'une hypothétique super-population - voir ici et ici . Devriez-vous donc jeter les observations de votre échantillon? Non, King et Zeng ne préconisent pas cela:

[...] dans des domaines comme les relations internationales, le nombre de 1 observables (comme les guerres) est strictement limité, donc dans la plupart des applications, il est préférable de collecter tous les 1 disponibles ou un large échantillon d'entre eux. La seule vraie décision est alors le nombre de 0 à collecter également. Si la collecte de 0 est gratuite, nous devons en collecter autant que possible, car plus de données sont toujours meilleures.

Je pense que la situation dont vous parlez est l'exemple «Sélection de dans les données de règlement des différends entre États militarisés». K. & Z. utilisez-le pour bien prouver leur point de vue: dans cet exemple, si un chercheur avait tenté d'économiser en collectant tous les 1 et une proportion des 0, leurs estimations seraient similaires à celles qui avaient échantillonné tous les 1 et 0 disponibles. Sinon, comment pourriez-vous illustrer cela?Y

(2) Le principal problème ici est l'utilisation d'une règle de notation incorrecte pour évaluer les performances prédictives de votre modèle. Supposons que votre modèle soit vrai , de sorte que pour tout individu vous connaissiez la probabilité d'un événement rare - par exemple, être mordu par un serpent au cours du mois suivant. Qu'apprenez-vous de plus en stipulant un seuil de probabilité arbitraire et en prédisant que ceux au-dessus seront mordus et ceux en dessous ne le seront pas? Si vous coupez à 50%, vous prédirez probablement que personne ne sera mordu. Si vous le faites assez bas, vous pouvez prédire que tout le monde sera mordu. Et alors? L'application judicieuse d'un modèle nécessite une discrimination - à qui devrait-on donner le seul flacon d'anti-venin? - ou une calibration - pour qui vaut-il la peine d'acheter des bottes, compte tenu de leur coût par rapport à celui d'une morsure de serpent?.

Scortchi - Réintégrer Monica
la source
Merci pour votre réponse. Concernant (1), serait-il plus approprié de parler d'un échantillon des observations que nous connaissons jusqu'à présent pour expliquer la possibilité d'événements futurs? Concernant (2), j'ai passé un moment à essayer de comprendre ce qu'est une règle de notation. Si je comprends bien l'article de Wikipédia, je devrais faire varier la fonction de notation selon différentes valeurs de probabilité pour lesquelles l'événement devrait se produire, puis choisir comme valeur seuil la probabilité qui a obtenu le score le plus élevé. Si je choisis la règle de notation logarithmique, comment suis-je censé implémenter la valeur attendue?
Damien
1
(1) Oui, en imaginant qu'ils sont échantillonnés à partir d'une population dont les événements futurs seront tirés. (2) Oubliez les coupures. La zone située sous la courbe caractéristique de fonctionnement du récepteur est utile pour évaluer la discrimination pure; pour les performances globales, utilisez une métrique qui tient compte de l'ampleur de la différence entre les prédictions et les résultats - par exemple, les scores de Brier (quadratique) ou le de Nagelkerke (logarithmique). R2
Scortchi - Réintégrer Monica
@Scortchi; recommanderiez-vous ou non d'utiliser la régression logistique pour le nombre d'observations / cas comme dans les opérations (disons avec ~ 10 prédicteurs continus), si une probabilité d'un cas est requise, qui semble être sous-estimée? merci
user2957945
3

À un certain niveau, je me demande quelle part de l'inexactitude de votre modèle est simplement que votre processus est difficile à prévoir et que vos variables ne sont pas suffisantes pour le faire. Y a-t-il d'autres variables qui pourraient expliquer davantage?

D'un autre côté, si vous pouvez convertir votre variable dépendante en un problème de comptage / ordinale (comme les victimes d'un conflit ou la durée d'un conflit), vous pouvez essayer des modèles de régression du compte gonflés à zéro ou d'obstacles. Celles-ci pourraient avoir le même problème de mauvaise définition entre 0 et 1, mais certains conflits avec lesquels vos variables sont corrélées pourraient s'écarter de zéro.

gregmacfarlane
la source
4
(+1) Bonnes suggestions. Je voudrais cependant insister sur le fait que «l'inexactitude» du modèle est simplement un échec à prédire de nombreuses probabilités supérieures à 50%. Si les "1" ont généralement des probabilités prédites de 10% à 40%, contre un peu moins de 0,5% pour les "0" - cela serait considéré comme une forte performance prédictive dans de nombreuses applications.
Scortchi - Réintégrer Monica
2

En plus de sous-échantillonner la population majoritaire, vous pouvez également suréchantillonner les événements rares, mais sachez que le suréchantillonnage de la classe minoritaire peut conduire à un sur-ajustement, alors vérifiez bien les choses.

Ce document peut donner plus d'informations à ce sujet: Yap, Bee Wah, et al. "Une application du suréchantillonnage, du sous-échantillonnage, de l'ensachage et du renforcement dans la gestion des ensembles de données déséquilibrés." pdf

Aussi, je voudrais lier cette question car elle traite également du même problème

Alexey Grigorev
la source
0

Votre question se résume à comment puis-je amadouer la régression logit pour trouver une meilleure solution. Mais êtes-vous même sûr qu'une meilleure solution existe? Avec seulement dix paramètres, avez-vous pu trouver une meilleure solution?

J'essaierais un modèle plus compliqué en ajoutant par exemple des termes de produit à l'entrée ou en ajoutant une couche max-out du côté cible (de sorte que vous avez essentiellement plusieurs régresseurs logistiques pour divers sous-ensembles de cibles 1 découverts de manière adaptative).

Neil G
la source
Merci pour votre réponse. Je vais certainement essayer de combiner mes variables de différentes manières. Mais avant, je veux savoir si les mauvaises performances de mon modèle proviennent de problèmes techniques ou d'ailleurs
Damien
-1

Grande question.

À mon avis, la question est de savoir si vous essayez de faire de l'inférence (êtes-vous intéressé par ce que vos coefficients vous disent?) Ou de la prédiction. Dans ce dernier cas, vous pouvez emprunter des modèles de Machine Learning (BART, randomForest, arbres boostés, etc.) qui feront presque certainement un meilleur travail de prédiction que logit. Si vous faites de l'inférence et que vous avez tellement de points de données, essayez d'inclure des termes d'interaction sensible, des termes polynomiaux, etc. Vous pouvez également faire de l'inférence à partir de BART, comme dans cet article:

http://artsandsciences.sc.edu/people/kernh/publications/Green%20and%20Kern%20BART.pdf

J'ai récemment travaillé sur des événements rares et je n'avais aucune idée à l'avance de la quantité de cas rares pouvant affecter l'analyse. Le sous-échantillonnage des 0 cas est un must. Une stratégie pour trouver la proportion idéale de sous-échantillon serait

  1. Prenez tous vos 1, disons que vous en avez n1.
  2. Définissez une valeur z = multiple du n1 que vous dessinerez; peut-être commencer à 5 et réduire à 1.
  3. dessiner z * n1 0 observations
  4. Estimez votre modèle sur un échantillon de vos données de sous-ensemble, en vous assurant que vous effectuez une validation croisée sur l'ensemble de données
  5. Enregistrez les mesures d'ajustement pertinentes qui vous intéressent: coefficients d'intérêt, ASC d'une courbe ROC, valeurs pertinentes dans une matrice de confusion, etc.
  6. Répétez les étapes 2: 5 pour des z successivement plus petits. Vous constaterez probablement que lorsque vous sous-échantillonnez, le rapport faux négatif / faux positif (dans votre ensemble de tests) diminue. Autrement dit, vous commencerez à prédire plus de 1, espérons-le, ce sont vraiment des 1, mais aussi beaucoup de 0. S'il y a un point de selle dans cette mauvaise classification, alors ce serait un bon rapport de sous-échantillonnage.

J'espère que cela t'aides. JS

Jim
la source
1
(-1) Pas besoin de sous-échantillonner pour la régression logistique. Voir ici ; la sélection sur la réponse ne modifie que l'interception attendue, donc le sous-échantillonnage ne fait que réduire la précision des rapports de cotes estimés. La régression logistique vous donne des probabilités prédites, que vous pouvez utiliser pour classer en utilisant des seuils calculés pour prendre en compte les coûts de différents types de mauvaise classification, ou utiliser pour classer les individus, ou être intéressé par leur propre droit.
Scortchi - Réintégrer Monica
Vous remarquerez que je n'ai pas mentionné l'utilisation de la régression logistique et que j'ai suggéré à la place qu'il existe des méthodes (comme le BART sous-échantillonnées) qui sont probablement plus appropriées pour les cas rares.
Jim
La question porte sur la régression logistique, et s'il faut sous-échantillonner en le faisant, et vous semblez discuter de la régression logistique lorsque vous écrivez sur "y compris les termes d'interaction sensible, les termes polynomiaux"; il n'est donc pas clair que vos conseils sur le sous-échantillonnage sont uniquement destinés à être utilisés avec des méthodes alternatives: vous pourriez peut-être envisager de modifier votre réponse pour la rendre claire.
Scortchi - Réintégrer Monica