Studente della Triennale di Informatica e tirocinante presso questo laboratorio.
Docente di riferimento: Alberto Negro
Dottorando di riferimento: Maria Angela Pellegrino

Lavoro di tesi: Outlier detection in number e dates

Il mio lavoro si basa sulla creazione di una libreria Python e JavaScript che permetta di individuare errori all’interno di dataset open, soffermandomi nello specifico su numeri e date.

Il mio percorso:

Inizialmente ho studiato cosa fosse un outlier e su cosa si basasse l’outlier detection su valori numerici. Il primo approccio per l’individuazione di outlier sono stati algoritmi di soft clustering come DBSCAN e K-Means, applicati su dataset fittizzi.

In seguito ho cercato di applicare gli stessi algoritmi su dataset reali, andando a modificare uno o più valori al fine di renderli diversi da tutti gli altri e verificarne l’individuazione

Un secondo approccio è stato fatto su algoritmi di tipo statistico come Z-Score, IQR, ecc. , su cui ho effettuato lo stesso tipo di test.

Per le date, invece, ho scelto di usufruire di knowledge graph come DBpedia e Wikidata, sfruttando le varie proprietà di tipo date. Trasformando le date e trattandole come numeri, sono riuscito ad individuare gli outlier con lo stesso procedimento visto precedentemente.

In questo caso mi sono confrontato con la differenza tra outlier e natural outlier, visto che molte date negative (eventi avanti cristo ad esempio), venivano viste come outlier. Quindi come verificare se un valore, in questo caso una data, è un outlier o un natural outlier?

Per l’approccio scelto ho preso spunto da un paper dell’ eswc 2014, dove è stato scelto di fare un parallelismo tra due risorse uguali e verificare la corrispondenza dei valori. Nel mio caso tra gli outlier trovati in DBpedia e i valori di Wikidata.

Come ultima passo sono stati fatti dei test su dataset reali e valutati i risultati in termini di prestazioni, scalabilità e correttezza degli outlier trovati