6 votos

Cálculo de splines cúbicos naturales en R

Soy nuevo en el uso de splines cúbicos con fines de regresión y quería saber

1) ¿Cuál es una buena fuente (además de ESL que leí pero aún no estoy seguro) para aprender sobre splines para regresión?
2) ¿Cómo calcularías la base de una solución de spline cúbico natural dada sobre nuevos datos? Específicamente si uno hiciera lo siguiente:

data(iris)
colnames(iris)
Sepal.Length.ns<-ns(iris$Sepal.Length,df=5)
Sepal.Length.ns

¿Cómo se puede tomar la información en Sepal.Length.ns (nudos, límites) y calcular los valores para una nueva observación? La razón es codificar este proceso fuera de R, una vez ajustado en R inicialmente (es decir, poner un modelo de regresión usando splines cúbicos en un sistema de producción).

Por ejemplo, puedo hacer esto en R, pero quiero entender el cálculo:

#three new observations to predict
newVector<-c(4.45,3.35,2.2)
pred.new<-predict(Sepal.Length.ns,newVector)

Gracias.

4voto

Kevin Ballard Puntos 88866

Wikipedia tiene una buena explicación de interpolación spline

He publicado el código para crear cúbicos Splines de Bézier en Código Rosettacode hace un tiempo.

Además, puede echar un vistazo a esta discusión en SO sobre la extrapolación de splines.

1voto

Valentin Rocher Puntos 121

Aprendí sobre el uso de splines en la regresión en el libro "Regression Modeling Strategies" de Frank Harrell. El paquete R rms de Harrell permite ajustar fácilmente modelos de regresión en los que algunas variables predictoras se representan como splines.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X