Anomalia oznacza punkty w danych, które odstają od ogólnie przyjętego schematu i wzorca względem innych elementów w zestawie danych. Wychwycenie punktów odstających (z ang. outliers) pozwala nam wychwycić wyjątki i znaleźć ich przyczyny źródłowe. W Power BI mamy do tego wbudowany mechanizm na karcie Analiza dla wykresu liniowego.
Dlaczego wykrywamy anomalie?
Podczas analizy danych zazwyczaj staramy się znaleźć jakiś wzorzec danych, zbadać zależności między zmiennymi, aby móc stworzyć uogólniony schemat, który przybliży i wyjaśni nam badane dane zjawisko. Jednakże nie zawsze wszystkie dane w zbiorze zachowują się w taki sam sposób. Niektóre wartości mogą być całkiem odmienne od reszty. Warto się wtedy pochylić również nad takimi wartościami, aby zbadać powód ich wystąpienia, co może pozwolić nam na jeszcze lepsze zrozumienie badanego zagadnienia.
Wykrywanie anomalii jest przede wszystkim stosowane w analizie szeregach czasowych, gdy badamy zmianę danego czynnika w czasie. Szczególnie na wykresie liniowym można wtedy łatwo zauważyć, gdy któraś z obserwacji mocno odstaje na tle pozostałych. Można to wykorzystać m.in. w wykrywaniu awarii – np. w przypadku analizowaniu zużycia energii elektrycznej w gospodarstwie domowym i sprawdzania, czy powstały jakieś spięcia i który ze sprzętów mógł je spowodować, przez co powinien zostać wymieniony.
Ponieważ anomalie to temat na styku analizy danych i data science, polecam zerknąć blog Mirosława Mamczura w tym zakresie.
Wykrywanie anomalii w Power BI
Power BI umożliwia nam automatyczne wykrycie występujących anomalii, jak również ich dalsze, dokładniejsze przeanalizowanie za pomocą kliku prostych kliknięć. Możliwość włączenia wykrywania anomalii pojawi nam się w panelu Wizualizacji w zakładce Analiza pod nazwą Znajdź anomalie.
Wykrywanie anomalii zazwyczaj jest stosowane w przypadku szeregów czasowych, dlatego też w Power BI wykorzystanie jest funkcjonalności będzie tylko możliwe w przypadku danych czasowych – w sekcji Osi w panelu Wizualizacji muszą znajdować się dane typu Data.
Aby zastosować wykrywanie anomalii w praktyce stworzymy sobie prosty wykres liniowy, który będzie prezentował wynik sprzedaży na przestrzeni lat.
Następnie w sekcji wizualizacji przechodzimy do opcji Analiza > Znajdź anomalię > Dodaj. Od razu nasz wykres zostaje wzbogacony o oczekiwany zakres wartości oraz gdy wartość wykracza poza tę oczekiwaną granicę, zostaje oznaczana jako anomalia za pomocą zdefiniowanego przez nas kształtu.
Pierwszą z charakterystyk jest Poufność wyrażona w procentach, za pomocą której określamy dopuszczalne odchylenie od podstawowej wartości, które będzie jeszcze mieścić się w zbiorze wartości oczekiwanych – jeżeli dana wartość wyjdzie poza ten zakres, zostanie sklasyfikowana jako obserwacja odstająca. Im większy procent, tym mniejsze będzie dopuszczalne odchylenie w danych.
Do pola Wyjaśnij według wstawić zmienne, które według nas mogą być przyczyną powstania danej anomalii. W tym celu wystarczy przeciągnąć daną zmienną w puste okienko i kliknąć Zastosuj. Szczególnie przydatna jest ta opcja, gdy chcemy znaleźć przyczynę wystąpienia anomalii, ponieważ Power BI ogranicza wtedy analizę do wskazanych przez nas zmiennych i weryfikuje, czy występuje powiązanie między tymi zmiennymi.
Za pomocą dalszych parametrów możemy również dostosować również kształt, który będzie nam odznaczał anomalię na wykresie, jego wielkość oraz kolor. Pełnej edycji podlega również obszar wartości oczekiwanej, który może zostać zaprezentowany jako sama linia, bądź linia z wypełnieniem w środku. Możemy również wybrać jego kolor oraz stopień jego nasycenia, który regulujemy za pomocą paska w polu Przezroczystość.
Analizowanie anomalii
Oprócz samego wykrywania anomalii, Power BI daje nam również możliwości wyjaśnienia powstania anomalii. W tym celu należy kliknąć w punkt na wykresie, który został zaklasyfikowany jako anomalia, następnie usługa Power BI przeprowadza analizę pól w modelu danych w celu ustalenia możliwych wyjaśnień. Gdy klikniemy na anomalię, z prawej strony pojawi nam się okno o nazwie Anomalie, na którym będzie widoczny analizowany przez nas wykres oraz krótkie podsumowanie znalezionej anomalii.
Dodatkowo w niektórych przypadkach Power BI możne nam podpowiedzieć, co mogło być potencjalną przyczyną wystąpienia odchylenia. Informacje na ten temat znajdziemy w sekcji Możliwe wyjaśnienia.
Poniżej zostaną wynotowane wartości poszczególnych zmiennych, które miały wpływ na powstanie wartości odstającej oraz pod nimi będzie przedstawiona procentowo ich siła oddziaływania na badaną zmienną. Po kliknięciu w znak rozwinięcia znajdujący się po prawej stronie od procentu siły oddziaływania na daną zmienną, pokaże nam się wykres z tej zmiennej wraz z nałożonym wykresem tej zmiennej przyjmującą wartość, która najbardziej wpłynęła na wystąpienie anomalii. Jeżeli chcemy, aby ten wykres również znalazł się na naszym dashboardzie musimy kliknąć Dodaj do reportu poniżej wykresu.
Ograniczenia
- Możliwość wykrywania anomalii jest tylko możliwa w przypadku wykresów liniowych zawierających dane szeregów czasowych w polu oś.
- Wykrywanie anomalii nie jest obsługiwane w przypadku legend, wielu wartości lub wartości drugorzędnych na wykresie liniowym.
- Wykrywanie anomalii wymaga co najmniej 12 punktów danych.
- Linie prognozy, min, max, średniej, mediany i percentyla nie działają z wykrywaniem anomalii.
- Drążenie w dół w celu przejścia do następnego poziomu w hierarchii nie jest obsługiwane.
Przykład zastosowania wykrywania anomalii w Power BI
Przykład 1: analiza zużycia energii
Wykrywanie anomalii może być bardzo przydatne, gdy będziemy chcieli przeanalizować na przykład zużycie energii w naszym domu/mieszkaniu. Dzięki temu będziemy w stanie sprawdzić, w których miesiącach zużywaliśmy energię ponad przeciętnie, a dodatkowo możemy również w ten sposób sprawdzić, czy na przykład pod naszą nieobecności nie zadziała się jakaś awaria sprzętów, bądź któreś z urządzeń wymaga naprawy/wymiany, ponieważ nie działa już w optymalny dla nas sposób.
Zużycie energii możemy analizować zarówno w ujęciu rocznym, jak i też sprawdzić nasze zużycie dzienne, sprawdzając, czy nie pojawiły się jakieś wartości odstające od innych, a następnie będziemy mogli sprawdzić w czym leży przyczyna.Przykład 2: Analiza liczby zgonów po kwartałach