B-Splines VS Polynome hoher Ordnung in der Regression

10

Ich habe kein bestimmtes Beispiel oder keine bestimmte Aufgabe im Sinn. Ich bin gerade neu in der Verwendung von B-Splines und wollte diese Funktion im Regressionskontext besser verstehen.

Nehmen wir an, wir wollen die Beziehung zwischen der Antwortvariablen und einigen Prädiktoren . Die Prädiktoren enthalten einige numerische Variablen sowie einige kategoriale.yx1,x2,...,xp

Angenommen, nach dem Anpassen eines Regressionsmodells ist eine der numerischen Variablen, z . B. signifikant. Ein logischer Schritt danach besteht darin, zu beurteilen, ob Polynome höherer Ordnung, z. B.: und erforderlich sind, um die Beziehung ohne Überanpassung angemessen zu erklären.x1x12x13

Meine Fragen sind:

  1. Ab wann wählen Sie zwischen B-Splines oder einfachen Polynomen höherer Ordnung. zB in R:

    y ~ poly(x1,3) + x2 + x3
    

    vs.

     y ~ bs(x1,3) + x2 + x3
    
  2. Wie können Sie Diagramme verwenden, um Ihre Wahl zwischen diesen beiden zu treffen, und was passiert, wenn dies aus den Diagrammen nicht wirklich hervorgeht (z. B. aufgrund großer Datenmengen)?

  3. Wie würden Sie die wechselseitigen Interaktionsterme zwischen und bewertenx2x3

  4. Wie ändert sich das oben Gesagte für verschiedene Modelltypen?

  5. Würden Sie in Betracht ziehen, niemals Polynome höherer Ordnung zu verwenden und immer B-Splines anzupassen und die hohe Flexibilität zu bestrafen?

Vasilis Vasileiou
quelle
9
Ich habe hier ausführlich darüber geschrieben: madrury.github.io/jekyll/update/statistics/2017/08/04/…
Matthew Drury
mgcvWarum nicht (verallgemeinerte) additive Modelle verwenden, wenn man bedenkt, wie gut entwickelt ist? Die Auswahl der Glätte erfolgt automatisch, und die Inferenzmethoden sind gut entwickelt.
generic_user

Antworten:

17

Normalerweise würde ich eher Splines als Polynome betrachten. Polynome können keine Schwellenwerte modellieren und sind oft unerwünscht global, dh Beobachtungen in einem Bereich des Prädiktors haben einen starken Einfluss darauf, was das Modell in einem anderen Bereich tut ( Magee, 1998, The American Statistician und Frank Harrells Regressionsmodellierungsstrategien ). Und natürlich sind eingeschränkte Splines, die außerhalb der Extremalknoten linear sind, besser für die Extrapolation oder sogar für die Intrapolation bei Extremwerten der Prädiktoren.

Ein Fall, in dem Sie möglicherweise Polynome berücksichtigen möchten, ist, wenn es wichtig ist, Ihr Modell einem nichttechnischen Publikum zu erklären. Menschen verstehen Polynome besser als Splines. (Bearbeiten: Matthew Drury weist darauf hin, dass die Leute vielleicht nur denken, sie verstehen Polynome besser als Splines. Ich werde in dieser Frage keine Partei ergreifen.)

Diagramme sind oft nicht sehr nützlich, um zwischen verschiedenen Arten des Umgangs mit Nichtlinearität zu entscheiden. Besser eine Kreuzvalidierung durchführen. Dies hilft Ihnen auch dabei, Interaktionen zu bewerten oder eine gute Bestrafung zu finden.

Schließlich ändert sich meine Antwort nicht mit der Art des Modells, da die obigen Punkte für jedes statistische oder ML-Modell gelten.

Stephan Kolassa
quelle
Vielen Dank für Ihre Antwort, es war sehr hilfreich. Nur eine kurze Folgefrage. Gibt es einen "State of the Art" Weg, um die Knoten zu finden? Meine beste Vermutung wäre: 1) Verwenden Sie die Intuition, z. B.: Wenn die Variable die Zeit in Monaten darstellt, verwenden Sie alle 6 oder 12 Knoten? 2) Führen Sie eine Sequenz ein, die den Bereich der Variablen durchläuft, und verwenden Sie die Kreuzvalidierung, um möglicherweise die optimalen Knoten zu finden.
Vasilis Vasileiou
8
Die Leute denken, sie verstehen Polynome besser als Splines.
Matthew Drury
3
In Bezug auf die Knotenplatzierung: Kreuzvalidierung ist ein Ansatz, aber um ehrlich zu sein, denke ich, dass die Ergebnisse für die Platzierung der Knoten ziemlich unempfindlich sind, solange die Knoten angemessen platziert sind und sich nicht zu stark zusammenballen. Frank Harrell hat eine Tabelle mit heuristischen Knotenplatzierungen in Form von Quantilen der Verteilung des Prädiktors in Regressionsmodellierungsstrategien .
Stephan Kolassa
1
Während Ihre Antwort in diesem Zusammenhang völlig gültig ist, ist Ihre Aussage sehr stark, wenn man bedenkt, dass viele reale Prozesse durch Polynome besser modelliert werden können.
Koalo
6

In Abschnitt 7.4.5 von "Die Elemente des statistischen Lernens" heißt es, dass Splines häufig bessere Ergebnisse liefern als die Polynomregression, weil:

  • Es erzeugt flexible Passungen;
  • Erzeugt stabilere Schätzungen;
  • Polynome können an den Grenzen zu unerwünschten Ergebnissen führen.
Bruna w
quelle