En estadística , las splines de regresión adaptativa multivariante ( MARS ) es una forma de análisis de regresión introducida por Jerome H. Friedman en 1991. [1] Es una técnica de regresión no paramétrica y puede verse como una extensión de modelos lineales que modela automáticamente las no linealidades. e interacciones entre variables.
El término "MARS" es una marca registrada y tiene licencia de Salford Systems. Para evitar infracciones de marcas registradas, muchas implementaciones de código abierto de MARS se denominan "Tierra". [2] [3]
Los basicos
Esta sección presenta MARS usando algunos ejemplos. Comenzamos con un conjunto de datos: una matriz de variables de entrada x , y un vector de las respuestas observadas y , con una respuesta para cada fila en x . Por ejemplo, los datos podrían ser:
X | y |
---|---|
10,5 | 16,4 |
10,7 | 18,8 |
10,8 | 19,7 |
... | ... |
20,6 | 77,0 |
Aquí solo hay una variable independiente , por lo que la matriz x es solo una columna. Dadas estas medidas, nos gustaría construir un modelo que prediga la y esperada para una x dada .
Un modelo lineal para los datos anteriores es
El sombrero en el indica que se estima a partir de los datos. La figura de la derecha muestra una gráfica de esta función: una línea que da la predicciónversus x , con los valores originales de y mostrados como puntos rojos.
Los datos en los extremos de x indican que la relación entre y y x puede no ser lineal (observe los puntos rojos en relación con la línea de regresión en los valores bajos y altos de x ). Por lo tanto, recurrimos a MARS para construir automáticamente un modelo teniendo en cuenta las no linealidades. El software MARS construye un modelo a partir de x e y dados de la siguiente manera
La figura de la derecha muestra una gráfica de esta función: la predicción versus x , con los valores originales de y nuevamente mostrados como puntos rojos. La respuesta predicha ahora se ajusta mejor a los valores de y originales .
MARS ha producido automáticamente una deformación en la y prevista para tener en cuenta la no linealidad. La torcedura se produce mediante funciones de bisagra . Las funciones de bisagra son las expresiones que comienzan con (dónde es Si , demás ). Las funciones de las bisagras se describen con más detalle a continuación.
En este ejemplo simple, podemos ver fácilmente en la gráfica que y tiene una relación no lineal con x (y quizás adivinemos que y varía con el cuadrado de x ). Sin embargo, en general, habrá múltiples variables independientes , y la relación entre y y estas variables no será clara y no será fácilmente visible al graficar. Podemos usar MARS para descubrir esa relación no lineal.
Un ejemplo de expresión MARS con múltiples variables es
Esta expresión modela la contaminación del aire (el nivel de ozono) en función de la temperatura y algunas otras variables. Tenga en cuenta que el último término de la fórmula (en la última línea) incorpora una interacción entre y .
La figura de la derecha traza la predicción como y varían, con las otras variables fijas en sus valores medianos. La figura muestra que el viento no afecta el nivel de ozono a menos que la visibilidad sea baja. Vemos que MARS puede construir superficies de regresión bastante flexibles combinando funciones de bisagra.
Para obtener la expresión anterior, el procedimiento de construcción del modelo MARS selecciona automáticamente qué variables usar (algunas variables son importantes, otras no), las posiciones de las torceduras en las funciones de bisagra y cómo se combinan las funciones de bisagra.
El modelo MARS
MARS construye modelos de la forma
El modelo es una suma ponderada de funciones básicas. . Cadaes un coeficiente constante. Por ejemplo, cada línea en la fórmula para el ozono anterior es una función básica multiplicada por su coeficiente.
Cada función base toma una de las siguientes tres formas:
1) una constante 1. Sólo existe un término de este tipo, la intersección. En la fórmula de ozono anterior, el término de intersección es 5.2.
2) una función de bisagra . Una función de bisagra tiene la forma o . MARS selecciona automáticamente las variables y los valores de esas variables para los nodos de las funciones de bisagra. Se pueden ver ejemplos de tales funciones básicas en las tres líneas centrales de la fórmula del ozono.
3) un producto de dos o más funciones de bisagra. Estas funciones de base pueden modelar la interacción entre dos o más variables. Un ejemplo es la última línea de la fórmula del ozono.
Funciones de bisagra
Las funciones de las bisagras son una parte clave de los modelos MARS. Una función de bisagra toma la forma
o
dónde es una constante, llamada nudo . La figura de la derecha muestra un par de funciones de bisagra en espejo con un nudo en 3.1.
Una función de bisagra es cero para parte de su rango, por lo que se puede usar para dividir los datos en regiones separadas, cada una de las cuales se puede tratar de forma independiente. Así, por ejemplo, un par de funciones de bisagra reflejadas en la expresión
crea el gráfico lineal por partes que se muestra para el modelo MARS simple en la sección anterior.
Se podría suponer que solo se pueden formar funciones lineales por partes a partir de funciones de bisagra, pero las funciones de bisagra se pueden multiplicar juntas para formar funciones no lineales.
Las funciones de bisagra también se denominan funciones de rampa , palo de hockey o rectificador . En vez de notación utilizada en este artículo, las funciones de bisagra a menudo se representan mediante dónde significa tomar la parte positiva.
El proceso de construcción de modelos
MARS construye un modelo en dos fases: el pase hacia adelante y hacia atrás. Este enfoque de dos etapas es el mismo que utilizan los árboles de particiones recursivas .
El pase adelantado
MARS comienza con un modelo que consta solo del término de intersección (que es la media de los valores de respuesta).
Luego, MARS agrega repetidamente la función base en pares al modelo. En cada paso, encuentra el par de funciones básicas que da la máxima reducción en el error residual de suma de cuadrados (es un algoritmo codicioso ). Las dos funciones de base en el par son idénticas excepto que se usa un lado diferente de una función de bisagra reflejada para cada función. Cada nueva función de base consta de un término que ya está en el modelo (que quizás podría ser el término de intersección) multiplicado por una nueva función de bisagra. Una función de bisagra se define mediante una variable y un nudo, por lo que para agregar una nueva función de base, MARS debe buscar todas las combinaciones de lo siguiente:
1) términos existentes (llamados términos principales en este contexto)
2) todas las variables (para seleccionar una para la nueva función de base)
3) todos los valores de cada variable (para el nudo de la nueva función de bisagra).
Para calcular el coeficiente de cada término, MARS aplica una regresión lineal sobre los términos.
Este proceso de agregar términos continúa hasta que el cambio en el error residual es demasiado pequeño para continuar o hasta que se alcanza el número máximo de términos. El usuario especifica el número máximo de términos antes de que comience la construcción del modelo.
La búsqueda en cada paso se realiza mediante la fuerza bruta , pero un aspecto clave de MARS es que, debido a la naturaleza de las funciones de bisagra, la búsqueda se puede realizar con relativa rapidez utilizando una técnica de actualización rápida por mínimos cuadrados. En realidad, la búsqueda no es del todo por fuerza bruta. La búsqueda se puede acelerar con una heurística que reduce el número de términos principales a considerar en cada paso ("MARS rápido" [4] ).
El pase al revés
El pase hacia adelante generalmente construye un modelo de sobreajuste . (Un modelo de sobreajuste se ajusta bien a los datos utilizados para construir el modelo, pero no se generalizará bien a los datos nuevos). Para construir un modelo con una mejor capacidad de generalización, el pase hacia atrás poda el modelo. Elimina los términos uno por uno, eliminando el término menos efectivo en cada paso hasta encontrar el mejor submodelo. Los subconjuntos de modelos se comparan utilizando el criterio GCV que se describe a continuación.
El pase hacia atrás tiene una ventaja sobre el pase hacia adelante: en cualquier paso puede elegir cualquier término para eliminar, mientras que el pase hacia adelante en cada paso solo puede ver el siguiente par de términos.
El pase hacia adelante agrega términos en pares, pero el pase hacia atrás generalmente descarta un lado del par y, por lo tanto, los términos a menudo no se ven en pares en el modelo final. Se puede ver una bisagra emparejada en la ecuación paraen el primer ejemplo de MARS anterior; no hay pares completos retenidos en el ejemplo del ozono.
Validación cruzada generalizada
El pase hacia atrás utiliza la validación cruzada generalizada (GCV) para comparar el rendimiento de los subconjuntos del modelo con el fin de elegir el mejor subconjunto: los valores más bajos de GCV son mejores. El GCV es una forma de regularización : negocia la bondad del ajuste con la complejidad del modelo.
(Queremos estimar qué tan bien se desempeña un modelo con datos nuevos , no con datos de entrenamiento. Estos datos nuevos generalmente no están disponibles en el momento de la creación del modelo, por lo que usamos GCV para estimar qué rendimiento sería con datos nuevos. La suma de cuadrados residuales (RSS) sin procesar en los datos de entrenamiento es inadecuada para comparar modelos, porque el RSS siempre aumenta a medida que se eliminan los términos MARS. En otras palabras, si el RSS se usara para comparar modelos, el pase hacia atrás siempre elegiría el modelo más grande, pero el modelo más grande generalmente no tiene el mejor rendimiento de generalización).
La fórmula para el GCV es
- GCV = RSS / ( N · (1 - (número efectivo de parámetros) / N ) 2 )
donde RSS es la suma de cuadrados residual medida en los datos de entrenamiento y N es el número de observaciones (el número de filas en la matriz x ).
Los EffectiveNumberOfParameters se define en el contexto MARS como
- (número efectivo de parámetros) = (número de términos de Marte) + (penalización) · ((número de términos de Marte) - 1) / 2
donde la penalización es de aproximadamente 2 o 3 (el software MARS permite al usuario preestablecer la penalización).
Tenga en cuenta que
- (número de términos de Marte - 1) / 2
es el número de nudos con función de bisagra, por lo que la fórmula penaliza la adición de nudos. Por lo tanto, la fórmula de GCV ajusta (es decir, aumenta) la RSS de entrenamiento para tener en cuenta la flexibilidad del modelo. Penalizamos la flexibilidad porque los modelos que son demasiado flexibles modelarán la realización específica del ruido en los datos en lugar de solo la estructura sistemática de los datos.
La validación cruzada generalizada se llama así porque utiliza una fórmula para aproximar el error que se determinaría mediante la validación de dejar uno fuera. Es solo una aproximación, pero funciona bien en la práctica. Los GCV fueron introducidos por Craven y Wahba y extendidos por Friedman para MARS.
Restricciones
Ya se ha mencionado una restricción: el usuario puede especificar el número máximo de términos en el pase hacia adelante.
Se puede colocar una restricción adicional en el pase hacia adelante especificando un grado máximo permitido de interacción. Por lo general, solo se permiten uno o dos grados de interacción, pero se pueden usar grados más altos cuando los datos lo justifiquen. El grado máximo de interacción en el primer ejemplo de MARS anterior es uno (es decir, sin interacciones o un modelo aditivo ); en el ejemplo del ozono son dos.
Son posibles otras limitaciones en el pase hacia adelante. Por ejemplo, el usuario puede especificar que se permitan interacciones solo para determinadas variables de entrada. Tales restricciones podrían tener sentido debido al conocimiento del proceso que generó los datos.
Pros y contras
Ninguna técnica de modelado de regresión es la mejor para todas las situaciones. Las siguientes pautas están destinadas a dar una idea de los pros y los contras de MARS, pero habrá excepciones a las pautas. Es útil comparar MARS con particiones recursivas y esto se hace a continuación. (La partición recursiva también se denomina comúnmente árboles de regresión , árboles de decisión o CART ; consulte el artículo sobre particiones recursivas para obtener más detalles).
- Los modelos MARS son más flexibles que los modelos de regresión lineal .
- Los modelos MARS son fáciles de entender e interpretar. [5] Compare la ecuación de concentración de ozono anterior con, digamos, las entrañas de una red neuronal entrenada o un bosque aleatorio .
- MARS puede manejar datos tanto continuos como categóricos. [6] MARS tiende a ser mejor que la partición recursiva para datos numéricos porque las bisagras son más apropiadas para variables numéricas que la segmentación constante por partes utilizada por la partición recursiva.
- La construcción de modelos MARS a menudo requiere poca o ninguna preparación de datos. [5] Las funciones de bisagra dividen automáticamente los datos de entrada, por lo que se contiene el efecto de los valores atípicos. En este sentido, MARS es similar a la partición recursiva que también divide los datos en regiones disjuntas, aunque utilizando un método diferente. (Sin embargo, como ocurre con la mayoría de las técnicas de modelado estadístico, se debe considerar la eliminación de valores atípicos conocidos antes de entrenar un modelo MARS. [ Cita requerida ] )
- MARS (como la partición recursiva) realiza una selección automática de variables (lo que significa que incluye variables importantes en el modelo y excluye las que no lo son). Sin embargo, puede haber cierta arbitrariedad en la selección, especialmente cuando hay predictores correlacionados, y esto puede afectar la interpretabilidad [5]
- Los modelos MARS tienden a tener una buena compensación de sesgo-varianza. Los modelos son lo suficientemente flexibles para modelar la no linealidad y las interacciones variables (por lo tanto, los modelos MARS tienen un sesgo bastante bajo), sin embargo, la forma restringida de las funciones de base MARS evita demasiada flexibilidad (por lo tanto, los modelos MARS tienen una varianza bastante baja).
- MARS es adecuado para manejar conjuntos de datos bastante grandes. Es una cuestión de rutina para construir un modelo MARS partir de una matriz de entrada con, digamos, 100 y 10 predictores 5 observaciones. Dicho modelo se puede construir en aproximadamente un minuto en una máquina de 1 GHz, asumiendo que el grado máximo de interacción de los términos MARS se limita a uno (es decir, solo términos aditivos). Un modelo de grado dos con los mismos datos en la misma máquina de 1 GHz lleva más tiempo, aproximadamente 12 minutos. Tenga en cuenta que estos tiempos dependen en gran medida de los datos. La partición recursiva es mucho más rápida que MARS. [ cita requerida ]
- Con los modelos MARS, como con cualquier regresión no paramétrica, los intervalos de confianza de los parámetros y otras verificaciones del modelo no se pueden calcular directamente (a diferencia de los modelos de regresión lineal ). En su lugar , se deben utilizar la validación cruzada y técnicas relacionadas para validar el modelo.
- Los modelos MARS no se ajustan tan bien como los árboles potenciados , pero se pueden construir mucho más rápidamente y son más interpretables. (Un modelo 'interpretable' está en una forma que deja claro cuál es el efecto de cada predictor).
- El
earth
,mda
ypolspline
las implementaciones no permiten valores que faltan en predictores, pero implementaciones libres de árboles de regresión (tal comorpart
yparty
) permiten que los valores que faltan utilizando una técnica llamada división sustituta. - Los modelos MARS pueden hacer predicciones rápidamente. La función de predicción simplemente tiene que evaluar la fórmula del modelo MARS. Compare eso con hacer una predicción con, por ejemplo, una máquina de vectores de soporte , donde cada variable debe multiplicarse por el elemento correspondiente de cada vector de soporte. Ese puede ser un proceso lento si hay muchas variables y muchos vectores de soporte.
- La función de montaje resultante no es suave (no diferenciable a lo largo de las bisagras).
- Los modelos lineales generalizados (GLM) se pueden incorporar a los modelos MARS aplicando una función de enlace después de que se construye el modelo MARS. Así, por ejemplo, los modelos MARS pueden incorporar regresión logística para predecir probabilidades.
- La regresión no lineal se usa cuando se conoce la forma subyacente de la función y la regresión se usa solo para estimar los parámetros de esa función. MARS, por otro lado, estima las funciones en sí mismas, aunque con severas restricciones sobre la naturaleza de las funciones. (Estas restricciones son necesarias porque descubrir un modelo a partir de los datos es un problema inverso que no está bien planteado sin restricciones en el modelo).
- Particionamiento recursivo (comúnmente llamado CART). MARS puede verse como una generalización de la partición recursiva que permite que el modelo maneje mejor los datos numéricos (es decir, no categóricos).
- Modelos aditivos generalizados . Desde la perspectiva del usuario, los GAM son similares a MARS pero (a) ajustan splines loess o polinomiales suaves en lugar de funciones de base MARS, y (b) no modelan automáticamente las interacciones de las variables. El método de ajuste utilizado internamente por los GAM es muy diferente al de MARS. Para los modelos que no requieren el descubrimiento automático de interacciones variables, los GAM suelen competir favorablemente con MARS.
- TSMARS . Time Series Mars es el término utilizado cuando los modelos MARS se aplican en un contexto de series de tiempo. Normalmente, en esta configuración, los predictores son los valores de series de tiempo rezagados que dan como resultado modelos de splines autorregresivos. Estos modelos y extensiones para incluir modelos spline de promedio móvil se describen en "Modelado y pronóstico de series de tiempo univariantes usando TSMARS: un estudio de modelos de promedio móvil, estacionales y autorregresivos de series de tiempo umbral usando TSMARS".
Ver también
- Regresión lineal
- Regresión local
- Modelado de funciones racionales
- Regresión segmentada
- Interpolación de splines
- Regresión spline
Referencias
- ^ Friedman, JH (1991). "Splines de regresión adaptativa multivariante". The Annals of Statistics . 19 (1): 1–67. CiteSeerX 10.1.1.382.970 . doi : 10.1214 / aos / 1176347963 . JSTOR 2241837 . Señor 1091842 . Zbl 0765.62064 .
- ^ Tierra del paquete CRAN
- ^ Earth: splines de regresión adaptativa multivariante en Orange (biblioteca de aprendizaje automático de Python)
- ^ Friedman, JH (1993) Fast MARS , Departamento de Estadística de la Universidad de Stanford, Informe técnico 110
- ^ a b c Kuhn, Max; Johnson, Kjell (2013). Modelado predictivo aplicado . Nueva York, NY: Springer New York. doi : 10.1007 / 978-1-4614-6849-3 . ISBN 9781461468486.
- ^ Friedman, JH (1993) Estimación de funciones de variables ordinales y categóricas mixtas mediante splines adaptables , nuevas direcciones en el análisis de datos estadísticos y robustez (Morgenthaler, Ronchetti, Stahel, eds.), Birkhauser
Otras lecturas
- Hastie T., Tibshirani R. y Friedman JH (2009) Los elementos del aprendizaje estadístico , segunda edición. Saltador, ISBN 978-0-387-84857-0 (tiene una sección sobre MARS)
- Faraway J. (2005) Ampliando el modelo lineal con R , CRC, ISBN 978-1-58488-424-8 (tiene un ejemplo que usa MARS con R)
- Heping Zhang y Burton H. Singer (2010) Particiones y aplicaciones recursivas , 2ª edición. Saltador, ISBN 978-1-4419-6823-4 (tiene un capítulo sobre MARS y analiza algunos ajustes al algoritmo)
- Denison DGT, Holmes CC, Mallick BK y Smith AFM (2004) Métodos bayesianos para clasificación y regresión no lineal , Wiley, ISBN 978-0-471-49036-4
- Berk RA (2008) Aprendizaje estadístico desde una perspectiva de regresión , Springer, ISBN 978-0-387-77500-5
enlaces externos
Se encuentran disponibles varios paquetes de software comerciales y gratuitos para adaptarse a modelos de tipo MARS.
- Software libre
- Paquetes R :
earth
función en elearth
paquetemars
función en elmda
paquetepolymars
función en elpolspline
paquete. No MARTE de Friedman.
- Código de Matlab:
- ARESLab: caja de herramientas Adaptive Regression Splines para Matlab
- Pitón
- Tierra: splines de regresión adaptativa multivariante
- py-earth
- Software comercial
- MARS de Salford Systems. Basado en la implementación de Friedman.
- STATISTICA Data Miner de StatSoft
- ADAPTIVEREG de SAS.