Meccanica celeste

Analisi dei NEA – Parte II

Dopo aver introdotto l’argomento nel precedente articolo, procediamo alla costruzione di due sistemi di classificazione con supervisione dei NEA.

L’obiettivo è di classificare i NEA per:

  • pericolosità (PHA, non PHA)
  • tipo (ATE, APO, AMO ed IEO)

A partire dal dataset iniziale, per entrambe le classificazioni vengono eseguiti i seguenti passi:

  • si filtra il dataset mantenendo le componenti X sono necessari alla classificazione:
    • moid, H per la classificazione di pericolosità
    • a, q, Q per la classificazione di tipo
  • si identifica la componente Y di stima (oggetto della stima):
    • per la classificazione di pericolosità (PHA)
    • classe per la classificazione di tipo
  • si sostituisce l’etichetta della componente di stima con una enumerazione, per ognuna delle due analisi.
  • si normalizzano i dati in un’unica scala commensurabile uguale ad ogni caratteristica: una distribuzione N(\mu = 0, \sigma = 1)
  • si suddivide il dataset in due parti:
    • X_{train} = 40\% del dataset X usato come training per l’algoritmo
    • X_{test} = 60\% del dataset X usato come test e validazione dell’algoritmo.
    • Y_{train} = 40\% del dataset Y usato come training per l’algoritmo.
    • Y_{test} = 60\% del dataset Y usato come test e validazione dell’algoritmo: costituisce la baseline di riferimento.
  • si costruisce il modello matematico Y_{train}= M (X_{train})
  • Si applica il modello M per stimare Y_{pred} = M (X_{test})
  • Si valuta la bontà del modello confrontanto Y_{pred} con Y_{test} costruendo la matrice di confusione
  • Si calcolano i principali indici statistici (metriche) di validazione: precisione, accuratezza ed F1.

Le tre principali metriche sono rappresentate da:

  • accuratezza: che risponde alla domanda quanto le predizioni sono vere?
  • precisione: che risponde alla domanda fra tutte quelle positive/negative, quante sono vere?
  • richiamo: ovverora tutte quelle che dovrebbero essere previste come vere, quante lo sono veramente? (errore del primo tipo)
  • indice F1: misura statistica che combina richiamo e precision.

L’obiettivo è presentare un modello statistico Y = M (X) in grado di classificare i NEA in due classi: NEA pericolosi (PHA) o NEA non pericolosi (non PHA). Vengono presentati i risultati di tre modelli:

  • Support Vector Machine (SVM)
  • K-Neighbors
  • Decision tree

Per maggiori dettagli riguardo il principio di funzionamento di ogni modello si rimanda ai link visualizzati nei diagrammi presenti nelle figure sottostanti.

Modello SVM
Fonte: https://www.javatpoint.com/
Modello K-Neighbors
Fonte: https://www.kdnuggets.com
Modello Decision Tree
Fonte: https://www.kdnuggets.com

SVM: questo classificatore separa i punti usando un iperpiano con il massimo margine di separazione. L’algoritmo lavora in maniera iterativa individuando l’iperpiano ottimale (massimo) che separa il dataset in due zone entro i quali i nuovi dati verranno classificati minimizzando l’errore.

Diagrammi generati dall’autore in linguaggio Python con le librerie scikit-learn

Risultati SVM: Il modello possiede un’accuratezza del 96,9232%. Classifica molto bene i NEA della classe PHA, tuttavia presenta poca precisione. La matrice di confusione mostra che il modello presenta molti errori, in particolare sulla diagonale secondaria si evidenzia la presenza di molti falsi positive e falsi negativi. Ci sono 239 NEA che il modello identifica come non pericolosi quando in realtà nel dataset principale lo sono: si tratta di un errore grave, in quanto il modello sottovaluta il problema. Meno rilevante, ma non secondario, è il secondo tipo di errore: il modello identifica come pericolosi 124 NEA che in realtà non lo sono. In entrambi i casi è necessaria un’analisi approfondita con un modello più efficace oppure uno studio approfondito da parte degli astronomi.1 Sulla diagonale principale della matrice di confusione abbiamo il numero dei NEA correttamente identificati come PHA (598) oppure non PHA (10837).

Viene riportato anche il diagramma di colore, dove sulla ascissa viene espresso il moid, sull’ordinate H (magnitudine assoluta). Ogni punto colorato sul grafico rappresenta il valore della componente pericolosità: verde scuro per non PHA, verde chiaro per PHA. Viene disegnato anche l’iperpiano che separa le due classi con i margini massimi: essendo l’iperpiano per definizione una retta, esso non è in grado di dividere in maniera netta ed esclusiva la componente di previsione PHA, introducendo gli errori di valutazione evidenziati precedentemente.

K-Neighbors: questo classificatore usa il concetto di prossimità per fare previsioni sul raggruppamento a cui appartiene il dato in esame basandosi sull’ipotesi che punti ‘simili’ possono trovarsi vicini tra loro. L’assegnazione avviene per maggioranza (o per superamento di una soglia percentuale) analizzando i K punti più vicini ad ogni element del dataset. Serve quindi introdurre il concetto di distanza e definire una metrica per l’assegnamento della classe. Ci sono diverse metriche che si basano sulle seguenti definizioni di distanza:

  • Distanza di Hamming
  • Distanza di Manhattan
  • Distanza Euclidea (usata in questa analisi)

K rappresenta il parametron di prossiimità in base al quale cambia il numero dei vicini e quindi, l’associazione con la classe di appartenenza e la bontà del classificatore. Nel presente lavoro sono stati valutati dieci classificatori KNeighbors (K \in [1 \dots 10] ) e selezionato il valore di K per il quale l’accuratezza è massima. Il modello ottimale si ottiene per K = 5.

Risultati K-Neighbors: l’accuratezza di questo modello è del 99,7796%. Ci sono meno falsi positivi e falsi negativi. Solo 16 NEA vengono classificati come non pericolosi mentre in realtà lo sono. Il diagramma di colore mostra le due regioni di classificazione con la linea di separazione: la separazione non può essere lineare ma segue un percorso a zigzag perchè dipende dal concetto di associazione di prossimità calcolato punto per punto.

Albero decisionale: questo classificatore genera un albero così costituito:

  • ogni nodo rappresenta un attributo
  • ogni diramazione una regola di decisione basata su una metrica
  • ogni foglia un risultato (previsione)

L’algoritmo parte dalla radice e partiziona il dataset in funzione del valore di un attributo e procede in maniera iterativa: il processo è simile al procedimento decisionale dell’essere umano. Le principali metriche utilizzate per le definizioni di attributo ed assegnamento dei nodi (le regole di decisione ad ogni livello) si basano sulla definizione e quantità di informazione. Ci possono usare diverse metriche per quantificare l’informazione:

  • Information Gain (si basa sulla qunatità di entropia)
  • Gain Ratio (si basa sulla preferenza)
  • Gini Index (si basa su concetto di probabilità ed è la metrica usata in questa analisi)
Diagrammi generati dall’autore in linguaggio Python con le librerie scikit-learn

Risultati Albero decisionale: l’accuratezza di questo modello è del 99,7796%. Il modello identifica correttamente lo stesso numero di NEA pericolosi e non (diagonale principale) ma sbaglia a classificare lo stesso numero complessivo di NEA. C’è una differenza principale rispetto al modello KNeighbors: il numero di NEA identificati erroneamente come non pericolosi quando in realtà essi lo sono (errore peggiore), sono un numero più basso quindi il modello è considerato leggemente migliore. Il diagramma di colore mostra le due regioni di classificazione le linee di separazione associate ad ogni livello di decisione dell’albero.

I modelli KNeighbors e Decision Tree presentano la migliore accuratezza, tuttavia il secondo fornisce i risultati migliori in quanto riesce a minimizzare il numero NEA realmente pericolosi ma erroneamente catalogati come NON pericolosi.

(continua)


Bibliografia

  • Hazardous Asteroid Classification with Machine Learning using Physical and Orbital, Arjun Ramakrishnan
  • BBC Scienze – Dicembre 2023, Gennaio 2024
  • OpenSpace Datasets for Asteroids and Comets
  1. Prendere decisioni avventate esclusivamente sulla base dei risultati ad un modello di A.I. senza ulteriori analisi di un essere umano può portare a decisione errate o conseguenze gravi ↩︎

2 risposte »