Suspicious transaction detection with statistical learning methods
Soininen, Teemu (2019)
Soininen, Teemu
2019
Teknis-luonnontieteellinen
Tekniikan ja luonnontieteiden tiedekunta - Faculty of Engineering and Natural Sciences
This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Hyväksymispäivämäärä
2019-05-24
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tty-201905211707
https://urn.fi/URN:NBN:fi:tty-201905211707
Tiivistelmä
In this thesis the aim was to find a more efficient way for detecting suspicious transactions from banking data. The chosen approach was to utilize outlier detection methods.
The methods were first chosen based on a theoretical review but then narrowed down to those that have stable implementations in Python. The banking transaction data was then preprocessed and fed to the methods. For clustering methods we reviewed the running time and the CH index and for outlier detection the comparison was made from running time and visual exploration of the results.
Finally it was found that GMM and iForest were the best performing methods. They were able to perform outlier detection on the large datasets in just minutes and should scale to a dataset of any size. They also have existing implementations in SKlearn and could be implemented as a part of a detection system. Tämän diplomityön tavoitteena oli löytää tehokkaampi tapa tunnistaa poikkeavia pankkitapahtumia. Läthökohdaksi valittiin poikkeamien tunnistusmenetelmät.
Alustavat menetelmät valittiin teoreettisen tarkastelun pohjalta, mutta näistä karsittiin pois ne, joilla ei ollut vakaata toteutusta Pythonissa. Pankkitapahtumatiedot esikäsiteltiin ja syötettiin metodeille, jonka jälkeen eri metodien tuloksia tarkasteltiin. Ryhmittely menetelmien osalta tarkasteltiin ajoaikaa ja CH-indeksiä. Poikkeamien tunnistuksessa tarkasteltiin ajoaikaa ja tuloksia käytiin läpi visualisointien avulla.
Työssä löydettiin kaksi hyvin toimivaa menetelmää: GMM ja iForest. Ne pystyivät suorittamaan poikkeamien tunnistusta suurille tietomäärille vain minuuteissa ja niiden pitäisi skaalautua minkä kokoiseen tietomäärään vain. Niistä on myöskin olemassa olevat toteutukset SKlearnissa, joten ne voitaisiin toteuttaa osaksi tunnistusjärjestelmää.
The methods were first chosen based on a theoretical review but then narrowed down to those that have stable implementations in Python. The banking transaction data was then preprocessed and fed to the methods. For clustering methods we reviewed the running time and the CH index and for outlier detection the comparison was made from running time and visual exploration of the results.
Finally it was found that GMM and iForest were the best performing methods. They were able to perform outlier detection on the large datasets in just minutes and should scale to a dataset of any size. They also have existing implementations in SKlearn and could be implemented as a part of a detection system.
Alustavat menetelmät valittiin teoreettisen tarkastelun pohjalta, mutta näistä karsittiin pois ne, joilla ei ollut vakaata toteutusta Pythonissa. Pankkitapahtumatiedot esikäsiteltiin ja syötettiin metodeille, jonka jälkeen eri metodien tuloksia tarkasteltiin. Ryhmittely menetelmien osalta tarkasteltiin ajoaikaa ja CH-indeksiä. Poikkeamien tunnistuksessa tarkasteltiin ajoaikaa ja tuloksia käytiin läpi visualisointien avulla.
Työssä löydettiin kaksi hyvin toimivaa menetelmää: GMM ja iForest. Ne pystyivät suorittamaan poikkeamien tunnistusta suurille tietomäärille vain minuuteissa ja niiden pitäisi skaalautua minkä kokoiseen tietomäärään vain. Niistä on myöskin olemassa olevat toteutukset SKlearnissa, joten ne voitaisiin toteuttaa osaksi tunnistusjärjestelmää.