Abstract:
A system and method for generating ultimate reason codes for computer models is provided. The system for generating ultimate reason codes for computer models comprising a computer system for receiving a data set, and an ultimate reason code generation engine stored on the computer system which, when executed by the computer system, causes the computer system to train a base model with a plurality of reason codes, wherein each reason code includes one or more variables, each of which belongs to only one reason code, train a subsequent model using a subset of the plurality of reason codes, determine whether a high score exists in the base model, determine a scored difference if a high score exists in the base model, and designate a reason code having a largest drop of score as an ultimate reason code.

Description:
CROSS-REFERENCE TO RELATED APPLICATION 
       [0001]    This application claims priority to U.S. Provisional Patent Application No. 61/786,010 filed on Mar. 14, 2013, which is incorporated herein by reference in its entirety. 
     
    
     BACKGROUND 
       [0002]    1. Field of the Disclosure 
         [0003]    The present disclosure relates generally to a system and method for providing reason codes by training a series of computer models. More specifically, the present disclosure relates to a system and method for generating ultimate reason codes for computer models. 
         [0004]    2. Related Art 
         [0005]    Currently, for big data applications, clients typically require high performance models which are usually advanced complex models. In business (e.g., consumer finance and risk, health care, and marketing research), there are many non-linear modeling approaches (e.g., neural network, gradient boosting tree, ensemble model, etc.). At the same time, high score reason codes are often required for business reasons. One example is in the fraud detection area where neural network models are used for scoring, and reason codes are provided for investigation. 
         [0006]    There are different techniques to provide reason codes for non-linear complex models in the big data industry. Many methods utilize a single base model by computing the derivative of input reasons (e.g., the impact of a particular input variable on the model score), which is similar to sensitivity analysis approximation. Some other methods apply approximation of the scoring model to compute reasons. All of them are based on a single model, with the assumption that by modifying the input without retraining, the score is still consistent with the probability of the target. In other words, one assumption of utilizing a single base model is that the probability consistency holds even if one input variable is knocked-out without retraining. This assumption does not necessary hold as each sub-model&#39;s parameters are not optimized by training, such as by maximum-likelihood (e.g., the knocked-out model is not retrained). 
       SUMMARY 
       [0007]    The system and method of the present disclosure generates ultimate reason codes for high score records in real time. The system utilizes a four-step approach to identify reason codes for high score records in real time in production. The system provides ultimate reasons for the first reason based on assumptions and results. The system can provide any arbitrary number of reason codes by approximation. 
         [0008]    The system for generating ultimate reason codes for computer models comprising a computer system for receiving a data set, and an ultimate reason code generation engine stored on the computer system which, when executed by the computer system, causes the computer system to train a base model with a plurality of reason codes, wherein each reason code includes one or more variables, each of which belongs to only one reason code, train a subsequent model using a subset of the plurality of reason codes, determine whether a high score exists in the base model, determine a scored difference if a high score exists in the base model, and designate a reason code having a largest drop of score as an ultimate reason code. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0009]    The foregoing features of the disclosure will be apparent from the following Detailed Description, taken in connection with the accompanying drawings, in which: 
           [0010]      FIG. 1  is a diagram illustrating the system of the present disclosure; 
           [0011]      FIG. 2  illustrates processing steps carried out by the system of the present disclosure; 
           [0012]      FIG. 3  is a graph illustrating a score generated by the system in proportion to the probability of the target; 
           [0013]      FIG. 4  is a graph comparing ultimate reasons generated by the system with logistic regression reasons; and 
           [0014]      FIG. 5  is a diagram showing hardware and software components of the system. 
       
    
    
     DETAILED DESCRIPTION 
       [0015]    The present disclosure relates to a system and method for generating ultimate reason codes for computer models, as discussed in detail below in connection with  FIGS. 1-5 . The system can be used as an add-on package for any individual classification product to provide reason codes. The system could be an individual product for model deployment, and could be sold to any industries/companies requiring high performance analytics models, as well as robust reasons. The system could be used internally to provide services to customers (e.g., credit issuers, and credit bureau), and could be applied to various applications (e.g., health care, collections, marketing, etc.). The system and method of the present disclosure provides ultimate reason codes based on both solid assumptions and experimental results. By the term “ultimate reason code,” it is mean a final reason code for a particular data set being modeled by a computer model, driven by the relationships within the data and not by the specific model. 
         [0016]      FIG. 1  is a diagram showing a system for generating ultimate reason codes for computer models, indicated generally at  10 . The system  10  comprises a computer system  12  (e.g., a server) having a database  14  stored therein and ultimate reason code generation engine  16 . The computer system  12  could be any suitable computer server (e.g., a server with an INTEL microprocessor, multiple processors, multiple processing cores) running any suitable operating system (e.g., Windows by Microsoft, Linux, etc.). The database  14  could be stored on the computer system  12 , or located externally (e.g., in a separate database server in communication with the system  10 ). 
         [0017]    The system  10  could be web-based and remotely accessible such that the system  10  communicates through a network  20  with one or more of a variety of computer systems  22  (e.g., personal computer system  26   a , a smart cellular telephone  26   b , a tablet computer  26   c , or other devices). Network communication could be over the Internet using standard TCP/IP communications protocols (e.g., hypertext transfer protocol (HTTP), secure HTTP (HTTPS), file transfer protocol (FTP), electronic data interchange (EDI), etc.), through a private network connection (e.g., wide-area network (WAN) connection, emails, electronic data interchange (EDI) messages, extensible markup language (XML) messages, file transfer protocol (FTP) file transfers, etc.), or any other suitable wired or wireless electronic communications format. 
         [0018]    The reason code generation system and method of the present disclosure is utilized to provide “ultimate” reason codes based on a few assumptions described below. A neural network (NN) fraud detection model is used with a dataset as an example. An NN trained with Mean Squared Error will approach the posteriori probability P(Bad|x) for a binary outcome, which is validated by results described in more detail below. Ultimate reason code technology is used to identify an arbitrary number of reason codes by retraining a group of sub models with individual knocked-out reasons. 
         [0019]      FIG. 2  illustrates processing steps  50  of the system of the present disclosure. In step  52 , variables are grouped into reasons manually. A reason can contain one or more variables, and a single variable belongs to only one reason. It is difficult to automate this process as it usually involves expert knowledge of the data, the domain, and the variables. In the examples discussed below this step is skipped to avoid human intervention. Thus, every reason contains only one variable and every variable is a unique reason. In step  54 , a base model, M — 0, is trained with all of the reasons (e.g., N). Subsequent N models (M — 1, M — 2, . . . , M_N) are trained by removing each reason at a time. For example, M — 1 will be trained on the same data with reasons (R — 2, R — 3, . . . , R_N), and without R — 1. In step  56 , when a high score record occurs in a base model, the score difference between S — 0 and (S — 1, S — 2, . . . , S_N) are compared. In step  58 , the knocked-out reason with the largest drop of score, max (S — 0-S_N), is defined as the ultimate reason code. If more than one reason code is needed, the next largest drop reason is defined, and so on. In production all N+1 models (M — 0, M — 1, . . . , M_N) are deployed. For a high score record, all the N+1 scores, S — 0, S — 1, . . . , S_N, are obtained. This only increases the overall running time by a small percentage. 
         [0020]    This technique is based on a few assumptions, as described below. The first assumption is that the score is consistent with the probability of target for all the trained N+1 models. This is one of the properties for Neural Networks (as well as other model paradigms). As long as there is enough sample data, and the model is trained well enough, the final score should converge on the probability of the target (validated in examples below). A second assumption is that all of the N+1 models are consistent between training data and production data. This can be monitored by the score distributions of all of the N+1 models. If any inconsistency happens in any one model, the model should be retrained. Statistically this assumption holds but there can be some standard errors causing outliers, which could be in statistical range. The third assumption is that compared to the original model M — 0, each sub-model M_k (1&lt;=k&lt;=N) has a lower score for a suspicious record due to missing information from the knocked-out reason. As shown in the results below, the score decreases for nearly all high-score transactions in knocked-out models. There are rare cases that all sub-models have higher scores than the original. This is due to statistical fluctuations affecting the original model. In this scenario, the knocked-out reason in the smallest-score model would be chosen as the first reason code. 
         [0021]      FIG. 3  is a graph illustrating a score in proportion to the probability of the target. In this example, the base model M — 0 was used to validate the assumption that the score is consistent with the probability of target. The data was from a dataset and the targets were the frauds. A three-layer neural network model was trained with 30 input variables. The X axis represents the scores in 100 bins, where score 0.87 corresponds to bin  87 . The Y axis represents the probability of the target. As shown, the score was very consistent with the probability of target, with R-square close to 1. 
         [0022]      FIG. 4  is a graph comparing ultimate reasons with logistic regression reasons. Logistic regression models are often used in production since the weights are usually explainable and because the score is intended to be interpreted as a probability. In this example, the first ultimate reason was compared with the first reason generated by logistic regression. The general approach for determining the logistic regression reasons is to assign the relevance of each input variable to the overall score generated by the model. The reason codes are then ranked based on the relevance. The first logistic regression reason is the variable (first reason) x i  with coefficient β i  introducing the maximal deviation of the product x i β i  from average value x 1   0 β i . After ranking, the top few (e.g., 3 or 4) reason codes were selected. The X axis represents the score bins and the Y axis represents the first reason code matching rate between ultimate reasons and logistic regression in each score bin. As shown, the first reason matches well in most score bins. In high score bins above 95, the matching rate increases significantly. 
         [0023]    Information related to the present disclosure includes (1) http://en.wikipedia.org/wiki/Maximum_likelihood, (2) M D Richard, et al., “Neural network classifiers estimate Bayesian a-posteriori probabilities,” Neural Computation, 3(4):461-483 (1991), and (3) Yonghui Chen, et al., “System and method for developing proxy model,” U.S. Provisional Patent No. 61/759,682, the disclosures of which are incorporated herein by reference. 
         [0024]      FIG. 5  is a diagram showing hardware and software components of a computer system  100  on which the system of the present disclosure could be implemented. The system  100  comprises a processing server  102  which could include a storage device  104 , a network interface  108 , a communications bus  110 , a central processing unit (CPU) (microprocessor)  112 , a random access memory (RAM)  114 , and one or more input devices  116 , such as a keyboard, mouse, etc. The server  102  could also include a display (e.g., liquid crystal display (LCD), cathode ray tube (CRT), etc.). The storage device  104  could comprise any suitable, computer-readable storage medium such as disk, non-volatile memory (e.g., read-only memory (ROM), eraseable programmable ROM (EPROM), electrically-eraseable programmable ROM (EEPROM), flash memory, field-programmable gate array (FPGA), etc.). The server  102  could be a networked computer system, a personal computer, a smart phone, tablet computer etc. It is noted that the server  102  need not be a networked server, and indeed, could be a stand-alone computer system. 
         [0025]    The functionality provided by the present disclosure could be provided by an ultimate reason code generation program/engine  106 , which could be embodied as computer-readable program code stored on the storage device  104  and executed by the CPU  112  using any suitable, high or low level computing language, such as Python, Java, C, C++, C#, .NET, MATLAB, etc. The network interface  108  could include an Ethernet network interface device, a wireless network interface device, or any other suitable device which permits the server  102  to communicate via the network. The CPU  112  could include any suitable single- or multiple-core microprocessor of any suitable architecture that is capable of implementing and running the ultimate reason code generation program  106  (e.g., Intel processor). The random access memory  114  could include any suitable, high-speed, random access memory typical of most modern computers, such as dynamic RAM (DRAM), etc. 
         [0026]    Having thus described the system and method in detail, it is to be understood that the foregoing description is not intended to limit the spirit or scope thereof. It will be understood that the embodiments of the present disclosure described herein are merely exemplary and that a person skilled in the art may make any variations and modification without departing from the spirit and scope of the disclosure. All such variations and modifications, including those discussed above, are intended to be included within the scope of the disclosure. What is desired to be protected is set forth in the following claims.