Je construis un modèle de propension utilisant la régression logistique pour un client de service public. Ce qui m'inquiète, c'est que sur l'échantillon total, mes «mauvais» comptes ne représentent que 5%, et le reste est bon. Je prédit «mauvais».
- Le résultat sera-t-il biaisé?
- Quelle est la «proportion mauvaise à bonne» optimale pour construire un bon modèle?
Réponses:
Je n'étais pas d'accord avec les autres réponses dans les commentaires, il est donc juste que je donne les miennes. Soit la réponse (bons / mauvais comptes) et les covariables.XOui X
Pour la régression logistique, le modèle est le suivant:
Pensez à la façon dont les données pourraient être collectées:
Ces deux éléments sont d' accord pour le modèle ci - dessus, vous ne modélisation de la distribution de . Celles-ci seraient appelées une étude prospective .Oui| X
Alternativement:
(Vous pouvez également sélectionner les données en fonction de et de certaines variables de : il s'agirait d'une étude cas-témoins stratifiée, et il est beaucoup plus compliqué de travailler avec, donc je ne vais pas y entrer ici).XOui X
L'épidémiologie a donné un bon résultat (voir Prentice et Pyke (1979) ) pour une étude cas-témoins, les estimations de la probabilité maximale pour peuvent être trouvées par régression logistique, c'est-à-dire en utilisant le modèle prospectif pour les données rétrospectives.β
Alors, comment est-ce pertinent pour votre problème?
Eh bien, cela signifie que si vous êtes en mesure de collecter plus de données, vous pouvez simplement regarder les mauvais comptes et toujours utiliser la régression logistique pour estimer les (mais vous devrez ajuster le pour tenir compte de la sur- représentation). Supposons que cela coûte 1 $ pour chaque compte supplémentaire, alors cela pourrait être plus rentable que de simplement regarder tous les comptes. αβje α
Mais d'un autre côté, si vous avez déjà TOUTES les données possibles, il n'y a pas de raison de stratifier: vous jeteriez simplement des données (donnant de moins bonnes estimations), et vous vous retrouvez avec le problème d'essayer d'estimer .α
la source
De manière asymptotique, le rapport entre les modèles positifs et négatifs est essentiellement hors de propos. Le problème se pose principalement lorsque vous avez trop peu d'échantillons de la classe minoritaire pour décrire correctement sa distribution statistique. L'agrandissement de l'ensemble de données résout généralement le problème (lorsque cela est possible).
Si cela n'est pas possible, la meilleure chose à faire est de rééchantillonner les données pour obtenir un ensemble de données équilibré, puis d'appliquer un ajustement multiplicatif à la sortie du classificateur pour compenser la différence entre l'ensemble d'entraînement et les fréquences de classe relative opérationnelles. Bien que vous puissiez calculer le facteur d'ajustement optimal (asymptotiquement), en pratique, il est préférable d'ajuster l'ajustement en utilisant la validation croisée (car nous avons affaire à un cas pratique fini plutôt qu'à un cas asymptotique).
Dans ce genre de situation, j'utilise souvent un comité de modèles, où chacun est formé sur tous les modèles minoritaires et un échantillon aléatoire différent des modèles majoritaires de la même taille que les modèles minoritaires. Cela protège contre la malchance dans la sélection d'un seul sous-ensemble des motifs majoritaires.
la source
En théorie, vous pourrez mieux distinguer si les proportions de «bon» et de «mauvais» sont à peu près de taille similaire. Vous pourrez peut-être vous rapprocher de cet objectif en procédant à un échantillonnage stratifié, en suréchantillonnant les mauvais cas, puis en repondérant pour revenir ultérieurement aux proportions réelles.
Cela comporte certains risques. En particulier, votre modèle est susceptible d'étiqueter les individus comme "potentiellement mauvais" - probablement ceux qui ne paient pas leurs factures de services publics à l'échéance. Il est important que l'impact des erreurs lors de cette opération soit correctement reconnu: en particulier, combien de «bons clients» seront étiquetés «potentiellement mauvais» par le modèle, et vous êtes moins susceptible de vous tromper de repondération si vous n'avez pas déformé votre modèle par échantillonnage stratifié.
la source
Il existe de nombreuses façons de penser aux régressions logistiques. Ma façon préférée est de penser que votre variable de réponse, , suit une distribution de Bernoulli avec une probabilité . Un , à son tour, est fonction de certains prédicteurs. Plus formellement:p i p iyi pi pi
p i = logit - 1 ( a + b 1 x 1 + . . . + b n x n ) logit - 1 = exp ( X )
Maintenant, est-ce important que vous ayez une faible proportion d'échecs (mauvais comptes)? Pas vraiment, tant que vos données d'échantillonnage sont équilibrées, comme certaines personnes l'ont déjà souligné. Cependant, si vos données ne sont pas équilibrées, obtenir plus de données peut être presque inutile s'il y a des effets de sélection dont vous ne tenez pas compte. Dans ce cas, vous devez utiliser la correspondance, mais le manque d'équilibre peut rendre la correspondance assez inutile. Une autre stratégie consiste à essayer de trouver une expérience naturelle, vous pouvez donc utiliser une conception de variable instrumentale ou de régression de la discontinuité.
Enfin et surtout, si vous avez un échantillon équilibré ou s'il n'y a pas de biais de sélection, vous pouvez être inquiet du fait que le mauvais compte est rare. Je ne pense pas que 5% soit rare, mais juste au cas où, jetez un œil au document de Gary King sur la gestion d'une logistique d'événements rares. Dans le package Zelig, en R, vous pouvez exécuter une logistique événementielle rare.
la source
Bon alors je travaille dans la détection des fraudes donc ce genre de problème n'est pas nouveau pour moi. Je pense que la communauté du machine learning a beaucoup à dire sur les données déséquilibrées (comme dans les classes sont déséquilibrées). Il y a donc deux ou trois stratégies faciles à mettre en œuvre qui, je pense, ont déjà été mentionnées, et deux ou trois idées intéressantes, et quelque part là-bas. Je ne vais même pas prétendre savoir ce que cela signifie pour les asymptotiques de votre problème, mais cela semble toujours me donner des résultats raisonnables en régression logistique. Il y a peut-être un papier quelque part, pas sûr cependant.
Voici vos options telles que je les vois:
Quoi qu'il en soit, j'ai utilisé toutes ces méthodes, mais je trouve que la plus simple est de simplement pondérer de nouveau le problème de la régression logistique. Une chose que vous pouvez faire pour vérifier votre modèle est de prendre:
-Intercept/beta
Cela devrait être la frontière de décision (50% de probabilité d'être dans l'une ou l'autre classe) sur une variable ceteris paribus donnée . Si cela n'a pas de sens, par exemple, la limite de décision est un nombre négatif sur une variable strictement positive, alors vous avez un biais dans votre régression logistique qui doit être corrigé.
la source