Los pros y los contras de suavizar spline

11

Tengo una pregunta general. Recientemente, acabo de aprender Basis Expansion and Regularization. Existen varias técnicas interesantes que incluyen: spline cúbico, spline natural, b-spline y spline de suavizado .

La pregunta es, ¿cuáles son los pros y los contras (si hay alguno) de la spline de suavizado en comparación con la spline cúbica y natural "típica" donde los usuarios tienen que seleccionar los nudos?

Bueno, generalmente es estúpido preguntarle a la gente qué método es mejor sin el contexto de los problemas reales. Por lo tanto, solo estoy preguntando, según sus experiencias, ¿cuál es mejor?

Una de las ventajas que puedo ver es: la técnica de suavizado de splines evita seleccionar los nudos.

penpen926
fuente

Respuestas:

7

La terminología de las splines puede ser confusa (al menos eso creo), ya que exactamente lo que las personas quieren decir cuando usan "spline cúbico", por ejemplo, depende del tipo de spline cúbico; podemos tener, por ejemplo, splines de suavizado cúbicos y splines de regresión cúbicos (penalizados).

Lo que bosquejo a continuación está tomado de las secciones 5.1.2 y 5.2 de Wood (2017).

Una spline de interpolación ejemplo, establecería ya que interpola las observaciones través de una función compuesta de secciones de polinomios cúbicos unidos de manera que la spline sea continua a la segunda derivada.g(xi)g(xi)=yiyi

Una spline de suavizado cúbico tiene como objetivo equilibrar el ajuste de los datos con la producción de una función suave; El objetivo no es interpolar los datos que surgen al interpolar splines. En lugar de establecer , una spline de suavizado cúbico actúa como parámetros libres que se estiman para minimizar (Wood, 2017)g(xi)=yin

i=1n{yig(xi)}2+λg(x)2dx

donde la primera parte es una medida del ajuste a los datos, mientras que la segunda parte es una penalización contra la ondulación (la integral resume la segunda derivada al cuadrado de la spline como una medida de la curvatura o ondulación, qué tan rápida es la curva pendiente cambiante). Podemos pensar en wiggliness como complejidad, por lo que la función incluye una penalización contra los suavizados demasiado complejos.

Se puede demostrar que una spline de suavizado cúbico , de todas las funciones posibles , es la función que minimiza el criterio anterior (una prueba se da en Wood, 2017, sección 5.1.2 pp. 198).g(x)f

Al igual que con una spline interpoladora, una spline de suavizado cúbico tiene nudos ubicados en cada par de observación , . Anteriormente mencioné que una spline de suavizado tiene parámetros libres; Hay tantos parámetros como datos. Sin embargo, el efecto de , la penalización contra el exceso de suavizado, es producir una ranura que es mucho más suave de lo que implica si usa grados de libertad (Wood 2017).xiyinλn

Esta es la principal negativa en el lado de suavizar splines. Debe estimar tantos parámetros como datos tenga y, sin embargo, el efecto de muchos de esos parámetros en general será bajo debido a la penalización contra ajustes excesivamente complejos (ondulados).

Equilibrando esto es el hecho de que se toma en cuenta la elección de los nudos en la ranura de suavizado, porque no hay otra opción.

Pasando a la configuración de spline de regresión penalizada, ahora tenemos la opción de elegir dónde colocar los nudos, pero podemos elegir cuántos nudos usar. ¿Cómo podríamos decidir si esta es una compensación útil, que es beneficioso ajustar la ranura con un número reducido de nudos, incluso si tenemos que decidir cuántos y dónde colocarlos?

En una spline de regresión penalizada, en lugar de pensar en nudos per se, piense que la spline está compuesta de funciones básicas; Estas son pequeñas funciones, cada una de las cuales tiene un coeficiente, cuya combinación lineal da el valor de la spline para un determinado . La elección ahora es cuántas funciones básicas usar para modelar la respuesta con el número siendo mucho menor que el número de datos . La teoría subyacente a esta elección es un poco limitada o restringida a casos especiales o enfoques para estimar el valor de pero la idea general es que el número de funciones básicas requeridas crece lentamente conxiknλn para lograr un rendimiento cercano al óptimo representado por suavizar splines (resumen de Wood 2017).

En general, donde los nudos se distribuyen realmente a través de los datos para una spline de regresión cúbica no tiene mucho efecto sobre la spline ajustada. Las opciones típicas son colocar nudos manera uniforme en el intervalo de , o colocar nudos en los cuantiles de la distribución de . Si tiene una distribución muy desigual de observaciones en el rango de , sería un desperdicio colocar nudos de manera uniforme sobre para poder concentrarlos donde tenga datos. Alternativamente, transformandok1xxxxx de alguna manera puede igualar la distribución de manera que sea posible colocar nudos de manera uniforme nuevamente.

Al ajustar un modelo de spline en altas dimensiones, digamos una spline de dos variables, la colocación de nudos es más problemática si los pares de x1i,x2i están limitados a alguna región del espacio atravesado por x1 y x2; Si los datos no se originan en grandes partes del espacio, colocar nudos de manera uniforme dará como resultado que muchos de los nudos se ubiquen lejos del soporte de los datos. Lo cual es un desperdicio. Las estrategias para tratar están disponibles, como los algoritmos de relleno de espacios, o el uso de splines P y penalizaciones dispersas basadas en derivadas que permiten una estimación eficiente incluso en datos distribuidos de manera desigual (por ejemplo, Wood 2016)

Referencias

Wood, SN 2016. P-splines con penalizaciones basadas en derivados y suavizado de productos tensoriales de datos distribuidos de manera desigual. Stat. Comput 1–5. doi: 10.1007 / s11222-016-9666-x ( acceso abierto )

Wood, SN 2017. Modelos aditivos generalizados: una introducción con R, segunda edición, CRC Press.

Gavin Simpson
fuente
Una pregunta de seguimiento sobre la afirmación "una spline de suavizado tiene 𝑛 parámetros libres; hay tantos parámetros como datos". ¿Qué pasa si tengo dos variables en el modelo aditivo, f (x1) yf (x2), ambas son splines de suavizado? ¿Significa que el número de parámetros a estimar es 2n?
vtshen 01 de
Creo que esto debería expresarse de manera más general, ya que hay tantos parámetros para estimar como combinaciones únicas de los datos. Si dos o más observaciones han tomado los mismos valores entre sí parax1 y x2, entonces solo necesitamos un nudo para esta combinación de datos.
Gavin Simpson el