stringtranslate.com

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 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

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.

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

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 .

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.

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ácilmente visible al trazar el gráfico. Podemos usar MARS para descubrir esa relación no lineal.

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

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 .

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.

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

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.

Cada función base toma una de las tres formas siguientes:

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.

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

o

donde es una constante, llamada nudo . La figura de la derecha muestra un par reflejado de funciones bisagra con un nudo en 3.1.

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

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.

El proceso de construcción del modelo

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

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.

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).

Extensiones y conceptos relacionados

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 estadístico de datos 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

Enlaces externos

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

Software libre
Software comercial
  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.