In mijn vorige blog (http://blog.smartinsight.nu/fraude-signaleren-met-benfords-law-in-power-bi/) heb ik aandacht besteed aan de mogelijkheden om fraude te signaleren met behulp van Benford’s Law in Power BI. Dezelfde resultaten (en veel meer) zijn nog sneller te realiseren als je gebruikt maakt van R. De programmeer taal R is erg populair onder ‘data-scientists’ en kan gebruikt worden voor allerhande statistische analyses en visualisaties. De analytische mogelijkheden in Power BI kunnen nog verder worden verstrerkt door R scripts te integreren.
In deze blog laat ik zien hoe Benford’s Law met behulp van R in Power BI kan worden uitgevoerd.
Installatie van R
Om R in Power BI te kunnen gebruiken, moet R geïnstalleerd zijn. Via de volgende link kun je de juiste versie van R downloaden: https://mran.revolutionanalytics.com/download/.
Nadat R geïnstalleerd is, moet in Power BI een koppeling naar de home directory van de installatie worden verwezen. Open Power BI desktop en ga naar File -> Options and Settings -> Options.
Zorg dat de juiste R Home directory gekoppeld is:
Toevoegen R Visual
Voeg een R Visual toe aan het report canvas:
Er verschijnt nu een R script editor onder aan het canvas.
Sleep nu het veld waar je Benford’s Law op wilt toepassen naar het Value veld van de R visual:
In de script editor zie je dat Power BI automatisch een R dataset heeft aangemaakt en eventuele dubbele rijen heeft verwijderd.
Het veld dat we in het Value veld van de R Visual hebben toegevoegd (in dit geval het veld amnt), kunnen we nu gebruiken hier als volgt naar te verwijzen: ‘dataset$amtn’.
CRAN Package benford.analysis
R kan worden uitgebreid met heel veel verschillende externe packages waarmee statistische berekeningen kunnen worden uitgevoerd. Voor deze blog maken we gebruik van het package ‘benford.analysis’. Meer informatie is te vinden op de volgende pagina: https://github.com/carloscinelli/benford.analysis
R script
Voer de volgende statements in in de R script editor:
install.packages(“benford.analysis”) library(benford.analysis) bfd.cp <- benford(dataset$amnt, number.of.digits=1) plot(bfd.cp)
Met de eerste stap wordt het externe package geïnstalleerd.
Het tweede statement zorgt ervoor dat het package geladen wordt en dat de functies gebruikt kunnen worden voor de berekeningen.
De derde regel maakt een Benford’s object aan met de resultaten van de analyse. De tweede parameter is hier ingesteld op alleen het eerste cijfer (number.of.digits=1). Dit nummer kan ook aangepast worden naar bijvoorbeeld 2 of 3 waarbij de analyse kijkt naar de eerste 2 of de eerste 3 cijfers.
Het plot statement maakt een aantal visualisaties aan op basis van de Benford’s analyse.
Uitvoeren script
Klik in de zwarte balk van de R script editor op de Run button en het R script wordt uitgevoerd
Resultaten
In het Power BI canvas verschijnen nu vijf visualisaties op basis van de Benford’s Law analyse.
Conclusie
Deze blog heeft laten zien dat Power BI veel mogelijkheden biedt om specifieke algoritmes zoals Benford’s Law op een eenvoudige manier toe te passen. Door gebruik te maken van R code kunnen de mogelijkheden van Power BI om data te analyseren enorm uitgebreid worden.
Meer weten over onze oplossingen?
Onze consultants hebben veel ervaring binnen een grote verscheidenheid aan branches.
Eens verder brainstormen over de mogelijkheden voor jouw organisatie?
Maak kennis met onze specialist Arnoud van der Heiden.
Wellicht herkent u een van deze vraagstukken.
Inmiddels hebben wij ruime ervaring opgedaan met Business Intelligence. Wij staan ook u graag te woord bij vragen of opmerkingen.