Frage:
Knotenauswahl für kubische Regressionssplines
Hong Ooi
2010-12-30 11:53:34 UTC
view on stackexchange narkive permalink

Ich habe mich gefragt, ob jemand Erfahrung mit dem Setzen der Knotenpunkte bei Verwendung von kubischen Regressionssplines hat.

Hintergrund: Ich habe eine Antwort- und Prädiktorvariable und möchte die Trendbeziehung zwischen bestimmen die Zwei. Um zu sehen, wie es aussieht, ohne zu viele Annahmen zu treffen, habe ich eine glättende Spline-Kurve mit der Funktion gam in R angepasst. Der Trend ist offensichtlich nicht linear, aber ansonsten gut erzogen: glatt und nicht zu wackelig.

Ich möchte diesen Trend jetzt mit einem einfachen, kubischen Regressions-Spline modellieren (es gibt verschiedene praktische Probleme bei der Verwendung der gam -Anpassung, oder ich würde benutze das einfach). Für die Verwendung eines Regressions-Splines müssen die Knoten natürlich im Voraus festgelegt werden. Mit linearen Splines ist das nicht allzu schwer: Ich würde einen Knoten einfügen, bei dem sich die Steigung der glatten Anpassung erheblich ändert, z. B. um lokale Minima / Maxima. Kubische Splines scheinen jedoch eine kompliziertere Geschichte zu sein. Jede Anleitung, wo ich die Knoten setzen sollte, wäre sehr dankbar.

Was sind die praktischen Probleme bei der Verwendung des Gam Fit?
Eine Menge Dinge, aber meistens läuft es darauf hinaus: Was auch immer ich passe, muss in SAS '' proc reg '' reproduzierbar sein.
Schlagen Sie die Verwendung von [B-Splines] (https://en.wikipedia.org/wiki/B-spline) vor, wobei die Anzahl der [Derivate passt] (https://math.stackexchange.com/questions/284379/b-Die Spline-Kurvenanpassung mit Bedingungen für Ableitungen wird durch die Anzahl der Knoten gesteuert.
Zwei antworten:
#1
+12
Rob Hyndman
2010-12-30 15:08:39 UTC
view on stackexchange narkive permalink

Dies ist ein heikles Problem, und die meisten Leute wählen die Knoten nur durch Ausprobieren aus.

Ein Ansatz, der immer beliebter wird, ist die Verwendung von bestraften Regressionssplines. Dann hat die Knotenauswahl wenig Wirkung, vorausgesetzt, Sie haben viele Knoten. Die Koeffizienten sind beschränkt, um zu vermeiden, dass ein Koeffizient zu groß ist. Es stellt sich heraus, dass dies einem Modell mit gemischten Effekten entspricht, bei dem die Spline-Koeffizienten zufällig sind. Dann kann das gesamte Problem mit REML gelöst werden, ohne sich um die Knotenauswahl oder einen Glättungsparameter kümmern zu müssen.

Da Sie R verwenden, können Sie ein solches Modell mit der Funktion spm () im SemiPar-Paket anpassen.

Danke Rob. Mir ist aufgefallen, dass das "gam" im mgcv-Paket auch bestrafte Regressionssplines ausführen kann. Wäre das dasselbe wie in SemiPar?
Es ist ähnlich, aber eine andere Implementierung, daher sind die Ergebnisse nicht gleich. Ich stelle fest, dass Matt Wand (Autor von SemiPar) unter http://www.uow.edu.au/~mwand/SemiPar.html kommentiert, dass mgcv jetzt das meiste von dem tut, was für SemiPar gedacht war, und dass er den Leuten rät, stattdessen mgcv zu verwenden.
#2
+7
onestop
2010-12-30 16:11:57 UTC
view on stackexchange narkive permalink

Es hängt davon ab, was Sie unter "nicht zu wackelig" verstehen, aber Sie möchten vielleicht einen Blick auf gebrochene Polynome werfen, um einen einfacheren Ansatz für die Anpassung glatter Kurven zu finden, die nicht linear, aber nicht "wackelig" sind. . Siehe Royston & Altman 1994 und das mfp-Paket in R oder den fracpoly-Befehl in Stata.



Diese Fragen und Antworten wurden automatisch aus der englischen Sprache übersetzt.Der ursprüngliche Inhalt ist auf stackexchange verfügbar. Wir danken ihm für die cc by-sa 2.0-Lizenz, unter der er vertrieben wird.
Loading...