Sprawdź również:
Wartość odstająca a anomalia
Eksplorując czy przygotowując dane do dalszych analiz, często spotkać można się z obserwacjami, które nie do końca pasują do reszty zbioru danych. Ta nietypowość może wynikać z błędnego pomiaru lub zapisu jakiejś wartości, np. ujemny wiek respondenta, wynik egzaminu powyżej 100% lub innego statystycznego przypadku. W takiej sytuacji możemy mówić o wartości nietypowej bądź, w skrajnych przypadkach, o obserwacji odstającej. Szczegółowe omówienie ich identyfikacji i znaczenia w analizie danych znajduje się w artykule o przypadkach odstających.
Jeśli określamy jakąś obserwację jako odstającą, zakłada to, że będziemy chcieli sobie z nią jakoś poradzić, czyli wyeliminować ją ze zbioru danych lub dostosować jej wartość do reszty obserwacji. Takie podstawienie wartości może zostać dokonane przy użyciu mniej lub bardziej wyrafinowanych metod. Najprostszym rozwiązaniem jest wykorzystanie średniej lub innej prostej statystyki i podstawienie jej za nietypową wartość. Ta metoda może być jednak problematyczna, jeśli takich obserwacji jest więcej, ponieważ duża liczba korekt wartości zaburzy rozkłady poszczególnych zmiennych, co na dalszych etapach prowadzi do otrzymywania błędnych wyników modeli. Alternatywnym podejściem jest losowanie wartości z konkretnych przedziałów lub posłużenie się wspomnianymi bardziej zaawansowanymi technikami opartymi np. na algorytmach z dziedziny data mining.
Czasem jednak identyfikowanie nietypowych wartości jest celem samym w sobie. Zdarza się, że pojawianie się takich obserwacji nie jest dziełem przypadku. Sytuacje, które dobrze to obrazują, to np. techniki obrazowania medycznego, jak wykrywanie guzów na zdjęciach rentgenowskich. Inny obszar to nietypowe zachowania na kontach bankowych, które mogą świadczyć o oszustwie. W podanych przykładach nie mamy już do czynienia z wartością odstającą, ponieważ nie będziemy jej eliminować ani podstawiać w celu wykonania kolejnych kroków analizy danych, takich jak modelowanie. Znalezienie takich ważnych, nietypowych obserwacji staje się wspomnianym celem samym w sobie i nazywane są one wtedy anomaliami.
Chcesz wiedzieć więcej?
Zapraszamy na szkolenie DM 2. Zrozumienie, ocena jakości i przygotowanie danych do modelowania
Detekcja anomalii
Detekcja anomalii to z pewnością nie lada wyzwanie dla każdego analityka. W tym celu wykorzystać można zarówno różne techniki z obszaru data mining, jak i również bardziej podstawowe metody. Najważniejszą kwestią jest jednak to, czy wykrywanie anomalii będzie odbywało się na podstawie dotychczasowych danych, czy też nie.
Algorytmy uczenia nadzorowanego możemy wykorzystać, jeśli posiadamy odpowiednie dane historyczne. Wcześniej zidentyfikowane anomalie powinny zostać oznaczone i choć proces ten może być bardzo czasochłonny, z pewnością jest wart zachodu, ponieważ taka wiedza zwiększy szanse na przewidywanie i dokładność detekcji anomalii w przyszłości. Takimi metodami mogą być techniki z dziedziny uczenia maszynowego bazujące na klasyfikatorach takie jak drzewa decyzyjne, czy bardziej zaawansowane, oparte na nich, lasy losowe lub XGBoost.
Nieco bardziej utrudnioną sytuacją jest, to gdy nie mamy do dyspozycji „nauczyciela” w naszych danych, tzn. żadne anomalie nie były dotychczas oznaczone. W takim wypadku należy korzystać z metod uczenia nienadzorowanego, w którym algorytmy muszą same na bieżąco oceniać, która obserwacja może być anomalią. Takimi metodami są m.in. klasyczny algorytm anomalii czy las izolacji, również bazujący na drzewach decyzyjnych.
Jak podjąć zatem decyzję, na podstawie którego podejścia szukać anomalii? Jak zawsze, każde rozwiązanie będzie miało swoje mocne i słabe strony.
Anomalie zgodne z regułami
Algorytmy uczenia nadzorowanego podążają za ustalonymi wcześniej regułami i zidentyfikowanymi wzorcami nietypowości. Dzięki ich wykorzystaniu możemy z dużą skutecznością wyszukiwać anomalie, których się spodziewamy. Takie podejście dobrze będzie sprawdzało się np. w modelach analizujących dane diagnostyki obrazowej. Wzorzec obrazu zmiany nowotworowej jest dość dobrze opracowany, kryteria diagnostyczne są jasne, precyzyjne i względnie stabilne w czasie. Posiadanie danych historycznych daje w takim przypadku ogromną przewagę.
Trudności zaczynają się jednak, jeśli reguły występowania anomalii nie są lub wręcz nie mogą być dokładnie sprecyzowane. W przeciwieństwie do przywołanego przykładu diagnostyki obrazowej niektóre anomalie nie będą tak łatwe do zdefiniowania. Taką sytuacją może być wykrywanie oszustw finansowych w systemach bankowych. Pierwszym wyzwaniem jest sama definicja – czy wystarczy, że ktoś nie będzie spłacał zaciągniętego kredytu? Nie zawsze taki rozwój sytuacji jest intencją konsumenta, a więc ciężko będzie to z góry przewidzieć (tu oczywiście bardziej nasuwa się zagadnienie oceny ryzyka przed decyzją kredytową). Czy zatem oznaczać w zbiorze danych jako oszustwa tylko te rekordy, w przypadku których sąd wydał stosowną decyzję? Tu przechodzimy do drugiego problemu – trudności z pozyskaniem wystarczająco dużego zbioru takich danych. Spośród milionów klientów banków, takich anomalii będzie najprawdopodobniej zbyt mały odsetek, aby algorytmy uczenia nadzorowanego były w stanie wypracować sensowny model.
Anomalie poza regułami
Alternatywnym podejściem jest wykorzystanie modeli opartych na uczeniu nienadzorowanym. W takim wypadku w zbiorze nie ma zmiennej flagującej dotychczasowo wykryte anomalie. Ich detekcja bazuje zatem nie na wprowadzonych wcześniej regułach, a na poszukiwaniu obserwacji odbiegających od typowego wzorca, stworzonego dla tych danych przez model. Takie algorytmy mogą przetwarzać ogromne ilości danych – zarówno z perspektywy liczby obserwacji, jak i liczby zmiennych. Dzięki temu, że nie ma konieczności korzystania z wypracowanych reguł, a tym samym również ograniczania się do kilku czy kilkunastu zmiennych, na których takie reguły bazują, algorytmy oparte o uczenie nienadzorowane są świetnym narzędziem do odkrywania nowych, wielowymiarowych wzorców anomalii.
Wykres 1. Kolorem fioletowym zaznaczone zostały dwie potencjalne anomalie
– klientów, którzy dokonali relatywnie dużej liczby transakcji,
pomimo bardzo niskiej oceny jakości oraz atrakcyjności produktu.
Warto pamiętać, że mimo licznych zalet, modele oparte na nienadzorowanym uczeniu do wykrywania anomalii mają swoje ograniczenia i wady. Wyzwanie może stanowić interpretacja otrzymanych wyników — może okazać się, że każda anomalia wykryta została na podstawie odchyleń innych zmiennych od „typowości” i wskazanie jednej tendencji czy wzorca będzie trudnym zadaniem. Dodatkowo modele nienadzorowane mają ograniczone możliwości adaptacji do zmieniających się danych. Wykorzystanie ich do nowych zbiorów danych, o znacząco innych rozkładach zmiennych, może skutkować generowaniem dużej liczby fałszywych alarmów lub niewykrywaniem innych, ewidentnych anomalii, których schemat nie był obecny w pierwotnym zbiorze.
Analizy prezentowane w tym artykule zostały zrealizowane przy pomocy PS IMAGO PRO
Podsumowanie
Proces wykrywania anomalii może być nie tylko ważnym etapem analizy danych, ale także stać się jej celem samym w sobie. Jeśli wiemy jakich nietypowości poszukujemy w zbiorze danych, wykorzystać możemy modele nadzorowane, które skutecznie zidentyfikują takie anomalie. W przypadku, kiedy nie wiemy jakich obserwacji nietypowych możemy się spodziewać, lepiej wykorzystać modele nienadzorowane, które podejdą do detekcji anomalii w sposób wielowymiarowy i nieobciążony regułami. Należy jednak mieć wówczas na uwadze, że takie modele należą do metod eksploracyjnych, a więc otrzymane wyniki muszą zostać poddane weryfikacji.
W praktyce często stosowanym rozwiązaniem jest podejście hybrydowe, w którym wykorzystujemy posiadaną już wiedzę z danych historycznych, pozwalającą na wykrycie anomalii powielających dotychczasowe schematy oraz algorytmy, które ujawnić mogą nowe, nieodkryte wcześniej wzorce.