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).