Un'introduzione alle spline di regressione adattativa multivariata


Quando la relazione tra un insieme di variabili predittive e una variabile di risposta è lineare, spesso possiamo utilizzare la regressione lineare , che presuppone che la relazione tra una determinata variabile predittrice e una variabile di risposta assuma la forma:

Y = β 0 + β 1 X + ε

Ma in pratica, la relazione tra le variabili potrebbe effettivamente essere non lineare e il tentativo di utilizzare la regressione lineare potrebbe risultare in un modello poco appropriato.

Un modo per tenere conto di una relazione non lineare tra il predittore e la variabile di risposta è utilizzare la regressione polinomiale , che assume la forma:

Y = β 0 + β 1 X + β 2 X 2 + … + β h

In questa equazione h è chiamato “grado” del polinomio. Aumentando il valore di h , il modello diventa più flessibile ed è in grado di adattarsi a dati non lineari.

Tuttavia, la regressione polinomiale presenta alcuni inconvenienti:

1. La regressione polinomiale può facilmente adattarsi a un set di dati se il grado h viene scelto troppo grande. In pratica, h è raramente maggiore di 3 o 4 perché oltre quel punto corrisponde semplicemente al rumore di un set di addestramento e non si generalizza bene ai dati invisibili.

2. La regressione polinomiale impone una funzione globale sull’intero set di dati, che non è sempre precisa.

Un’alternativa alla regressione polinomiale sono le spline di regressione adattativa multivariata .

L’idea di base

Le spline di regressione adattativa multivariata funzionano come segue:

1. Dividere un set di dati in k parti.

Innanzitutto, dividiamo un set di dati in k elementi diversi. I punti in cui dividiamo il dataset si chiamano nodi .

Identifichiamo i nodi valutando ciascun punto per ciascun predittore come potenziale nodo e creando un modello di regressione lineare utilizzando le caratteristiche candidate. Il punto capace di ridurre il maggior numero di errori nel modello è il nodo.

Una volta identificato il primo nodo, ripetiamo il processo per trovare altri nodi. Puoi trovare tutti i nodi che ritieni ragionevoli per iniziare.

2. Adattare una funzione di regressione a ciascuna parte per formare una funzione cerniera.

Una volta scelti i nodi e adattato un modello di regressione a ciascun elemento nel set di dati, ci ritroviamo con quella che viene chiamata funzione cerniera , indicata con h(xa) , dove a è la soglia del valore.

Ad esempio, la funzione cerniera per un modello a un nodo potrebbe essere:

  • y = β 0 + β 1 (4,3 – x) se x < 4,3
  • y = β 0 + β 1 (x – 4,3) se x > 4,3

In questo caso, è stato stabilito che la scelta di 4.3 come valore di soglia consentiva la massima riduzione dell’errore tra tutti i possibili valori di soglia. Quindi adattiamo un modello di regressione diverso ai valori inferiori a 4,3 rispetto ai valori superiori a 4,3.

Una funzione cerniera con due nodi può essere la seguente:

  • y = β 0 + β 1 (4,3 – x) se x < 4,3
  • y = β 0 + β 1 (x – 4,3) se x > 4,3 & x < 6,7
  • y = β 0 + β 1 (6,7 – x) se x > 6,7

In questo caso, è stato stabilito che la scelta di 4.3 e 6.7 come valori di soglia consentiva la massima riduzione dell’errore tra tutti i possibili valori di soglia. Quindi adattiamo un modello di regressione a valori inferiori a 4,3, un altro modello di regressione a valori compresi tra 4,3 e 6,7 e un altro modello di regressione a valori superiori a 4,3.

3. Scegli k in base alla convalida incrociata k-fold.

Infine, una volta adattati diversi modelli diversi utilizzando un numero diverso di nodi per ciascun modello, possiamo eseguire una convalida incrociata k-fold per identificare il modello che produce l’errore quadratico medio (MSE) più basso del test.

Il modello con il test MSE più basso viene scelto come modello che meglio generalizza ai nuovi dati.

Vantaggi e svantaggi

Le spline di regressione adattativa multivariata presentano i seguenti vantaggi e svantaggi:

Vantaggi :

Gli svantaggi:

  • Tende a non funzionare altrettanto bene dei metodi non lineari come foreste casuali e macchine per l’incremento del gradiente.

Come adattare i modelli MARS in R e Python

I seguenti tutorial forniscono esempi passo passo di come adattare le spline di regressione adattiva multivariata (MARS) in R e Python:

Spline di regressione adattiva multivariata in R
Spline di regressione adattiva multivariata in Python

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *