1
$\begingroup$

Let's say I have a big dataset consisting of variables including but not limited to the start/end date of loans, their notional amount, a loan prepayment indicator etc.

My goal is to create a model that will be trained on past data in order to predict the prepayment date of current loans and I was wondering which ML method would be most suitable for this case. My first thought was to handle this as a classification problem, using interval dates to predict a prepayment date interval, but I believe that there should be a more robust & sophisticated approach to this.

$\endgroup$
0
$\begingroup$

You can both utilize regression and classification models in here. Also I suggest log transform your financial features (eg: debt, last credit risk, average loan amount etc) when using algorithms except decision tree based models (since they are not affected by monotonic transformations).

Classification

You can construct a model such that predicts if a customer would pay "x" days after payment day or not. In this model you need to find best "x" by comparing results of different x day models. Also you need to find optimal confidence range in each model in comparison.

Regression

In this setting, you will predict how much day a customer will pay after payment date. Again you should obtain confidence intervals such that you calculate 3 days for a customer which means she will pay 3 days after (it can be earlier for negative predictions). However you know that your model is powerful on +2 -2 day interval. Then you should say this particular customer will pay in 1 or 5 days after payment date.

Algorithms

I suggest xgboost, lightgbm and RNNs. But its not so clear maybe you have a linear space and it converges fast with SVMs, line fits etc. Yet they are pretty good, kaggle winner learners.

I hope it helps. I thinks it will be a good starting point.

$\endgroup$

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.