5
$\begingroup$

I have been trying to train an algorithm to predict if an account will close or not using thousands of data points and many features.

I am using data from the month before the account closed but the problem is that accounts have been around for different amounts of time. So, whereas for one account I might only have performance data up to 1 year, for another account I might have 1 month, 3 month, 1 year, 3 year, 5 year and even 10 year. There were 94 features but I cut it down to 19 to start playing around with it.

I am looking for some help on how I can build an algorithm that incorporates the different amounts of data for each account. I was thinking about using a neural network because I have always been interested in them but I am open to any suggestions.

Basically, then, I have many missing values in my features. If I simply omit observations with many missing values, my data set becomes far too small to be useful. Is there a standard way of handling this type of missing data problem, or a particular algorithm or model than handles it well?

enter image description here

$\endgroup$

migrated from stackoverflow.com Jul 21 '12 at 5:57

This question came from our site for professional and enthusiast programmers.

  • $\begingroup$ Make this a specific question. Otherwise I expect that it will be closed. $\endgroup$ – Roland Jul 20 '12 at 20:56
  • $\begingroup$ how can i create a neural net when some of the training data have different amount of features I can use. When I tell the neural net to omit "NA" then I run the problem of having little data and an imbalanced amount of x and y data $\endgroup$ – jkg Jul 20 '12 at 21:12
  • $\begingroup$ Did you try using only data from the month before the account being closed? This way you ignore the account's age, but it should give you something to work with right now. $\endgroup$ – agarie Mar 11 '14 at 16:21
1
$\begingroup$

I'm not enough of an expert on neural networks (or other fancier machine learning methods like that, i.e. SVMs, etc.) to know what the state of the art is in terms of handling missing data in those areas.

However, I do know that decision trees (I'm most familiar with the CART variant) are able to "handle" missing values relatively easily. I suspect that you may be able to get relatively far combining a large number of simple trees using either bagging or boosting.

However, I would not treat this answer as particularly canonical. I suspect this question may receive better answers at stats.stackexchange.com , so I have flagged it for migration. If the mods agree, you do not need to do anything, it will be moved automatically.

$\endgroup$
  • $\begingroup$ Thank you very much Joran! This is my first post so I appreciate the kindness very much. And will the notifications for stats.stackexchange appear on this account still? $\endgroup$ – jkg Jul 21 '12 at 4:07
  • $\begingroup$ I also have never worked with decision trees (my only experience is the ML Stanford online course and some playing around with R). Could you point me in any direction for a helpful primer on decision trees? $\endgroup$ – jkg Jul 21 '12 at 4:18
  • $\begingroup$ CART will use surrogate variables to handle missing data when you have them. I don't view that as handling missing values easily. What if there are no variables to use as a surrogate for a particular variable that is used in the tree? $\endgroup$ – Michael Chernick Jul 21 '12 at 13:54
  • $\begingroup$ @MichaelChernick Note that I put "handle" in quotes. Since this question was originally on SO, I was answering it from an algorithmic perspective, in the sense of the chart from Hastie, Tibsirani, Friedman on pp351 (5th printing) in which they compare various data mining techniques. $\endgroup$ – joran Jul 21 '12 at 15:03
  • $\begingroup$ @MichaelChernick, do you have any ideas on how to approach this? $\endgroup$ – jkg Jul 22 '12 at 18:07

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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