¿Alguien puede ayudar a dar una explicación conceptual de cómo se hacen las predicciones para los nuevos datos cuando se utilizan suavizados / splines para un modelo predictivo? Por ejemplo, dado un modelo creado usando gamboost
el mboost
paquete en R, con p-splines, ¿cómo se hacen las predicciones para los nuevos datos? ¿Qué se usa de los datos de entrenamiento?
Supongamos que hay un nuevo valor de la variable independiente x y queremos predecir y. ¿Se aplica una fórmula para la creación de splines a este nuevo valor de datos usando los nudos o df utilizados al entrenar el modelo y luego los coeficientes del modelo entrenado se aplican para generar la predicción?
Aquí hay un ejemplo con R, ¿qué está haciendo predecir conceptualmente para generar 899.4139 para los nuevos datos mean_radius = 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)
Respuestas:
La forma en que se calcula la predicción es así:
mean_radius
mboost
mboost
bbs(rnorm(100))$dpp(rep(1,100))$predict
,e ir a explorar desde allí. Por ejemplo,
with(environment(bbs(rnorm(100))$dpp(rep(1,100))$predict), newX)
llamadas
with(environment(bbs(rnorm(100))$dpp(rep(1,100))$predict), Xfun)
fuente