Obliczanie odpornych z-score'ów
Przyjrzyjmy się ponownie zbiorowi danych transfers, z którego korzystaliśmy w rozdziale 1.
Zbiór zawiera 222 transakcje, z czego cztery to znane przypadki oszustwa – oznaczone wartością 1 w zmiennej fraud_flag. Wcześniej analizowaliśmy już cechy częstotliwości i niedawności transakcji.
Tym razem skupimy się wyłącznie na zmiennej amount i spróbujemy wykryć przypadki oszustwa, stosując jednozmiennowe techniki wykrywania obserwacji odstających.
Jeśli chcesz odświeżyć pamięć na temat struktury zbioru, możesz go przejrzeć w konsoli. Możesz też zajrzeć do slajdów, aby sprawdzić funkcje omówione w poprzednim filmie.
To ćwiczenie jest częścią kursu
Wykrywanie oszustw w R
Instrukcje do ćwiczenia
- Sprawdź, które obserwacje są identyfikowane jako oszustwo.
- Oblicz medianę oraz medialne odchylenie bezwzględne (mad) dla zmiennej
amount. - Użyj odpornych estymatorów położenia i rozproszenia, aby wyznaczyć odporny z-score dla każdej obserwacji.
- Które obserwacje mają odporny z-score większy niż 3 w wartości bezwzględnej?
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# Get observations identified as fraud
which(___ == ___)
# Compute median and mean absolute deviation for `amount`
m <- median(___)
s <- ___(___)
# Compute robust z-score for each observation
robzscore <- abs((___ - ___) / (___))
# Get observations with robust z-score higher than 3 in absolute value
which(abs(___) > ___)