Robuuste z-scores berekenen
Laten we opnieuw kijken naar de gegevensset transfers die we in Hoofdstuk 1 hebben gebruikt.
De gegevensset bevat 222 transacties en er zijn vier bekende fraudegevallen, aangeduid met een 1 in de variabele fraud_flag. We hebben de kenmerken frequentie en recency al eerder bestudeerd.
Deze keer focussen we alleen op de variabele amount en proberen we fraudegevallen op te sporen door univariate outlierdetectietechnieken toe te passen op deze variabele.
Aarzel niet om de gegevensset in de Console te verkennen als je je geheugen over de structuur wilt opfrissen. Je kunt ook de dia's raadplegen om de functies te bekijken die in de vorige video zijn getoond.
Deze oefening maakt deel uit van de cursus
Fraudedetectie in R
Oefeninstructies
- Zoek uit welke observaties als fraude worden geïdentificeerd.
- Bereken de mediaan en de median absolute deviation (mad) voor de variabele
amount. - Gebruik de robuuste schattingen voor ligging en spreiding om de robuuste z-score voor elke observatie te berekenen.
- Welke observaties hebben een robuuste z-score groter dan 3 in absolute waarde?
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# 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(___) > ___)