Jak przełożyć wyjście z dopasowania lm () z splajnem sześciennym na równanie regresji


12

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ę yprzeciwko splajnowi B przy xużyciu trzech stopni swobody. Jak wyglądałoby równanie dla takiego modelu?


2
Chociaż ta troska jest tutaj interesująca, to pytanie jest zbyt sformułowane zbyt Rkoncentrycznie - i dlatego należy do SO - chyba że wyjaśnisz, co to nsrobi. (To nawet nie jest część R: z jakiej paczki pochodzi?)
Whuber

1
@ whuber, patrz tutaj:? ns ; 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.
Gung - Przywróć Monikę

@gung Tak, również udało mi się znaleźć pakiet, ale nie o to chodzi: aby pytanie pozostało tutaj, musi być zrozumiałe nawet dla użytkowników spoza R.
whuber

1
@ whuber Dodałem drobne wyjaśnienie. Szukasz czegoś więcej?
Przywróć Monikę - G. Simpson

2
@Gavin Dziękujemy. Pozwoliłem sobie dodać jeszcze jedną linię, aby użytkownicy spoza R mogli zrozumieć, o co jest proszony (i być może dlatego oferują sensowne odpowiedzi).
whuber

Odpowiedzi:


19
require(rms)
f <- ols(y ~ rcs(x, 3))  # 2 d.f. for x
Function(f)  # represent fitted function in simplest R form
latex(f)     # typeset algebraic representation of fit

rcs „ograniczony splajn publiczny” to kolejna reprezentacja naturalnego splajnu.


5
To imponujące. Myślę jednak, że odpowiedź, której można by szukać na tej stronie (w przeciwieństwie do SO), wyjaśniłaby, w jaki sposób, ogólnie rzecz biorąc, określa się równanie splajnu.
whuber

Dziękuję Ci! Czy potrafisz wyjaśnić, dlaczego współczynniki wytwarzane przez f różnią się od współczynników wytwarzanych przez dopasowanie?
AmeliaBright,

2
Istnieją różne reprezentacje funkcji bazowych dla splajnów. nsgeneruje ortogonalne (nieskorelowane) terminy, które są trudniejsze do interpretacji, podczas gdy rcswykorzystuje 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 ) 2XX2XX¯(XX¯)2
Frank Harrell,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.