Ich mache eine lineare Regression mit der R lm-Funktion:
x = log(errors)
plot(x,y)
lm.result = lm(formula = y ~ x)
abline(lm.result, col="blue") # showing the "fit" in blue
aber es passt nicht gut. Leider kann ich das Handbuch nicht verstehen.
Kann mich jemand in die richtige Richtung weisen, um besser dazu zu passen?
Mit Anpassen meine ich, dass ich den Root Mean Squared Error (RMSE) minimieren möchte.
Bearbeiten : Ich habe hier eine verwandte Frage gestellt (es ist das gleiche Problem): Kann ich den RMSE basierend auf dieser Funktion weiter verringern?
und die Rohdaten hier:
mit der Ausnahme, dass auf diesem Link x auf der vorliegenden Seite als Fehler bezeichnet wird und es weniger Beispiele gibt (1000 vs 3000 im vorliegenden Seitendiagramm). Ich wollte die Dinge in der anderen Frage einfacher machen.
r
regression
Timothée HENRY
quelle
quelle
Antworten:
Eine der einfachsten Lösungen erkennt, dass Änderungen zwischen Wahrscheinlichkeiten, die klein sind (wie 0,1) oder deren Komplemente klein sind (wie 0,9), normalerweise aussagekräftiger sind und mehr Gewicht verdienen als Änderungen zwischen mittleren Wahrscheinlichkeiten (wie 0,5).
Zum Beispiel verdoppelt eine Änderung von 0,1 auf 0,2 (a) die Wahrscheinlichkeit, während (b) die komplementäre Wahrscheinlichkeit nur um 1/9 ändert (von 1-0,1 = 0,9 auf 1-0,2 auf 0,8 fallen gelassen wird), während eine Änderung von 0,5 auf 0,6 (a) erhöht die Wahrscheinlichkeit nur um 20%, während (b) die komplementäre Wahrscheinlichkeit nur um 20% verringert. In vielen Anwendungen wird oder sollte diese erste Änderung als fast doppelt so groß angesehen werden wie die zweite.
In jeder Situation, in der es gleichermaßen sinnvoll wäre, eine Wahrscheinlichkeit (für das Auftreten von etwas) oder deren Komplement (dh die Wahrscheinlichkeit, dass etwas nicht auftritt) zu verwenden, sollten wir diese Symmetrie respektieren.
Diese beiden Ideen - die Symmetrie zwischen den Wahrscheinlichkeiten und ihren Komplementen respektieren und Änderungen eher relativ als absolut auszudrücken - legen nahe, dass wir beim Vergleich zweier Wahrscheinlichkeiten und beide Verhältnisse und verfolgen sollten die Verhältnisse ihrer Komplemente . Bei der Verfolgung von Verhältnissen ist es einfacher, Logarithmen zu verwenden, die Verhältnisse in Differenzen umwandeln. Ergo ist eine gute Möglichkeit, eine Wahrscheinlichkeit für diesen Zweck auszudrücken , die Verwendung von was als Log Odds oder Logit bezeichnet wird1 - p p p 'p 1 - p p p′ p′/p (1−p)/(1−p′) p
Diese Argumentation ist eher allgemein gehalten: Sie führt zu einem guten Standard-Anfangsverfahren für die Untersuchung aller Datensätze mit Wahrscheinlichkeiten. (Es gibt bessere Methoden wie die Poisson-Regression, wenn die Wahrscheinlichkeiten auf der Beobachtung von Verhältnissen von "Erfolgen" zu Anzahl von "Versuchen" basieren, da Wahrscheinlichkeiten, die auf mehr Versuchen basieren, zuverlässiger gemessen wurden. Dies scheint nicht der Fall zu sein Fall hier, in dem die Wahrscheinlichkeiten auf ermittelten Informationen basieren. Man könnte den Poisson-Regressionsansatz approximieren, indem man im folgenden Beispiel gewichtete kleinste Quadrate verwendet, um Daten zu ermöglichen, die mehr oder weniger zuverlässig sind.)
Schauen wir uns ein Beispiel an.
R
lm
Das Streudiagramm auf der rechten Seite drückt die Daten in Form von Wahrscheinlichkeiten aus, wie sie ursprünglich aufgezeichnet wurden. Die gleiche Anpassung wird aufgezeichnet: Jetzt sieht sie aufgrund der nichtlinearen Art und Weise, in der Log-Quoten in Wahrscheinlichkeiten umgewandelt werden, gekrümmt aus.
Im Sinne des quadratischen Mittelwertfehlers in Bezug auf die logarithmischen Quoten ist diese Kurve die beste Anpassung.
Übrigens legen die annähernd elliptische Form der Wolke auf der linken Seite und die Art und Weise, wie sie die Linie der kleinsten Quadrate verfolgt, nahe, dass das Regressionsmodell der kleinsten Quadrate sinnvoll ist: Die Daten können durch eine lineare Beziehung angemessen beschrieben werden - vorausgesetzt, es werden logarithmische Quoten verwendet - und die vertikale Variation um die Linie ist unabhängig von der horizontalen Position (Homoskedastizität) ungefähr gleich groß. (In der Mitte befinden sich einige ungewöhnlich niedrige Werte, die möglicherweise näher untersucht werden müssen.) Bewerten Sie dies genauer, indem Sie dem folgenden Code mit dem Befehl folgen
plot(fit)
, um einige Standarddiagnosen anzuzeigen. Dies allein ist ein starker Grund, Log-Quoten zu verwenden, um diese Daten anstelle der Wahrscheinlichkeiten zu analysieren.quelle
Angesichts des Versatzes in den Daten mit x ist es naheliegend, zunächst eine logistische Regression ( Wiki-Link ) zu verwenden. Also bin ich mit whuber dabei. Ich werde sagen, dass für sich genommen eine starke Bedeutung hat, aber den größten Teil der Abweichung nicht erklärt (das Äquivalent der Gesamtsumme der Quadrate in einem OLS). Man könnte also vorschlagen, dass es neben noch eine andere Kovariate gibt , die die Erklärungskraft unterstützt (z. B. die Personen, die die Klassifizierung oder die verwendete Methode durchführen). Ihre Daten sind jedoch bereits [0,1]: Wissen Sie, ob sie Wahrscheinlichkeiten oder Vorkommen darstellen? Verhältnisse? In diesem Fall sollten Sie eine logistische Regression mit Ihrem nicht transformierten versuchen (bevor es sich um Verhältnisse / Wahrscheinlichkeiten handelt).x x y y
Die Beobachtung von Peter Flom macht nur Sinn, wenn Ihr y keine Wahrscheinlichkeit ist. Überprüfen Siex
plot(density(y));rug(y)
in verschiedenen Buckets von ob sich die Beta-Distribution ändert, oder führen Sie sie einfach aus . Beachten Sie, dass die Beta-Verteilung auch eine exponentielle Familienverteilung ist und daher in R modelliert werden kann .betareg
glm
Um Ihnen eine Vorstellung davon zu geben, was ich unter logistischer Regression verstanden habe:
EDIT: nach dem Lesen der Kommentare:
Angesichts der Tatsache, dass "die y-Werte Wahrscheinlichkeiten für eine bestimmte Klasse sind, die sich aus der Mittelwertbildung von Klassifizierungen ergeben, die manuell von Personen durchgeführt wurden", empfehle ich dringend, eine logistische Regression für Ihre Basisdaten durchzuführen. Hier ist ein Beispiel:
Angenommen, Sie prüfen die Wahrscheinlichkeit, dass jemand einem Vorschlag zustimmt ( stimmt zu, stimmt nicht zu), wenn ein Anreiz zwischen 0 und 10 vorliegt (könnte logarithmisch transformiert werden, z. B. Vergütung). Es gibt zwei Personen, die den Kandidaten das Angebot vorschlagen ("Jill und Jack"). Das eigentliche Modell ist, dass Kandidaten eine Grundakzeptanzrate haben, die mit zunehmendem Anreiz steigt. Es kommt aber auch darauf an, wer das Angebot vorschlägt (in diesem Fall sagen wir, Jill hat eine bessere Chance als Jack). Angenommen, sie fragen zusammen 1000 Kandidaten und sammeln ihre Akzeptanz- (1) oder Ablehnungs- (0) Daten.y=1 y=0 x
Aus der Zusammenfassung können Sie ersehen, dass das Modell recht gut passt. Die Abweichung ist (Standard von ist ). Was passt und es schlägt ein Modell mit einer festen Wahrscheinlichkeit (der Unterschied in den Abweichungen beträgt mehrere hundert mit ). Es ist etwas schwieriger zu zeichnen, da es hier zwei Kovariaten gibt, aber Sie haben die Idee. χ 2 √χ2n−3 χ2 χ 2 22.df−−−−√ χ22
Wie Sie sehen, fällt es Jill leichter, eine gute Trefferquote zu erzielen als Jack, aber das verschwindet, wenn der Anreiz steigt.
Sie sollten diesen Modelltyp grundsätzlich auf Ihre Originaldaten anwenden. Wenn Ihre Ausgabe binär ist, behalten Sie 1/0 bei, wenn sie multinomial ist. Sie benötigen eine multinomiale logistische Regression. Wenn Sie der Meinung sind, dass die zusätzliche Varianzquelle nicht der Datenkollektor ist, fügen Sie einen weiteren Faktor (oder eine kontinuierliche Variable) hinzu, was Ihrer Meinung nach für Ihre Daten sinnvoll ist. Die Daten kommen zuerst, zweitens und drittens, erst dann kommt das Modell ins Spiel.
quelle
glm
wird eine relativ flache, nicht gekrümmte Linie erzeugt, die der in der Frage gezeigten Linie bemerkenswert ähnlich sieht.Das lineare Regressionsmodell ist für die Daten nicht gut geeignet. Man könnte erwarten, aus der Regression so etwas wie das Folgende herauszuholen:
Wenn Sie jedoch erkennen, was OLS tut, ist es offensichtlich, dass Sie dies nicht erhalten. Eine grafische Interpretation gewöhnlicher kleinster Quadrate besteht darin, dass der quadratische vertikale Abstand zwischen der Linie (Hyperebene) und Ihren Daten minimiert wird . Offensichtlich hat die violette Linie, die ich überlagert habe, einige große Residuen von und wieder auf der anderen Seite von 3. Aus diesem Grund passt die blaue Linie besser als die violette.x∈(−7,4.5)
quelle
Da Y durch 0 und 1 begrenzt ist, ist die gewöhnliche Regression der kleinsten Quadrate nicht gut geeignet. Sie könnten die Beta-Regression versuchen. Da
R
drin ist dasbetareg
Paket.Versuchen Sie so etwas
Mehr Info
BEARBEITEN: Wenn Sie eine vollständige Darstellung der Beta-Regression mit ihren Vor- und Nachteilen wünschen, lesen Sie Ein besserer Zitronenpresser: Regression mit maximaler Wahrscheinlichkeit mit Beta-verteilten abhängigen Variablen von Smithson und Verkuilen
quelle
betareg
tatsächlich implementiert? Was sind ihre Annahmen und warum ist es vernünftig anzunehmen, dass sie für diese Daten gelten?Vielleicht möchten Sie zuerst genau wissen, was ein lineares Modell tut. Es wird versucht, eine Beziehung der Form zu modellieren
Wenn Sie wirklich nach einem linearen Modell suchen, können Sie versuchen, Ihre Variablen ein wenig zu transformieren, damit OLS tatsächlich angepasst werden kann, oder einfach ein anderes Modell insgesamt ausprobieren. Vielleicht möchten Sie sich mit PCA oder CCA befassen, oder wenn Sie wirklich ein lineares Modell verwenden möchten, versuchen Sie es mit der Lösung der kleinsten Quadrate , die möglicherweise eine bessere "Anpassung" ergibt, da sie Fehler in beide Richtungen zulässt.
quelle