Wie man die Knoten in R angibt
Die ns
Funktion generiert eine natürliche Regressions-Spline- Basis bei gegebenem Eingabevektor. Die Knoten können entweder über ein Freiheitsgradargument angegeben werden, df
das eine Ganzzahl annimmt, oder über ein Knotenargument, knots
das einen Vektor annimmt , der die gewünschte Platzierung der Knoten angibt . Beachten Sie, dass in dem Code, den Sie geschrieben haben
library(splines)
lda.pred <- lda(y ~ ns(x, knots=5))
Sie haben nicht fünf Knoten angefordert, sondern einen einzelnen (inneren) Knoten an Position 5 angefordert .
Wenn Sie das df
Argument verwenden, werden die inneren Knoten basierend auf den Quantilen des Vektors ausgewählt x
. Zum Beispiel, wenn Sie anrufen
ns(x, df=5)
Dann wird die Basis zwei Randknoten und 4 innere Knoten enthalten, die am 20., 40., 60. bzw. 80. Quantil von x
platziert werden. Die Begrenzungsknoten werden standardmäßig auf die Min- und Max-Werte von gesetzt x
.
Hier ist ein Beispiel, um die Positionen der Knoten anzugeben
x <- 0:100
ns(x, knots=c(20,35,50))
Wenn Sie stattdessen anrufen ns(x, df=4)
, erhalten Sie 3 interne Knoten an den Standorten 25, 50 bzw. 75.
Sie können auch angeben, ob Sie einen Abfangbegriff wünschen. Normalerweise wird dies nicht angegeben, da ns
es am häufigsten in Verbindung mit verwendet wird lm
, das implizit einen Intercept einschließt (sofern dies nicht erzwungen wird). Wenn Sie intercept=TRUE
in Ihrem Aufruf zu verwenden ns
, stellen Sie sicher, dass Sie wissen, warum Sie dies tun. Wenn Sie dies tun und dann lm
naiv aufrufen , wird die Entwurfsmatrix am Ende einen Rangmangel aufweisen.
Strategien zum Platzieren von Knoten
Knoten werden am häufigsten an Quantilen platziert, wie das Standardverhalten von ns
. Die Intuition ist, dass Sie, wenn viele Daten dicht beieinander gruppiert sind, möglicherweise mehr Knoten benötigen, um potenzielle Nichtlinearitäten in dieser Region zu modellieren. Dies bedeutet jedoch nicht, dass dies entweder (a) die einzige Wahl oder (b) die beste Wahl ist.
Andere Entscheidungen können natürlich getroffen werden und sind domänenspezifisch. Wenn Sie sich die Histogramme und Dichteschätzungen Ihrer Prädiktoren ansehen, erhalten Sie möglicherweise Hinweise darauf, wo Knoten erforderlich sind, es sei denn, Ihre Daten enthalten eine "kanonische" Auswahl.
In Bezug auf die Interpretation von Regressionen möchte ich darauf hinweisen, dass Sie zwar mit der Knotenplatzierung "herumspielen" können, sich jedoch darüber im Klaren sein sollten, dass Sie dafür eine Modellauswahlstrafe erleiden, die Sie sorgfältig auswerten und etwaige Schlussfolgerungen wie folgt anpassen sollten Ergebnis.