Cuando la relación entre un conjunto de variables predictoras y una variable de respuesta es lineal, a menudo podemos usar la regresión lineal , que asume que la relación entre una variable predictora dada y una variable de respuesta toma la forma:
Y = β 0 + β 1 X + ε
Pero en la práctica, la relación entre las variables en realidad puede ser no lineal y el intento de utilizar la regresión lineal puede resultar en un modelo de ajuste deficiente.
Una forma de explicar una relación no lineal entre el predictor y la variable de respuesta es usar la regresión polinomial , que toma la forma:
Y = β 0 + β 1 X + β 2 X 2 +… + β h X h + ε
En esta ecuación, h se denomina «grado» del polinomio. A medida que aumentamos el valor de h , el modelo se vuelve más flexible y puede ajustar datos no lineales.
Sin embargo, la regresión polinomial tiene un par de inconvenientes:
1. La regresión polinomial puede fácilmente sobreajustarse a un conjunto de datos si se elige que el grado , h , sea demasiado grande. En la práctica, h rara vez es mayor que 3 o 4 porque más allá de este punto simplemente se ajusta al ruido de un conjunto de entrenamiento y no se generaliza bien a datos invisibles.
2. La regresión polinomial impone una función global en todo el conjunto de datos, que no siempre es precisa.
Una alternativa a la regresión polinomial son las splines de regresión adaptativa multivariante .
La idea básica
Las splines de regresión adaptativa multivariante funcionan de la siguiente manera:
1. Divida un conjunto de datos en k piezas.
Primero, dividimos un conjunto de datos en k piezas diferentes. Los puntos donde dividimos el conjunto de datos se conocen como nudos .
Identificamos los nudos evaluando cada punto de cada predictor como un nudo potencial y creando un modelo de regresión lineal utilizando las características candidatas. Se considera que el punto que es capaz de reducir el mayor error en el modelo es el nudo.
Una vez que hayamos identificado el primer nudo, repetimos el proceso para encontrar nudos adicionales. Puede encontrar tantos nudos como crea razonable para empezar.
2. Ajuste una función de regresión a cada pieza para formar una función de bisagra.
Una vez que hemos elegido los nodos y hemos ajustado un modelo de regresión a cada pieza del conjunto de datos, nos queda algo conocido como función de bisagra , denotado como h (xa) , donde a es el valor del punto de corte.
Por ejemplo, la función de bisagra para un modelo con un nudo puede ser la siguiente:
- y = β 0 + β 1 (4,3 – x) si x <4,3
- y = β 0 + β 1 (x – 4,3) si x> 4,3
En este caso, se determinó que la elección de 4.3 como valor de punto de corte fue capaz de reducir el error al máximo de todos los valores de puntos de corte posibles. A continuación, ajustamos un modelo de regresión diferente a los valores inferiores a 4,3 en comparación con valores superiores a 4,3.
Una función de bisagra con dos nudos puede ser la siguiente:
- y = β 0 + β 1 (4,3 – x) si x <4,3
- y = β 0 + β 1 (x – 4,3) si x> 4,3 y x <6,7
- y = β 0 + β 1 (6,7 – x) si x> 6,7
En este caso, se determinó que la elección de 4.3 y 6.7 como valores de punto de corte fue capaz de reducir el error al máximo de todos los valores de punto de corte posibles. A continuación, ajustamos un modelo de regresión a los valores inferiores a 4,3, otro modelo de regresión a los valores entre 4,3 y 6,7 y otro modelo de regresión a los valores superiores a 4,3.
3. Elija k según la validación cruzada de k veces.
Por último, una vez que hemos ajustado varios modelos diferentes utilizando un número diferente de nudos para cada modelo, podemos realizar una validación cruzada de k veces para identificar el modelo que produce el error cuadrático medio de prueba (MSE) más bajo.
Se elige el modelo con el MSE de prueba más bajo para que sea el modelo que se generalice mejor a los nuevos datos.
Pros contras
Las splines de regresión adaptativa multivariante tienen los siguientes pros y contras:
Pros :
- Se puede utilizar tanto para problemas de regresión como de clasificación .
- Funciona bien en grandes conjuntos de datos.
- Ofrece un cálculo rápido.
- No requiere que estandarice las variables predictoras.
Contras:
- Tiende a no funcionar tan bien como los métodos no lineales como los bosques aleatorios y las máquinas de aumento de gradiente.
Cómo ajustar los modelos MARS en R & Python
Los siguientes tutoriales proporcionan ejemplos paso a paso de cómo ajustar splines de regresión adaptativa multivariante (MARS) tanto en R como en Python:
Splines de regresión adaptativa multivariante en R
Splines de regresión adaptativa multivariante en Python
- https://r-project.org
- https://www.python.org/
- https://www.stata.com/