Distance de Cook¶

Référence API¶

Visualiser l’influence et l’effet de levier des instances individuelles sur un modèle de régression.

classeyellowbrick.regressor.influence.CooksDistance(ax=None, draw_threshold=True, linefmt=’C0-‘, markerfmt=’,’, **kwargs)¶

Bases : yellowbrick.base.Visualizer

La distance de Cook est une mesure de l’influence d’une instance sur le calcul d’une régression, par exemple, si l’instance est supprimée, les coeficients estimés du modèle sous-jacent seraient-ils sensiblement modifiés ? Pour cette raison, la distance de Cook est généralement utilisée pour détecter les valeurs aberrantes dans la régression MCO standard. En fait, une règle générale est que D(i) > 4/n est un bon seuil pour déterminer les points hautement influents en tant que valeurs aberrantes et ce visualiseur peut rapporter le pourcentage de données qui est au-dessus de ce seuil.

Cette implémentation de la distance de Cook suppose une régression des moindres carrés ordinaires, et donc embarque un sklearn.linear_model.LinearRegression sous le capot.La distance est calculée via le levier non blanchi de la matrice de projection, calculée à l’intérieur de fit(). Les résultats de ce visualiseur sont donc similaires, mais pas aussi avancés, qu’un calcul similaire utilisant des modèles statistiques. Le calcul de l’influence pour d’autres modèles de régression nécessite une validation leave one out et peut être coûteux à calculer.

See also

Pour une discussion plus longue sur la détection des valeurs aberrantes dans la régression et le calcul du levier et de l’influence, voir linear regression in python, outliers/leveragedetect by Huiming Song.

Paramètres axmatplotlib Axes, par défaut : None

Les axes sur lesquels tracer la figure. Si None est passé, les axes actuels seront utilisés (ou générés si nécessaire).

draw_thresholdbool, par défaut : True

Dessiner une ligne horizontale à D(i) == 4/n pour identifier facilement les points les plus influents sur la régression finale. Cela dessinera également une légende qui spécifie lepourcentage de points de données qui sont au-dessus du seuil.

linefmtstr, default : ‘C0-‘

Chaîne de caractères définissant les propriétés des lignes verticales du tracé de la tige, généralementce sera une couleur ou une couleur et un style de ligne. La valeur par défaut est simplement une ligne solide avec la première couleur du cycle de couleurs.

markerfmtstr, default : ‘,’

Chaîne de caractères définissant les propriétés des marqueurs aux têtes du tracé de tige. La valeur par défaut est « pixel », par exemple, fondamentalement, pas de tête de marqueur au sommet du plot de tige.

kwargsdict

Arguments de mots-clés qui sont passés à la classe de base et peuvent influencer la visualisation finale (par exemple, les paramètres de taille ou de titre).

Notes

La distance de Cook est très similaire à DFFITS, un autre diagnostic qui est censé montrer l’influence d’un point dans une régression statistique. Bien que les valeurs calculées de Cook et de DFFITS soient différentes, elles sont conceptuellement identiques et il existe même une formule à forme fermée pour convertir une valeur en une autre. Pour cette raison, nous avons choisi d’implémenter la distance de Cook plutôt que ou en plus de DFFITS.

Attributs distance_array, 1D

La valeur de la distance de Cook pour chaque instance spécifiée dans X, par exemple un tableau 1Davec la forme (X.shape,).

p_values_array, 1D

Les valeurs p associées au test F de la distribution de la distance de Cook. Un tableau 1D dont la forme correspond à distance_.

influence_threshold_float

Un seuil d’influence de règle empirique pour déterminer les valeurs aberrantes dans le modèle de régression, défini comme It=4/n.

outlier_percentage_float

Le pourcentage d’instances dont la distance de Cook est supérieure au seuil d’influence, le pourcentage est 0,0 <= p <= 100,0.

draw()¶

Dessine un graphe à tiges où chaque tige est la distance de Cook de l’instance à l’indice spécifié par l’axe x. En option, dessine une ligne de seuil.

finalize()¶

Prépare la visualisation pour la présentation et le rapport.

fit(X, y)¶

Calcule le levier de X et utilise les résidus de asklearn.linear_model.LinearRegression pour calculer la distance de Cook de chaque observation dans X, leurs valeurs p et le nombre de valeurs aberrantes définies par le nombre d’observations fournies.

Paramètres Xarray-like, 2D

La matrice de conception exogène, par exemple les données d’entraînement.

yarray-like, 1D

La variable de réponse endogène, par exemple les données cibles.

Returns selfCooksDistance

Fit renvoie l’instance du visualiseur.

yellowbrick.regressor.influence.cooks_distance(X, y, ax=None, draw_threshold=True, linefmt=’C0-‘, markerfmt=’,’, show=True, **kwargs)¶

La distance de Cook est une mesure de l’influence d’une instance sur le calcul d’une régression, par exemple, si l’instance est supprimée, les coeficients estimés du modèle sous-jacent seraient-ils sensiblement modifiés ? Pour cette raison, la distance de Cook est généralement utilisée pour détecter les valeurs aberrantes dans la régression MCO standard. En fait, une règle générale est que D(i) > 4/n est un bon seuil pour déterminer les points hautement influents en tant que valeurs aberrantes et ce visualiseur peut rapporter le pourcentage de données qui est au-dessus de ce seuil.

Cette implémentation de la distance de Cook suppose une régression des moindres carrés ordinaires, et donc embarque un sklearn.linear_model.LinearRegression sous le capot.La distance est calculée via le levier non blanchi de la matrice de projection, calculée à l’intérieur de fit(). Les résultats de ce visualiseur sont donc similaires, mais pas aussi avancés, qu’un calcul similaire utilisant des modèles statistiques. Le calcul de l’influence pour d’autres modèles de régression nécessite une validation leave one out et peut être coûteux à calculer.

See also

Pour une discussion plus longue sur la détection des valeurs aberrantes dans la régression et le calcul du levier et de l’influence, voir linear regression in python, outliers/leveragedetect par Huiming Song.

Paramètres Xarray-like, 2D

La matrice de conception exogène, par exemple les données d’entraînement.

yarray-like, 1D

La variable de réponse endogène, par exemple les données cibles.

axmatplotlib Axes, par défaut : None

Les axes sur lesquels tracer la figure. Si None est passé, les axes actuels seront utilisés (ou générés si nécessaire).

draw_thresholdbool, default : True

Dessiner une ligne horizontale à D(i) == 4/n pour identifier facilement les points les plus influents sur la régression finale. Cela dessinera également une légende qui spécifie lepourcentage de points de données qui sont au-dessus du seuil.

linefmtstr, default : ‘C0-‘

Chaîne de caractères définissant les propriétés des lignes verticales du tracé de la tige, généralementce sera une couleur ou une couleur et un style de ligne. La valeur par défaut est simplement une ligne solide avec la première couleur du cycle de couleurs.

markerfmt : str, default : ‘,’

Chaîne définissant les propriétés des marqueurs aux têtes du tracé de tige. La valeur par défaut est « pixel », par exemple, fondamentalement, pas de tête de marqueur au sommet du plot de tige.

show : bool, default : True

Si True, appelle show(), qui à son tour appelle plt.show() howevery vous ne pouvez pas appeler plt.savefig à partir de cette signature, niclear_figure. Si False, appelle simplement finalize()

kwargsdict

Mots clés arguments qui sont passés à la classe de base et peuvent influencer lavisualisation finale (par exemple, les paramètres de taille ou de titre).

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.