La valeur R au carré est-elle appropriée pour comparer des modèles?

17

J'essaie d'identifier le meilleur modèle pour prédire les prix des automobiles, en utilisant les prix et les fonctionnalités disponibles sur les sites de petites annonces automobiles.

Pour cela, j'ai utilisé quelques modèles de la bibliothèque scikit-learn et des modèles de réseaux neuronaux de pybrain et de neurolab. L'approche que j'ai utilisée jusqu'à présent consiste à exécuter une quantité fixe de données à travers certains modèles (algorithmes d'apprentissage automatique) et à comparer les valeurs R2 qui ont été calculées avec le module de métriques scikit-learn.

  1. Est - R2 une bonne méthode pour comparer les performances des différents modèles?
  2. Bien que j'aie obtenu des résultats tout à fait acceptables pour des modèles tels que le filet élastique et les forêts aléatoires, j'ai obtenu de très faibles valeurs R2 pour les modèles de réseau neuronal, donc R2 une méthode appropriée pour évaluer les réseaux neuronaux (ou les méthodes non linéaires)?
Manik
la source
2
La réponse courte est non . Cela pourrait vous aider à lire ma réponse ici: Évaluation et comparaison de modèles pour sélectionner le meilleur modèle , qui est assez étroitement lié à votre question. Une solution candidate est décrite ici . Pour une compréhension plus générale, vous pouvez essayer de lire certains des fils du site classés sous la balise de sélection de modèle .
gung - Réintégrer Monica
@gung Merci! puis-je demander quelle serait une mesure appropriée de la qualité de l'ajustement pour la régression à l'aide de réseaux de neurones?
Manik

Réponses:

18

Je pense que la partie cruciale à considérer pour répondre à votre question est

J'essaie d'identifier le meilleur modèle pour prédire les prix des automobiles

car cette déclaration implique quelque chose sur la raison pour laquelle vous souhaitez utiliser le modèle. Le choix et l'évaluation du modèle doivent être basés sur ce que vous voulez réaliser avec vos valeurs ajustées.

Tout d' abord, permet de récapituler ce que faitR2 : Il calcule une mesure réduite en fonction de la fonction de perte quadratique, que je suis sûr que vous êtes déjà au courant. Pour voir cela, définir résiduel pour votre i-ème observation y i et la valeur correspondante équipée y i . En utilisant la notation pratique S S R : = N i = 1 e 2 i , S S T : = ei=yiy^iyiy^iSSR:=i=1Nei2,R2est simplement défini commeR2=1-SSR/SST.SST:=i=1N(yiy¯)2R2R2=1SSR/SST

Deuxièmement, voyons ce que l'utilisation de pour le choix / l'évaluation du modèle signifieR2 . Supposons que nous choisissions parmi un ensemble de prédictions qui ont été générées à l'aide d'un modèle M : M M , où M est la collection de modèles à l'étude (dans votre exemple, cette collection contiendrait des réseaux de neurones, des forêts aléatoires, des filets élastiques, ...). Étant donné que S S T reste constant entre tous les modèles, si minimiser R 2 , vous choisissez exactement le modèle qui minimise S S R . En d'autres termes, vous choisirezY¯MM:MMMSSTR2SSR qui produit la perte d'erreur quadratique minimale!MM

Troisièmement, considérons pourquoi R2 ou de manière équivalente, pourrait être intéressant pour le choix du modèle . Traditionnellement, la perte carrée ( norme L 2 ) est utilisée pour trois raisons: (1) Elle est plus facile à calculer que les écarts les moins absolus (LAD, la norme L 1 ) car aucune valeur absolue n'apparaît dans le calcul, (2) elle punit l'ajustement des valeurs qui sont bien plus éloignées de la valeur réelle que LAD (dans un sens carré plutôt que absolu) et garantit ainsi que nous avons des valeurs aberrantes moins extrêmes, (3) il est symétrique : surestimer ou sous-estimer le prix d'une voiture est considéré comme tout aussi mauvais.SSR L2L1

Quatrièmement (et dernier), voyons si c'est ce dont vous avez besoin pour vos prévisions. Le point qui pourrait être le plus intéressant ici est (3) du dernier paragraphe. Supposons que vous vouliez adopter une position neutre et que vous n'êtes ni acheteur ni vendeur d'une voiture. Ensuite, peut avoir un sens: vous êtes impartial et vous souhaitez punir les écarts de surévaluation ou de sous-évaluation exactement de la même manière. Il en va de même si vous souhaitez simplement modéliser la relation entre les quantités sans vouloir prédire des valeurs non observées. Supposons maintenant que vous travaillez pour un consommateur / acheteur avec un budget serré: dans cette situation, vous voudrez peut-être punir la surestimation du prix dans un sens quadratique, mais la sous-estimation dans un sens L p , où 1 pR2Lp . Pour p = 1 , vous punissez dans un sens de déviation absolue. Cela peut être considéré comme reflétant les objectifs et les intentions de l'acheteur, et biaiser l'estimation vers le bas pourrait l'intéresser. Inversement, vous pourriez inverser la pensée si vous modélisez les prévisions de prix pour le vendeur. Il va sans dire que toute norme L p pourrait être choisie pour refléter les préférences du modélisateur / de l'agent que vous modélisez. Vous pouvez également punirentièrement endehors de lanorme L p et utiliser une perte constante, exponentielle ou logarithmique d'un côté et une perte différente de l'autre.1p<2p=1LpLp

En résumé, le choix / l'évaluation du modèle ne peut pas être considéré indépendamment de l'objectif du modèle.

Jeremias K
la source