Grafici Accumulated Local Effects (ALE)

Grafici Accumulated Local Effects (ALE)

I grafici Accumulated Local Effects (ALE) descrivono gli effetti locali accumulati di una o più variabili. Servono per determinare l’importanza e l’impatto delle variabili sulle predizioni.
Sono molto simili ai Partial Dependence Plot ma sono imparziali e molo più veloci nel computarli. Gli Ale sono imparziali poiché a differenza di altre tecniche si possono calcolare anche su variabili correlate tra di loro.
I grafici ALE prendono in considerazione le distribuzioni dei dati quando calcolano gli effetti di una variabile, suddividendola in intervalli di dimensioni uguali (tipicamente i quantili) e calcolano le previsioni in media in ciascun intervallo. Successivamente sommano questi effetti ottenuti su tutti gli intervalli (da qui la parola Accumulati). Questi effetti sono relativi ad una media, quindi sono centrati sullo zero.
Per generare gli Accumulated Local Effects plots, si utilizza una libreria Python, alepython. Per quanto riguarda R si usa la libreria ALEPlot. Faremo un esempio di uso in python, l’uso in R è molto similare. La libreria Python richiede che i dati siano in formato pandas, quindi per alcuni modelli machine learning per calcolare gli ALE bisogna adattare i dati.

La funzione per generare i dati è:

ale_plot(MODELLO, DATASET_TEST, VARIABILE, bins=10, monte_carlo=True)
plt.show()

Impostando “monte_carlo=True” si utilizzerà la tecnica Monte Carlo per simulare la variabilità dei dati. Con il metodo Monte Carlo, si ottiene una maggiore validazione del modello. Utilizzando il metodo Monte Carlo avremo come risultato delle linee sottili blu che rappresentano le repliche dei dati. L’uso di questa tecnica può rallentare di molto il tempo di generazione dei grafici ALE, per questo è possibile impostare nella funzione anche il numero di repliche con “monte_carlo_rep=50”.
Un altro parametro che ne determina il costo computazione della generazione dei grafici Accumulated Local Effects è “bins”, ovvero il numero di quantili da utilizzare come intervalli.

Commenti sui grafici Accumulated Local Effects

Di seguito un grafico ALE generato con le variabili per la variabile temp di un modello con 10 quantili e 50 simulazioni Monte Carlo.

Accumulated Local Effects a una variabile

Dal grafico possiamo dedurre che l’impatto della variabile temp va da -2000 a 1500. Il fatto che non plotta il grafico per i valori minori di zero significa che la variabile in quell’intervallo non porta alcuna informazione.
È possibile plottare i grafici ALE per due dimensioni. In questo caso le simulazioni Monte Carlo non sono disponibili. La funzione per la generazione è la seguente:

ale_plot(MODELLO, DATASET_TEST, [VARIABILE1,VARIABILE2], bins=[10,10])
plt.show()
Grafici Accumulated Local Effects a due variabili

Concludiamo con alcune considerazioni su questa tecnica. Gli Ale plot hanno il vantaggio di essere imparziali quindi funzionano anche variabili correlate, inoltre hanno un costo computazionale basso. Tuttavia, su variabili correlate la comprensione può essere difficile e anche l’implementazione su alcuni modelli è abbastanza complicata.

Per vedere dei tutorial di Explainable Artificial Intelligence cerca nella sezione XAI del nostro sito.

Lascia una risposta

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

Iscriviti alla nostra newsletter

Tieniti aggiornato sulle ultime novità riguardo la XAI e il Deep Learning.