Distanța lui Cook¶

Referință API¶

Vizualizați influența și efectul de pârghie al instanțelor individuale asupra unui model de regresie.

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

Bases: yellowbrick.base.Visualizer

Distanța lui Cook este o măsură a gradului de influență a unei instanțe în calculul unei regresii, de exemplu, dacă instanța este eliminată, s-ar modifica substanțial coeficienții estimați ai modelului subiacent? Din acest motiv, distanța lui Cook este în general utilizată pentru a detecta valorile aberante în regresia OLS standard. De fapt, o regulă generală este că D(i) > 4/n este un prag bun pentru determinarea punctelor foarte influente ca fiind aberante, iar acest instrument de vizualizare poate raporta procentul de date care se situează peste acest prag.

Acestă implementare a distanței lui Cook presupune regresia prin metoda celor mai mici pătrate ordinare și, prin urmare, încorporează un sklearn.linear_model.LinearRegression sub capotă.Distanța este calculată prin intermediul pârghiei nealbite a matricei de proiecție, calculată în cadrul fit(). Rezultatele acestui vizualizator sunt, prin urmare, similare, dar nu la fel de avansate, ca un calcul similar care utilizează modele statistice. Calcularea influenței pentru alte modele de regresie necesită o validare leave one out și poate fi costisitor de calculat.

Vezi și

Pentru o discuție mai lungă despre detectarea valorilor aberante în regresie și calcularea efectului de pârghie și a influenței, vezi linear regression in python, outliers/leveragedetect de Huiming Song.

Parametri axmatplotlib Axes, default: None

Axe pe care se trasează figura. Dacă se trece None se vor folosi axele curente (sau vor fi generate dacă este necesar).

draw_thresholdbool, default: True

Desenează o linie orizontală la D(i) == 4/n pentru a identifica cu ușurință punctele cele mai influente pe regresia finală. Aceasta va desena, de asemenea, o legendă care specifică procentajul punctelor de date care se află deasupra pragului.

linefmtstr, default: ‘C0-‘

Un șir de caractere care definește proprietățile liniilor verticale ale graficului stem, de obicei aceasta va fi o culoare sau o culoare și un stil de linie. Valoarea implicită este pur și simplu o linie continuă cu prima culoare din ciclul de culori.

markerfmtstr, valoare implicită: ‘,’

Un șir de caractere care definește proprietățile markerilor de la capetele diagramei stem. Valoarea implicită este „pixel”, de exemplu, practic nu există niciun cap de marker în partea de sus a diagramei stem.

kwargsdict

Argumente cheie care sunt transmise clasei de bază și care pot influența vizualizarea finală (de exemplu, parametrii de mărime sau de titlu).

Note

Distanța lui Cook este foarte asemănătoare cu DFFITS, un alt diagnostic care este menit să arate cât de influent este un punct într-o regresie statistică. Deși valorile calculatede Cook’s și DFFITS sunt diferite, ele sunt identice din punct de vedere conceptual și există chiar și o formulă cu formă închisă pentru a converti o valoare în alta. Din acest motiv, am ales să implementăm distanța lui Cook mai degrabă decât sau în plus față de DFFITS.

Atribute distance_array, 1D

Valoarea distanței lui Cook pentru fiecare instanță specificată în X, de exemplu, un array 1D cu forma (X.shape,).

p_values_array, 1D

Valorile p asociate cu testul F al distribuției distanței lui Cook. Un 1Darray 1D a cărui formă se potrivește cu distance_.

influence_threshold_float

O regulă empirică a pragului de influență pentru a determina valorile aberante în modelul de regresie, definită ca It=4/n.

outlier_percentage_float

Procentul de instanțe a căror distanță Cook este mai mare decât pragul de influență, procentul este 0,0 <= p <= 100,0.

draw()¶

Desenează un grafic al tulpinilor în care fiecare tulpină este distanța Cook a instanței la indexul specificat de axa x. Opțional, trasează o linie de prag.

finalize()¶

Pregătește vizualizarea pentru prezentare și raportare.

fit(X, y)¶

Calculează pârghia lui X și utilizează reziduurile lui asklearn.linear_model.LinearRegression pentru a calcula Distanța lui Cook a fiecărei observații din X, valorile p ale acestora și numărul de valori aberante definite de numărul de observații furnizate.

Parametri de tip Xarray, 2D

Matrice de proiectare exogenă, de exemplu, date de instruire.

yarray-like, 1D

Variabila de răspuns endogenă, de exemplu, datele țintă.

Returns selfCooksDistance

Fit returnează instanța de vizualizare.

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

Distanța lui Cook este o măsură a gradului de influență a unei instanțe în calculul unei regresii, de exemplu, dacă instanța este eliminată, coeficienții estimați ai modelului subiacent ar fi modificați substanțial? Din acest motiv, distanța lui Cook este în general utilizată pentru a detecta valorile aberante în regresia OLS standard. De fapt, o regulă generală este că D(i) > 4/n este un prag bun pentru determinarea punctelor foarte influente ca fiind aberante, iar acest instrument de vizualizare poate raporta procentul de date care se situează peste acest prag.

Acestă implementare a distanței lui Cook presupune regresia prin metoda celor mai mici pătrate ordinare și, prin urmare, încorporează un sklearn.linear_model.LinearRegression sub capotă.Distanța este calculată prin intermediul pârghiei nealbite a matricei de proiecție, calculată în cadrul fit(). Rezultatele acestui vizualizator sunt, prin urmare, similare, dar nu la fel de avansate, ca un calcul similar care utilizează modele statistice. Calcularea influenței pentru alte modele de regresie necesită o validare leave one out și poate fi costisitor de calculat.

Vezi și

Pentru o discuție mai lungă despre detectarea valorilor aberante în regresie și calcularea efectului de pârghie și a influenței, vezi linear regression in python, outliers/leveragedetect de Huiming Song.

Parametrii Xarray-like, 2D

Matrice de proiectare exogenă, de exemplu, datele de instruire.

yarray-like, 1D

Variabila de răspuns endogenă, de exemplu, datele țintă.

axmatplotlib Axele, implicit: None

Axele pe care se trasează figura. Dacă se trece None se vor folosi axele curente (sau vor fi generate dacă este necesar).

draw_thresholdbool, default: True

Desenează o linie orizontală la D(i) == 4/n pentru a identifica cu ușurință punctele cele mai influente pe regresia finală. Aceasta va desena, de asemenea, o legendă care specifică procentajul punctelor de date care se află deasupra pragului.

linefmtstr, default: ‘C0-‘

Un șir de caractere care definește proprietățile liniilor verticale ale diagramei stem, de obicei aceasta va fi o culoare sau o culoare și un stil de linie. Valoarea implicită este pur și simplu o linie continuă cu prima culoare din ciclul de culori.

markerfmt: str, default: ‘,’

Un șir de caractere care definește proprietățile markerilor de la capetele graficului stem. Valoarea implicită este „pixel”, de exemplu, practic nu există niciun cap de marker în partea de sus a diagramei stem.

show: bool, default: True

Dacă este True, apelează show(), care la rândul său apelează plt.show() cumnu se poate apela plt.savefig din această semnătură, niciclear_figure. Dacă este False, apelează pur și simplu finalize()

kwargsdict

Argumente cheie care sunt transmise clasei de bază și care pot influența vizualizarea finală (de exemplu, parametrii de dimensiune sau de titlu).

.

Lasă un răspuns

Adresa ta de email nu va fi publicată.