Articulo de referencia

Regresión spline adaptativa multivariante

En estadística , los splines de regresión adaptativa multivariante ( MARS ) son una forma de análisis de regresión introducida por Jerome H. Friedman en 1991. [1] Es una técnica...

En estadística , los splines de regresión adaptativa multivariante ( MARS ) son 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 los modelos lineales que modela automáticamente las no linealidades y las interacciones entre variables.

El término "MARS" es una marca registrada y está bajo licencia de Salford Systems. Para evitar infracciones de marca registrada, muchas implementaciones de código abierto de MARS se denominan "Tierra". [2] [3]

Los conceptos básicos

En esta sección se presenta MARS mediante 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 de x . Por ejemplo, los datos podrían ser:

Aquí solo hay una variable independiente , por lo que la matriz x es solo una columna. Dadas estas mediciones, nos gustaría construir un modelo que prediga el valor esperado de y para una x dada .

Un modelo lineal

Un modelo lineal para los datos anteriores es

y ^ = 37 + 5.1 incógnita {\displaystyle {\widehat {y}}=-37+5.1x}

El sombrero en la imagen indica que se estima a partir de los datos. La figura de la derecha muestra un gráfico de esta función: una línea que da el valor predicho en función de x , con los valores originales de y mostrados como puntos rojos. y ^ {\displaystyle {\widehat {y}}} y ^ {\displaystyle {\widehat {y}}} y ^ {\displaystyle {\widehat {y}}}

Los datos en los extremos de x indican que la relación entre y y x puede ser no lineal (observe los puntos rojos relativos a 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 que tenga en cuenta las no linealidades. El software MARS construye un modelo a partir de x e y dados de la siguiente manera

y ^ =   25 + 6.1 máximo ( 0 , incógnita 13 ) 3.1 máximo ( 0 , 13 incógnita ) {\displaystyle {\begin{aligned}{\widehat {y}}=&\ 25\\&{}+6,1\max(0,x-13)\\&{}-3,1\max(0,13-x)\end{aligned}}}
Un modelo MARS simple de los mismos datos

La figura de la derecha muestra un gráfico de esta función: la respuesta predicha versus x , con los valores originales de y nuevamente mostrados como puntos rojos. La respuesta predicha ahora se ajusta mejor a los valores originales de y . y ^ {\displaystyle {\widehat {y}}}

MARS ha producido automáticamente un punto de inflexión en la y prevista para tener en cuenta la no linealidad. El punto de inflexión se produce mediante funciones de bisagra . Las funciones de bisagra son las expresiones que comienzan con (donde es if , else ). Las funciones de bisagra se describen con más detalle a continuación. máximo {\estilo de visualización \max} máximo ( a , b ) {\displaystyle \max(a,b)} a {\estilo de visualización a} a > b {\estilo de visualización a>b} b {\estilo de visualización b}

En este ejemplo simple, podemos ver fácilmente a partir del gráfico que y tiene una relación no lineal con x (y tal vez podríamos suponer 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 estará clara y no será fácil de ver mediante el gráfico. Podemos usar MARS para descubrir esa relación no lineal.

Un ejemplo de expresión MARS con múltiples variables es

o el o norte mi =   5.2 + 0,93 máximo ( 0 , a mi metro pag 58 ) 0,64 máximo ( 0 , a mi metro pag 68 ) 0,046 máximo ( 0 , 234 i b a ) 0,016 máximo ( 0 , el i norte d 7 ) máximo ( 0 , 200 en i s ) {\displaystyle {\begin{aligned}\mathrm {ozono} =&\ 5.2\\&{}+0.93\max(0,\mathrm {temp} -58)\\&{}-0.64\max(0, \mathrm {temp} -68)\\&{}-0.046\max(0,234-\mathrm {ibt} )\\&{}-0.016\max(0,\mathrm {viento} -7)\max(0,200 -\mathrm {vis} )\end{alineado}}}
Interacción de variables en un modelo MARS

Esta expresión modela la contaminación del aire (el nivel de ozono) como una función de la temperatura y algunas otras variables. Nótese que el último término de la fórmula (en la última línea) incorpora una interacción entre y . el i norte d {\displaystyle \mathrm {viento} } en i s {\displaystyle \mathrm {vis} }

La figura de la derecha representa gráficamente los valores predichos como y varían, con las otras variables fijadas 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. o el o norte mi {\displaystyle \mathrm {ozono} } el i norte d {\displaystyle \mathrm {viento} } en i s {\displaystyle \mathrm {vis} }

Para obtener la expresión anterior, el procedimiento de construcción del modelo MARS selecciona automáticamente qué variables utilizar (algunas variables son importantes, otras no), las posiciones de los puntos de inflexión en las funciones de bisagra y cómo se combinan las funciones de bisagra.

El modelo MARS

MARS construye modelos de la forma

F ^ ( incógnita ) = i = 1 a do i B i ( incógnita ) . {\displaystyle {\widehat {f}}(x)=\sum _{i=1}^{k}c_{i}B_{i}(x).}

El modelo es una suma ponderada de funciones base . Cada una es un coeficiente constante. Por ejemplo, cada línea de la fórmula para el ozono anterior es una función base multiplicada por su coeficiente. B i ( incógnita ) Estilo de visualización B_{i}(x)} do i Estilo de visualización c_{i}

Cada función base toma una de las tres formas siguientes: B i ( incógnita ) Estilo de visualización B_{i}(x)}

1) una constante 1. Solo existe un término de este tipo, el término de intersección. En la fórmula del ozono anterior, el término de intersección es 5,2.

2) una función bisagra . Una función bisagra tiene la forma o . MARS selecciona automáticamente las variables y los valores de esas variables para los nudos de las funciones bisagra. Se pueden ver ejemplos de dichas funciones base en las tres líneas centrales de la fórmula del ozono. máximo ( 0 , incógnita constante ) {\displaystyle \max(0,x-{\text{constante}})} máximo ( 0 , constante incógnita ) {\displaystyle \max(0,{\text{constante}}-x)}

3) un producto de dos o más funciones bisagra. Estas funciones 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 la bisagra

Un par de funciones de bisagra reflejadas con un nudo en x=3,1

Una parte clave de los modelos MARS son las funciones bisagra que toman la forma

máximo ( 0 , incógnita do ) {\displaystyle \max(0,xc)}

o

máximo ( 0 , do incógnita ) {\displaystyle \max(0,cx)}

donde es una constante, llamada nudo . La figura de la derecha muestra un par reflejado de funciones bisagra con un nudo en 3.1. do {\estilo de visualización c}

Una función bisagra es cero para una parte de su rango, por lo que se puede utilizar para dividir los datos en regiones disjuntas, cada una de las cuales se puede tratar de forma independiente. Así, por ejemplo, un par reflejado de funciones bisagra en la expresión

6.1 máximo ( 0 , incógnita 13 ) 3.1 máximo ( 0 , 13 incógnita ) {\displaystyle 6.1\max(0,x-13)-3.1\max(0,13-x)}

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 sólo se pueden formar funciones lineales por partes a partir de funciones bisagra, pero las funciones bisagra se pueden multiplicar entre sí para formar funciones no lineales.

Las funciones bisagra también se denominan funciones de rampa , de palo de hockey o rectificadoras . En lugar de la notación utilizada en este artículo, las funciones bisagra suelen representarse mediante la notación donde las medias toman la parte positiva. máximo {\estilo de visualización \max} [ ± ( incógnita i do ) ] + {\displaystyle [\pm(x_{i}-c)]_{+}} [ ] + {\displaystyle [\cdot ]_{+}}

El proceso de construcción del modelo

MARS construye un modelo en dos fases: el paso hacia adelante y el paso hacia atrás. Este enfoque de dos etapas es el mismo que se utiliza en los árboles de partición recursiva .

El pase hacia adelante

MARS comienza con un modelo que consta únicamente del término de intersección (que es la media de los valores de respuesta).

MARS luego agrega funciones base en pares al modelo repetidamente. En cada paso encuentra el par de funciones base que da la máxima reducción en el error residual de suma de cuadrados (es un algoritmo voraz ). Las dos funciones base en el par son idénticas excepto que se utiliza un lado diferente de una función bisagra reflejada para cada función. Cada nueva función base consiste en un término que ya está en el modelo (que tal vez podría ser el término de intersección) multiplicado por una nueva función bisagra. Una función bisagra está definida por una variable y un nudo, por lo que para agregar una nueva función base, MARS debe buscar en 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 base)

3) todos los valores de cada variable (para el nudo de la nueva función bisagra).

Para calcular el coeficiente de cada término, MARS aplica una regresión lineal sobre los términos.

Este proceso de adición de términos continúa hasta que el cambio en el error residual sea demasiado pequeño para continuar o hasta que se alcance la cantidad máxima de términos. El usuario especifica la cantidad máxima de términos antes de comenzar a generar el modelo.

La búsqueda en cada paso se realiza normalmente mediante un método de fuerza bruta , pero un aspecto clave de MARS es que, debido a la naturaleza de las funciones bisagra, la búsqueda se puede realizar rápidamente mediante una técnica de actualización rápida de mínimos cuadrados. La búsqueda mediante un método de fuerza bruta se puede acelerar mediante una heurística que reduce la cantidad de términos principales considerados en cada paso ("Fast MARS" [4] ).

El pase hacia atrás

El paso hacia adelante generalmente sobreajusta el modelo. Para construir un modelo con mejor capacidad de generalización, el paso hacia atrás poda el modelo, eliminando el término menos efectivo en cada paso hasta que encuentra el mejor submodelo. Los subconjuntos del modelo se comparan utilizando el criterio de validación cruzada generalizada (GCV) que se describe a continuación.

El paso hacia atrás tiene una ventaja sobre el paso hacia adelante: en cualquier paso puede elegir cualquier término para eliminar, mientras que el paso hacia adelante en cada paso solo puede ver el siguiente par de términos.

El paso hacia adelante agrega términos en pares, pero el paso 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 pareada en la ecuación para el primer ejemplo de MARS anterior; no hay pares completos retenidos en el ejemplo del ozono. y ^ {\displaystyle {\widehat {y}}}

Validación cruzada generalizada

El paso hacia atrás compara el desempeño de diferentes modelos utilizando la Validación Cruzada Generalizada (GCV), una variante menor del criterio de información de Akaike que se aproxima a la puntuación de validación cruzada de dejar uno fuera en el caso especial donde los errores son gaussianos, o donde se utiliza la función de pérdida de error al cuadrado. La GCV fue introducida por Craven y Wahba y extendida por Friedman para MARS; los valores más bajos de GCV indican mejores modelos. La fórmula para la GCV es

GCV = RSS / ( N · (1 − (número efectivo de parámetros) / N ) 2 )

donde RSS es la suma de cuadrados residuales medida en los datos de entrenamiento y N es el número de observaciones (el número de filas en la matriz x ).

El número efectivo de parámetros se define 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 suele ser 2 (lo que da resultados equivalentes al criterio de información de Akaike ), pero el usuario puede aumentarla si así lo desea.

Tenga en cuenta que

(número de términos de Marte − 1 ) / 2

es el número de nudos de función bisagra, por lo que la fórmula penaliza la adición de nudos. Por lo tanto, la fórmula GCV ajusta (es decir, aumenta) el RSS de entrenamiento para penalizar los modelos más complejos. 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.

Restricciones

Ya se ha mencionado una restricción: el usuario puede especificar el número máximo de términos en el paso hacia adelante.

Se puede imponer una restricción adicional al paso hacia adelante especificando un grado máximo de interacción permitido. Normalmente, solo se permiten uno o dos grados de interacción, pero se pueden utilizar grados más altos cuando los datos lo justifiquen. El grado máximo de interacción en el primer ejemplo de MARS mencionado anteriormente es uno (es decir, ninguna interacción o un modelo aditivo ); en el ejemplo del ozono es dos.

También son posibles otras restricciones en el paso hacia adelante. Por ejemplo, el usuario puede especificar que las interacciones solo se permiten para ciertas variables de entrada. Estas restricciones podrían tener sentido debido al conocimiento del proceso que generó los datos.

Pros y contras

No existe ninguna técnica de modelado de regresión que sea la mejor para todas las situaciones. Las pautas que se indican a continuación tienen como objetivo dar una idea de las ventajas y desventajas de MARS, pero habrá excepciones a las mismas. Es útil comparar MARS con la partición recursiva , 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 partición recursiva 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 para la concentración de ozono anterior con, por ejemplo, las entrañas de una red neuronal entrenada o un bosque aleatorio .
  • MARS puede manejar datos tanto continuos como categóricos . [6] [7] MARS tiende a ser mejor que la partición recursiva para datos numéricos porque las bisagras son más apropiadas para las variables numéricas que la segmentación constante por partes utilizada por la partición recursiva.
  • La creación de modelos MARS suele requerir 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.
  • MARS (al igual que la partición recursiva) realiza una selección automática de variables (es decir, 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 un buen equilibrio entre sesgo y varianza. Los modelos son lo suficientemente flexibles como para modelar la no linealidad y las interacciones entre variables (por lo tanto, los modelos MARS tienen un sesgo bastante bajo), pero la forma restringida de las funciones de base MARS impide demasiada flexibilidad (por lo tanto, los modelos MARS tienen una varianza bastante baja).
  • MARS es adecuado para manejar grandes conjuntos de datos y las implementaciones se ejecutan muy rápidamente. Sin embargo, la partición recursiva puede ser más rápida que MARS [ cita requerida ] .
  • En los modelos MARS, como en cualquier regresión no paramétrica, los intervalos de confianza de los parámetros y otras comprobaciones del modelo no se pueden calcular directamente (a diferencia de los modelos de regresión lineal ). En su lugar, se deben utilizar técnicas de validación cruzada y relacionadas para validar el modelo.
  • Las implementaciones earth, mda, y polsplineno permiten valores faltantes en los predictores, pero las implementaciones libres de árboles de regresión (como rparty party) sí permiten valores faltantes utilizando una técnica llamada divisiones sustitutas.
  • Los modelos MARS pueden realizar predicciones muy rápidamente, ya que sólo requieren evaluar una función lineal de los predictores.
  • La función ajustada resultante es continua, a diferencia de la partición recursiva, que puede dar un modelo más realista en algunas situaciones. (Sin embargo, el modelo no es uniforme ni diferenciable).
  • Los modelos lineales generalizados (GLM) se pueden incorporar a los modelos MARS aplicando una función de enlace después de que se haya construido el modelo MARS. Así, por ejemplo, los modelos MARS pueden incorporar regresión logística para predecir probabilidades.
  • La regresión no lineal se utiliza cuando se conoce la forma subyacente de la función y la regresión se utiliza únicamente 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 sobre el modelo).
  • Particionamiento recursivo (comúnmente llamado CART). MARS puede considerarse como una generalización del particionamiento recursivo que permite modelos continuos, que pueden proporcionar un mejor ajuste para los datos numéricos.
  • Modelos aditivos generalizados . A diferencia de MARS, los GAM se ajustan a splines polinómicos o de loess suaves en lugar de funciones bisagra, y no modelan automáticamente las interacciones entre variables. El ajuste más suave y la falta de términos de regresión reducen la varianza en comparación con MARS, pero ignorar las interacciones entre variables puede empeorar el sesgo.
  • TSMARS. Time Series Mars es el término que se utiliza cuando los modelos MARS se aplican en un contexto de series temporales. Normalmente, en esta configuración, los predictores son los valores de series temporales retrasados ​​que dan lugar a modelos spline autorregresivos. Estos modelos y extensiones que incluyen modelos spline de media móvil se describen en "Modelado y pronóstico de series temporales univariadas con TSMARS: un estudio de modelos autorregresivos, estacionales y de media móvil de series temporales umbral con TSMARS".
  • El método Bayesian MARS (BMARS) utiliza la misma forma de modelo, pero construye el modelo utilizando un enfoque bayesiano. Puede llegar a diferentes modelos MARS óptimos porque el enfoque de construcción de modelos es diferente. El resultado de BMARS es típicamente un conjunto de muestras posteriores de modelos MARS, lo que permite la predicción probabilística. [8]

Véase también

Referencias

  1. ^ Friedman, JH (1991). "Splines de regresión adaptativa multivariante". Anales de estadística . 19 (1): 1–67. CiteSeerX  10.1.1.382.970 . doi :10.1214/aos/1176347963. JSTOR  2241837. MR  1091842. Zbl  0765.62064.
  2. ^ Paquete CRAN tierra
  3. ^ Tierra: splines de regresión adaptativa multivariante en Orange (biblioteca de aprendizaje automático de Python)
  4. ^ Friedman, JH (1993) Fast MARS , Departamento de Estadística de la Universidad de Stanford, Informe técnico 110
  5. ^ abc Kuhn, Max; Johnson, Kjell (2013). Modelado predictivo aplicado . Nueva York, NY: Springer New York. doi :10.1007/978-1-4614-6849-3. ISBN 9781461468486.
  6. ^ Friedman, Jerome H. (1993). "Estimación de funciones de variables ordinales y categóricas mixtas mediante splines adaptativos". En Stephan Morgenthaler; Elvezio Ronchetti; Werner Stahel (eds.). Nuevas direcciones en análisis de datos estadísticos y robustez . Birkhauser.
  7. ^ Friedman, Jerome H. (1 de junio de 1991). "Estimación de funciones de variables ordinales y categóricas mixtas mediante splines adaptativos". DTIC . Archivado desde el original el 11 de abril de 2022 . Consultado el 11 de abril de 2022 .
  8. ^ Denison, DGT; Mallick, BK; Smith, AFM (1 de diciembre de 1998). "Marte bayesiano" (PDF) . Estadística y computación . 8 (4): 337–346. doi :10.1023/A:1008824606259. ISSN  1573-1375. S2CID  12570055.

Lectura adicional

  • Hastie T., Tibshirani R. y Friedman JH (2009) The Elements of Statistical Learning, 2.ª edición. Springer, ISBN 978-0-387-84857-0 (tiene una sección sobre MARS) 
  • Faraway J. (2005) Extending the Linear Model with R, CRC, ISBN 978-1-58488-424-8 (tiene un ejemplo que utiliza MARS con R) 
  • Heping Zhang y Burton H. Singer (2010) Particiones recursivas y aplicaciones, 2.ª edición. Springer, ISBN 978-1-4419-6823-4 (incluye 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 

Hay varios paquetes de software gratuitos y comerciales disponibles para ajustar modelos de tipo MARS.

Software libre
  • Paquetes R :
    • earthfunción en el earthpaquete
    • marsfunción en el mdapaquete
    • polymarsfunción en el polsplinepaquete. No MARS de Friedman.
    • bassfunción en el BASSpaquete para MARS bayesiano.
  • Código Matlab:
    • ARESLab: caja de herramientas de splines de regresión adaptativa para Matlab
    • Código del libro Métodos bayesianos para clasificación y regresión no lineal [1] para MARS bayesiano.
  • Pitón
    • Tierra – Splines de regresión adaptativa multivariante
    • py-tierra
    • pyBASS para MARS bayesiano.
Software comercial
  • MARS de Salford Systems. Basado en la implementación de Friedman.
  • Minero de datos STATISTICA de StatSoft
  • ADAPTIVEREG de SAS.
  1. ^ Denison, DGT; Holmes, CC; Mallick, BK; Smith, AFM (2002). Métodos bayesianos para la clasificación y regresión no lineal . Chichester, Inglaterra: Wiley. ISBN 978-0-471-49036-4.
Retrieved from "https://en.wikipedia.org/w/index.php?title=Multivariate_adaptive_regression_spline&oldid=1180139083"