API Reference¶
Visualiseer de invloed en het hefboomeffect van individuele instanties op een regressiemodel.
klasseyellowbrick.regressor.influence.
CooksDistance
(ax=None, draw_threshold=True, linefmt=’C0-‘, markerfmt=’,’, **kwargs)¶
Bases: yellowbrick.base.Visualizer
Cook’s Distance is een maatstaf voor de invloed van een instantie op de berekening van een regressie, bijvoorbeeld: als de instantie wordt verwijderd, zouden de geschatte coëfficiënten van het onderliggende model dan wezenlijk veranderen? Daarom wordt Cook’s Distance algemeen gebruikt om uitschieters op te sporen in standaard OLS-regressie. In feite is een algemene vuistregel dat D(i) > 4/n een goede drempel is om zeer invloedrijke punten als uitbijters te beschouwen, en deze visualisator kan het percentage gegevens rapporteren dat boven die drempel ligt.
Deze implementatie van Cook’s Distance gaat uit van Ordinary Least Squares regressie, en bevat daarom een sklearn.linear_model.LinearRegression
onder de motorkap. De afstand wordt berekend via de niet-gewitte hefboom van de projectiematrix, berekend in fit()
. De resultaten van deze visualisator zijn daarom vergelijkbaar met, maar niet zo geavanceerd als, een vergelijkbare berekening met behulp van statsmodellen. Het berekenen van de invloed voor andere regressiemodellen vereist eenmalige validatie en kan kostbaar zijn om te berekenen.
Zie ook
Voor een langere discussie over het detecteren van uitschieters in regressie en het berekenen van het gemiddelde en de invloed, zie lineaire regressie in python, uitschieters/gemiddeldetect door Huiming Song.
Parameters axmatplotlib Assen, standaard: None
De assen om de figuur op te plotten. Als None wordt doorgegeven, worden de huidige assen gebruikt (of gegenereerd indien nodig).
draw_thresholdbool, default: True
Tekent een horizontale lijn bij D(i) == 4/n om gemakkelijk de meest invloedrijke punten op de uiteindelijke regressie te identificeren. Hiermee wordt ook een legenda getekend die aangeeft hoeveel procent van de datapunten boven de drempel ligt.
linefmtstr, default: ‘C0-‘
Een tekenreeks die de eigenschappen van de verticale lijnen van de stamplot bepaalt, meestal is dit een kleur of een kleur en een lijnstijl. De standaardinstelling is eenvoudig een solidline met de eerste kleur van de kleurencyclus.
markerfmtstr, default: ‘,’
Een string die de eigenschappen bepaalt van de markers op de koppen van de stam plot. Dedefault is “pixel”, d.w.z. in principe geen marker hoofd aan de top van de stam plot.
kwargsdict
Keyword argumenten die worden doorgegeven aan de basisklasse en die de uiteindelijke visualisatie kunnen beïnvloeden (b.v. grootte of titel parameters).
Notes
Cook’s Distance lijkt erg op DFFITS, een andere diagnostic die is bedoeld om te laten zien hoe invloedrijk een punt is in een statistische regressie. Hoewel de berekende waarden van Cook’s en DFFITS verschillend zijn, zijn zij conceptueel identiek en er bestaat zelfs een gesloten formule om de ene waarde in de andere om te zetten. Daarom hebben wij ervoor gekozen Cook’s distance te implementeren in plaats van of in aanvulling op DFFITS.
Attributen distance_array, 1D
De waarde van Cook’s distance voor elke in X
gespecificeerde instantie, b.v. een 1D matrix met vorm (X.shape,)
.
p_values_array, 1D
De p-waarden die zijn geassocieerd met de F-test van Cook’s afstandsverdeling. Een 1Darray waarvan de vorm overeenkomt met distance_
.
influence_threshold_float
Een vuistregel voor de invloedsdrempel om uitschieters in het regressiemodel te bepalen, gedefinieerd als It=4/n.
outlier_percentage_float
Het percentage instanties waarvan de Cook’s afstand groter is dan de invloedsdrempel, het percentage is 0.0 <= p <= 100.0.
draw
()¶
Tekent een stam plot waar elke stam de Cook’s afstand is van de instantie op de index gespecificeerd door de x-as. Tekent optioneel een drempellijn.
finalize
()¶
Prepareert de visualisatie voor presentatie en rapportage.
fit
(X, y)¶
Berekent de hefboomwerking van X en gebruikt de residuen van asklearn.linear_model.LinearRegression
om de Cook’s Distance te berekenen van elke waarneming in X, hun p-waarden en het aantal uitschieters gedefinieerd door het aantal opgegeven waarnemingen.
Parameters Xarray-achtig, 2D
De exogene ontwerpmatrix, bijv. trainingsgegevens.
yarray-achtig, 1D
De endogene responsvariabele, bijv. doelgegevens.
Retourneert selfCooksDistance
Fit retourneert de instantie van de visualisator.
yellowbrick.regressor.influence.
cooks_distance
(X, y, ax=None, draw_threshold=True, linefmt=’C0-‘, markerfmt=’,’, show=True, **kwargs)¶
Cook’s Distance is een maatstaf voor hoe invloedrijk een instantie is voor de berekening van een regressie, bijv. als de instantie wordt verwijderd, zouden de geschatte coëfficiënten van het onderliggende model dan wezenlijk veranderen? Daarom wordt Cook’s Distance algemeen gebruikt om uitschieters op te sporen in standaard OLS-regressie. In feite is een algemene vuistregel dat D(i) > 4/n een goede drempel is om zeer invloedrijke punten als uitbijters te beschouwen, en deze visualisator kan het percentage gegevens rapporteren dat boven die drempel ligt.
Deze implementatie van Cook’s Distance gaat uit van Ordinary Least Squares regressie, en bevat daarom een sklearn.linear_model.LinearRegression
onder de motorkap. De afstand wordt berekend via de niet-gewitte hefboom van de projectiematrix, berekend in fit()
. De resultaten van deze visualisator zijn daarom vergelijkbaar met, maar niet zo geavanceerd als, een vergelijkbare berekening met behulp van statsmodellen. Het berekenen van de invloed voor andere regressiemodellen vereist eenmalige validatie en kan duur zijn om te berekenen.
Zie ook
Voor een langere discussie over het detecteren van uitschieters in regressie en het berekenen van het gemiddelde en de invloed, zie lineaire regressie in python, uitschieters/gemiddeld detecteren door Huiming Song.
Parameters Xarray-achtig, 2D
De exogene ontwerpmatrix, bijv. trainingsgegevens.
yarray-achtig, 1D
De endogene responsvariabele, bijv. doelgegevens.
axmatplotlib Assen, default: Geen
De assen om de figuur op te plotten. Als None wordt doorgegeven, worden de huidige assen gebruikt (of gegenereerd indien nodig).
draw_thresholdbool, default: True
Tekent een horizontale lijn bij D(i) == 4/n om gemakkelijk de meest invloedrijke punten op de uiteindelijke regressie te identificeren. Hiermee wordt ook een legenda getekend die aangeeft hoeveel procent van de datapunten boven de drempel ligt.
linefmtstr, default: ‘C0-‘
Een tekenreeks die de eigenschappen van de verticale lijnen van de stamplot bepaalt, meestal is dit een kleur of een kleur en een lijnstijl. De standaardinstelling is eenvoudig een solidline met de eerste kleur van de kleurencyclus.
markerfmt: str, default: ‘,’
Een tekenreeks die de eigenschappen van de markers op de koppen van de stamplot definieert. De standaardwaarde is “pixel”, d.w.z. in principe geen marker bovenaan de stam plot.
show: bool, default: True
Indien True, roept show()
aan, die op zijn beurt plt.show()
aanroept, hoeje plt.savefig
niet kunt aanroepen vanuit deze signatuur, nochclear_figure
. Indien False, roept deze gewoon finalize()
kwargsdict
Keyword-argumenten die aan de basisklasse worden doorgegeven en de uiteindelijke visualisatie kunnen beïnvloeden (bijv. grootte of titelparameters).