Jak określić węzły w R.
ns
Funkcja wytwarza naturalne regresji spline podstaw danego wektora wejściowego. Węzły można określić albo za pomocą argumentu stopni swobody, df
który przyjmuje liczbę całkowitą, albo za pomocą argumentu węzłów, knots
który przyjmuje wektor dający pożądane położenie węzłów. Pamiętaj, że w kodzie, który napisałeś
library(splines)
lda.pred <- lda(y ~ ns(x, knots=5))
nie poprosiłeś o pięć węzłów, ale poprosiłeś o pojedynczy (wewnętrzny) węzeł w lokalizacji 5.
Jeśli użyjesz df
argumentu, węzły wewnętrzne zostaną wybrane na podstawie kwantyli wektora x
. Na przykład, jeśli wykonasz połączenie
ns(x, df=5)
Wtedy podstawą będą dwa węzły brzegowe i 4 węzły wewnętrzne, umieszczone odpowiednio na 20, 40, 60 i 80 kwantylu x
. Węzły brzegowe są domyślnie umieszczane na min. I maks x
.
Oto przykład, aby określić lokalizacje węzłów
x <- 0:100
ns(x, knots=c(20,35,50))
Gdyby zamiast tego zadzwonić ns(x, df=4)
, otrzymalibyśmy 3 węzły wewnętrzne odpowiednio w lokalizacjach 25, 50 i 75.
Możesz także określić, czy chcesz przechwycić termin. Zwykle nie jest to określone, ponieważ ns
jest najczęściej używane w połączeniu z lm
, co obejmuje niejawnie przechwytywanie (chyba że zmuszone jest tego nie robić). Jeśli użyjesz intercept=TRUE
swojego wezwania do ns
, upewnij się, że wiesz, dlaczego to robisz, ponieważ jeśli to zrobisz, a następnie zadzwonisz lm
naiwnie, matryca projektowa skończy się niedoborem rangi.
Strategie umieszczania węzłów
Węzły są najczęściej umieszczane w kwantylach, podobnie jak domyślne zachowanie ns
. Intuicja jest taka, że jeśli masz dużo danych skupionych blisko siebie, możesz potrzebować więcej węzłów, aby modelować wszelkie potencjalne nieliniowości w tym regionie. Ale to nie znaczy, że jest to (a) jedyny wybór lub (b) najlepszy wybór.
Oczywiście można dokonać innych wyborów i są one specyficzne dla domeny. Patrzenie na histogramy i szacunki gęstości predyktorów może dostarczyć wskazówek, gdzie potrzebne są węzły, chyba że istnieje jakiś „kanoniczny” wybór, biorąc pod uwagę twoje dane.
Jeśli chodzi o interpretację regresji, chciałbym zauważyć, że chociaż z pewnością możesz „bawić się” z umieszczaniem węzłów, powinieneś zdawać sobie sprawę, że ponosisz karę za wybór modelu, którą powinieneś uważnie ocenić i dostosować wszelkie wnioski jako wynik.