Informations

Comment ajuster SSE ou RMSE pour le nombre de paramètres libres dans le modèle ?

Comment ajuster SSE ou RMSE pour le nombre de paramètres libres dans le modèle ?


We are searching data for your request:

Forums and discussions:
Manuals and reference books:
Data from registers:
Wait the end of the search in all databases.
Upon completion, a link will appear to access the found materials.

Comment ajuster SSE (somme des erreurs au carré) ou RMSE (erreurs quadratiques moyennes) pour le nombre de paramètres libres dans le modèle ?

Existe-t-il une métrique RMSD « ajustée » similaire à la métrique r au carré ajustée ?


A ma connaissance, il n'y a pas de RMSD ajusté.

RMSD, contrairement à $R^2$, n'est généralement pas utilisé pour comparer des modèles dans la littérature. $R^2$ représente la proportion de variance expliquée par le modèle, une construction qui se traduit bien dans différents modèles expérimentaux. Ajusté $R^2$ déforme cela en prenant en compte le nombre de paramètres dans votre modèle, mais il s'agit d'une meilleure estimation de la proportion de variance dans le population expliqué par votre modèle.

RMSD est dans toutes les unités que vous utilisez. Il doit être interprété par rapport à une référence pour ce que vous pensez qu'un bon modèle devrait être, ou tout ce qui a été considéré comme un "taux d'erreur acceptable". Il n'est pas clair pour moi que l'ajustement du nombre de paramètres dans RMSD fournirait un nombre intrinsèquement significatif, mais je ne suis pas sûr que cela soit vrai.

Si vous souhaitez sélectionner parmi plusieurs modèles candidats, vous pouvez calculer l'AIC (Akaike Information Criterion) ou le BIC (Bayesian Information Criterion), qui tentent tous deux de maximiser la probabilité de votre modèle tout en minimisant le nombre de paramètres. Les deux métriques sont couramment utilisées dans la modélisation cognitive, et je pense que c'est peut-être ce que vous recherchez.

Bien que je pense que cette question est d'actualité ici, vous obtiendrez probablement de meilleures réponses sur stats.stackexchange.com (comme le souligne Jeromy) car votre question n'est pas vraiment spécifique à cognitif la modélisation.


Il existe au moins 3 façons de déduire le SSE (ou le RMSE) en fonction du nombre de paramètres gratuits :

$$ ext{RMSE ajusté} = sqrt{frac{SSE}{n - k}} $$

$$ AIC = n imes lnleft(frac{SSE}{n} ight) - k imes ln(n) $$

$$ BIC = n imes lnleft(frac{SSE}{n} ight) - 2 imes k $$

ou dans le style de code informatique :

k = nombre de paramètres libres n = nombre de DV's SSE = somme des erreurs au carré ajusté RMSE = sqrt ( SSE / n - k ) AIC = n * ln(SSE/n) - k * ln(n) BIC = n * ln (SSE/n) - 2 * k

Matrice de confusion :

Cette matrice représente la précision du modèle. Une matrice de confusion est une matrice N X N, où N est le nombre de classes prédites. Prenons un exemple de problème à deux classes pour la société de carte de crédit qui souhaite détecter la fraude à l'aide de l'algorithme que vous devez construire. Les deux classes possibles seraient soit sa Fraude ou Pas de fraude transaction.

Ici,
Vrai Positif (TP)= 1 c'est-à-dire réel Fraude et aussi prédit Fraude
Faux positif (FP)
= 1 c'est-à-dire réel Pas de fraude mais prédit Fraude
Faux négatif (FN) = 2 c'est-à-dire réel Fraude mais prédit Pas de fraude
Vrai négatif (TN)
= 996 c'est-à-dire réel Pas de fraude et prédit Pas de fraude

La précision du modèle est donnée par
précision = (TP+TN) / (TP+TN+FP+FN)
Dans la matrice ci-dessus, nous avons calculé la proportion de vrais positifs et de vrais négatifs dans tous les cas évalués.


10.5 Interprétation des caractéristiques

Malheureusement, en raison du processus d'ensachage, les modèles qui sont normalement perçus comme interprétables ne le sont plus. Cependant, nous pouvons toujours faire des inférences sur la façon dont les caractéristiques influencent notre modèle. Rappelons à la section 9.6 que nous mesurons l'importance des caractéristiques sur la base de la somme de la réduction de la fonction de perte (par exemple, SSE) attribuée à chaque variable à chaque division dans un arbre donné.

Pour les arbres de décision ensachés, ce processus est similaire. Pour chaque arbre, nous calculons la somme de la réduction de la fonction de perte sur toutes les divisions. Nous agrégeons ensuite cette mesure sur tous les arbres pour chaque caractéristique. Les caractéristiques présentant la plus forte diminution moyenne de l'ESS (pour la régression) sont considérées comme les plus importantes. Malheureusement, le ipred package ne capture pas les informations requises pour le calcul de l'importance des variables, mais le caret paquet fait. Dans le morceau de code ci-dessous, nous utilisons VIP pour construire un graphique d'importance variable (VIP) des 40 principales caractéristiques du modèle ames_bag2.

Avec un seul arbre de décision, nous avons vu que de nombreuses fonctionnalités non informatives n'étaient pas utilisées dans l'arbre. Cependant, avec le bagging, puisque nous utilisons de nombreux arbres construits sur des échantillons bootstrap, nous verrons probablement beaucoup plus de fonctionnalités utilisées pour les divisions. Par conséquent, nous avons tendance à avoir beaucoup plus de fonctionnalités impliquées, mais avec des niveaux d'importance inférieurs.

Figure 10.4 : Importance variable pour 200 arbres ensachés pour les données d'Ames Housing.

Comprendre la relation entre une caractéristique et la réponse prévue pour les modèles ensachés suit la même procédure que celle que nous avons vue dans les chapitres précédents. Les PDP nous indiquent visuellement comment chaque caractéristique influence la sortie prévue, en moyenne. Bien que l'effet de moyenne du bagging diminue la capacité à interpréter l'ensemble final, les PDP et d'autres méthodes d'interprétabilité (chapitre 16) nous aident à interpréter tout modèle de « boîte noire ». La figure 10.5 met en évidence les relations uniques, et parfois non linéaires, non monotones qui peuvent exister entre une caractéristique et une réponse.

Figure 10.5 : Diagrammes de dépendance partielle pour comprendre la relation entre le prix de vente et les caractéristiques de la superficie du terrain et de la taille de la façade.


3.13.2. Sensibilité de l'ensemble de données¶

Les ensembles de données qui nécessitent un grand nombre de tâches pour l'évaluation seront généralement le goulot d'étranglement de chaque optimisation des paramètres. Cette classe offre la possibilité d'estimer la diversité d'un ensemble avant le processus d'ajustement. Cela se fait en évaluant plusieurs sous-ensembles plus petits et tirés au hasard de l'ensemble d'origine et en rapportant la valeur de leur fonction de perte. Les valeurs peuvent ensuite être comparées à la perte de l'ensemble de données complet.

Un exemple où cela peut être utile est lorsque les ensembles de données sont quelque peu homogènes. Dans de tels cas, il peut être utile de rechercher un sous-ensemble plus petit avant l'apprentissage, réduisant ainsi le temps d'optimisation. Un sous-ensemble plus petit est un compromis entre la taille et l'erreur dans la valeur de la fonction de perte par rapport à l'ensemble d'origine. La classe SubsetScan peut être utilisée comme aide dans de tels cas.

En supposant une instance ds d'ensemble de données avec référence, une collection de tâches jc pouvant être utilisée pour générer les résultats nécessaires à l'évaluation de notre ensemble de données et une interface de paramètre x est définie :

Si un dictionnaire de résultats de JobCollection.run a déjà été calculé et est disponible, MinJobSearch peut également être instancié sans collection de travaux et interface de paramètres :

La figure résultante pourrait ressembler à la suivante,

dans ce cas, soulignant que la réduction à un sous-ensemble de 10 000 emplois entraînerait une erreur relative inférieure à 5 % par rapport à l'évaluation de l'ensemble de données complet.

Notez que cet exemple a été créé sur un ensemble de données avec une seule propriété et des poids égaux pour chaque entrée. Les applications réelles peuvent ne pas aboutir à un comportement aussi homogène.

classer SubsetScan ( ensemble de données : scm.params.core.dataset.DataSet, jobcollection : scm.params.core.jobcollection.JobCollection = Aucun, par_interface=Aucun, resultsdict : Dict = Aucun, travailleurs : entier = Aucun, use_pipe=Vrai, perte='rmse' ) ¶

Cette classe aide dans le processus d'identification de la sensibilité d'un ensemble de données au nombre total d'emplois en évaluant consécutivement des sous-ensembles plus petits tirés au hasard. Les valeurs de perte résultantes peuvent être comparées à celles de l'ensemble de données complet pour déterminer l'homogénéité et aider à la réduction de la taille ou à la diversification de l'ensemble (voir la documentation pour des exemples).

__init__ ( ensemble de données : scm.params.core.dataset.DataSet, jobcollection : scm.params.core.jobcollection.JobCollection = Aucun, par_interface=Aucun, resultsdict : Dict = Aucun, travailleurs : entier = Aucun, use_pipe=Vrai, perte='rmse' ) ¶

Initialisez une nouvelle instance de recherche.

Paramètres:
dataset : DataSet L'instance de l'ensemble de données d'origine. Sera utilisé pour la génération de sous-ensembles. Des valeurs de référence doivent être présentes. jobcollection : JobCollection Instance de Job Collection à utiliser pour le calcul des résultats par_interface : BaseParameters Une instance d'interface de paramètres dérivés, le moteur associé sera utilisé pour le calcul des résultats resultsdict : dict(<'jobid' : AMSResults>) , optionnel Au lieu de fournir un collection de tâches et interface de paramètres, un dictionnaire de résultats déjà calculé peut être transmis. Dans ce cas, le calcul des résultats initiaux sera ignoré. Le dict doit être une sortie de JobCollection.run() . workers : int Lors du calcul des résultats, détermine le nombre de jobs à exécuter en parallèle. La valeur par défaut est os.cpu_count()/2 . use_pipe : bool Lors du calcul des résultats, détermine s'il faut utiliser l'interface AMSWorker. perte : Perte, str

Soyez prudent lorsque vous utilisez des fonctions de perte qui ne font pas la moyenne de l'erreur, comme l'erreur de somme des carrés (sse). Pour garantir la comparabilité, les valeurs de perte doivent être invariantes par rapport à la taille de l'ensemble de données.


Dans le modèle de régression, les métriques d'évaluation les plus connues comprennent :

R au carré (R2), qui est la proportion de variation du résultat qui est expliquée par les variables prédictives. Dans les modèles de régression multiple, R2 correspond à la corrélation au carré entre les valeurs de résultat observées et les valeurs prédites par le modèle. Plus le R carré est élevé, meilleur est le modèle.

Erreur quadratique moyenne (RMSE), qui mesure l'erreur moyenne effectuée par le modèle pour prédire le résultat d'une observation. Mathématiquement, le RMSE est la racine carrée du erreur quadratique moyenne (MSE), qui est la différence quadratique moyenne entre les valeurs de sortie réelles observées et les valeurs prédites par le modèle. Donc, MSE = moyenne((observés - prédits)^2) et RMSE = sqrt(MSE ). Plus le RMSE est bas, meilleur est le modèle.

Erreur standard résiduelle (RSE), également connu sous le nom de modèle sigma, est une variante du RMSE ajusté pour le nombre de prédicteurs dans le modèle. Plus le RSE est bas, meilleur est le modèle. En pratique, la différence entre RMSE et RSE est très faible, en particulier pour les grandes données multivariées.

Erreur absolue moyenne (MAE), comme le RMSE, le MAE mesure l'erreur de prédiction. Mathématiquement, c'est la différence absolue moyenne entre les résultats observés et prédits, MAE = moyenne(abs(observés - prédits)) . Le MAE est moins sensible aux valeurs aberrantes que le RMSE.

Le problème avec les métriques ci-dessus, c'est qu'elles sont sensibles à l'inclusion de variables supplémentaires dans le modèle, même si ces variables n'ont pas une contribution significative pour expliquer le résultat. En d'autres termes, l'inclusion de variables supplémentaires dans le modèle augmentera toujours le R2 et réduira le RMSE. Nous avons donc besoin d'une métrique plus robuste pour guider le choix du modèle.

Concernant R2, il existe une version ajustée, appelée R-carré ajusté, qui ajuste le R2 pour avoir trop de variables dans le modèle.

De plus, il existe quatre autres mesures importantes : AIC, AICc, BIC et Mauves Cp - qui sont couramment utilisés pour l'évaluation et la sélection des modèles. Il s'agit d'une estimation non biaisée de l'erreur de prédiction du modèle MSE. Plus ces métriques sont basses, meilleur est le modèle.

  1. AIC signifie (Critères d'information d'Akaike), une métrique développée par le statisticien japonais Hirotugu Akaike, 1970. L'idée de base de l'AIC est de pénaliser l'inclusion de variables supplémentaires dans un modèle. Il ajoute une pénalité qui augmente l'erreur lors de l'inclusion de termes supplémentaires. Plus l'AIC est bas, meilleur est le modèle.
  2. AICc est une version de l'AIC corrigée pour les petits échantillons.
  3. BIC (ou Critères d'information bayésiens) est une variante de l'AIC avec une pénalité plus forte pour l'inclusion de variables supplémentaires dans le modèle.
  4. Mauves Cp: Une variante d'AIC développée par Colin Mallows.

Généralement, les métriques les plus couramment utilisées, pour mesurer la qualité des modèles de régression et pour comparer les modèles, sont : R2, AIC, BIC et Cp ajustés.

Dans les sections suivantes, nous vous montrerons comment calculer ces métriques mentionnées ci-dessus.


Mise à jour 1 : Penser à la fuite de données dans l'ensemble de test

J'ai vérifié la distribution des données et trouvé un indice potentiel pour l'effet décrit.

Distribution des kits d'entraînement :

Distribution des kits de test sans pour autant mélanger:

Distribution des kits de test avec mélanger:

Si nous regardons le mode (valeur la plus fréquente), sa proportion dans l'ensemble de test avec shuffle 61,2% est plus proche de la proportion de l'ensemble d'apprentissage 63,6% que sans shuffle 59,0% .

Je ne sais pas comment interpréter cela statistiquement par la théorie sous-jacente - n'importe qui peut-il?

Une de mes intuitions est que le brassage rend la stratification de la distribution de l'ensemble de test (implicitement effectuée par createDataPartition() ) "plus stratifiée" - j'entends par là "plus proche de la distribution de l'ensemble d'apprentissage". Cela peut entraîner une fuite de données dans la direction opposée - dans l'ensemble de test.


Somme carrée de la régression (SSR), quelle est la distance entre la valeur réelle et la valeur moyenneS

Si l'erreur de prédiction est faible, alors SSE sera faible et r carré sera proche de 1.

Une mise en garde à noter ici, lorsque nous ajoutons plus de variables indépendantes, r² obtient une valeur plus élevée. La valeur R² continue d'augmenter avec l'ajout de plus de variables indépendantes, même si elles n'ont pas vraiment d'impact significatif sur les prédictions. Cela ne nous aide pas à construire un bon modèle.

Pour surmonter ce problème, nous utilisons R² ajusté. Le r² ajusté pénalise le modèle pour chaque ajout d'une variable indépendante non significative.

Une valeur proche de 1 pour r² signifie un bon ajustement.

on peut aussi calculer erreur quadratique moyenne également appelé RMSE.


4 réponses 4

Vous pouvez essayer des choses comme la suppression des valeurs aberrantes, la réduction de l'asymétrie des données ou l'empilement de différents modèles. Pour un guide de régression avancé, consultez ce noyau de Kaggle.

Suivez les étapes ci-dessous pour obtenir de meilleurs résultats :

  1. En utilisant la fonction de description, vous connaîtrez les valeurs de chaque colonne si elle contient des nombres. trouvez les valeurs aberrantes et remplacez-les par des valeurs moyennes ou médianes ou de mode.
  2. Identifiez les colonnes pour connaître l'impact sur l'ensemble de données ex : cartes thermiques, nous connaîtrons les colonnes qui sont clés une fois.
  3. Utilisez plusieurs modèles (régression linéaire, forêt aléatoire, SVM, etc.) avec plusieurs paramètres (modifiez les valeurs des paramètres dans chaque modèle) pour de meilleurs résultats.
  4. Vérifiez l'erreur avec plusieurs modèles avec plusieurs paramètres et analysez les résultats.

Avant de supprimer les valeurs aberrantes ou de "traiter" les données suffisamment longtemps pour s'adapter à votre modèle, veuillez consulter l'article suivant et vérifier si un modèle linéaire est le meilleur choix pour votre ensemble de données.

Veuillez garder à l'esprit que tous ces modèles statistiques font des hypothèses sur les données que vous fournissez en entrée. Vous n'obtiendrez des résultats fiables que si ces hypothèses sont remplies.

Root Mean Square Error (RMSE) et Root Absolute Error (RAE) ont la même unité que la valeur cible (prix de la maison dans votre cas). Il donne l'erreur moyenne commise par le modèle lors des prédictions de l'ensemble de données donné. Selon l'échelle du prix de votre maison dans les données de formation, il peut ne pas être si élevé. Si l'échelle du prix des maisons est en millions, les erreurs en milliers ne sont peut-être pas si graves. Chaque ensemble de données a du bruit qui provoque une erreur inhérente sur chaque modèle.

Néanmoins, s'il est élevé selon l'échelle du prix des maisons dans votre ensemble de données, vous pouvez essayer les solutions suivantes :


Évaluation de l'ajustement des modèles de régression

Un modèle de régression bien ajusté donne des valeurs prédites proches des valeurs de données observées. Le modèle moyen, qui utilise la moyenne pour chaque valeur prédite, serait généralement utilisé s'il n'y avait pas de variables prédictives informatives. L'ajustement d'un modèle de régression proposé devrait donc être meilleur que l'ajustement du modèle moyen.

Trois statistiques sont utilisées dans la régression des moindres carrés ordinaires (OLS) pour évaluer l'ajustement du modèle : R-carré, le test F global et l'erreur quadratique moyenne (RMSE). Tous les trois sont basés sur deux sommes de carrés : Somme des carrés totale (SST) et Somme des carrés d'erreur (SSE). SST mesure la distance entre les données et la moyenne et SSE mesure la distance entre les données et les valeurs prédites du modèle. Différentes combinaisons de ces deux valeurs fournissent des informations différentes sur la façon dont le modèle de régression se compare au modèle moyen.

R-carré et R-carré ajusté

La différence entre SST et SSE est l'amélioration de la prédiction du modèle de régression, par rapport au modèle moyen. En divisant cette différence par SST, on obtient R au carré. C'est l'amélioration proportionnelle de la prédiction du modèle de régression, par rapport au modèle moyen. Il indique la qualité de l'ajustement du modèle.

R-carré a la propriété utile que son échelle est intuitive : elle va de zéro à un, zéro indiquant que le modèle proposé n'améliore pas la prédiction par rapport au modèle moyen, et un indiquant une prédiction parfaite. L'amélioration du modèle de régression entraîne des augmentations proportionnelles du R au carré.

L'un des écueils du R au carré est qu'il ne peut qu'augmenter à mesure que des prédicteurs sont ajoutés au modèle de régression. Cette augmentation est artificielle lorsque les prédicteurs n'améliorent pas réellement l'ajustement du modèle. Pour y remédier, une statistique connexe, R-carré ajusté, intègre les degrés de liberté du modèle. Le R-carré ajusté diminuera à mesure que des prédicteurs sont ajoutés si l'augmentation de l'ajustement du modèle ne compense pas la perte de degrés de liberté. De même, il augmentera à mesure que des prédicteurs sont ajoutés si l'augmentation de l'ajustement du modèle en vaut la peine. Le R-carré ajusté doit toujours être utilisé avec des modèles avec plus d'une variable prédictive. Elle est interprétée comme la proportion de la variance totale qui est expliquée par le modèle.

Il existe des situations dans lesquelles un R-carré élevé n'est pas nécessaire ou pertinent. Lorsque l'intérêt est dans la relation entre les variables, pas dans la prédiction, le R-carré est moins important. Un exemple est une étude sur la façon dont la religiosité affecte les résultats pour la santé. Un bon résultat est une relation fiable entre la religiosité et la santé. Personne ne s'attendrait à ce que la religion explique un pourcentage élevé de la variation de la santé, car la santé est affectée par de nombreux autres facteurs. Même si le modèle tient compte d'autres variables connues pour affecter la santé, telles que le revenu et l'âge, un R au carré compris entre 0,10 et 0,15 est raisonnable.

Le test F évalue l'hypothèse nulle selon laquelle tous les coefficients de régression sont égaux à zéro par rapport à l'alternative qu'au moins un ne l'est pas. Une hypothèse nulle équivalente est que R-carré est égal à zéro. Un test F significatif indique que le R-carré observé est fiable et n'est pas un résultat fallacieux de bizarreries dans l'ensemble de données. Ainsi, le test F détermine si la relation proposée entre la variable de réponse et l'ensemble de prédicteurs est statistiquement fiable et peut être utile lorsque l'objectif de la recherche est soit la prédiction, soit l'explication.

Le RMSE est la racine carrée de la variance des résidus. Il indique l'ajustement absolu du modèle aux données et à quel point les points de données observés sont proches des valeurs prédites du modèle. Alors que R-carré est une mesure relative de l'ajustement, le RMSE est une mesure absolue de l'ajustement. En tant que racine carrée d'une variance, la RMSE peut être interprétée comme l'écart type de la variance inexpliquée et a la propriété utile d'être dans les mêmes unités que la variable de réponse. Des valeurs plus faibles de RMSE indiquent un meilleur ajustement. Le RMSE est une bonne mesure de la précision avec laquelle le modèle prédit la réponse, et c'est le critère le plus important pour l'ajustement si l'objectif principal du modèle est la prédiction.

La meilleure mesure de l'ajustement du modèle dépend des objectifs du chercheur, et plusieurs sont souvent utiles. Les statistiques discutées ci-dessus sont applicables aux modèles de régression qui utilisent l'estimation OLS. Cependant, de nombreux types de modèles de régression, tels que les modèles mixtes, les modèles linéaires généralisés et les modèles d'historique des événements, utilisent l'estimation du maximum de vraisemblance. Ces statistiques ne sont pas disponibles pour de tels modèles.


5.3 - Le modèle de régression linéaire multiple

Dans un modèle de régression multiple, nous pouvons vouloir savoir si un X-variable apporte une contribution utile au modèle. C'est-à-dire compte tenu de la présence de l'autre X-variables dans le modèle, fait un X-la variable nous aide à prédire ou à expliquer le oui-variable? Par exemple, supposons que nous ayons trois X-variables dans le modèle. La structure générale du modèle pourrait être

Par exemple, pour déterminer si la variable (x_<1>) est une variable prédictive utile dans ce modèle, nous pourrions tester

Si l'hypothèse nulle ci-dessus était le cas, alors un changement dans la valeur de (x_<1>) ne changerait pas oui, donc oui et (x_<1>) ne sont pas liés linéairement. De plus, il nous resterait toujours les variables (x_<2>) et (x_<3>) présentes dans le modèle. Lorsque nous ne pouvons pas rejeter l'hypothèse nulle ci-dessus, nous devrions dire que nous n'avons pas besoin de la variable (x_<1>) dans le modèle étant donné que les variables (x_<2>) et (x_<3>) seront restent dans le modèle. En général, l'interprétation d'une pente en régression multiple peut être délicate. Les corrélations entre les prédicteurs peuvent modifier considérablement les valeurs de pente par rapport à ce qu'elles seraient dans des régressions simples séparées.

Pour effectuer le test, un logiciel statistique rapportera p-valeurs pour tous les coefficients du modèle. Chaque p-la valeur sera basée sur un t-statistique calculée comme

(t^<*>=) (coefficient de l'échantillon - valeur hypothétique) / erreur standard du coefficient.

Pour notre exemple ci-dessus, le t-statistique est :

Notez que la valeur hypothétique est généralement juste 0, donc cette partie de la formule est souvent omise.

La régression linéaire multiple, contrairement à la régression linéaire simple, implique plusieurs prédicteurs et donc tester chaque variable peut rapidement devenir compliqué. Par exemple, supposons que nous appliquions deux tests séparés pour deux prédicteurs, disons (x_1) et (x_2), et que les deux tests aient des valeurs p élevées. Un test suggère que (x_1) n'est pas nécessaire dans un modèle avec tous les autres prédicteurs inclus, tandis que l'autre test suggère que (x_2) n'est pas nécessaire dans un modèle avec tous les autres prédicteurs inclus. Mais cela ne signifie pas nécessairement que les deux (x_1) et (x_2) ne sont pas nécessaires dans un modèle avec tous les autres prédicteurs inclus. Il se peut que nous ferions mieux d'omettre (x_1) ou (x_2) du modèle, mais pas les deux. Comment alors détermine-t-on ce qu'il faut faire? Nous explorerons ce problème plus loin dans cette leçon.


Dans le modèle de régression, les métriques d'évaluation les plus connues comprennent :

R au carré (R2), qui est la proportion de variation du résultat qui est expliquée par les variables prédictives. Dans les modèles de régression multiple, R2 correspond à la corrélation au carré entre les valeurs de résultat observées et les valeurs prédites par le modèle. Plus le R carré est élevé, meilleur est le modèle.

Erreur quadratique moyenne (RMSE), qui mesure l'erreur moyenne effectuée par le modèle pour prédire le résultat d'une observation. Mathématiquement, le RMSE est la racine carrée du erreur quadratique moyenne (MSE), qui est la différence quadratique moyenne entre les valeurs de sortie réelles observées et les valeurs prédites par le modèle. Donc, MSE = moyenne((observés - prédits)^2) et RMSE = sqrt(MSE ). Plus le RMSE est bas, meilleur est le modèle.

Erreur standard résiduelle (RSE), également connu sous le nom de modèle sigma, est une variante du RMSE ajusté pour le nombre de prédicteurs dans le modèle. Plus le RSE est bas, meilleur est le modèle. En pratique, la différence entre RMSE et RSE est très faible, en particulier pour les grandes données multivariées.

Erreur absolue moyenne (MAE), comme le RMSE, le MAE mesure l'erreur de prédiction. Mathématiquement, il s'agit de la différence absolue moyenne entre les résultats observés et prédits, MAE = moyenne(abs(observés - prédits)) . Le MAE est moins sensible aux valeurs aberrantes que le RMSE.

Le problème avec les métriques ci-dessus, c'est qu'elles sont sensibles à l'inclusion de variables supplémentaires dans le modèle, même si ces variables n'ont pas une contribution significative pour expliquer le résultat. En d'autres termes, l'inclusion de variables supplémentaires dans le modèle augmentera toujours le R2 et réduira le RMSE. Nous avons donc besoin d'une métrique plus robuste pour guider le choix du modèle.

Concernant R2, il existe une version ajustée, appelée R-carré ajusté, qui ajuste le R2 pour avoir trop de variables dans le modèle.

De plus, il existe quatre autres mesures importantes : AIC, AICc, BIC et Mauves Cp - qui sont couramment utilisés pour l'évaluation et la sélection des modèles. Il s'agit d'une estimation non biaisée de l'erreur de prédiction du modèle MSE. Plus ces métriques sont basses, meilleur est le modèle.

  1. AIC signifie (Critères d'information d'Akaike), une métrique développée par le statisticien japonais Hirotugu Akaike, 1970. L'idée de base de l'AIC est de pénaliser l'inclusion de variables supplémentaires dans un modèle. Il ajoute une pénalité qui augmente l'erreur lors de l'inclusion de termes supplémentaires. Plus l'AIC est bas, meilleur est le modèle.
  2. AICc est une version de l'AIC corrigée pour les petits échantillons.
  3. BIC (ou Critères d'information bayésiens) est une variante de l'AIC avec une pénalité plus forte pour l'inclusion de variables supplémentaires dans le modèle.
  4. Mauves Cp: Une variante d'AIC développée par Colin Mallows.

Généralement, les métriques les plus couramment utilisées, pour mesurer la qualité des modèles de régression et pour comparer les modèles, sont : R2, AIC, BIC et Cp ajustés.

Dans les sections suivantes, nous vous montrerons comment calculer ces métriques mentionnées ci-dessus.


Somme carrée de la régression (SSR), quelle est la distance entre la valeur réelle et la valeur moyenneS

Si l'erreur de prédiction est faible, alors SSE sera faible et r carré sera proche de 1.

Une mise en garde à noter ici, lorsque nous ajoutons plus de variables indépendantes, r² obtient une valeur plus élevée. La valeur R² continue d'augmenter avec l'ajout de plus de variables indépendantes, même si elles n'ont pas vraiment d'impact significatif sur les prédictions. Cela ne nous aide pas à construire un bon modèle.

Pour surmonter ce problème, nous utilisons R² ajusté. Le r² ajusté pénalise le modèle pour chaque ajout d'une variable indépendante non significative.

Une valeur proche de 1 pour r² signifie un bon ajustement.

on peut aussi calculer erreur quadratique moyenne également appelé RMSE.


10.5 Interprétation des caractéristiques

Malheureusement, en raison du processus d'ensachage, les modèles qui sont normalement perçus comme interprétables ne le sont plus. Cependant, nous pouvons toujours faire des inférences sur la façon dont les caractéristiques influencent notre modèle. Rappelons à la section 9.6 que nous mesurons l'importance des caractéristiques sur la base de la somme de la réduction de la fonction de perte (par exemple, SSE) attribuée à chaque variable à chaque division dans un arbre donné.

Pour les arbres de décision ensachés, ce processus est similaire. Pour chaque arbre, nous calculons la somme de la réduction de la fonction de perte sur toutes les divisions. Nous agrégeons ensuite cette mesure sur tous les arbres pour chaque caractéristique. Les caractéristiques présentant la plus forte diminution moyenne de l'ESS (pour la régression) sont considérées comme les plus importantes. Malheureusement, le ipred package ne capture pas les informations requises pour le calcul de l'importance des variables, mais le caret paquet fait. Dans le morceau de code ci-dessous, nous utilisons VIP pour construire un graphique d'importance variable (VIP) des 40 principales caractéristiques du modèle ames_bag2.

Avec un seul arbre de décision, nous avons vu que de nombreuses fonctionnalités non informatives n'étaient pas utilisées dans l'arbre. Cependant, avec le bagging, puisque nous utilisons de nombreux arbres construits sur des échantillons bootstrap, nous verrons probablement beaucoup plus de fonctionnalités utilisées pour les divisions. Par conséquent, nous avons tendance à avoir beaucoup plus de fonctionnalités impliquées, mais avec des niveaux d'importance inférieurs.

Figure 10.4 : Importance variable pour 200 arbres ensachés pour les données d'Ames Housing.

Comprendre la relation entre une caractéristique et la réponse prévue pour les modèles ensachés suit la même procédure que celle que nous avons vue dans les chapitres précédents. Les PDP nous indiquent visuellement comment chaque caractéristique influence la sortie prévue, en moyenne. Bien que l'effet de moyenne de l'ensachage diminue la capacité à interpréter l'ensemble final, les PDP et d'autres méthodes d'interprétabilité (chapitre 16) nous aident à interpréter tout modèle de « boîte noire ». La figure 10.5 met en évidence les relations uniques, et parfois non linéaires, non monotones qui peuvent exister entre une caractéristique et une réponse.

Figure 10.5 : Diagrammes de dépendance partielle pour comprendre la relation entre le prix de vente et les caractéristiques de la superficie du terrain et de la taille de la façade.


3.13.2. Sensibilité de l'ensemble de données¶

Les ensembles de données qui nécessitent un grand nombre de tâches pour l'évaluation seront généralement le goulot d'étranglement de chaque optimisation des paramètres. Cette classe offre la possibilité d'estimer la diversité d'un ensemble avant le processus d'ajustement. Cela se fait en évaluant plusieurs sous-ensembles plus petits et tirés au hasard de l'ensemble d'origine et en rapportant la valeur de leur fonction de perte. Les valeurs peuvent ensuite être comparées à la perte de l'ensemble de données complet.

Un exemple où cela peut être utile est lorsque les ensembles de données sont quelque peu homogènes. Dans de tels cas, il peut être utile de rechercher un sous-ensemble plus petit avant l'apprentissage, réduisant ainsi le temps d'optimisation. Un sous-ensemble plus petit est un compromis de la taille et de l'erreur dans la valeur de la fonction de perte par rapport à l'ensemble d'origine. La classe SubsetScan peut être utilisée comme aide dans de tels cas.

En supposant une instance ds d'ensemble de données avec référence, une collection de tâches jc pouvant être utilisée pour générer les résultats nécessaires à l'évaluation de notre ensemble de données et une interface de paramètre x est définie :

Si un dictionnaire de résultats de JobCollection.run a déjà été calculé et est disponible, MinJobSearch peut également être instancié sans collection de travaux et interface de paramètres :

La figure résultante pourrait ressembler à la suivante,

dans ce cas, soulignant que la réduction à un sous-ensemble de 10 000 emplois entraînerait une erreur relative inférieure à 5 % par rapport à l'évaluation de l'ensemble de données complet.

Notez que cet exemple a été créé sur un ensemble de données avec une seule propriété et des poids égaux pour chaque entrée. Les applications réelles peuvent ne pas aboutir à un comportement aussi homogène.

classer SubsetScan ( ensemble de données : scm.params.core.dataset.DataSet, jobcollection : scm.params.core.jobcollection.JobCollection = Aucun, par_interface=Aucun, resultsdict : Dict = Aucun, travailleurs : entier = Aucun, use_pipe=Vrai, perte='rmse' ) ¶

Cette classe aide dans le processus d'identification de la sensibilité d'un ensemble de données au nombre total d'emplois en évaluant consécutivement des sous-ensembles plus petits tirés au hasard. Les valeurs de perte résultantes peuvent être comparées à celles de l'ensemble de données complet pour déterminer l'homogénéité et aider à la réduction de la taille ou à la diversification de l'ensemble (voir la documentation pour des exemples).

__init__ ( ensemble de données : scm.params.core.dataset.DataSet, jobcollection : scm.params.core.jobcollection.JobCollection = Aucun, par_interface=Aucun, resultsdict : Dict = Aucun, travailleurs : entier = Aucun, use_pipe=Vrai, perte='rmse' ) ¶

Initialisez une nouvelle instance de recherche.

Paramètres:
dataset : DataSet L'instance de l'ensemble de données d'origine. Sera utilisé pour la génération de sous-ensembles. Des valeurs de référence doivent être présentes. jobcollection : JobCollection Instance de Job Collection à utiliser pour le calcul des résultats par_interface : BaseParameters Une instance d'interface de paramètre dérivé, le moteur associé sera utilisé pour le calcul des résultats resultsdict : dict(<'jobid' : AMSResults>) , optionnel Au lieu de fournir un collection de tâches et interface de paramètres, un dictionnaire de résultats déjà calculé peut être transmis. Dans ce cas, le calcul des résultats initiaux sera ignoré. Le dict doit être une sortie de JobCollection.run() . workers : int Lors du calcul des résultats, détermine le nombre de jobs à exécuter en parallèle. La valeur par défaut est os.cpu_count()/2 . use_pipe : bool Lors du calcul des résultats, détermine s'il faut utiliser l'interface AMSWorker. perte : Perte, str

Soyez prudent lorsque vous utilisez des fonctions de perte qui ne font pas la moyenne de l'erreur, comme l'erreur de somme des carrés (sse). Pour garantir la comparabilité, les valeurs de perte doivent être invariantes par rapport à la taille de l'ensemble de données.


5.3 - Le modèle de régression linéaire multiple

Dans un modèle de régression multiple, nous pouvons vouloir savoir si un X-variable apporte une contribution utile au modèle. That is, given the presence of the other X-variables in the model, does a particular X-variable help us predict or explain the oui-variable? For instance, suppose that we have three X-variables in the model. The general structure of the model could be

As an example, to determine whether variable (x_<1>) is a useful predictor variable in this model, we could test

If the null hypothesis above were the case, then a change in the value of (x_<1>) would not change oui, donc oui and (x_<1>) are not linearly related. Also, we would still be left with variables (x_<2>) and (x_<3>) being present in the model. When we cannot reject the null hypothesis above, we should say that we do not need variable (x_<1>) in the model given that variables (x_<2>) and (x_<3>) will remain in the model. In general, the interpretation of a slope in multiple regression can be tricky. Correlations among the predictors can change the slope values dramatically from what they would be in separate simple regressions.

To carry out the test, statistical software will report p-values for all coefficients in the model. Chaque p-value will be based on a t-statistic calculated as

(t^<*>=) (sample coefficient - hypothesized value) / standard error of coefficient.

For our example above, the t-statistic is:

Note that the hypothesized value is usually just 0, so this portion of the formula is often omitted.

Multiple linear regression, in contrast to simple linear regression, involves multiple predictors and so testing each variable can quickly become complicated. For example, suppose we apply two separate tests for two predictors, say (x_1) and (x_2), and both tests have high p-values. One test suggests (x_1) is not needed in a model with all the other predictors included, while the other test suggests (x_2) is not needed in a model with all the other predictors included. But, this doesn't necessarily mean that les deux (x_1) and (x_2) are not needed in a model with all the other predictors included. It may well turn out that we would do better to omit either (x_1) or (x_2) from the model, but not both. How then do we determine what to do? We'll explore this issue further later in this lesson.


Assessing the Fit of Regression Models

A well-fitting regression model results in predicted values close to the observed data values. The mean model, which uses the mean for every predicted value, generally would be used if there were no informative predictor variables. The fit of a proposed regression model should therefore be better than the fit of the mean model.

Three statistics are used in Ordinary Least Squares (OLS) regression to evaluate model fit: R-squared, the overall F-test, and the Root Mean Square Error (RMSE). All three are based on two sums of squares: Sum of Squares Total (SST) and Sum of Squares Error (SSE). SST measures how far the data are from the mean, and SSE measures how far the data are from the model’s predicted values. Different combinations of these two values provide different information about how the regression model compares to the mean model.

R-squared and Adjusted R-squared

The difference between SST and SSE is the improvement in prediction from the regression model, compared to the mean model. Dividing that difference by SST gives R-squared. It is the proportional improvement in prediction from the regression model, compared to the mean model. It indicates the goodness of fit of the model.

R-squared has the useful property that its scale is intuitive: it ranges from zero to one, with zero indicating that the proposed model does not improve prediction over the mean model, and one indicating perfect prediction. Improvement in the regression model results in proportional increases in R-squared.

One pitfall of R-squared is that it can only increase as predictors are added to the regression model. This increase is artificial when predictors are not actually improving the model’s fit. To remedy this, a related statistic, Adjusted R-squared, incorporates the model’s degrees of freedom. Adjusted R-squared will decrease as predictors are added if the increase in model fit does not make up for the loss of degrees of freedom. Likewise, it will increase as predictors are added if the increase in model fit is worthwhile. Adjusted R-squared should always be used with models with more than one predictor variable. It is interpreted as the proportion of total variance that is explained by the model.

There are situations in which a high R-squared is not necessary or relevant. When the interest is in the relationship between variables, not in prediction, the R-square is less important. An example is a study on how religiosity affects health outcomes. A good result is a reliable relationship between religiosity and health. No one would expect that religion explains a high percentage of the variation in health, as health is affected by many other factors. Even if the model accounts for other variables known to affect health, such as income and age, an R-squared in the range of 0.10 to 0.15 is reasonable.

The F-test evaluates the null hypothesis that all regression coefficients are equal to zero versus the alternative that at least one is not. An equivalent null hypothesis is that R-squared equals zero. A significant F-test indicates that the observed R-squared is reliable and is not a spurious result of oddities in the data set. Thus the F-test determines whether the proposed relationship between the response variable and the set of predictors is statistically reliable and can be useful when the research objective is either prediction or explanation.

The RMSE is the square root of the variance of the residuals. It indicates the absolute fit of the model to the data–how close the observed data points are to the model’s predicted values. Whereas R-squared is a relative measure of fit, RMSE is an absolute measure of fit. As the square root of a variance, RMSE can be interpreted as the standard deviation of the unexplained variance, and has the useful property of being in the same units as the response variable. Lower values of RMSE indicate better fit. RMSE is a good measure of how accurately the model predicts the response, and it is the most important criterion for fit if the main purpose of the model is prediction.

The best measure of model fit depends on the researcher’s objectives, and more than one are often useful. The statistics discussed above are applicable to regression models that use OLS estimation. Many types of regression models, however, such as mixed models, generalized linear models, and event history models, use maximum likelihood estimation. These statistics are not available for such models.


4 Answers 4

You can try things like outlier removal, reducing data skewness, or stacking different models. For an advanced regression guide, checkout this kernel from Kaggle.

Use the below steps to get better results:

  1. Using describe function you will get know the values of each column if it contains numbers. find the outliers and replace those with Mean or Median or Mode values.
  2. Identify the columns to know the impact on data set ex: heat maps, we will get know the columns which are key once.
  3. Use multiple models (Linear Regression, Random forest, SVM, etc.) with multiple parameters (change the parameter values in each model) for better results.
  4. Check the error with multiple models with multiple parameters and analyze the results.

Before removing outliers or to "treat" the data long enough to suit your model, please have a look at the following article and check if a linear model is the best choice for your data set.

Please keep in mind that all those statistical models make assumptions about the data you give as an input. You will only get reliable results if those assumptions are met.

Root Mean Square Error (RMSE) and Root Absolute Error (RAE) has same unit as the target value (home price in your case). It gives the mean error made by the model when doing the predictions of the given dataset. Depending on scale of your home price in training data it may not be that high. If scale of home price are in millions then the errors in thousands may not be that bad. Every dataset has some noise which causes inherent error on every model.

Still, if it is high according to scale of home price in your dataset you may try some of following:


Update 1: Hunch about data leakage into testing set

I checked the data distribution and found a potential hint for the described effect.

Training set distribution:

Testing set distribution sans pour autant shuffle:

Testing set distribution avec shuffle:

If we look at the mode (most frequent value), its proportion in the testing set with shuffle 61.2% is closer to the training set proportion 63.6% than without shuffle 59.0% .

I don't know how to interpret this statistically by underlying theory - can anybody?

An intuition of mine is that the shuffling makes the stratification of the testing set distribution (implicitly performed by createDataPartition() ) "more stratified" - by that I mean "closer to the training set distribution". This may cause the effect of data leakage into the opposite direction - into the testing set.


Confusion Matrix:

This matrix represents the accuracy of the model. A confusion matrix is an N X N matrix, where N is the number of classes being predicted. Let’s take an example of two class problem for the credit card company which wants to detect fraud using the algorithm you have to build. The possible two class would be either its Fraud ou Not Fraud transaction.

Ici,
True Positive (TP)= 1 i.e. actual Fraud and also predicted Fraud
False Positive(FP)
= 1 i.e. actual Not Fraud but predicted Fraud
False Negative(FN) = 2 i.e. actual Fraud but predicted Not Fraud
True Negative(TN)
= 996 i.e. actual Not Fraud and predicted Not Fraud

Accuracy of the model is given by
accuracy = (TP+TN) / (TP+TN+FP+FN)
In the above matrix, we have calculated the proportion of true positive and true negative in all evaluated cases.