Cookova vzdálenost¶

API Reference¶

Vizualizace vlivu a pákového efektu jednotlivých instancí na regresní model.

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

Báze: yellowbrick.base.Visualizer

Cookova vzdálenost je měřítkem toho, jaký vliv má instance na výpočet regrese, např. pokud by byla instance odstraněna, změnily by se podstatně odhadované koeficienty podkladového modelu? Z tohoto důvodu se Cookova vzdálenost obvykle používá k detekci odlehlých hodnot ve standardní regresi OLS. Ve skutečnosti je obecným pravidlem, že D(i) > 4/n je dobrou prahovou hodnotou pro určení vysoce vlivných bodů jako odlehlých a tento vizualizátor může hlásit procento dat, které je nad touto prahovou hodnotou.

Tato implementace Cookovy vzdálenosti předpokládá regresi metodou obyčejných nejmenších čtverců, a proto pod kapotou obsahuje sklearn.linear_model.LinearRegression.Vzdálenost se počítá prostřednictvím nezabělené páky projekční matice, která se počítá uvnitř fit(). Výsledky tohoto vizualizéru jsou proto podobné, ale ne tak pokročilé jako podobný výpočet pomocí statických modelů. Výpočet vlivu pro jiné regresní modely vyžaduje vynechat jednu validaci a může být nákladný na výpočet.

Viz také

Delší diskusi o detekci odlehlých hodnot v regresi a výpočtu průměru a vlivu viz Linear regression in python, outliers/leveragedetect by Huiming Song.

Parametry axmatplotlib Osy, výchozí: None

Osi, na které se vykreslí obrázek. Pokud je předáno None, použijí se aktuální osy (nebo se vygenerují, pokud je to nutné).

draw_thresholdbool, výchozí:

Kreslení vodorovné čáry v bodě D(i) == 4/n pro snadnou identifikaci nejvlivnějšíchbodů na konečné regresi. Nakreslí se také legenda, která určuje procento datových bodů, které jsou nad prahovou hodnotou.

linefmtstr, výchozí: ‚C0-‚

Řetězec definující vlastnosti svislých čar kmenového grafu, obvykle to bude barva nebo barva a styl čáry. Výchozí je jednoduše plná čára s první barvou barevného cyklu.

markerfmtstr, výchozí: ‚,‘

Řetězec definující vlastnosti značek v hlavách kmenového grafu. Výchozí hodnota je „pixel“, např. v podstatě žádná hlavička značky v horní části kmenového grafu.

kvargsdict

Klíčové argumenty, které jsou předávány základní třídě a mohou ovlivnit konečnou vizualizaci (např. parametry velikosti nebo názvu).

Poznámky

Cookova vzdálenost je velmi podobná DFFITS, další diagnostice, která má ukázat, jaký vliv má bod ve statistické regresi. Ačkoli se vypočtené hodnoty Cookovy vzdálenosti a DFFITS liší, jsou koncepčně totožné a dokonce existuje uzavřený vzorec pro převod jedné hodnoty na druhou. Z tohoto důvodu jsme se rozhodli implementovat Cookovu vzdálenost spíše než nebo navíc k DFFITS.

Atributy distance_array, 1D

Hodnota Cookovy vzdálenosti pro každý případ uvedený v X, např. 1D pole ve tvaru (X.shape,).

p_values_array, 1D

Hodnoty p spojené s F-testem rozdělení Cookovy vzdálenosti. Pole 1D, jehož tvar odpovídá distance_.

influence_threshold_float

Prah vlivu podle pravidla pro určení odlehlých hodnot v regresním modelu, definovaný jako It=4/n.

outlier_percentage_float

Procento instancí, jejichž Cookova vzdálenost je větší než influncethreshold, procento je 0,0 <= p <= 100,0.

draw()¶

Vykreslí stonkový graf, kde každý stonek je Cookova vzdálenost instance v indexu zadaném osou x. Volitelně nakreslí prahovou čáru.

finalize()¶

Připraví vizualizaci pro prezentaci a vykazování.

fit(X, y)¶

Vypočítá pákový efekt X a pomocí reziduí asklearn.linear_model.LinearRegression vypočítá Cookovu vzdálenost každého pozorování v X, jejich p-hodnoty a počet odlehlých hodnot definovaný pak počtem dodaných pozorování.

Parametry Xarray-like, 2D

Exogenní návrhová matice, např. trénovací data.

yarray-like, 1D

Endogenní proměnná odezvy, např. cílová data.

Vrací selfCooksDistance

Fit vrací instanci vizualizéru.

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

Cookova vzdálenost je měřítkem toho, jaký vliv má instance na výpočet regrese, např. pokud by se instance odstranila, změnily by se podstatně odhadované koeficienty podkladového modelu? Z tohoto důvodu se Cookova vzdálenost obvykle používá k detekci odlehlých hodnot ve standardní regresi OLS. Ve skutečnosti je obecným pravidlem, že D(i) > 4/n je dobrou prahovou hodnotou pro určení vysoce vlivných bodů jako odlehlých a tento vizualizátor může hlásit procento dat, které je nad touto prahovou hodnotou.

Tato implementace Cookovy vzdálenosti předpokládá regresi metodou obyčejných nejmenších čtverců, a proto pod kapotou obsahuje sklearn.linear_model.LinearRegression.Vzdálenost se počítá prostřednictvím nezabělené páky projekční matice, která se počítá uvnitř fit(). Výsledky tohoto vizualizéru jsou proto podobné, ale ne tak pokročilé jako podobný výpočet pomocí statických modelů. Výpočet vlivu pro jiné regresní modely vyžaduje vynechat jednu validaci a může být nákladný na výpočet.

Viz také

Delší diskusi o detekci odlehlých hodnot v regresi a výpočtu průměru a vlivu viz Linear regression in python, outliers/leveragedetect od Huiming Song.

Parametry Xarray-like, 2D

Exogenní návrhová matice, např. trénovací data.

yarray-like, 1D

Endogenní proměnná odpovědi, např. cílová data.

axmatplotlib Osy, výchozí: None

Osi, na které se vykreslí obrázek. Pokud je předáno None, použijí se aktuální osy (nebo se vygenerují, pokud je to nutné).

draw_thresholdbool, výchozí:

Kreslení vodorovné čáry v bodě D(i) == 4/n pro snadnou identifikaci nejvlivnějšíchbodů na konečné regresi. Nakreslí se také legenda, která určuje procento datových bodů, které jsou nad prahovou hodnotou.

linefmtstr, výchozí: ‚C0-‚

Řetězec definující vlastnosti svislých čar kmenového grafu, obvykle to bude barva nebo barva a styl čáry. Výchozí je jednoduše plná čára s první barvou barevného cyklu.

markerfmt: str, výchozí: ‚,‘

Řetězec definující vlastnosti značek v hlavách kmenového grafu. Výchozí hodnota je „pixel“, např. v podstatě žádná hlava značky v horní části kmenového grafu.

show: bool, výchozí:

Pokud je True, volá show(), který zase volá plt.show(), jakkoli z této signatury nelze volat plt.savefig, aniclear_figure. Pokud False, jednoduše zavolá finalize()

kwargsdict

Klíčové argumenty, které jsou předány základní třídě a mohou ovlivnit konečnou vizualizaci (např. parametry velikosti nebo názvu).

.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.