J'ai un modèle de régression logistique (ajustement via glmnet en R avec régularisation nette élastique), et je voudrais maximiser la différence entre les vrais positifs et les faux positifs. Pour ce faire, la procédure suivante est venue à l'esprit:
- Ajuster le modèle de régression logistique standard
- En utilisant un seuil de prédiction égal à 0,5, identifiez toutes les prédictions positives
- Attribuer un poids 1 pour les observations à prédiction positive, 0 pour toutes les autres
- Ajuster le modèle de régression logistique pondéré
Quels seraient les défauts de cette approche? Quelle serait la bonne façon de résoudre ce problème?
La raison de vouloir maximiser la différence entre le nombre de vrais positifs et de faux négatifs est due à la conception de mon application. Dans le cadre d'un projet de classe, je construis un participant autonome sur un marché en ligne - si mon modèle prédit qu'il peut acheter quelque chose et le vendre plus tard à un prix plus élevé, il fait une offre. Je voudrais m'en tenir à la régression logistique et aux résultats binaires de sortie (gagner, perdre) en fonction des coûts fixes et des augmentations de prix unitaires (je gagne ou perd le même montant à chaque transaction). Un faux positif me fait mal car cela signifie que j'achète quelque chose et que je ne peux pas le vendre à un prix plus élevé. Cependant, un faux négatif ne me fait pas de mal (uniquement en termes de coût d'opportunité) car cela signifie simplement que si je n'ai pas acheté, mais si je l'avais fait, j'aurais gagné de l'argent. De même,
Je suis d'accord que le seuil de 0,5 est complètement arbitraire, et lorsque j'ai optimisé le modèle de l'étape 1 sur le seuil de prédiction qui donne la différence la plus élevée entre les vrais / faux positifs, il se révèle plus proche de 0,4. Je pense que cela est dû à la nature asymétrique de mes données - le rapport entre les négatifs et les positifs est d'environ 1: 3.
En ce moment, je suis les étapes suivantes:
- Fractionner les données en formation / test
- Adapter le modèle à l'entraînement, faire des prédictions dans l'ensemble de tests et calculer la différence entre les vrais / faux positifs
- Ajuster le modèle au maximum, faire des prédictions dans l'ensemble de test et calculer la différence entre les vrais / faux positifs
La différence entre les vrais / faux positifs est plus petite à l'étape # 3 qu'à l'étape # 2, bien que l'ensemble d'apprentissage soit un sous-ensemble de l'ensemble complet. Puisque je me fiche que le modèle du n ° 3 ait plus de vrais négatifs et moins de faux négatifs, puis-je faire quoi que ce soit sans altérer la fonction de vraisemblance elle-même?