Linear Discriminate Analysis (LDA) is another method which should be familiar to statisticians and economists. LDA is a dimensionality reduction technique which has found its use in machine learning because of how well it functions as a classifier. Its primary goal is to project data onto a lower dimensional space.Read More »
Machine Learning and Credit Risk (part 5) – Neural Networks
Neural networks models are a flexible class of machine learning algorithms which can be used for both supervised as well as unsupervised learning and can approximate discrete or continuous functions. They are loosely modeled on the functions of human brains and attempt to allow computers to learn in manner similar to humans.Read More »
Machine Learning and Credit Risk (part 4) – Support vector Machines
Support Vector Machines (SVM) algorithms are some of the best “out-of-box” machine learning tools available. They are not only used for both linear and nonlinear classifications but can also be extended from binary classification to support multi-class classification.Read More »
Machine Learning and Credit Risk (part 3) – Multinomial Logistic Regression
Logistic regression has been a reliable tool in many Statisticians/Economists toolkit for many years when dealing with binary problems where the output is 0/1, True/False, or any variation of a dichotomous problem. But the reality is that Multinomial Logistic regression is a very important ‘algorithm’ in the machine learning sphere.Read More »
Machine Learning and Credit Risk (part 2) – Credit Cycle Method
The canonical method to forecasting a credit migration matrix is an econometric model: the one factor approach described in Belkin et al. (1998). This approach suggests that one might consider an approach to condition migration (transition) matrices by creating a systematic component which represents the “credit cycle” that relates the economic condition to the credit quality of a loan portfolio. The credit cycle can be thought of as the historical pattern of credit rating shared by all borrowers in a sector or economy.Read More »
Machine Learning and Credit Risk (part 1)
Artificial Intelligence (AI) and Data Science continue their progression towards becoming mainstream and ubiquitous. This is a very exciting time for scientists, model developers, programmers, and a lot of other technically inclined professionals. But to be honest it can be confusing and overwhelming at times. We all hear terms like “AI”, “Data Science”, “Big Data”, “Machine Learning”, “Statistical Learning”, “Data Mining”, “Deep Learning”, etc., and it’s often hard to make sense of it all even for those of us who have been writing code to implement statistical models for decades. But it seems these terms are being used among people in every field and every industry. How do remote sensing professionals use data from a satellite to create land cover maps? how do certain streaming services determine what shows or movies to recommend based on your watching habits? How did Cambridge Analytica determine the poor shmucks Donald Trump should focus on? The answers to all these questions lay in machine learning algorithms. (If interested you can find more information on the differences or definitions of all the terms mentioned above on various discussion threads on social sites like Quora, StackExchange, LinkedIn, and KDNuggets among others.)
This article will be a little more focused on the question: how can we use machine learning in areas where statistics have traditionally been employed in credit risk?
Turbo charge your R code with RCPP
So, you’ve written code in R which contains somewhat complicated loops. The execution time is not quite as fast as you hoped for. You turn to using the profvis package in RStudio (or Rprof) to profile the R program, in the hopes of finding the places in your code that are causing the bottleneck. The profiler returns a few areas that you focus on to make more efficient, but unfortunately no matter how many ‘loops’ you jump through, you can’t seem to reduce the execution time.
Next, you spend at least a couple of frustrating hours trying to figure out how to vectorize (think: higher-level programming to improve efficiency) the loops creating the bottleneck, to no avail. And it’s okay to admit it, we’ve all been there.
STOP!!!! The solution may be to rewrite some of your key functions in C++.Read More »