La mayoría de los suavizados adicionales en la caja de herramientas de mgcv realmente están ahí para aplicaciones especializadas: puede ignorarlos en gran medida para los GAM generales, especialmente los suavizados univariados (no necesita una spline de efecto aleatorio, una spline en la esfera, un campo aleatorio de Markov, o un suavizador de película de jabón si tiene datos univariados, por ejemplo).
Si puede soportar el costo de instalación, use splines de regresión de placa delgada (TPRS).
Estas splines son óptimas en un sentido asintótico MSE, pero requieren una función base por observación. Lo que Simon hace en mgcv es generar una versión de bajo rango del TPRS estándar tomando la base TPRS completa y sometiéndola a una descomposición propia. Esto crea una nueva base donde la k
función de primera base en el nuevo espacio retiene la mayor parte de la señal en la base original, pero en muchas menos funciones básicas. Así es como mgcv logra obtener un TPRS que usa solo un número específico de funciones básicas en lugar de una por observación. Esta descomposición propia conserva gran parte de la optimización de la base clásica de TPRS, pero a un considerable esfuerzo computacional para grandes conjuntos de datos.
Si no puede soportar el costo de configuración de TPRS, use splines de regresión cúbica (CRS)
Esta es una base rápida para generar y, por lo tanto, es adecuada para problemas con una gran cantidad de datos. Sin embargo, está basado en nudos, por lo que hasta cierto punto el usuario ahora debe elegir dónde deben colocarse esos nudos. Para la mayoría de los problemas, hay poco que ganar al ir más allá de la ubicación predeterminada del nudo (en el límite de los datos y espaciado uniformemente entre ellos), pero si tiene un muestreo particularmente desigual sobre el rango de la covariable, puede elegir colocar nudos Por ejemplo, cuantiles de muestra uniformemente espaciados de la covariable.
Todos los demás suavizados en mgcv son especiales, ya que se usan donde desea suavizados isotrópicos o dos o más covariables, o para suavizado espacial, o que implementan contracción, o efectos aleatorios y splines aleatorios, o donde las covariables son cíclicas, o la ondulación varía El rango de una covariable. Usted solamente tiene que aventurarse tan lejos en la caja de herramientas sin problemas si tiene un problema que requiere un manejo especial.
Contracción
Hay versiones de contracción de TPRS y CRS en mgcv . Estos implementan una ranura donde la parte perfectamente lisa de la base también está sujeta a la penalidad de suavidad. Esto permite que el proceso de selección de suavidad reduzca un retroceso suave incluso más allá de una función lineal esencialmente a cero. Esto permite que la penalización de suavidad también realice la selección de funciones.
Duchon splines, P splines y B splines
Estas splines están disponibles para aplicaciones especializadas en las que necesita especificar el orden base y el orden de penalización por separado. Las estrías de Duchon generalizan el TPRS. Tengo la impresión de que se agregaron splines P a mgcv para permitir la comparación con otros enfoques basados en la probabilidad penalizados, y porque son splines utilizados por Eilers & Marx en su artículo de 1996 que impulsaron gran parte del trabajo posterior en GAM. Las splines P también son útiles como base para otras splines, como splines con restricciones de forma y splines adaptativas.
Las splines B, tal como se implementan en mgcv, permiten una gran flexibilidad al configurar la penalización y los nudos para las splines, lo que puede permitir una extrapolación más allá del rango de los datos observados.
Estrías cíclicas
Si el rango de valores para una covariable puede considerarse como en un círculo donde los puntos finales del rango deberían ser equivalentes (mes o día del año, ángulo de movimiento, aspecto, dirección del viento), esta restricción puede imponerse la base. Si tiene covariables como esta, entonces tiene sentido imponer esta restricción.
Alisadores adaptativos
En lugar de ajustar un GAM separado en secciones de la covariable, las splines adaptativas utilizan una matriz de penalización ponderada, donde se permite que los pesos varíen suavemente en el rango de la covariable. Para las splines TPRS y CRS, por ejemplo, asumen el mismo grado de suavidad en todo el rango de la covariable. Si tiene una relación donde este no es el caso, puede terminar usando más grados de libertad de lo esperado para permitir que la ranura se adapte a las partes onduladas y no onduladas. Un ejemplo clásico en la literatura de suavizado es el
library('ggplot2')
theme_set(theme_bw())
library('mgcv')
data(mcycle, package = 'MASS')
pdata <- with(mcycle,
data.frame(times = seq(min(times), max(times), length = 500)))
ggplot(mcycle, aes(x = times, y = accel)) + geom_point()
Estos datos exhiben claramente períodos de diferente suavidad: efectivamente cero para la primera parte de la serie, lotes durante el impacto, reduciéndose posteriormente.
si ajustamos un GAM estándar a estos datos,
m1 <- gam(accel ~ s(times, k = 20), data = mcycle, method = 'REML')
obtenemos un ajuste razonable pero hay un poco de movimiento adicional al principio y al final del rango times
y el ajuste utilizado ~ 14 grados de libertad
plot(m1, scheme = 1, residuals = TRUE, pch= 16)
Para acomodar la variabilidad del wiggliness, una spline adaptativa utiliza una matriz de penalización ponderada con los pesos que varían suavemente con la covariable. Aquí reajusto el modelo original con la misma dimensión base (k = 20) pero ahora tenemos 5 parámetros de suavidad (el valor predeterminado es m = 5
) en lugar del 1 original.
m2 <- gam(accel ~ s(times, k = 20, bs = 'ad'), data = mcycle, method = 'REML')
Tenga en cuenta que este modelo usa muchos menos grados de libertad (~ 8) y que la suavidad ajustada es mucho menos ondulante en los extremos, al tiempo que puede adaptarse adecuadamente a los grandes cambios en la aceleración de la cabeza durante el impacto.
Lo que realmente sucede aquí es que la spline tiene una base para suavizar y una base para la penalización (para permitir que los pesos varíen suavemente con la covariable). Por defecto ambos son P estrías, pero también se puede utilizar los tipos básicos de CRS también ( bs
sólo puede ser uno de 'ps'
, 'cr'
, 'cc'
, 'cs'
.)
Como se ilustra aquí, la elección de si se adapta o no realmente depende del problema; Si tiene una relación para la cual asume que la forma funcional es suave, pero el grado de suavidad varía en el rango de la covariable en la relación, entonces una spline adaptativa puede tener sentido. Si su serie tuvo períodos de cambio rápido y períodos de cambio bajo o más gradual, eso podría indicar que puede ser necesaria una adaptación suave.