Rimozione della distanza di Cook in Python

Rimozione della distanza di Cook in Python
La distanza di Cook è un approccio utile per identificare i valori anomali e l'impatto di ciascuna osservazione su un particolare modello di regressione. Può aiutare nella rimozione degli outlier e l'indagine di quali punti contribuiscono al minimo alla previsione delle variabili target. Esamineremo la regressione, i valori anomali e il modo in cui la distanza di Cook svolge un ruolo nello sviluppo di un buon modello di regressione. Più tardi, implementeremo anche la distanza di Cook in Python.

Cos'è la regressione?

L'analisi di regressione è uno strumento statistico per analizzare la connessione tra variabili indipendenti e dipendenti (questo può essere esteso anche in molti modi diversi). L'applicazione più tipica dell'analisi di regressione è la previsione o la previsione di come una raccolta di condizioni influirà su un risultato. Supponiamo di avere una serie di dati sugli studenti delle scuole superiori che includevano i loro punteggi GPA, Genere, Età e SAT.

In tal caso, è possibile creare un modello di regressione lineare di base con i fattori dipendenti che sono GPA, genere, etnia ed età e le variabili indipendenti sono punteggi SAT. Quindi, una volta che hai il modello, puoi stimare ciò che gli studenti freschi segnano sul SAT in base agli altri quattro fattori, supponendo che sia una buona scelta. Un altro buon esempio di analisi di regressione è la previsione dei prezzi della casa in base al numero di stanze, area e altri fattori.

Cosa intendiamo per regressione lineare?

La regressione lineare è la tecnica di apprendimento supervisionata più comune, semplice ma efficace per prevedere variabili continue. L'obiettivo della regressione lineare è determinare come una variabile di input (variabile indipendente) influisce su una variabile di output (variabile dipendente). Di seguito sono riportati gli elementi della regressione lineare:

  1. La variabile di input è generalmente continua
  2. La variabile di output è continua
  3. I presupposti della regressione lineare sono.

I presupposti della regressione lineare includono una relazione lineare tra le variabili di input e output, che gli errori sono normalmente distribuiti e che il termine di errore è indipendente dall'input.

Qual è la distanza euclidea?

La distanza più piccola tra due oggetti specificati in un piano è la distanza euclidea. Se un triangolo destro viene tratto dai due punti specificati, è uguale alla somma dei quadrati della base del triangolo e alla sua altezza. È comunemente usato in geometria per una varietà di scopi. Questo è il tipo di spazio in cui le linee che iniziano parallele rimangono parallele e sono sempre alla stessa distanza.

Questo assomiglia molto allo spazio in cui dimora gli umani. Ciò indica che la distanza euclidea tra due oggetti è la stessa del tuo buon senso ti dice mentre calcola la distanza più breve tra due oggetti. Il teorema di Pitagora è usato per calcolarlo matematicamente. La distanza di Manhattan è una metrica alternativa per determinare la distanza tra due punti.

Qual è la distanza di Manhattan?

La distanza di Manhattan viene calcolata dove il piano è diviso in blocchi e non è possibile viaggiare in diagonale. Di conseguenza, Manhattan non fornisce sempre la via più diretta tra due punti. Se due punti in un piano sono (x1, y1) e (x2, y2), la distanza di Manhattan tra di loro viene calcolata come | x1-x2 | + | y1-y2 |. Questo è comunemente impiegato nelle città in cui le strade sono disposte in blocchi ed è impossibile andare in diagonale da una posizione all'altra.

Cosa sono i valori anomali?

I valori anomali in un set di dati sono numeri o punti dati anormalmente alti o bassi rispetto ad altri punti o valori di dati. Un outlier è un'osservazione che si discosta dal modello generale di un campione. I valori anomali dovrebbero essere rimossi man mano che riducono l'accuratezza di un modello. I valori anomali sono in genere visualizzati usando i grafici della scatola. Ad esempio, in una classe di studenti, potremmo aspettarci che siano tra 5 e 20. Uno studente di 50 anni in classe sarebbe considerato un outlier poiché non "appartiene" alla tendenza regolare dei dati.

Portare i dati (in genere con un diagramma della scatola) è forse la tecnica più semplice per vedere qualsiasi outlier nel set di dati. I processi di statistica relativi al controllo di qualità possono dirti fino a che punto sei statisticamente (in base alle deviazioni standard di probabilità e ai livelli di confidenza). Tuttavia, tieni presente che un outlier è solo un outlier se hai abbastanza informazioni sui dati per spiegare perché è diverso dagli altri punti dati, giustificando così il termine "."Altrimenti, i dati devono essere trattati come un evento casuale. Dovrebbero essere mantenuti nel set di dati - e devi accettare il meno desiderabile (i.e., meno desiderabile) Risultati a causa dell'inclusione del punto dati.

Qual è la distanza di Cook?

La distanza di Cook nella scienza dei dati viene utilizzata per calcolare l'influenza di ciascun punto dati come modello di regressione. L'esecuzione di un'analisi di regressione dei minimi quadrati è un metodo per identificare i valori anomali influenti in un insieme di variabili predittive. R. Dennis Cook, uno statistico americano, ha avuto origine questo concetto, motivo per cui prende il nome da lui. Nella distanza di Cook, i valori vengono confrontati per vedere se la rimozione dell'attuale osservazione influisce sul modello di regressione. Maggiore è l'influenza di una certa osservazione sul modello, maggiore è la distanza del cuoco di tale osservazione.
Matematicamente, la distanza di Cook è rappresentata come

DI = (DI2 / C * M) * (HII / (1-HII) 2)

Dove:
Dio è l'ith punto dati
C rappresenta il numero di coefficienti nel modello di regressione dato
M è un errore medio al quadrato che viene utilizzato per calcolare la deviazione standard dei punti con la media
Hii è l'ith Valore di leva.

Conclusioni della distanza di Cook

  1. Un probabile outlier è un punto dati con una distanza di Cook più di tre volte la media.
  2. Se ci sono n osservazioni, qualsiasi punto con la distanza di Cook maggiore di 4/N è considerato influente.

Implementazione della distanza di Cook in Python

Leggere i dati
Leggeremo un array 2-D in cui "x" rappresenta la variabile indipendente mentre "y" rappresenta la variabile dipendente.

Importa panda come PD
#Crea DataFrame
df = pd.DataFrame ('x': [10, 20, 30, 40, 50, 60],
'Y': [20, 30, 40, 50, 100, 70])

Creazione del modello di regressione

importanti statsmodel.API come SM
# memorizzazione di valori dipendenti
Y = df ['y']
# memorizzazione di valori indipendenti
X = df ['x']
X = Sm.add_constant (x)
# Montare il modello
Modello = Sm.Ols (y, x)
modello.adatto()

Calcola la distanza di Cook

Importa Numpy come NP
np.set_printoptions (soppress = true)
# Crea istanza di influenza
influenza = modello.get_influence ()
# Ottieni la distanza di Cook per ogni osservazione
Cooks_Distances = Influence.cooks_distance
# Stampa le distanze di Cook
Stampa (Cooks_Distances)

Altra tecnica di rilevamento del valore anomalo

Intervallo interquartile (IQR)
L'intervallo interquartile (IQR) è una misura della dispersione dei dati. È particolarmente efficace per dati significativamente distorti o altrimenti out-of-the-ordinarie. Ad esempio, i dati relativi al denaro (reddito, proprietà e prezzi delle auto, risparmi e attività e così via) sono spesso distorti a destra, con la maggior parte delle osservazioni di fascia bassa e alcune sparse nella fascia alta. Come altri hanno sottolineato, l'intervallo interquartile si concentra sulla metà centrale dei dati mentre ignora le code.

Conclusione

Abbiamo attraversato la descrizione della distanza di Cook, i suoi concetti correlati come regressione, outlier e come possiamo usarla per trovare l'influenza di ogni osservazione nel nostro set di dati. La distanza di Cook è importante per esaminare i valori anomali e quale impatto ha ogni osservazione sul modello di regressione. Più tardi, abbiamo anche implementato la distanza di Cook usando Python su un modello di regressione.