Cook’s Distance¶

API Reference¶

Visualisieren Sie den Einfluss und die Hebelwirkung einzelner Instanzen auf ein Regressionsmodell.

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

Bases: yellowbrick.base.Visualizer

Cook’s Distance ist ein Maß dafür, wie einflussreich eine Instanz für die Berechnung einer Regression ist, z.B. wenn die Instanz entfernt wird, würden sich die geschätzten Koeffizienten des zugrunde liegenden Modells wesentlich ändern? Aus diesem Grund wird die Cook-Distanz im Allgemeinen zur Erkennung von Ausreißern in der Standard-OLS-Regression verwendet. Eine allgemeine Faustregel besagt, dass D(i) > 4/n ein guter Schwellenwert ist, um hochgradig einflussreiche Punkte als Ausreißer zu bestimmen, und dieser Visualisierer kann den Prozentsatz der Daten über diesem Schwellenwert angeben.

Diese Implementierung von Cook’s Distance geht von einer Regression mit gewöhnlichen kleinsten Quadraten aus und bettet daher ein sklearn.linear_model.LinearRegression unter der Haube ein.Distance wird über den nicht geweißten Hebel der Projektionsmatrix berechnet, der innerhalb von fit() berechnet wird. Die Ergebnisse dieses Visualisierers sind daher ähnlich, aber nicht so fortschrittlich, wie eine ähnliche Berechnung mit Statistikmodellen. Die Berechnung des Einflusses für andere Regressionsmodelle erfordert eine Auslassungsvalidierung und kann kostspielig sein.

Siehe auch

Für eine längere Diskussion über die Erkennung von Ausreißern in der Regression und die Berechnung von Hebelwirkung und Einfluss, siehe lineare Regression in Python, Ausreißer/Leveragedetect von Huiming Song.

Parameter axmatplotlib Axes, default: None

Die Achsen, auf denen die Abbildung gezeichnet werden soll. Wenn None übergeben wird, werden die aktuellen Achsen verwendet (oder bei Bedarf generiert).

draw_thresholdbool, Voreinstellung: True

Zeichne eine horizontale Linie bei D(i) == 4/n, um die einflussreichsten Punkte in der endgültigen Regression leicht zu identifizieren. Außerdem wird eine Legende gezeichnet, die den Prozentsatz der Datenpunkte angibt, die über dem Schwellenwert liegen.

linefmtstr, default: ‚C0-‚

Eine Zeichenkette, die die Eigenschaften der vertikalen Linien des Stammdiagramms definiert, in der Regel ist dies eine Farbe oder eine Farbe und ein Linienstil. Die Vorgabe ist einfach eine durchgezogene Linie mit der ersten Farbe des Farbzyklus.

markerfmtstr, Vorgabe: ‚,‘

Eine Zeichenkette, die die Eigenschaften der Marker an den Köpfen der Stammdiagramme definiert. Die Voreinstellung ist „pixel“, d.h. grundsätzlich kein Markerkopf am oberen Ende des Stammdiagramms.

kwargsdict

Schlüsselwortargumente, die an die Basisklasse übergeben werden und die endgültige Visualisierung beeinflussen können (z.B. Größen- oder Titelparameter).

Hinweise

Cook’s Distance ist DFFITS sehr ähnlich, einer anderen Diagnose, die zeigen soll, wie einflussreich ein Punkt in einer statistischen Regression ist. Obwohl die berechneten Werte von Cook’s und DFFITS unterschiedlich sind, sind sie konzeptionell identisch, und es gibt sogar eine geschlossene Formel zur Umrechnung des einen Wertes in den anderen. Aus diesem Grund haben wir uns entschieden, Cooks Distanz anstelle von oder zusätzlich zu DFFITS zu implementieren.

Attribute distance_array, 1D

Der Cooks Distanzwert für jede in X angegebene Instanz, z.B. ein 1D-Array mit der Form (X.shape,).

p_values_array, 1D

Die p-Werte, die mit dem F-Test der Cooks Distanzverteilung verbunden sind. Ein 1D-Array, dessen Form distance_.

influence_threshold_float

Ein als Faustregel definierter Einflussschwellenwert zur Bestimmung von Ausreißern im Regressionsmodell, definiert als It=4/n.

outlier_percentage_float

Der Prozentsatz der Instanzen, deren Cook’s Distance größer ist als der Influncethreshold, der Prozentsatz ist 0.0 <= p <= 100.0.

draw()¶

Zeichnet ein Stammdiagramm, bei dem jeder Stamm die Cook’s Distance der Instanz bei dem durch die x-Achse angegebenen Index ist. Zeichnet optional eine Schwellenwertlinie.

finalize()¶

Bereitet die Visualisierung für die Präsentation und Berichterstattung vor.

fit(X, y)¶

Berechnet die Hebelwirkung von X und verwendet die Residuen von asklearn.linear_model.LinearRegression, um die Cook’s-Distanz jeder Beobachtung in X, ihre p-Werte und die Anzahl der Ausreißer, die durch die Anzahl der gelieferten Beobachtungen definiert sind, zu berechnen.

Parameter Xarray-ähnlich, 2D

Die exogene Designmatrix, z. B. Trainingsdaten.

yarray-like, 1D

Die endogene Antwortvariable, z.B. Zieldaten.

Returns selfCooksDistance

Fit gibt die Visualisierungsinstanz zurück.

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

Cook’s Distance ist ein Maß dafür, wie einflussreich eine Instanz für die Berechnung einer Regression ist, z.B. wenn die Instanz entfernt wird, würden sich die geschätzten Koeffizienten des zugrundeliegenden Modells wesentlich ändern? Aus diesem Grund wird die Cook’sche Distanz in der Regel zur Erkennung von Ausreißern in der Standard-OLS-Regression verwendet. Eine allgemeine Faustregel besagt, dass D(i) > 4/n ein guter Schwellenwert ist, um hochgradig einflussreiche Punkte als Ausreißer zu bestimmen, und dieser Visualisierer kann den Prozentsatz der Daten über diesem Schwellenwert angeben.

Diese Implementierung von Cook’s Distance geht von einer Regression mit gewöhnlichen kleinsten Quadraten aus und bettet daher ein sklearn.linear_model.LinearRegression unter der Haube ein.Distance wird über den nicht geweißten Hebel der Projektionsmatrix berechnet, der innerhalb von fit() berechnet wird. Die Ergebnisse dieses Visualisierers sind daher ähnlich, aber nicht so fortschrittlich, wie eine ähnliche Berechnung mit Statistikmodellen. Die Berechnung des Einflusses für andere Regressionsmodelle erfordert eine Auslassungsvalidierung und kann sehr teuer sein.

Siehe auch

Für eine längere Diskussion über die Erkennung von Ausreißern in der Regression und die Berechnung von Hebelwirkung und Einfluss, siehe lineare Regression in Python, Ausreißer/Leveragedetect von Huiming Song.

Parameter Xarray-ähnlich, 2D

Die exogene Designmatrix, z. B. Trainingsdaten.

yarray-ähnlich, 1D

Die endogene Antwortvariable, z. B. Zieldaten.

axmatplotlib Achsen, default: None

Die Achsen, auf denen die Abbildung gezeichnet werden soll. Wenn None übergeben wird, werden die aktuellen Achsen verwendet (oder bei Bedarf generiert).

draw_thresholdbool, default: True

Zeichne eine horizontale Linie bei D(i) == 4/n, um die einflussreichsten Punkte in der endgültigen Regression leicht zu identifizieren. Außerdem wird eine Legende gezeichnet, die den Prozentsatz der Datenpunkte angibt, die über dem Schwellenwert liegen.

linefmtstr, default: ‚C0-‚

Eine Zeichenkette, die die Eigenschaften der vertikalen Linien des Stammdiagramms definiert, in der Regel ist dies eine Farbe oder eine Farbe und ein Linienstil. Die Vorgabe ist einfach eine durchgezogene Linie mit der ersten Farbe des Farbzyklus.

markerfmt: str, Vorgabe: ‚,‘

Eine Zeichenkette, die die Eigenschaften der Marker an den Köpfen der Stammdiagramme definiert. Die Voreinstellung ist „pixel“, d.h. grundsätzlich kein Markerkopf an der Spitze des Stammplots.

show: bool, Voreinstellung: True

Wenn True, ruft show() auf, was wiederum plt.show() aufruft, wobei weder plt.savefig nochclear_figure von dieser Signatur aus aufgerufen werden können. Wenn False, ruft einfach finalize()

kwargsdict

Schlüsselwortargumente, die an die Basisklasse übergeben werden und die endgültige Visualisierung beeinflussen können (z.B. Größen- oder Titelparameter).

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.