Quelle est la raison de la transformation logarithmique de quelques variables continues?

16

J'ai fait un problème de classification et j'ai lu le code et les tutoriels de beaucoup de gens. Une chose que j'ai remarquée, c'est que beaucoup de gens prennent np.logou logde variable continue comme loan_amountou applicant_incomeetc.

Je veux juste comprendre la raison derrière cela. Cela aide-t-il à améliorer la précision de nos prédictions de modèles? Est-ce obligatoire? ou Y a-t-il une logique derrière cela?

Veuillez fournir des explications si possible. Je vous remercie.

Sai Kumar
la source

Réponses:

27

Cela se fait lorsque les variables s'étendent sur plusieurs ordres de grandeur. Le revenu est un exemple typique: sa distribution est la "loi de puissance", ce qui signifie que la grande majorité des revenus sont petits et très peu sont grands.

Ce type de distribution "à queue grasse" est étudié à l'échelle logarithmique en raison des propriétés mathématiques du logarithme:

log(Xn)=nlog(X)

ce qui implique

log(dix4)=4log(dix)

et

log(dix3)=3log(dix)

ce qui transforme une énorme différence en une plus petite Rendre les valeurs comparables.

dix4-dix3
4-3

Duccio Piovani
la source
2
Belle réponse spécialement parlant de distributions exponentielles.
Kasra Manshaei
1
@KasraManshaei Je parlais notamment des lois de puissance (le revenu étant un exemple typique): les valeurs extrêmes de distribution exponentielle sont par définition très rares. Par conséquent, les données qui couvrent plusieurs ordres de grandeur sont généralement des lois de puissance.
Duccio Piovani
1
mais bien sûr, dans de tels cas, connectez-vous ---> ln, ce qui ne change absolument pas le point de la réponse.
Duccio Piovani
Oui je l'ai eu. Comme vous l'avez dit, peu de changements.
Kasra Manshaei
6

Principalement à cause d'une distribution asymétrique. Le logarithme réduit naturellement la plage dynamique d'une variable afin que les différences soient préservées alors que l'échelle n'est pas si asymétrique. Imaginez que certaines personnes ont obtenu un prêt de 100 000 000 et certaines ont obtenu 10000 et certains 0. Toute mise à l'échelle des fonctionnalités mettra probablement 0 et 10000 si près l'une de l'autre que le plus grand nombre repousse de toute façon la frontière. Le logarithme résout le problème.

Kasra Manshaei
la source
Manshael, donc je peux utiliser MinMaxScaler ou StandardScaler non? ou Faut-il prendre le journal?
Sai Kumar
Nécessaire. Si vous utilisez des scalers, ils compressent considérablement les petites valeurs. Voilà ce que je voulais dire.
Kasra Manshaei
2
Oui. Si vous prenez en compte les valeurs 1 000 000 000 et 10 000 et 0. Dans de nombreux cas, le premier est trop grand pour permettre aux autres d'être correctement vus par votre modèle. Mais si vous prenez le logarithme, vous aurez respectivement 9, 4 et 0. Comme vous le voyez, la plage dynamique est réduite tandis que les différences sont presque préservées. Cela vient de toute nature exponentielle de votre fonctionnalité. Dans ces cas, vous avez besoin d'un logarithme comme l'autre réponse illustrée. J'espère que cela a aidé :)
Kasra Manshaei
2
Eh bien, la mise à l'échelle! Imaginez deux variables avec une distribution normale (donc pas besoin de logarithme) mais l'une d'entre elles à l'échelle de 10ish et l'autre à l'échelle de milions. Les nourrir à nouveau sur le modèle rend le petit invisible. Dans ce cas, vous utilisez des échelles pour rendre leurs échelles raisonnables.
Kasra Manshaei
1
@KasraManshaei log (0) = -inf cependant.
JAD
5

JournalX0<X<-<JournalX<

X

JAD
la source
3

Encore une autre raison pour laquelle les transformations logarithmiques sont utiles entre en jeu pour les données de rapport, du fait que log(A/B) = -log(B/A). Si vous tracez une distribution des ratios sur l'échelle brute, vos points tombent dans la plage (0, Inf). Tous les ratios inférieurs à 1 seront écrasés dans une petite zone de l'intrigue, et en outre, l'intrigue sera complètement différente si vous inversez le ratio à la (B/A)place de (A/B). Si vous le faites sur une échelle logarithmique, la plage est maintenant (-Inf, +Inf), ce qui signifie que les ratios inférieurs à 1 et supérieurs à 1 sont plus également répartis. Si vous décidez d'inverser le rapport, vous inversez simplement l'intrigue autour de 0, sinon il a exactement la même apparence. Sur une échelle logarithmique, cela n'a pas vraiment d'importance si vous affichez un ratio comme 1/10 or 10/1, ce qui est utile lorsqu'il n'y a pas de choix évident sur lequel il devrait être.

Nuclear Wang
la source
3

Vous devriez regarder la distribution lognormale .

Les gens peuvent utiliser des journaux parce qu'ils pensent que cela comprime l'échelle ou quelque chose, mais l'utilisation de principes des journaux est que vous travaillez avec des données qui ont une distribution log-normale. Cela tendra à être des choses comme les salaires, les prix des logements, etc., où toutes les valeurs sont positives et la plupart sont relativement modestes, mais certaines sont très importantes.

Si vous pouvez prendre le journal des données et que cela devient normal, alors vous pouvez profiter de nombreuses fonctionnalités d'une distribution normale, comme la moyenne bien définie, l'écart type (et donc les scores z), la symétrie, etc.

De même, l'ajout de journaux est identique à la multiplication des valeurs non enregistrées. Ce qui signifie que vous avez transformé une distribution où les erreurs sont additives en une où elles sont multiplicatives (c'est-à-dire basées sur un pourcentage). Étant donné que des techniques telles que la régression OLS nécessitent une distribution d'erreur normale, l'utilisation des journaux étend leur applicabilité des processus additifs aux processus multiplicatifs.

Wayne
la source
1
Si vous souhaitez comparer des articles sans distribution, ne serait-il pas préférable de prendre des centiles ou des déciles et de les utiliser à la place de la valeur d'origine?
William Payne
1
@WilliamPayne Bien sûr, vous pouvez utiliser une méthode sans distribution, bien que vous abandonniez également une partie du pouvoir d'avoir une distribution ... si vos hypothèses de distribution sont correctes. Avec de plus grandes (correctes) hypothèses, il y a plus de puissance. Les centiles sont essentiellement des rangs, donc vous jetez les informations de distance dont vous disposez, et le centile d'un échantillon particulier est une estimation ponctuelle. Nous préférons généralement les distributions aux points.
Wayne
0

Je dirais que la raison principale n'est pas distributionnelle mais plutôt à cause de la relation non linéaire. Les journaux capturent souvent des relations saturantes ...

seanv507
la source