Comment concevoir et mettre en œuvre une fonction de perte asymétrique pour la régression?

24

Problème

En régression, on calcule généralement l' erreur quadratique moyenne (MSE) pour un échantillon: pour mesurer la qualité d'un prédicteur.

MSE=1ni=1n(g(xi)g^(xi))2

En ce moment, je travaille sur un problème de régression où l'objectif est de prédire le prix que les clients sont prêts à payer pour un produit compte tenu d'un certain nombre de fonctionnalités numériques. Si le prix prévu est trop élevé, aucun client n'achètera le produit, mais la perte monétaire est faible car le prix peut simplement être décrémenté. Bien sûr, il ne doit pas être trop élevé car le produit peut ne pas être acheté pendant longtemps. En revanche si le prix prévu est trop bas, le produit sera acheté rapidement sans possibilité d'ajuster le prix.

En d'autres termes, l'algorithme d'apprentissage devrait prévoir des prix légèrement plus élevés qui peuvent être décrémentés si nécessaire plutôt que de sous-estimer le prix réel, ce qui entraînera une perte monétaire immédiate.

Question

Comment concevriez-vous une mesure d'erreur intégrant cette asymétrie de coût?


Solution possible

Une façon de définir une fonction de perte asymétrique serait de simplement multiplier par un poids: avec étant le paramètre que nous pouvons ajuster pour changer le degré d'asymétrie. Je l'ai trouvé ici . Cela semble être la chose la plus simple à faire, tout en maintenant la perte quadratique.

1ni=1n|α1(g(xi)g^(xi))<0|(g(xi)g^(xi))2
α(0,1)
Kiudee
la source
1
@MichaelChernick, FTR, je pense que c'est une bonne question, qui a été formulée clairement et de manière cohérente, et je reconnais que je suis un peu difficile. Ce que je veux dire, c'est (comme vous le savez) que l'ajustement d'une régression (c'est-à-dire la résolution de ) se fait (par défaut) en minimisant la fonction de perte OLS , SSE. Vous avez raison de dire que MSE pourrait être utilisé de manière équivalente b / c en divisant par une constante n'affectera pas l'ordre des bêtas candidats. β
gung - Réintégrer Monica
1
Un autre fait est que MSE (plus souvent RMSE) est souvent utilisé pour évaluer la qualité d'un modèle ajusté (bien que, encore une fois, SSE puisse être utilisé de manière équivalente). Le fait est que cette question me semble (de toute façon) être de savoir comment penser / repenser la fonction de perte , de sorte que les bêtas ajustés sont différents de ce qu'ils auraient été par défaut, plutôt que de savoir comment penser différemment la qualité d'un modèle qui a déjà été adapté.
gung - Réintégrer Monica
1
@Kiudee, si mon interprétation de votre Q est correcte, que penseriez-vous de la modifier pour ajouter la balise loss-functions , et éventuellement de réviser le titre en quelque chose comme: "Comment concevoir et implémenter une fonction de perte asymétrique pour la régression"? Je ne ferai pas les modifications moi-même au cas où vous ne seriez pas d'accord avec eux.
gung - Rétablir Monica
2
Pour référence, j'ai vu une régression quantile suggérée lorsque vous voulez des fonctions de perte asymétrique, voir Berk, 2011 , PDF ici .
Andy W
1
Comme j'utilise une variété d'algorithmes d'apprentissage pour résoudre ce problème, la fonction doit être différenciable au moins une fois.
Kiudee

Réponses:

7

Comme mentionné dans les commentaires ci-dessus, la régression quantile utilise une fonction de perte asymétrique (linéaire mais avec des pentes différentes pour les erreurs positives et négatives). L'analogue quadratique (perte au carré) de la régression quantile est la régression expectile.

Vous pouvez google régression quantile pour les références. Pour la régression des attentes, voir le package R expectreg et les références dans le manuel de référence.

Innuo
la source
2

Ce genre de pondération inégale se fait souvent dans les problèmes de classification avec deux classes. La règle de Bayes peut être modifiée à l'aide d'une fonction de perte qui pondère la perte plus haut pour une erreur que pour l'autre. Cela conduira à une règle qui produit des taux d'erreur inégaux.

En régression, il serait certainement possible de construire une fonction de pondération telle qu'une somme pondérée de carrés qui donnera un certain poids aux erreurs négatives et un poids plus élevé aux erreurs positives. Ce serait semblable au moindre carré pondéré mais un peu différent parce que les moindres carrés pondérés sont destinés aux problèmes où la variance d'erreur n'est pas constante sur l'espace des valeurs possibles pour les variables prédictives. Dans ce cas, les poids sont plus élevés pour les points où la variance d'erreur est connue pour être petite et plus élevés lorsque la variance d'erreur est connue pour être grande. Bien sûr, cela conduira à des valeurs pour les paramètres de régression différentes de celles que OLS vous donnerait.

Michael R. Chernick
la source