Jak przewidywać nowe dane za pomocą regresji spline / smooth

11

Czy ktoś może pomóc w wyjaśnieniu pojęciowym, w jaki sposób tworzone są prognozy dla nowych danych, gdy stosuje się wygładzanie / splajny dla modelu predykcyjnego? Na przykład, biorąc pod uwagę model stworzony przy użyciu gamboostw mboostopakowaniu w R, p-splajnów, jak są prognozy dla nowych danych? Czego używa dane szkoleniowe?

Powiedzmy, że istnieje nowa wartość zmiennej niezależnej x i chcemy przewidzieć y. Czy formuła tworzenia splajnu jest stosowana do tej nowej wartości danych przy użyciu węzłów lub df używanych podczas uczenia modelu, a następnie współczynniki z wyuczonego modelu są stosowane do uzyskania prognozy?

Oto przykład z R, co według przewidywań robi koncepcyjnie na wynik 899,4139 dla nowych danych średnia wartość = 15,99?

#take the data wpbc as example
library(mboost)
data(wpbc)

modNew<-gamboost(mean_area~mean_radius, data = wpbc, baselearner = "bbs", dfbase = 4, family=Gaussian(),control = boost_control(mstop = 5))
test<-data.frame(mean_radius=15.99)
predict(modNew,test)
B_Miner
źródło
Pytanie: czy chodzi o interpolację (wnętrze domeny) czy ekstrapolację? Są traktowane inaczej. Są również bardzo zależne od funkcji „bazowej”. Funkcja podstawy radialnej, jakiej można by oczekiwać w GLM, będzie miała zasadniczo inne zachowanie, szczególnie poza ogonami, niż jakaś podstawa wielomianowa wysokiego (er) rzędu.
EngrStudent
EngrStudent, jestem zainteresowany zrozumieniem koncepcyjnym tego, co dzieje się w obu przypadkach. Zakłada się, że (może błędnie), że proces jest taka sama w obu przypadkach lecz, że otrzymane wartości są różne i różnią się w funkcji bazowych stosowane (jednak, że proces ten był taki sam)
B_Miner
W podstawach wielomianowych występuje zjawisko zwane czasem „efektem Gibbsa”. Jeśli dopasujesz dane, które są jednorodnymi próbkami standardowego rozkładu normalnego, do czegoś w rodzaju wielomianu 10. rzędu, a następnie spojrzysz na jakość interpolacji, zobaczysz, że na końcach nachylenia są wysokie, a interpolacja bardzo słaba. W bazach wielomianowych zwykle stosuje się ekstrapolant niższego rzędu niż interpolant. Bez znajomości „fizyki” definiującej zjawiska, ekstrapolanty są często liniowe. Używam MatLab: mathworks.com/help/matlab/ref/interp1.html .
EngrStudent

Odpowiedzi:

10

Sposób obliczania prognozy jest następujący:

mean_radiusmboostmboostBj(x);j=1,,24x=

f(x)=j24Bj(x)θj
f(x)θjBj(x)

θ^jBj();j=1,,24xnew

f^(xnew)=j24Bj(xnew)θ^j.

mstop1,,mstop

bbs(rnorm(100))$dpp(rep(1,100))$predict,

i stamtąd odkrywaj. Na przykład,

with(environment(bbs(rnorm(100))$dpp(rep(1,100))$predict), newX)

połączenia

with(environment(bbs(rnorm(100))$dpp(rep(1,100))$predict), Xfun)

Bj()xnew

fabianie
źródło
to jest świetne. Zastanawiam się, czy nie miałbyś nic przeciwko wyjaśnianiu szeroko, jakie funkcje pełnią te funkcje? Czy to prawda, że ​​do „zdobywania” nowych danych potrzebny jest zestaw współczynników, lokalizacji węzłów używanych podczas treningu oraz wzór na splajny? Czy jakieś inne dane treningowe są potrzebne do zdobywania nowych danych (jak w modelu KNN)?
B_Miner
1
To, czego potrzebujesz, zależy od rodzaju użytej splajnu. W przypadku B-splajnów wszystko, co musisz wiedzieć, to kolejność B-splajnów (kwadratowy / sześcienny / itp.) I położenie węzłów. „Formuła” dla splajnów B to rekurencja, rekurencja Cox-de Boora . Do mojej odpowiedzi dodałem pół zdania.
fabians