Mam trochę kodu i danych wyjściowych i chciałbym zbudować model. Nie wiem, jak zbudować model przy użyciu tego wyjścia:
require("splines")
x <- c(0.2, 0.23, 0.26, 0.29, 0.33, 0.46, 0.53 )
y <- c(0.211, 0.2026, 0.2034, 0.2167, 0.2177, 0.19225, 0.182)
fit <- lm(y ~ ns(x,3))
summary(fit)
Zauważ, że ns()
generuje macierz bazową splajnu B dla naturalnego splajnu sześciennego. Zatem model ten regresuje się y
przeciwko splajnowi B przy x
użyciu trzech stopni swobody. Jak wyglądałoby równanie dla takiego modelu?
R
koncentrycznie - i dlatego należy do SO - chyba że wyjaśnisz, co tons
robi. (To nawet nie jest częśćR
: z jakiej paczki pochodzi?)ns()
jest częścią pakietu splajnów. Rozumiem, że to pytanie jest sformułowane w kategoriach R, ale moim zdaniem jest to temat na ten temat.Odpowiedzi:
rcs „ograniczony splajn publiczny” to kolejna reprezentacja naturalnego splajnu.
źródło
ns
generuje ortogonalne (nieskorelowane) terminy, które są trudniejsze do interpretacji, podczas gdyrcs
wykorzystuje podstawę mocy skróconej, którą łatwo przedstawić w równaniu. Pomyśl o tym przykładzie: możesz mieć model z i lub możesz dopasować i . Te ostatnie byłyby ortogonalne, ale trudniejsze do interpretacji w kategoriach zmiennych surowych. X 2 X - ˉ X ( X - ˉ X ) 2