For problems where the data represents online fraud or insurance (where each row represents a transaction), it is typical for the response variable to denote the value of fraud committed in dollars. Such a response value might have less than 5% non-zero values denoting fraudulent transactions.

I have two questions regarding such a dataset:

  1. What algorithms can we use to ensure that the model not only predicts the fraudulent transactions accurately, but also predicts the value of fraud associated with these.
  2. Assuming that we can quantify the cost involved in each false positive (tagging a non-fraudulent transaction as fraudulent) and cost incurred due to a false negative (tagging a fraudulent transaction as non-fraudulent), how can we optimize the model to maximize savings (or minimize losses)?
  • $\begingroup$ You'll find lots of hits if you search stats.SE for "imbalanced" data. $\endgroup$
    – Emre
    Commented Nov 12, 2014 at 18:13
  • $\begingroup$ @Emre: This question is focused more on the solution to fraud like problems rather than handling imbalance in the dataset (also the fact that we could do both classification and regression and its unclear to me how to go about obtaining the best solution). I tried searching for "imbalanced" and found nothing that relates to this. Could you provide a link in case I have missed something that answers this precise question? $\endgroup$
    – Nitesh
    Commented Nov 12, 2014 at 18:31
  • 1
    $\begingroup$ heckman sample selection correction. The regression only applies to records where fraud is observed, controlling for the probability of fraud occuring. Same approach is (famously) taken to estimating labor supply equations when wages are only observed for workers. en.wikipedia.org/wiki/Heckman_correction $\endgroup$ Commented Nov 17, 2014 at 16:36
  • $\begingroup$ @justincress: Thanks for the comment. If you could go into more detail about how I could pose it as a supervised learning problem, it would be great. $\endgroup$
    – Nitesh
    Commented Nov 17, 2014 at 21:02
  • $\begingroup$ I don't really know how to recast econometrics into data science speak. It's just a two stage regression model where the first step is a probit and the second is OLS. To the extent that the models are specified directly (instead of learned from data) doesn't that make the algorithm "supervised" ? Not my expertise, sorry, but I think the heckman correction is exactly what you're looking for. $\endgroup$ Commented Nov 25, 2014 at 14:23

1 Answer 1


How about

  1. Ordinary Least Square (OLS) regression? Since you have a class imbalance, you might want to combine that with boosting algorithms.
  2. If you have a function to quantify the cost involved with FP's and FN's, use any optimization technique you can find. My favorite is genetic algorithms. You may also try linear programming.
  • $\begingroup$ So you are suggesting we should treat it as a regression problem (never consider it as a classification one). My hunch was that there must be some way to combine regression and classification together to solve such problems better. $\endgroup$
    – Nitesh
    Commented Nov 17, 2014 at 17:32
  • $\begingroup$ What is your class variable? Please answer that question. $\endgroup$
    – Jane Wayne
    Commented Nov 17, 2014 at 19:46
  • $\begingroup$ The response denotes the transaction value. That is converted to represent 0 if there is no fraud, and to the transaction value, if there is fraud found. $\endgroup$
    – Nitesh
    Commented Nov 17, 2014 at 19:48
  • $\begingroup$ Seems like you'll have many classes then? Try regression, it's a suggestion.If you predict greater than a threshold, fraud, else, not fraud. Very simple and see if that works.you'll need to define the threshold. $\endgroup$
    – Jane Wayne
    Commented Nov 17, 2014 at 19:53
  • $\begingroup$ Or you may try logistic regression, and for those detected as fraud, model prediction using ols. $\endgroup$
    – Jane Wayne
    Commented Nov 17, 2014 at 19:56

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.