Qual è il motivo alla base della trasformazione del log di poche variabili continue?


16

Ho riscontrato un problema di classificazione e ho letto il codice e le esercitazioni di molte persone. Una cosa che ho notato è che molte persone prendono np.logo logdi variabili continue come loan_amounto applicant_incomeecc.

Voglio solo capire il motivo dietro. Aiuta a migliorare la precisione della previsione del nostro modello. È obbligatorio? o c'è qualche logica dietro?

Si prega di fornire alcune spiegazioni se possibile. Grazie.

Risposte:


27

Questo viene fatto quando le variabili si estendono su più ordini di grandezza. Il reddito è un tipico esempio: la sua distribuzione è "legge del potere", il che significa che la stragrande maggioranza dei redditi è piccola e pochissimi sono grandi.

Questo tipo di distribuzione "a coda grassa" è studiato in scala logaritmica a causa delle proprietà matematiche del logaritmo:

log(xn)=nlog(x)

il che implica

log(104)=4log(10)

e

log(103)=3log(10)

che trasforma una grande differenza

104103
in una più piccola
43
Rendere i valori comparabili.


2
Bella risposta specialmente parlando di distribuzioni esponenziali.
Kasra Manshaei,

1
@KasraManshaei Stavo parlando in particolare delle leggi sul potere (il reddito è un tipico esempio): i valori estremi nella distribuzione esponenziale sono per definizione molto rari. Pertanto i dati che coprono molti ordini di grandezza sono di solito legge del potere.
Duccio Piovani,

1
ma ovviamente in questi casi registra ---> ln, che non cambia assolutamente il punto della risposta.
Duccio Piovani,

Sì, ho capito. Come hai detto non molti cambiamenti.
Kasra Manshaei,

6

Principalmente a causa della distribuzione distorta. Il logaritmo riduce naturalmente la gamma dinamica di una variabile in modo che le differenze vengano preservate mentre la scala non è così drasticamente distorta. Immagina che alcune persone abbiano ottenuto 100.000.000 di prestiti e alcune abbiano ottenuto 10000 e alcune 0. Qualsiasi ridimensionamento delle funzioni probabilmente metterà 0 e 10000 così vicini l'uno all'altro poiché il numero più grande supera comunque il limite. Il logaritmo risolve il problema.


Manshael, quindi posso usare MinMaxScaler o StandardScaler, giusto? o È necessario prendere il registro?
Sai Kumar,

Necessario. Se usi i ridimensionatori, comprimono drammaticamente i piccoli valori. Questo è quello che intendevo dire.
Kasra Manshaei,

2
Sì. Se si prendono in considerazione i valori 1000.000.000 e 10000 e 0. In molti casi, il primo è troppo grande per consentire agli altri di essere visti correttamente dal tuo modello. Ma se prendi il logaritmo avrai rispettivamente 9, 4 e 0. Come vedi la gamma dinamica è ridotta mentre le differenze sono quasi preservate. Viene da qualsiasi natura esponenziale nella tua funzione. In questi casi è necessario il logaritmo come l'altra risposta rappresentata. Spero che abbia aiutato :)
Kasra Manshaei il

2
Bene, ridimensionamento! Immagina due variabili con distribuzione normale (quindi non è necessario il logaritmo) ma una di esse nella scala di 10ish e l'altra nella scala di milioni. Ancora una volta alimentandoli con il modello, il piccolo diventa invisibile. In questo caso, si utilizzano gli scaler per renderli ragionevoli.
Kasra Manshaei,

1
@KasraManshaei log (0) = -inf però.
JAD,

5

logx0<x<<logx<

x


3

Ancora un altro motivo per cui le trasformazioni logaritmiche sono utili entra in gioco per i dati di rapporto, a causa del fatto che log(A/B) = -log(B/A). Se tracciate una distribuzione di rapporti sulla scala grezza, i vostri punti rientrano nell'intervallo (0, Inf). Qualsiasi rapporto inferiore a 1 verrà schiacciato in una piccola area della trama e, inoltre, la trama apparirà completamente diversa se si inverte il rapporto (B/A)anziché (A/B). Se lo fai su una scala logaritmica, l'intervallo è ora (-Inf, +Inf), il che significa che i rapporti inferiori a 1 e maggiori di 1 sono più equamente distribuiti. Se decidi di invertire il rapporto, capovolgi semplicemente la trama intorno a 0, altrimenti sembra esattamente la stessa. Su una scala di registro, non importa se mostri un rapporto come 1/10 or 10/1, che è utile quando non c'è una scelta ovvia su quale dovrebbe essere.


3

Dovresti guardare la distribuzione lognormale .

Le persone possono usare i registri perché pensano che comprime la scala o qualcosa del genere, ma l'uso principale dei registri è che si sta lavorando con dati che hanno una distribuzione lognormale. Tenderanno ad essere cose come salari, prezzi delle case, ecc., Dove tutti i valori sono positivi e la maggior parte sono relativamente modesti, ma alcuni sono molto grandi.

Se riesci a prendere il registro dei dati e diventa normale, puoi sfruttare molte caratteristiche di una distribuzione normale, come media ben definita, deviazione standard (e quindi punteggi z), simmetria, ecc.

Allo stesso modo, l'aggiunta di registri è la stessa della moltiplicazione dei valori non registrati. Ciò significa che hai trasformato una distribuzione in cui gli errori sono additivi in ​​uno in cui sono moltiplicativi (ovvero basati su percentuale). Poiché tecniche come la regressione OLS richiedono una normale distribuzione degli errori, l'utilizzo dei log estende la loro applicabilità da processi additivi a processi moltiplicativi.


1
Se si desidera confrontare gli articoli in modo privo di distribuzione, non sarebbe meglio prendere percentili o decili e usarli al posto del valore originale?
William Payne,

1
@WilliamPayne Certo, puoi usare un metodo senza distribuzione, anche se stai anche rinunciando a un po 'del potere di avere una distribuzione ... se i tuoi presupposti distributivi sono corretti. Con ipotesi (corrette) maggiori si ottiene una maggiore potenza. I percentili sono essenzialmente gradi, quindi si eliminano le informazioni sulla distanza che si hanno e il percentile di un particolare campione è una stima puntuale. Preferiamo generalmente le distribuzioni ai punti.
Wayne,

0

Direi che il motivo principale non è distributivo ma piuttosto a causa della relazione non lineare. I registri spesso acquisiscono relazioni sature ...

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.