Was ist der Grund für die Protokolltransformation weniger kontinuierlicher Variablen?

16

Ich habe ein Klassifizierungsproblem gemacht und den Code und die Tutorials vieler Leute gelesen. Eine Sache, die mir aufgefallen ist, ist, dass viele Leute nehmen np.logoder logvon stetigen Variablen wie loan_amountoder applicant_incomeusw.

Ich möchte nur den Grund dahinter verstehen. Hilft es, die Genauigkeit unserer Modellvorhersage zu verbessern? Ist es obligatorisch? oder steckt dahinter eine logik?

Bitte erläutern Sie dies nach Möglichkeit. Vielen Dank.

Sai Kumar
quelle

Antworten:

27

Dies geschieht, wenn die Variablen mehrere Größenordnungen umfassen. Einkommen ist ein typisches Beispiel: Seine Verteilung ist "Potenzgesetz", was bedeutet, dass die überwiegende Mehrheit der Einkommen klein und nur sehr wenige groß sind.

Diese Art der "Fettschwanzverteilung" wird aufgrund der mathematischen Eigenschaften des Logarithmus in logarithmischer Skala untersucht:

log(xn)=nlog(x)

was impliziert

log(104)=4log(10)

und

log(103)=3log(10)

104103
43

Duccio Piovani
quelle
2
Schöne Antwort speziell über Exponentialverteilungen.
Kasra Manshaei
1
@KasraManshaei Ich sprach insbesondere über Potenzgesetze (Einkommen ist ein typisches Beispiel): Extremwerte in der Exponentialverteilung sind per Definition sehr selten. Daher sind Daten, die viele Größenordnungen umfassen, in der Regel Potenzgesetze.
Duccio Piovani
1
aber in solchen fällen log ---> ln, was den punkt der antwort absolut nicht ändert.
Duccio Piovani
Ja ich habe es verstanden. Wie du gesagt hast ändert sich nicht viel.
Kasra Manshaei
6

Hauptsächlich wegen der ungleichmäßigen Verteilung. Logarithmus reduziert natürlich den Dynamikbereich einer Variablen, so dass die Unterschiede erhalten bleiben, während die Skalierung nicht so dramatisch verzerrt ist. Stellen Sie sich vor, einige Leute haben ein Darlehen von 100.000.000 und einige von 10000 und einige von 0. Jede Skalierung von Merkmalen wird wahrscheinlich 0 und 10000 so nahe beieinander bringen, dass die größte Zahl ohnehin die Grenze überschreitet. Der Logarithmus löst das Problem.

Kasra Manshaei
quelle
Manshael, also kann ich MinMaxScaler oder StandardScaler verwenden, oder? oder ist es notwendig sich anzumelden?
Sai Kumar
Notwendig. Wenn Sie Skalierer verwenden, werden kleine Werte dramatisch komprimiert. Das wollte ich sagen.
Kasra Manshaei
2
Ja. Wenn Sie die Werte 1000.000.000 und 10000 und 0 berücksichtigen. In vielen Fällen ist die erste zu groß, um andere von Ihrem Modell richtig sehen zu können. Wenn Sie jedoch einen Logarithmus verwenden, erhalten Sie 9, 4 und 0. Wie Sie sehen, verringert sich der Dynamikumfang, während die Unterschiede nahezu erhalten bleiben. Es kommt von einer exponentiellen Natur in Ihrem Feature. In diesen Fällen benötigen Sie den Logarithmus, wie in der anderen Antwort dargestellt. Hoffe, es hat geholfen :)
Kasra Manshaei
2
Nun, Skalierung! Stellen Sie sich zwei Variablen mit normaler Verteilung vor (es ist also kein Logarithmus erforderlich), von denen eine auf der Skala von 10 und die andere auf der Skala von Millionen liegt. Wenn Sie sie wieder dem Modell zuführen, wird das kleine Modell unsichtbar. In diesem Fall verwenden Sie Skalierer, um deren Skalierung angemessen zu gestalten.
Kasra Manshaei
1
@ KasraManshaei log (0) = -inf obwohl.
JAD
5

logx0<x<<logx<

x

JAD
quelle
3

Ein weiterer Grund, warum logarithmische Transformationen nützlich sind, kommt für Verhältnisdaten ins Spiel, weil log(A/B) = -log(B/A). Wenn Sie eine Verteilung der Verhältnisse auf der Rohskala zeichnen, fallen Ihre Punkte in den Bereich (0, Inf). Alle Verhältnisse von weniger als 1 werden in einen kleinen Bereich des Diagramms eingequetscht. Außerdem sieht das Diagramm völlig anders aus, wenn Sie das Verhältnis auf (B/A)statt auf drehen (A/B). Wenn Sie dies auf einer logarithmischen Skala tun, beträgt der Bereich jetzt (-Inf, +Inf), was bedeutet, dass Verhältnisse von weniger als 1 und mehr als 1 gleichmäßiger verteilt sind. Wenn Sie das Verhältnis spiegeln möchten, spiegeln Sie einfach den Plot um 0, ansonsten sieht es genauso aus. Auf einer logarithmischen Skala spielt es keine Rolle, ob Sie ein Verhältnis als anzeigen 1/10 or 10/1, was nützlich ist, wenn es keine offensichtliche Wahl gibt, welches es sein soll.

Kern Wang
quelle
3

Sie sollten sich die logarithmische Normalverteilung ansehen .

Benutzer verwenden möglicherweise Protokolle, weil sie glauben, dass sie den Maßstab oder etwas komprimieren. Die grundsätzliche Verwendung von Protokollen besteht jedoch darin, dass Sie mit Daten arbeiten, die eine logarithmische Normalverteilung aufweisen. Dies sind in der Regel Gehälter, Immobilienpreise usw., bei denen alle Werte positiv und die meisten relativ bescheiden sind, einige jedoch sehr hoch.

Wenn Sie die Daten protokollieren können und sie sich normalisieren, können Sie viele Merkmale einer Normalverteilung nutzen, z. B. einen genau definierten Mittelwert, eine Standardabweichung (und damit Z-Scores), Symmetrie usw.

Ebenso entspricht das Hinzufügen von Protokollen der Multiplikation der nicht protokollierten Werte. Das bedeutet, dass Sie eine Verteilung, bei der Fehler additiv sind, in eine Verteilung umgewandelt haben, bei der sie multiplikativ sind (dh prozentbasiert). Da Techniken wie die OLS-Regression eine normale Fehlerverteilung erfordern, erweitert die Arbeit mit Protokollen ihre Anwendbarkeit von additiven zu multiplikativen Prozessen.

Wayne
quelle
1
Wenn Sie Elemente auf verteilungsfreie Weise vergleichen möchten, ist es nicht besser, Perzentile oder Dezile zu verwenden und diese anstelle des ursprünglichen Werts zu verwenden.
William Payne
1
@WilliamPayne Sicher, Sie können eine verteilungsfreie Methode verwenden, obwohl Sie auch einen Teil der Macht einer Verteilung aufgeben ... wenn Ihre Verteilungsannahmen korrekt sind. Mit größeren (richtigen) Annahmen geht eine größere Leistung einher. Perzentile sind im Wesentlichen Ränge. Sie werfen also die Entfernungsinformationen weg, die Sie haben, und das Perzentil einer bestimmten Stichprobe ist eine Punktschätzung. Normalerweise bevorzugen wir Verteilungen gegenüber Punkten.
Wayne
0

Ich würde sagen, der Hauptgrund liegt nicht in der Verteilung, sondern in der nichtlinearen Beziehung. Protokolle erfassen häufig gesättigte Beziehungen ...

seanv507
quelle