Warum kann die lineare Regression das Ergebnis einer einfachen deterministischen Sequenz nicht vorhersagen?


9

Ein Kollege von mir hat mir dieses Problem geschickt und anscheinend im Internet die Runde gemacht:

If $3 = 18, 4 = 32, 5 = 50, 6 = 72, 7 = 98$, Then, $10 =$ ?

Die Antwort scheint 200 zu sein.

3*6  
4*8  
5*10  
6*12  
7*14  
8*16  
9*18  
10*20=200  

Wenn ich eine lineare Regression in R mache:

data     <- data.frame(a=c(3,4,5,6,7), b=c(18,32,50,72,98))  
lm1      <- lm(b~a, data=data)  
new.data <- data.frame(a=c(10,20,30))  
predict  <- predict(lm1, newdata=new.data, interval='prediction')  

Ich bekomme:

  fit      lwr      upr  
1 154 127.5518 180.4482  
2 354 287.0626 420.9374  
3 554 444.2602 663.7398  

Mein lineares Modell sagt also voraus .10=154

Wenn ich die Daten zeichne, sehen sie linear aus ... aber offensichtlich habe ich etwas angenommen, das nicht korrekt ist.

Ich versuche zu lernen, wie man lineare Modelle in R am besten verwendet. Wie kann man diese Reihe richtig analysieren? Was habe ich falsch gemacht?


7
Ähm . (i) Der Ausdruck des Problems ist unsinnig. Wie kann 3 = 18? Sicher ist die Absicht so etwas wie ; (ii) Wenn Sie genug sehen können, um , usw. zu schreiben , können Sie sicher genug sehen, um den zweiten Term in jeden dieser Begriffe zu teilen ( , usw.), um dann zu schreiben: , usw. und sofort das Quadrat zu erkennen, . (Sie haben den schwierigen Teil erledigt, der nächste Schritt ist noch einfacher!)18 = 3 × 6 32 = 4 × 8 6 = 3 × 2 8 = 4 × 2 18 = 3 × 3 × 2 32 = 4 × 4 × 2 f ( x ) = 2 × 2f(3)=1818=3×632=4×86=3×28=4×218=3×3×232=4×4×2f(x)=2x2
Glen_b - Monica am

4
Hat das Problem außerdem ein Mindestkriterium für den Informationsgehalt in der Antwort angegeben? Wenn ich mich richtig an meine Mathematik erinnere, gibt es unzählige Funktionen, die zu diesen Punkten passen und alle unterschiedliche Antworten für . Ich bin normalerweise nicht pedantisch, aber zeitraubende E-Mails verdienen es. f(10)
Heller Stern

1
@TrevorAlexander Wenn Sie diese Frage für Zeitverschwendung halten, warum sollten Sie sich die Mühe machen, darauf zu antworten? Offensichtlich finden es einige Leute interessant.
JWG

Antworten:


23

Ein Regressionsmodell, wie dasjenige, das lm()implizit angepasst wird, geht davon aus, dass der zugrunde liegende Datenerzeugungsprozess probabilistisch ist . Sie gehen davon aus, dass die Regel, die Sie modellieren möchten, deterministisch ist . Daher besteht ein Missverhältnis zwischen dem, was Sie versuchen, und der Art und Weise, wie Sie es versuchen.

Es gibt andere Software (dh nicht R), die explizit entwickelt wurde, um die einfachste Funktion für deterministische Daten zu finden / anzupassen (ein Beispiel wäre Eureqa ). Möglicherweise gibt es dafür ein R-Paket (von dem ich nichts weiß), aber R ist für die statistische Modellierung probabilistischer Daten vorgesehen.

Die Antwort, lm()die Sie erhalten haben, sieht vernünftig aus und könnte richtig sein. Ich verstehe jedoch, dass der Kontext, in dem dieses Problem dargestellt wurde, stark impliziert, dass es als deterministisch verstanden werden sollte. Wenn dies nicht der Fall gewesen wäre und Sie sich gefragt hätten, ob die Anpassung angemessen war, könnten Sie feststellen, dass sich die beiden extremen Datenpunkte über der Regressionslinie befinden, während sich die mittleren Daten alle darunter befinden. Dies deutet auf eine falsch spezifizierte Funktionsform hin. Dies ist auch im Residuum vs. angepassten Plot ( plot(lm1, which=1) zu sehen:

Geben Sie hier die Bildbeschreibung ein

Das Modell von @AlexWilliams sieht viel besser aus:

Geben Sie hier die Bildbeschreibung ein


17
+1 Die Resthandlung erzählt die Geschichte so, dass man sie nicht übersehen kann. In der Tat zeigt es, warum das „lineare Aussehen“ des OP oft irreführend ist - viele gekrümmte Funktionen können „fast gerade“ aussehen, wenn wir nur einige Punkte betrachten, die sich nicht in der Nähe eines Wendepunkts befinden. Wenn Sie denken, dass es linear ist, nehmen Sie diese Linie heraus und sehen Sie, was übrig bleibt!
Glen_b -State Monica

1
Unglaublich nützliche Infos! Vielen Dank, ich weiß es wirklich zu schätzen
Brett Phinney

1
Dies hat absolut nichts mit der Unterscheidung zwischen probabilistischen und deterministischen Daten zu tun. Eine lineare Regression würde deterministische Daten anpassen und extrapolieren, wenn sie linear wären. Es wäre nicht gut, probabilistische Daten vorherzusagen, wenn das zugrunde liegende Modell quadratisch wäre.
JWG

3
n(n1)

Ich glaube nicht, dass er nach einer perfekten Passform sucht. Er versucht zu verstehen, warum der extrapolierte Wert so weit entfernt ist.
JWG

22

Der Trend ist quadratisch und nicht linear. Versuchen:

lm1 <- lm(b~I(a^2), data=data)

Update: Hier ist der Code.

data <- data.frame(a=c(3,4,5,6,7),b=c(18,32,50,72,98))
lm1 <- lm(b~I(a^2), data=data)
new.data <- data.frame(a=c(10,20,30))
predict(lm1, newdata = new.data, interval='prediction')

Und Ausgabe:

   fit  lwr  upr
1  200  200  200
2  800  800  800
3 1800 1800 1800

Diese Antwort erscheint mir ein wenig kreisförmig: Der springende Punkt des Problems ist, das quadratische Verhalten zu erkennen. Sie weisen korrekt darauf hin, dass die lineare Regression die Koeffizienten finden kann, sobald das quadratische Verhalten angegeben ist. Tatsächlich haben Sie die entscheidende Analyse jedoch bereits durchgeführt, als Sie die erste Zeile dieser Antwort aufgeschrieben haben.
whuber

5
@whuber - Die Frage ist, warum ein lineares Modell fehlschlägt. Es schlägt fehl, weil die funktionale Form nicht linear, sondern quadratisch ist. Ich wollte die Antwort einfach und auf den Punkt geben. Gungs Antwort geht gut auf die Details ein und zeigt, wie Sie die verbleibenden Diagramme verwenden können, um ein besseres Modell zu erstellen. (Ich habe es nur auf Stift und Papier gemacht.) Ich stimme zu, dass seine Antwort detaillierter und vollständiger ist und ich habe sie positiv bewertet.
Alex Williams

13

Ich zögere, die hervorragenden Antworten von Alex Williams und Gung zu ergänzen, aber es gibt noch einen weiteren Punkt, den ich für angebracht halten sollte. Die Frage verwendet die Ausdrücke "lineare Regression" und "lineares Modell", was möglicherweise darauf hindeutet, dass sie dasselbe bedeuten. Die übliche Bedeutung von "linearer Regression" bezieht sich jedoch auf das klassische lineare Regressionsmodell (CLRM), bei dem "linear" "linear in den Parametern" bedeutet. Dies ist eine Bedingung für die Parameter, nicht für die unabhängigen Variablen. Ein quadratisches Modell wie:

Yi=β1+β2Xi2

β1β2

Yi=β1+β2Xi

Xi


1
Es fällt mir immer schwer, mich daran zu erinnern. Dies ist eine großartige Ergänzung zu den anderen Antworten.
naught101
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.