Ich dachte, ich hätte dieses Problem verstanden, aber jetzt bin ich mir nicht so sicher und würde es gerne mit anderen klären, bevor ich fortfahre.
Ich habe zwei Variablen X
und Y
. Y
ist ein Verhältnis, und es ist nicht durch 0 und 1 begrenzt und ist im Allgemeinen normalverteilt. X
ist ein Anteil, und er ist durch 0 und 1 begrenzt (er reicht von 0,0 bis 0,6). Wenn ich eine lineare Regression von Y ~ X
und stelle fest, dass X
und Y
sind deutlich linear miteinander verbunden. So weit, ist es gut.
Aber dann untersuche ich weiter und ich fange an zu denken , dass vielleicht X
und Y
‚s Beziehung könnte mehr gekrümmt sein als linear. Für mich sieht es aus wie die Beziehung von X
und Y
vielleicht näher an Y ~ log(X)
, Y ~ sqrt(X)
oder Y ~ X + X^2
, oder so ähnlich. Ich habe empirische Gründe anzunehmen, dass die Beziehung krummlinig sein könnte, aber keine Gründe anzunehmen, dass irgendeine nichtlineare Beziehung besser sein könnte als irgendeine andere.
Ich habe ein paar verwandte Fragen von hier. Erstens nimmt meine X
Variable vier Werte an: 0, 0,2, 0,4 und 0,6. Wenn ich diese Daten log- oder Quadratwurzel-transformiere, verzerrt sich der Abstand zwischen diesen Werten, so dass die 0-Werte viel weiter von allen anderen entfernt sind. Aus Mangel an einer besseren Art zu fragen, ist es das, was ich will? Ich gehe davon aus, dass dies nicht der Fall ist, da ich je nach akzeptiertem Verzerrungsgrad sehr unterschiedliche Ergebnisse erhalte. Wenn ich das nicht will, wie soll ich es vermeiden?
Zweitens, um diese Daten logarithmisch zu transformieren, muss ich zu jedem X
Wert einen Betrag addieren, da Sie den Log von 0 nicht nehmen können. Wenn ich einen sehr kleinen Betrag addiere, z. Wenn ich eine größere Menge hinzufüge, z. B. 1, bekomme ich sehr wenig Verzerrung. Gibt es einen "richtigen" Betrag, der zu einer X
Variablen hinzugefügt werden kann? Oder ist es unangemessen, einer Variablen etwas hinzuzufügen ,X
anstatt eine alternative Transformation (z. B. Kubikwurzel) oder ein Modell (z. B. logistische Regression) zu wählen?
Das Wenige, was ich in dieser Angelegenheit herausfinden konnte, lässt mich das Gefühl haben, dass ich vorsichtig sein sollte. Für andere R-Benutzer würde dieser Code einige Daten mit einer ähnlichen Struktur wie meine erstellen.
X = rep(c(0, 0.2,0.4,0.6), each = 20)
Y1 = runif(20, 6, 10)
Y2 = runif(20, 6, 9.5)
Y3 = runif(20, 6, 9)
Y4 = runif(20, 6, 8.5)
Y = c(Y4, Y3, Y2, Y1)
plot(Y~X)
Antworten:
Die Hauptfrage zum Transformieren von Proportionen (ich verwende als Symbol, ähnlich, aber nicht identisch zu Ihrer Notation) lässt einige allgemeine Kommentare zu.x
Im Folgenden gehe ich davon aus, dass das Hauptmotiv für die Transformation von Proportionen, die Kovariaten sind (Prädiktoren, unabhängige Variablen), darin besteht, die Annäherung an die Linearität der Beziehung zu verbessern oder im Erkundungsmodus eine klarere Vorstellung von der Form oder der Existenz von zu erhalten irgendeine Beziehung. Wie üblich ist es nicht entscheidend, ob eine Kovariate (z. B.) ungefähr normalverteilt ist. (Proportionen sind ein nicht zu entfernter Verwandter von Indikatorvariablen mit den Werten die niemals normal verteilt werden können, und auch Proportionen sind notwendigerweise begrenzt.)0,1
Wenn die Proportionen exakte Nullen oder exakte Einsen erreichen können, ist es wichtig, dass für diese Grenzen eine Transformation definiert wird, die eindeutig ausschließt , da log 0 unbestimmt ist. Darüber hinaus erfordert eine bestimmte Form im Idealfall eine inhaltliche (wissenschaftliche, praktische) Begründung, ohne dass sich aus einer einfachen Analyse ergibt, dass log ( x + c ) sehr empfindlich auf den Wert von c reagiert , wie Sie andeuten.logx log0 log(x+c) c
Dies ist mit Logarithmen zur Basis etwas einfacher zu erkennen. Betrachten wir daher vorübergehend c = 10 k, damit log 10 ( x + 10 k ) x = 0 auf k abbildet .10 c=10k log10(x+10k) x=0 k
Daher Karten x = 0 auf 0 und x = 1 bis etwa 0.301 , während k = - 3 , c = 0,001 Karten x = 0 bis - 3 und x = 1 , nur ein ganz klein wenig mehr als 0 .k=0,c=1 x=0 0 x=1 0.301 k=−3,c=0.001 x=0 −3 x=1 0
In ähnlicher Weise ist was auch immer bedeutet, dass 0 auf dieselben Grenzen abgebildet wird, wohingegen in einer zunehmend guten Näherung x = 1 auf 0 abgebildet wird .k=−6,−9, 0 x=1 0
Die Untergrenze wird also mit immer kleineren addierten Konstanten nach außen gedehnt , während die Obergrenze in etwa gleich bleibt. Solche Transformationen können daher den unteren Teil des Bereichs übermäßig ausdehnen und sogar Ausreißer aus sehr kleinen Werten bei oder nahe 0 erzeugen .c 0
Leute, die dies vorschlagen, stellen sich einfach vor, dass (nun zu jeder Basis, die Sie mögen) sich sehr ähnlich verhalten sollte wie log x für kleines c , was eindeutig für großes x gilt , aber überhaupt nicht für kleines x . Ansonsten kann sich die steilere und steilere Steigung von log x in Abhängigkeit von x als x ↓ 0 hier sehr stark beißen.log(x+c) logx c x x logx x x↓0
Es scheint vorzuziehen, sich auf Transformationen zu konzentrieren, die in der Nähe von und (aus anderen, aber verwandten Gründen) auch in der Nähe von x = 1 allmählicher variieren .x=0 x=1
Quadratwurzeln und Kubikwurzeln und andere Potenzen sind für x = 0 , 1 perfekt definiert und helfen oft, wenn Werte nahe 0 gedehnt werden müssen . Aber diese Transformationen sind bekannt und ich konzentriere mich hier mehr auf eine andere Möglichkeit.xp x=0,1 0
Die Familie der gefalteten Potenzen, die von JW Tukey ( Exploratory Data Analysis , Reading, MA: Addison-Wesley, 1977) popularisiert wurde , ist eine Möglichkeit und ist . Obwohl kein Zwang gibt es Kräfte zu wählen , die einfach klingende Namen erlauben, die Auswahl p = 1 / 2 (gefaltet root) und p = 1 / 3 (gefaltet Kubikwurzel) scheint die nützlichsten Mitglieder dieser Familie.xp−(1−x)p p=1/2 p=1/3
Die Familie ähnelt den bekannten Logit Transformation und in der Tat die Logit ist ein Grenzfall als p zu neigt 0 . Ein wesentlicher Unterschied besteht darin, dass gefaltete Potenzen für x = 0 , 1 und p ≠ 0 definiert sind .logit x=logx−log(1−x) p 0 x=0,1 p≠0
Gefaltete Potenzen, einschließlich des Logits, behandeln die Extremfälle in der Nähe von und 1 schiefsymmetrisch und stellen sie als inverse Sigmoidkurven dar (einige Grafiken unten), die additives und multiplikatives Verhalten mischen und häufig qualitatives (wenn nicht physikalisches, biologisches, wirtschaftliches, was auch immer) wiedergeben. Fakten für das zugrunde liegende Phänomen, dass0 1
Die Differenz von zu 0,02 kann eine "große Sache" sein (sicher, x ändert sich nur um 0,01 , aber es verdoppelt sich auch).0.01 0.02 x 0.01
Die Differenz von zB zu 0,99 kann auch eine "große Sache" sein (sicher, x ändert sich nur um 0,01 , aber der "Bruch ohne" 1 - x halbiert sich auch).0.98 0.99 x 0.01 1−x
Die Differenz von beispielsweise zu 0,51 kann ein "kleinerer Deal" sein (sicher, x ändert sich auch um 0,01 , aber die proportionale Änderung ist viel kleiner).0.50 0.51 x 0.01
Dies ist vielleicht am einfachsten zu überlegen, wenn man sich eine zugrunde liegende Dynamik vorstellt: Der zunehmende Anteil der gebildeten Personen benötigt einen großen Schub, beschleunigt und verlangsamt sich dann, wenn er sich der Asymptote der allgemeinen Alphabetisierung nähert. Die zeitliche Kurve kann also einer steigenden oder fallenden Logistik ähneln. Die Tatsache, dass sich die Proportionen und 1 mehr oder weniger langsam nähern, ist natürlich eine von mehreren Motivationen für logit und ähnliche Modelle für proportionale Antworten. Obwohl wir uns hier auf proportionale Kovariaten konzentrieren, können Sigmoide auch hier nützlich sein.0 1
Gefaltete Potenzen wie die gefaltete Wurzel oder die Kubikwurzel sind nicht so stark sigmoide wie das logit, aber ein wertvoller Vorteil ist, dass sie direkt und einfach ohne Fudges, Kludges oder Nudges für .x=0,1
Wenn Sie sich Ihrem gefälschten, aber scheinbar realistischen Datensatz zuwenden (den ich in meine eigene Lieblingssoftware importiert habe, aber die Analyse in allem Anständigen einfach ist), stellt sich heraus, dass keine dieser Transformationen wirklich hilft. Die grafische Darstellung der Daten gibt jedoch eine deutliche Warnung, dass sogar eine mächtige starke Transformation darstellt, wie auch durch direktes Zeichnen ersichtlich wird.log(x+0.001)
Die zwei Hauptpunkte, die ich ansprechen möchte, sind die folgenden
oft vorgeschlagen und oft scheinbar als harmlos angesehen, ist eine gefährliche Transformation, sofern sie nicht verstanden und oft unangemessen ist, wenn sie die Verteilung für kleines x stark ausdehnt(es sei denn, dies ist wirklich das gewünschte Verhalten).log(x+c) x
Für Ihre Beispieldaten scheint keine Transformation, die ich versucht habe, zu helfen.
Gleichzeitig sind andere Möglichkeiten noch lange nicht ausgeschöpft. (Insbesondere habe ich keine Quadratwurzel oder Kubikwurzel ausprobiert und betont, dass dies bei vielen anderen Problemen offensichtliche und ernstzunehmende Kandidaten sein könnten.)
Die erste Gruppe von Diagrammen zeigt einfach einige Kandidatentransformationen für Proportionen, die sowohl als auch 1 erreichen können . (Ich habe natürliche Logarithmen verwendet, aber die Formen hängen nicht von der gewählten Basis ab.)0 1
Der zweite Satz von Diagrammen zeigt keine Transformation, die für die Beispieldaten hilfreich ist. (Zum Vergleich ergibt eine einfache Regression der ursprünglichen Daten %, RMSE = 0,994 .)R2=3.7 =0.994
Winziges Puzzle. Ihr soll ein Anteil sein, aber seine Werte liegen bei 6 bis 10 .y 6 10
BEARBEITEN: Die Originaldaten konnten hier eingetragen werden, da das OP Daten kurz gepostet, diese aber später wieder entfernt hat.
Andere Fäden, die hier gefaltete Kräfte verwenden, umfassen
Proportionsdaten transformieren: Wenn Bögen in Quadratwurzel nicht ausreichen
Regression: Streudiagramm mit niedrigem R-Quadrat und hohen p-Werten
Zeichnen Sie einen stark verzerrten Datensatz
quelle
Y
Verhältnis ist eher ein Verhältnis als ein Verhältnis, was wahrscheinlich ein ziemlich wesentlicher Unterschied ist. Es war also gut von Ihnen, darauf hinzuweisen.