5
|
10770 Views
|
7 Replies
|
17 Total Likes
View groups...
Share
GROUPS:

# Fraud detection with Wolfram Language

Posted 10 years ago

Can anyone recommend what Wolfram Language tools can be used for fraud detection? Does anyone know if there are some code examples anywhere?

Thanks you!

## Update

Thanks to David narrowing down my question - I copy here what I replied below so everyone has the info right away.

I meant detection of fraud patterns in the financial records, - basically a data-mining problem. Some details are described here: Data analysis techniques for fraud detection. And I did not mean "protection" as in encryption or steganography. I was looking for any history of algorithmic use and specifically how wide range of WL tools can help. I thought some PROs can advise here.

7 Replies
Sort By:
Posted 2 months ago
 This question is very broad. However, these two could be of use to you: BenfordDistribution: This distribution helped uncover ENRON. Also useful is the second digit distribution, but it is not built-in. FindAnomalies
Posted 2 months ago
 Is there any code somewhere that has Jon McLoone's example of comparing distributions?
Posted 2 months ago
 Here is the basic idea of the coin-toss run length detection. (Small value indicates fake coin-toss data)... In[9]:= rTest[{}] := 1; rTest[{_}] := 0; rTest[runs_] := DistributionFitTest[runs - 1, GeometricDistribution[1/2]]; In[16]:= fakeData = {"h", "t", "h", "t", "h", "t", "h", "t", "h", "t", "h", "t", "h", "t", "h", "t", "h", "t", "h", "t", "h", "t", "h", "t", "h", "t", "h", "t", "h", "t"}; In[20]:= rTest[Length /@ Split[fakeData]] Out[20]= 3.4191*10^-6 In[18]:= realData = RandomChoice[{"h", "t"}, 30]; In[21]:= rTest[Length /@ Split[realData]] Out[21]= 0.861536 But since I wrote that example, we have added https://reference.wolfram.com/language/ref/AnomalyDetection.html to the language, which is simpler, and richer, so check that out too.
Posted 10 years ago
 One simple technique would be to find a distribution that is fairly independent of trading strategy and then do DistributionFitTest[expectedDist, observedDist]The expected distribution might be an EmpiricalDistribution established from past data, or something theoretical like BenfordsDistribution on the trade size.The toy example I have used for school kids is to detect fake coin tossing by looking at run lengths (should be exponentially distributed) and partitions of the data into 2s or 3s (should be uniformly distributed).
Posted 10 years ago
 My first idea that it comes to my mind is that the use of image processing and binarization will be a excellent tool to detect forgeries. For example, to be able to detect patterns not visible to a naked eye or just go undetected. This will very easily allow authentication of the physical document. Another case in detection of unusual transaction and patters in the transaction against historical data.. etc.. Hope this laid down productive ideas for your application.
Posted 10 years ago
 Thanks, David, for taking the time to respond. I meant detection of fraud patterns in the financial records, - basically a data-mining problem. Some details are described here: Data analysis techniques for fraud detection. And I did not mean "protection" as in encryption or steganography. I was looking for any history of algorithmic use and specifically how wide range of WL tools can help. I thought some PROs can advise here.
Posted 10 years ago
 Perhaps this is an overly broad question... ;-) Broadly interpreted you are asking if one can implement various fraud prevention algorithms in Mathematica. The answer is certainly, again broadly, yes. So, one can implement encryption algorithms in Mathematica, One can implement steganography algorithms in Mathematica. One could write (and there also are 3rd party tools for this) implement neural network algorithms in Mathematica.... or any of a wide variety of classification algorithm methods. So, the devil is in the details. Do you have particular techniques in mind? And for those techniques do you have an application area in mind?