Wenn ich stark verzerrte positive Daten habe, nehme ich oft Protokolle. Aber was soll ich mit stark verzerrten, nicht negativen Daten machen, die Nullen enthalten? Ich habe zwei Transformationen gesehen:
- mit der netten Funktion, dass 0 auf 0 abgebildet wird.
- wobei c entweder geschätzt oder auf einen sehr kleinen positiven Wert gesetzt wird.
Gibt es noch andere Ansätze? Gibt es gute Gründe, einen Ansatz dem anderen vorzuziehen?
data-transformation
large-data
Rob Hyndman
quelle
quelle
Antworten:
Es scheint mir, dass die am besten geeignete Wahl der Transformation vom Modell und dem Kontext abhängt.
Der '0'-Punkt kann aus verschiedenen Gründen auftreten, von denen jeder unterschiedlich behandelt werden muss:
Ich biete nicht wirklich eine Antwort an, da ich vermute, dass es keine universelle, 'korrekte' Transformation gibt, wenn Sie Nullen haben.
quelle
Niemand erwähnte die inverse hyperbolische Sinustransformation. Der Vollständigkeit halber füge ich es hier hinzu.
Dies ist eine Alternative zu den Box-Cox-Transformationen und wird definiert durch wobei . Für jeden Wert von wird Null auf Null abgebildet. Ebenso wie bei der Zwei-Parameter-BC-Transformation gibt es eine Zwei-Parameter-Version, die eine Verschiebung ermöglicht. Burbidge, Magee und Robb (1988) diskutieren die IHS-Transformation einschließlich der Schätzung von .
Die IHS-Transformation arbeitet mit Daten, die auf der gesamten realen Linie definiert sind, einschließlich negativer Werte und Nullen. Für große Werte von verhält es sich wie eine Protokolltransformation, unabhängig vom Wert von (außer 0). Der Grenzfall als ergibt .y θ θ→0 f(y,θ)→y
Mir scheint, dass die IHS-Transformation viel bekannter sein sollte als sie ist.
quelle
Ein nützlicher Ansatz, wenn die Variable als unabhängiger Faktor in der Regression verwendet wird, besteht darin, sie durch zwei Variablen zu ersetzen: Eine ist ein binärer Indikator dafür, ob sie Null ist, und die andere ist der Wert der ursprünglichen Variablen oder ein erneuter Ausdruck davon. wie sein Logarithmus. Diese Technik wird in Hosmer & Lemeshows Buch über logistische Regression diskutiert (und an anderen Stellen, da bin ich mir sicher). Abgeschnittene Wahrscheinlichkeitsdiagramme des positiven Teils der ursprünglichen Variablen sind nützlich, um einen geeigneten Wiederausdruck zu identifizieren. (Beispiele finden Sie in der Analyse unter https://stats.stackexchange.com/a/30749/919 .)
Wenn die Variable die abhängige Variable in einem linearen Modell ist, kann eine zensierte Regression (wie Tobit ) nützlich sein, wodurch wiederum die Notwendigkeit vermieden wird, einen gestarteten Logarithmus zu erzeugen. Diese Technik ist unter Ökonomen üblich.
quelle
Die Log-Transformationen mit Verschiebungen sind Spezialfälle der Box-Cox-Transformationen :
Dies ist die erweiterte Form für negative Werte, gilt jedoch auch für Daten, die Nullen enthalten. Box und Cox (1964) stellen einen Algorithmus vor, mit dem mit maximaler Wahrscheinlichkeit geeignete Werte für die werden können. Dies gibt Ihnen die ultimative Transformation.λ
Ein Grund, Box-Cox-Transformationen zu bevorzugen, besteht darin, dass sie entwickelt wurden, um Annahmen für das lineare Modell zu gewährleisten. Es wurde einige Arbeit geleistet, um zu zeigen, dass das geschätzte auch dann zu einer symmetrischen Verteilung führt , wenn Ihre Daten nicht zur Normalität transformiert werden können .λ
Ich bin mir nicht sicher, wie gut dies Ihre Daten adressiert, da es das das nur die von Ihnen erwähnte Log-Transformation ist, aber es kann sich lohnen, die erforderlichen zu schätzen , um zu sehen, ob es sich um eine andere handelt Transformation ist angemessen.λ=(0,1) λ
In R berechnet die
boxcox.fit
Funktion in packagegeoR
die Parameter für Sie.quelle
lambda2=TRUE
in den Argumenten anboxcox.fit
. (Hat auch die Antwort aktualisiert.)boxcoxfit
.Ich gehe davon aus, dass Null! = Fehlende Daten, da dies eine ganz andere Frage ist.
Wenn ich darüber nachdenke, wie Nullen in multipler linearer Regression zu behandeln sind, neige ich dazu, zu überlegen, wie viele Nullen wir tatsächlich haben.
Nur ein paar Nullen
Wenn ich eine einzelne Null in einem relativ großen Datensatz habe, neige ich dazu:
Passt das Modell? Was ist mit den Parameterwerten? Wenn das Modell ziemlich robust ist, um den Punkt zu entfernen, werde ich mich für einen schnellen und schmutzigen Ansatz entscheiden, hinzuzufügen .c
Sie könnten diese Prozedur etwas weniger grob gestalten und die Boxcox-Methode mit den in der Antwort von ars beschriebenen Verschiebungen anwenden.
Große Anzahl von Nullen
Wenn mein Datensatz eine große Anzahl von Nullen enthält, ist eine einfache lineare Regression möglicherweise nicht das beste Werkzeug für den Job. Stattdessen würde ich so etwas wie eine Mischungsmodellierung verwenden (wie von Srikant und Robin vorgeschlagen).
quelle
Wenn Sie etwas schnelles und schmutziges wollen, warum nicht die Quadratwurzel verwenden?
quelle
Ich gehe davon aus, dass Sie kontinuierliche Daten haben.
Wenn die Daten Nullen enthalten, bedeutet dies, dass Sie eine Spitze auf Null haben, die möglicherweise auf einen bestimmten Aspekt Ihrer Daten zurückzuführen ist. Es tritt zum Beispiel bei Windenergie auf, Wind unter 2 m / s erzeugt keine Leistung (es wird als Einschnitt bezeichnet) und Wind über 25 m / s erzeugt ebenfalls keine Leistung (aus Sicherheitsgründen wird es als Ausschluss bezeichnet). . Während die Verteilung der produzierten Windenergie kontinuierlich zu sein scheint, gibt es eine Spitze in Null.
Meine Lösung: In diesem Fall empfehle ich, die Nullen separat zu behandeln, indem Sie mit einer Mischung aus der Spitze in Null und dem Modell arbeiten, das Sie für den Teil der Verteilung verwenden möchten, der kontinuierlich ist (bezogen auf Lebesgue).
quelle
Vergleichen der von @RobHyndman bereitgestellten Antwort mit einer auf negative Werte erweiterten log-plus-eins-Transformation mit der folgenden Form:
Wie Sie sehen, sieht die Transformation mit zunehmender Zunahme von wie eine Sprungfunktion aus. Mit ähnelt es stark der log-plus-eins-Transformation. Und wenn , nähert es sich einer Linie.θ ≈ 1 θ → 0θ θ≈1 θ→0
BEARBEITEN: Beachten Sie, dass die Protokolltransformation mit ähnlichen Ergebnissen in beliebigem Maßstab geändert werden kann. Ich wollte nur zeigen, was auf der Grundlage der vorherigen Antwort ähnliche Ergebnisse liefert. Der größte Unterschied zwischen beiden Ansätzen ist der Bereich in der Nähe von , wie wir an ihren Ableitungen sehen können.x = 0θ x=0
quelle
Da die Zwei-Parameter-Anpassung Box-Cox vorgeschlagen wurde, sind hier einige R, um Eingabedaten anzupassen, eine beliebige Funktion darauf auszuführen (z. B. Zeitreihenvorhersage) und dann die invertierte Ausgabe zurückzugeben:
quelle
Angenommen, Y ist der Geldbetrag, den jeder Amerikaner in einem bestimmten Jahr für ein neues Auto ausgibt (Gesamtkaufpreis). Y erhöht sich auf 0; wird überhaupt keine Werte zwischen 0 und ungefähr 12.000 haben; und nimmt andere Werte meistens in den Teenagern, Zwanzigern und Dreißigern von Tausenden an. Prädiktoren wären Stellvertreter für den Bedarf und / oder das Interesse an einem solchen Kauf. Man kann kaum sagen, dass Bedürfnis oder Interesse für Personen, die keinen Kauf getätigt haben, gleich Null sind. Auf diesen Skalen wären Nicht-Käufer den Käufern viel näher als Y oder sogar das Protokoll von Y vermuten lassen würde. In einem ähnlichen Fall, aber im Gesundheitswesen, stellte ich fest, dass die genauesten Vorhersagen, beurteilt durch Test-Set / Training-Set-Kreuzvalidierung, erhalten wurden durch, in aufsteigender Reihenfolge,
Einige werden bei dieser Kategorisierung einer stetigen abhängigen Variablen zurückschrecken. Obwohl es einige Informationen opfert, scheint die Kategorisierung zu helfen, indem ein wichtiger Grundaspekt der Situation wiederhergestellt wird - wiederum, dass die "Nullen" dem Rest viel ähnlicher sind, als Y anzeigen würde.
quelle
Die hier diskutierte Yeo-Johnson-Leistungstransformation weist hervorragende Eigenschaften auf, um Nullen und Negative zu verarbeiten und gleichzeitig auf den Stärken der Box-Cox-Leistungstransformation aufzubauen. Dies ist, was ich normalerweise gehe, wenn ich mit Nullen oder negativen Daten zu tun habe.
Hier ist eine Zusammenfassung der Transformationen mit Vor- und Nachteilen, um zu veranschaulichen, warum Yeo-Johnson vorzuziehen ist.
Log
Vorteile: Geht gut mit positiven Daten um.
Nachteile: Behandelt keine Nullen.
Log Plus 1
Vorteile: Mit dem Plus-1-Offset können zusätzlich zu positiven Daten auch Nullen verarbeitet werden.
Nachteile: Fehler bei negativen Daten
Quadratwurzel
Vorteile: Verwendet eine Leistungstransformation, die mit Nullen und positiven Daten umgehen kann.
Nachteile: Fehler bei negativen Daten
Box Cox
R-Code:
Vorteile: Ermöglicht skalierte Leistungstransformationen
Nachteile: Leiden unter Problemen mit Nullen und Negativen (dh können nur positive Daten verarbeiten.
Yeo Johnson
R-Code:
Vorteile: Kann mit positiven, Null- und negativen Daten umgehen.
Nachteile: Keine, an die ich denken kann. Die Eigenschaften sind denen von Box-Cox sehr ähnlich, können jedoch mit Nulldaten und negativen Daten umgehen.
quelle
Um zu klären, wie mit dem Null-Log in Regressionsmodellen umgegangen werden soll, haben wir ein pädagogisches Papier verfasst, in dem die beste Lösung und die häufigsten Fehler, die Menschen in der Praxis machen, erläutert werden. Wir haben auch eine neue Lösung für dieses Problem herausgebracht.
Sie finden das Papier, indem Sie hier klicken: https://ssrn.com/abstract=3444996
In unserem Artikel stellen wir tatsächlich ein Beispiel vor, bei dem das Hinzufügen sehr kleiner Konstanten tatsächlich die höchste Verzerrung bewirkt. Wir liefern einen Ausdruck der Voreingenommenheit abzuleiten.
Tatsächlich kann Poisson Pseudo Maximum Likelihood (PPML) als eine gute Lösung für dieses Problem angesehen werden. Man muss den folgenden Prozess berücksichtigen:
Wir zeigen, dass dieser Schätzer unbefangen ist und mit GMM mit jeder Standard-Statistiksoftware einfach geschätzt werden kann. Beispielsweise kann dies geschätzt werden, indem nur eine Codezeile mit Stata ausgeführt wird.
Wir hoffen, dass dieser Artikel helfen kann und freuen uns über Ihr Feedback.
Christophe Bellégo und Louis-Daniel Pape CREST - Ecole Polytechnique - ENSAE
quelle