Perché convertiamo i dati distorti in una distribuzione normale


15

Stavo attraversando una soluzione della concorrenza sui prezzi delle case su Kaggle ( Human Analog's Kernel on House Prices: Advance Regression Techniques ) e mi sono imbattuto in questa parte:

# Transform the skewed numeric features by taking log(feature + 1).
# This will make the features more normal.
from scipy.stats import skew

skewed = train_df_munged[numeric_features].apply(lambda x: skew(x.dropna().astype(float)))
skewed = skewed[skewed > 0.75]
skewed = skewed.index

train_df_munged[skewed] = np.log1p(train_df_munged[skewed])
test_df_munged[skewed] = np.log1p(test_df_munged[skewed])

Non sono sicuro di quale sia la necessità di convertire una distribuzione distorta in una distribuzione normale. Per favore, qualcuno può spiegare in dettaglio:

  1. Perché questo viene fatto qui? o come è utile?
  2. In che cosa differisce dal ridimensionamento delle funzionalità?
  3. È un passaggio necessario per l'ingegnerizzazione delle funzionalità? Cosa è probabile che accada se salto questo passaggio?

2
Quindi i residui sono gaussiani (e possono essere cancellati facendo la media), la varianza è stabile e per precondizionare l'ottimizzatore per accelerare la convergenza. en.wikipedia.org/wiki/Power_transform
Emre

Risposte:


12

Potresti voler interpretare i tuoi coefficienti. Cioè, per poter dire cose del tipo "se aumento la mia variabile di 1, quindi, in media e tutto il resto è uguale, Y dovrebbe aumentare di β 1 ".X1Yβ1

Perché i tuoi coefficienti siano interpretabili, la regressione lineare presuppone un sacco di cose.

Una di queste cose non è la multicollinearità. Cioè, la tua X variabili non devono essere correlate tra loro.

Un altro è Homoscedasticity . Gli errori tuoi commit modello dovrebbe avere la stessa varianza, cioè si dovrebbe garantire la regressione lineare non fa piccoli errori per bassi valori di e grandi errori per i valori più elevati di X . In altre parole, la differenza tra ciò che si prevedono Y ed i veri valori Y dovrebbe essere costante. Puoi assicurarti che Y segua una distribuzione gaussiana. (La dimostrazione è altamente matematica.)XXY^YY

A seconda dei tuoi dati, potresti essere in grado di renderlo gaussiano. Le trasformazioni tipiche stanno prendendo l'inverso, il logaritmo o le radici quadrate. Naturalmente ne esistono molti altri, tutto dipende dai tuoi dati. Devi guardare i tuoi dati, quindi fare un istogramma o eseguire un test di normalità , come il test di Shapiro-Wilk.

Queste sono tutte tecniche per costruire uno stimatore imparziale . Non penso che abbia nulla a che fare con la convergenza, come altri hanno già detto (a volte potresti anche voler normalizzare i tuoi dati, ma questo è un argomento diverso).

Seguire le ipotesi di regressione lineare è importante se si desidera interpretare i coefficienti o se si desidera utilizzare test statistici nel modello. Altrimenti, dimenticalo.

y^-y2ynormalize


3

I dati distorti qui vengono normalizzati aggiungendone uno (uno aggiunto in modo che gli zeri vengano trasformati in uno in quanto il registro 0 non è definito) e prendendo il registro naturale. I dati possono essere quasi normalizzati usando le tecniche di trasformazione come prendere radice quadrata o reciproco o logaritmo. Ora, perché è richiesto. In realtà molti degli algoritmi nei dati presuppongono che la scienza dei dati sia normale e calcolano varie statistiche ipotizzando questo. Quindi, più i dati sono vicini alla norma, più si adatta al presupposto.


3
Gli algoritmi qui sono il boost gradiente e la regressione del lazo. Penso che questa risposta sarebbe più utile se potesse mostrare come sia (o non sia) rilevante per questi due algoritmi in particolare.
oW_

Dal mio punto di vista, quando un modello viene addestrato indipendentemente dal fatto che si tratti di regressione lineare o di un albero decisionale (da robusto a anomalo), i dati di disallineamento rendono un modello difficile da trovare un modello corretto nei dati è la ragione per cui dobbiamo fare un dato di sbieco in quello normale o gaussiano.
Goldi Rana,

1

Perché la scienza dei dati è solo statistica alla fine della giornata e uno dei presupposti chiave delle statistiche è il Teorema del limite centrale . Quindi questo passaggio viene eseguito perché alcuni passaggi successivi utilizzano tecniche statistiche che si basano su di esso.


1
Un teorema non è un presupposto. Il Teorema del limite centrale garantisce infatti che la media delle variabili casuali indipendenti sia distribuita approssimativamente normalmente anche quando le singole variabili casuali non sono normalmente distribuite.
Elias Strehle,

1
Questa è una catena di ragionamento estremamente imperfetta. È come: "- Ho visto persone sbucciare le mele prima di mangiarle. Perché? - Oh, è perché le mele sono frutta e uno dei frutti chiave è l'arancia e sbuccia sempre un'arancia!".
Ayorgo,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.