Cook’s Distance¶

API-reference¶

Visualisér indflydelsen og virkningen af de enkelte instanser på en regressionsmodel.

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

Bases: yellowbrick.base.Visualizer

Cook’s Distance er et mål for, hvor indflydelsesrig en instans er for beregningen af en regression, f.eks. hvis instansen fjernes, ville de estimerede koefficienter for den underliggende model blive væsentligt ændret? På grund af dette anvendes Cook’s Distance generelt til at opdage outliers i standard OLS-regressioner. Faktisk er en generel tommelfingerregel, at D(i) > 4/n er en god tærskel for at bestemme meget indflydelsesrige punkter som outliers, og denne visualisator kan rapportere den procentdel af dataene, der ligger over denne tærskel.

Denne implementering af Cook’s Distance forudsætter Ordinary Least Squares-regression og indlejrer derfor en sklearn.linear_model.LinearRegression under motorhjelmen.Afstanden beregnes via den ikke-hvide løftestang af projektionsmatrixen, der beregnes inde i fit(). Resultaterne af denne visualisator er derfor lignende, men ikke så avancerede, som en tilsvarende beregning ved hjælp af statsmodeller. Beregning afinfluence for andre regressionsmodeller kræver leave one out validering og kan være dyrt at beregne.

Se også

For en længere diskussion om detektering af outliers i regression og beregning af leverage og influence, se linear regression in python, outliers/leveragedetect af Huiming Song.

Parametre axmatplotlib Axes, default: Ingen

Akserne, som figuren skal plottes på. Hvis None er overgivet, vil de aktuelle akser blive brugt (eller genereret, hvis det er nødvendigt).

draw_thresholdbool, standard: True

Tegn en vandret linje ved D(i) == 4/n for nemt at identificere de mest indflydelsesrige punkter på den endelige regression. Dette vil også tegne en legende, der angiver den procentdel af datapunkterne, der er over tærsklen.

linefmtstr, default: ‘C0-‘

En streng, der definerer egenskaberne for de lodrette linjer i stamplottet, normalt vil dette være en farve eller en farve og en linjestil. Standardværdien er blot en gennemgående linje med den første farve i farvecyklussen.

markerfmtstr, default: ‘,’

En streng, der definerer egenskaberne for markørerne ved stamplottets hoveder. Standardværdien er “pixel”, f.eks. stort set ingen markørhoved øverst i stamplottet.

kwargsdict

Nøgleordargumenter, der videregives til basisklassen og kan påvirke den endeligevisualisering (f.eks. størrelses- eller titelparametre).

Notes

Cook’s Distance ligner meget DFFITS, en anden diagnose, der skal visehvor indflydelsesrig et punkt er i en statistisk regression. Selv om de beregnede værdier af Cook’s og DFFITS er forskellige, er de begrebsmæssigt identiske, og der findes endda en lukket formel til at konvertere den ene værdi til den anden. Derfor har vi valgt at implementere Cooks afstand i stedet for eller i tillæg til DFFITS.

Attributter distance_array, 1D

Cook’s afstandsværdi for hvert tilfælde angivet i X, f.eks. et 1D array med formen (X.shape,).

p_values_array, 1D

P-værdierne i forbindelse med F-testen af Cook’s afstandsfordeling. Et 1Darray, hvis form svarer til distance_.

influence_threshold_float

En tommelfingerregel for indflydelsestærskel til bestemmelse af outliers i regressionsmodellen, defineret som It=4/n.

outlier_percentage_float

Procentdelen af instanser, hvis Cook’s Distance er større end influncethresholdet, procentdelen er 0.0 <= p <= 100.0.

draw()¶

Tegner et stammeplot, hvor hver stamme er Cook’s Distance for instansen ved det indeks, der er angivet ved x-aksen. Der tegnes eventuelt en tærskellinje.

finalize()¶

Forbereder visualiseringen til præsentation og rapportering.

fit(X, y)¶

Beregner løftestangseffekten af X og bruger residualerne af asklearn.linear_model.LinearRegression til at beregne Cook’s Distance for hver observation i X, deres p-værdier og antallet af outliers defineret ved det leverede antal observationer.

Parametre Xarray-lignende, 2D

Den eksogene designmatrix, f.eks. træningsdata.

yarray-lignende, 1D

Den endogene responsvariabel, f.eks. måldata.

Returnerer selfCooksDistance

Fit returnerer visualiseringsinstansen.

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

Cook’s Distance er et mål for, hvor indflydelsesrig en instans er for beregningen af en regression, f.eks. hvis instansen fjernes, ville de estimerede coeficienter i den underliggende model blive væsentligt ændret? På grund af dette anvendes Cook’s Distance generelt til at opdage outliers i standard OLS-regressioner. Faktisk er en generel tommelfingerregel, at D(i) > 4/n er en god tærskel for at bestemme meget indflydelsesrige punkter som outliers, og denne visualisator kan rapportere den procentdel af dataene, der ligger over denne tærskel.

Denne implementering af Cook’s Distance forudsætter Ordinary Least Squares-regression og indlejrer derfor en sklearn.linear_model.LinearRegression under motorhjelmen.Afstanden beregnes via den ikke-hvide løftestang af projektionsmatrixen, der beregnes inde i fit(). Resultaterne af denne visualisator er derfor lignende, men ikke så avancerede, som en tilsvarende beregning ved hjælp af statsmodeller. Beregning afinfluence for andre regressionsmodeller kræver leave one out validation og kan være dyrt at beregne.

Se også

For en længere diskussion om detektering af outliers i regression og beregning af leverage og influence, se linear regression in python, outliers/leveragedetect af Huiming Song.

Parametre Xarray-lignende, 2D

Den eksogene designmatrix, f.eks. træningsdata.

yarray-lignende, 1D

Den endogene responsvariabel, f.eks. måldata.

axmatplotlib Akser, standard: Ingen

Akserne til at plotte figuren på. Hvis None er overgivet, vil de aktuelle akser blive anvendt (eller genereret, hvis det er nødvendigt).

draw_thresholdbool, default: : True

Tegn en vandret linje ved D(i) == 4/n for nemt at identificere de mest indflydelsesrige punkter på den endelige regression. Dette vil også tegne en legende, der angiver den procentdel af datapunkterne, der er over tærsklen.

linefmtstr, default: ‘C0-‘

En streng, der definerer egenskaberne for de lodrette linjer i stamplottet, normalt vil dette være en farve eller en farve og en linjestil. Standardværdien er simpelthen en gennemgående linje med den første farve i farvecyklussen.

markerfmt: str, standard: ‘,’

En streng, der definerer egenskaberne for markørerne ved stamplottets hoveder. Standardværdien er “pixel”, f.eks. grundlæggende ingen markørhoved øverst i stamplottet.

show: bool, default: True

Hvis True, kalder show(), som igen kalder plt.show(), hvorimod man ikke kan kalde plt.savefig fra denne signatur, og heller ikke clear_figure. Hvis False, kaldes blot finalize()

kwargsdict

Nøgleordargumenter, der overføres til basisklassen og kan påvirke den endeligevisualisering (f.eks. størrelses- eller titelparametre).

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.