# Patent

## Title
Method for building predictive models with incomplete data

## Abstract

A method that imputes missing values while building a predictive model. A population of solutions is created using a data set comprising missing values, wherein each solution comprises parameters of each of the predictive models and the missing values of a data set. Each of the solutions in a population is checked for fitness. After the fitness is checked, the solutions in a population are genetically evolved to establish a successive population of solutions. The process of evolving and checking fitness is continued until a stopping criterion is reached.

## Background
BACKGROUND
The invention relates generally to a process of creating predictive models and, more particularly, to a method of creating predictive models with incomplete data using genetic algorithms. The invention may be employed, for example, to create propensity models.
Customer relationship management (CRM) has become the key to growth in today's highly competitive market. Information about customers' interests and their earning and spending behavior is useful for companies to identify which section of the market they are catering to. Such information also helps the companies to predict the relevant aspects of a customer's behavior, for example, how likely the customer is to respond to an offer, how much the customer is likely to borrow etc. Companies therefore maintain databases of their customers replete with such information and conduct surveys and create customer response sheets to gather data in a database to build predictive models.
The method of obtaining data from the customers plays a major role in deciding the level of completeness of the data set. For example, a data set obtained from the details given by customers that are necessary pre-requisites to opening an account will typically be complete. But a data set obtained from data provided on other bases, such as human resource profiling sheets completed by customers may be incomplete because the information is not mandatory. Finally, data sets most susceptible to gaps and faults will typically be those obtained by conducting surveys amongst customers because nothing is mandatory in such surveys.
However, the only basis for conducting needed market analysis is data. The quality of the data used will generally be reflected in the quality of the resulting analysis. Therefore, to conduct a comprehensive analysis, it is indispensable that data sets be used that are complete as possible. Omission of any customer from the analysis could simply translate to loss of valuable business and/or loss of accuracy in the resulting analysis.
A typical customer database may be presented as a table of rows and columns where each row corresponds to a customer while the columns correspond to different information about the customer, such as account level information provided by the company, personal information provided by the customer, or a behavior or bureau score provided by a credit scoring agency. The table may contain blank cells where data is missing. It is generally desirable to complete otherwise compensate for the missing data. The problem is essentially to impute some value in these blank cells so as to provide the maximum amount of information in the database and thereby to enable a good predictive model to be built from that information.
Missing values can be imputed using methods such as mean imputation, hot deck imputation, cold deck imputation, regression analysis, propensity score analysis and multiple imputation. Mean imputation, hot deck imputation and cold deck imputation are relatively naïve and inappropriate to be used profitably in a large data sheet. Regression analysis also typically provides extremely inaccurate results if the data do not follow a linear model, especially in large data sheets. This also rules out predictive mean matching for large data sets. Propensity score analysis too is generally inaccurate for large data sets. Multiple imputation is a rigorous process which involves finding multiple estimates for each missing value from several samples of complete data and then combining all these estimates to get the final value to be imputed. However, in many cases, multiple imputation may necessitate too much overhead, investment and computation cost to justify its use for missing value problems.
The problem of missing value imputation is a small part of the entire process of predictive modeling, but the quality of the model is dependent on the information used to build the model. Therefore, there is a need for a method capable of providing good imputation for the missing values and yet does not require a separate and exhaustive process.
BRIEF DESCRIPTION
The present invention proposes a method that imputes a value for each blank cell representing a missing value in a database while building a predictive model, eliminating the need for separate process to impute the missing values.
A population of predictive models is created using a data set comprising missing values by encoding parameters of each of the predictive models and the missing values of a data set. Each of the predictive models in a population is checked for fitness using a fitness function. After the fitness is checked, the predictive models in a population are genetically evolved to establish a successive population of predictive models. The process of evolving and checking fitness is continued until a predictive model having a predetermined fitness in a population is identified.



DRAWINGS
These and other features, aspects, and advantages of the present invention will become better understood when the following detailed description is read with reference to the accompanying drawings in which like characters represent like parts throughout the drawings, wherein:
FIG. 1 is a schematic representation of a system for engaging customers/clients/partners, in accordance with an exemplary embodiment of the present technique;
FIG. 2 is a representation of a database comprising partial customer data acquired from or about the customers, in accordance with an exemplary embodiment of the present technique;
FIG. 3 is a is a schematic diagram of the basis for a technique for developing a predictive model of an event, in accordance with an exemplary embodiment of the present technique;
FIG. 4 is an embodiment of an initial set of solutions, in accordance with an exemplary embodiment of the present technique;
FIG. 5 is an embodiment of a solution experiencing mutation, in accordance with an exemplary embodiment of the present technique;
FIG. 6 is an embodiment of a pair of solutions undergoing cross-over, in accordance with an exemplary embodiment of the present technique;
FIG. 7 is an embodiment of a process of elitism, in accordance with an exemplary embodiment of the present technique;
FIG. 8 is an embodiment of a fitness function, in accordance with an exemplary embodiment of the present technique;



DETAILED DESCRIPTION
The present invention proposes a method to build predictive models using a data set with missing values. Predictive models can be defined as models that map a relationship between a set of inputs and an output. This relationship may be unknown, and therefore inferred from available data. One way of classifying the various types of predictive models is through the nature of the output variable. The output can be of many types, such as categorical and real-valued. Two-class classification and regression are two examples of classification of predictive models based on the nature of the output variables.
In two-class classification, the output variable falls into one of two classes {0, 1}. The predictive model uses past data, where both the inputs and the output are known, to arrive at a function that predicts the likelihood that the output will be equal “1” for an unseen example, i.e., where the inputs are known but the output is unknown. A function, “f”, which maps the inputs, “X's”, to the output, “y” can be represented as:

f(X)=β0+β1·X1+β2·X2+ . . . +βn·Xn  (1)

In the above equation, the higher the value of f(X) the greater the likelihood that the output, “y” will be equal to “1”. Propensity models are a typical example of this case and will be discussed in detail.
In regression, the output variable is a real value. In this case, the predictive model uses past data to arrive at a function “f” that predicts the output for an unseen example. A function, “g”, which maps the inputs, “X's”, to the output, “y” can be represented in this case as:

g(X)=β0+β1·X1+β2·X2+ . . . +βn·Xn  (2)

In the above equation, g(X) is the predicted value of the output variable, “y”. An example of this kind of problem is where a bank would like to predict the profit it would make from its credit card customers over the next year, based on the existing data of customers behavior.
The present invention will now be described as it might be applied in conjunction with an exemplary technique for predicting the propensity of a particular event to occur using data having missing values. For example, the technique enables prediction of the propensity of a customer to accept a loan offer made by a bank.
Referring now to FIG. 1, the present invention will be described as it might be applied in conjunction with an exemplary technique for predicting the propensity of a particular event to occur, as represented generally by reference numeral 20. For example, the technique enables the propensity of a customer to accept a commercial offer made by a business to be predicted. In the illustrated embodiment, an organization 22 has a large number of potential customers, represented generally by reference numeral 24. The organization may be any type organization that engages in transactions with an outside organization or entity. In this embodiment, the organization 22 in the past has made an offer 26 to each of its customers 24. A large number of customers 24, represented generally by reference numeral 28, rejected the offer 26 in the past. Therefore, the rate of this event occurring, a customer rejecting the offer, is very high. However, a small number of customers, represented generally by reference numeral 30, have replied to an offer 26 with an acceptance 32 of the offer 26. Thus, the rate for this event, a customer accepting the offer, is low. From these past experiences, a propensity model may be developed to predict the propensity of a given customer, or type of customer to accept an offer in the future.
Referring generally to FIG. 2, the technique utilizes a database of data regarding past offers made to the customers (along with any other data that may affect propensities of the customers), represented generally by reference numeral 34, to develop a model of the propensity of a customer or type of customer to accept an offer made in the future (or more generally, to take any action of interest). In the illustrated embodiment, the database 34 comprises a list of customers 36 and data 38 representative of or relating to the customer. Each row of the database corresponds to a specific customer and each column corresponds to a different element of the customer data 38. The customer data 38 may be information which the company has obtained from previous transactions with the customer, or information obtained from a third party, such as a credit scoring agency.
The customer data 38 includes customer characteristic data, represented generally by reference numeral 40. In this embodiment, each customer characteristic, “X”, has its own column in the database 34 and the database is adapted to store a plurality of different customer characteristics, “X1 to Xn”. The customer characteristics may include, for example, the age of the customer, the annual income of the customer, the geographic location of the customer, the area of employment of the customer, and so forth.
In the illustrated embodiment, each customer characteristic 40 is stored in a data box 42. For example, a data box 42 is used to store the value of a first customer characteristic, “X1”, of a first customer, “1”. The value corresponding to the first characteristic, “X1”, of the first customer, “1”, is represented in the data box 44 as “X1,1”. The first “1” in the subscript corresponds to the first customer characteristic and the second “1” in the subscript corresponds to the first customer. As noted above, the first characteristic, “X1”, may be the customer's age, the customer's annual income, etc. Similarly, a data box 42 is used to store the value of a second customer characteristic, “X2”, of the first customer, “1”. The value corresponding to the second characteristic, “X2”, of the first customer, “1” is represented in the data box 42 as “X2,1”. The “2” in the subscript corresponds to the second customer characteristic and the “1” in the subscript corresponds to the first customer.
The customer data can be incomplete with missing values of the customer characteristics that cannot be obtained. This is typical in a customer database. The missing values are represented using “m” as the subscript. For example, a missing value corresponding to the first characteristic, “X1”, of the second customer, “2”, is represented in the data box 42 as “Xm1,2”.
Referring generally to FIG. 3 a schematic diagram of the basis for developing a propensity model (predictive model in general) is presented, and represented generally by reference numeral 44. The development of the propensity model is based on approximating an unknown relationship 46 between various inputs 48 and outputs 50. In this example, the inputs 48 are the various customer characteristics and the outputs 50 are the customer's propensity to accept an offer, represented as “y”, which is in a binary form. Once the unknown relationship 46 is established, a model of the propensity of an event to occur in the future may be established. Propensity modeling tries to find a relationship between the “X's”, as shown in FIG. 1, and the “y”, i.e., a relationship between the customer characteristics and the customer's propensity. More specifically, the objective is to find a function, “f”, which most accurately maps the “X's” to the “y”. The resulting function, “f”, is the propensity model. For these purposes, it is assumed that the function, “f”, is a linear function of “X”. However, the function, “f”, can be of any form, such as non-linear, as long as it is possible to relate the value of f(X) to the likelihood of “y” taking the value “1”. For instance, the propensity model for “n” customer characteristics can be represented as:

f(X)=β0+β1·X1+β2·X2+ . . . +βn·Xn, yε{0,1}  (3)

The objective of propensity modeling is to find an optimal set of “β's” so that the function, “f”, gives a “good” map of the relationship between the “X's” and the “y”, i.e., the relationship between the customer characteristics and the customer's propensity. The propensity modeling becomes inaccurate when there are missing values for the customer characteristics. The objective is to impute missing values while estimating the values of “β's”.
The propensity models utilized in this embodiment are linear functions of the customer characteristics, although other functions and types of functions may be employed. In a presently contemplated embodiment, the initial values for the “β's” and the missing values of unobtainable customer characteristics used in the function are selected at random. It should be noted, however, that other techniques for selecting initial values may also be used. Initially, a first population of solutions is established. Each solution comprises parameters of a propensity model and the missing values in the dataset. The solutions are processed by the various processors using genetic algorithms to evolve the initial solutions into a successive population of better solutions. The genetic algorithms utilize techniques that mimic evolution to change the “β's” and missing values For example, the genetic algorithms may initiate random mutations in the values for the “β's” and the missing values in the models or the genetic algorithm may initiate crossovers of “β's” and crossovers of the missing values between solutions, as occurs in nature during meiosis in eukaryotic cells. Each change in a population of the solutions represents a generation of the solutions. Genetic algorithms may also initiate a process called elitism, where the best-fit solutions are maintained across generations. The above three genetic algorithm techniques, cross-over, mutation and the elitism can be used in conjunction with one another.
In this embodiment, the quality of each of the solutions is measured using a fitness function. One embodiment of the fitness function is presented in FIG. 8. In this embodiment, the higher the values of L, the higher the fitness of the model. The genetic algorithms are used to continue evolving the solutions until a stopping criterion is reached.
Referring generally to FIG. 4, an embodiment of solutions of the initial population is presented, and represented generally by reference numeral 52. The initial population comprises a finite number of randomly chosen solutions. In this embodiment, a first solution 54, a second solution 56, and a third solution 58 are presented, but a greater or lesser number of solution may be used. The first solution 54 comprising strings of encoded “β's” and encoded missing values represents a first propensity model with imputed missing values. The superscripts of the various β variables and the missing values indicate the solution to which they belong, first, second, third, etc. For example, the superscript “1” corresponds to the first solution 54. Similarly, the superscripts “2” and “3” correspond to the second value 56 and the third solution 58, respectively.
Referring generally to FIG. 5, an embodiment of the process of mutation in a propensity model is presented. In FIG. 4, a solution before mutation and a solution after mutation are presented, and represented generally by reference numeral 60. In this embodiment, a first solution 62 undergoes mutation to a second solution 64. More specifically, in the illustrated embodiment, the value for β11 in the first solution 62 mutates from an initial value, β11i, represented generally by reference numeral 66, to a mutated value, β11j, represented generally by reference numeral 68, in the second solution 64. Similarly, the value for Xm1,21 in the first solution 62 mutates from an initial value, Xm1,21i, represented generally by reference numeral 70, to a mutated value, Xm1,21j, represented generally by reference numeral 72, in the second solution 50.
In general, a cross-over is an operation that produces a changed model (or following the genetic analogy, “an offspring”) that is derived from the characteristics of earlier models (or “parents”). For instance, one could take two solutions, pick a particular variable and produce a third solution whose value of that variable is the average of the values of that variable in the two solutions considered. These two solutions are chosen on the basis of their fitness. For instance, a mechanism can be used where the two solutions are picked at random from the population such that the probability of a solution being chosen is proportional to its fitness. Referring generally to FIG. 6, an embodiment of the process of crossover between solutions is presented. A pair of solutions before crossover, represented generally by reference numeral 74, and the same pair of solutions after crossover, represented generally by reference numeral 76, are presented. During crossover, the values for one or more β variables from one solution are swapped with the values for one or more β variables of another solutions. In the illustrated embodiment, the β0 and β1 values in a first solution 78 are swapped with the β0 and β1 values of a second solution 80. Specifically, β01, represented generally by reference numeral 82, of the first solution 78 is swapped with β02, represented generally by reference numeral 84, of the second solution 80. Specifically, β11, represented generally by reference numeral 86, of the first solution 78 is swapped with β12, represented generally by reference numeral 88, of the second solution 80. Consequently, the first solution in the next generation, represented generally by reference numeral 90, and the second solution in the next generation, represented generally by reference numeral 92, have new values for β1.
Similarly, all the missing values (Xm1,2, Xm2,1, Xm3,101, . . . ) in a first value 78 are swapped with the Xm2 value of a second solution 80. Consequently, the first solution in the next generation, represented generally by reference numeral 90, and the second solution in the next generation, represented generally by reference numeral 92, have new values for the missing values.
In the above embodiment, the process of crossover and the mutation are applied simultaneously to the β variables and the missing values. The process of crossover and the mutation can also be applied non-simultaneously to the β variables and the missing values.
Referring generally to FIG. 7, an embodiment of a process of elitism is presented. In this embodiment, the solutions for models that have best fitness in a population or models are maintained. For example, the initial population 94 comprises “p” number of solutions, which are represented by C11, C21, C31, etc. Considering the solution “C11” has the best fitness, it is maintained in the second population produced after evolving the solutions of the first population. The initial population is evolved to a second population 96 comprising the same “p” number of solutions. The second population comprises solutions, C12, C22, C32, . . . Cp-12, C11. Considering the solution “C22” has the best fitness, it is maintained in the third population produced after evolving the solutions of the second population. The third population 98 comprises solutions C13, C23, C33, . . . Cp-23 C11 and C22. Therefore, the third population also comprises “p” number of solution. In one embodiment, only the top few solutions with fitness greater than the fitness of rest of the solutions are maintained. In another embodiment, all the solutions that have a fitness greater than a desired fitness are maintained.
As mentioned previously, the processors use the genetic algorithms to continue evolving successive populations until a stopping criterion is reached. Fitness of all solutions in each population is checked against a fitness function. The fitness of a solution is calculated by first inserting the missing values into the corresponding cells in the database. The propensity model, as shown in equation (3), is applied to arrive at predictions for each row. The fitness of the model output, f(X), with respect to the desired output variable, “y”, is evaluated. The metric by which the fit of the model is calculated is the fitness function. The present technique is therefore applicable to predictive models built using missing data, and an appropriate metric is defined to evaluate how well the predictive model fits the data, regardless of the type of the predictive model, i.e., the specific functional form used in the model to define f(X) as well as the form of the output variable.
In one embodiment, the metric for a propensity model is the fitness function “L” presented in FIG. 8. The metric for a regression model can be the square of the correlation between f(X) and Y.
In the embodiment of the fitness function presented in FIG. 8, the value of “L” is calculated for a solution or a solution in a population by incorporating the estimated values of the “β's” and the missing values. The higher the values of L, the higher the fitness of a solution. Based on this, the fitness of each of the solutions is checked and the stopping criterion is applied. In one embodiment, the solutions are evolved until solutions of a predetermined fitness are achieved. In one embodiment, predetermined fitness may be a particular value of “L”. A solution having a highest fitness among the solutions having the predetermined fitness is identified. The values for the “β's” and the missing values are decoded from the solution with the highest fitness.
In another embodiment, the solutions are evolved for a predetermined number of generations. A solution from a last population having highest fitness compared to other solutions in the last population is identified. The values for the “β's” and the missing values are calculated from the solution with the highest fitness
In another embodiment, the solutions are evolved until there is no improvement in the fitness of the solutions through successive generations. A solution having highest fitness compared to other solutions in a last population is identified and the values for the “β's” and the missing values are estimated from that solution.
The various embodiments of a system and method for creating a predictive model with incomplete data described above thus provide a way to impute missing values while building the predictive model. The system and method thus eliminates a separate and exhaustive process for imputing the missing values before building the predictive model.
It is to be understood that not necessarily all such objects or advantages described above may be achieved in accordance with any particular embodiment. Thus, for example, those skilled in the art will recognize that the systems and techniques described herein may be embodied or carried out in a manner that achieves or optimizes one advantage or group of advantages as taught herein without necessarily achieving other objects or advantages as may be taught or suggested herein.
While only certain features of the invention have been illustrated and described herein, many modifications and changes will occur to those skilled in the art. It is, therefore, to be understood that the appended claims are intended to cover all such modifications and changes as fall within the true spirit of the invention.

## Claims

1. A computer implemented method, comprising:
using at least one processor for characterizing customer data and building a predictive model using a customer data set comprising customer characteristic data with at least one missing value for at least one customer characteristic, by performing steps comprising;
creating a population of solutions using a customer data set comprising missing values for one or more customer characteristics, wherein each solution comprises parameters of the predictive model and the missing values of the customer data set;
evolving the solutions in the population by modification of the parameters and the missing values to establish a successive population of the solutions; and
checking fitness of each of the solutions in the population and the successive population using a fitness function.

2. The method of claim 1, further comprising stopping evolving the solutions in a population after identifying the solutions having a predetermined fitness.

3. The method of claim 2, further comprising identifying a solution having a highest fitness among the predictive models having the predetermined fitness and getting the values for the parameters and the missing values from the predictive model having the highest fitness.

4. The method of claim 1, further comprising stopping evolving the solutions in a population after establishing a predetermined number of populations and identifying at least one solution having highest fitness compared to other solutions in a last population.

5. The method of claim 1, further comprising stopping evolving the solutions in a population until there is no improvement in the fitness of the predictive models through successive populations.

6. The method of claim 5, further comprising identifying at least one solution having highest fitness compared to other solutions in a last population and estimating the values for the parameters and the missing values from the at least one solution having the highest fitness.

7. The method of claim 1, wherein checking fitness of each of the solutions comprises measuring the fitness of the predictive model using the fitness function.

8. The method of claim 1, wherein the solutions in the population are evolved by simultaneously applying at least one genetic algorithm technique to the parameters of the predictive model and to the missing values.

9. The method of claim 1, wherein the solutions in the population are evolved by non-simultaneously applying at least one genetic algorithm technique to the parameters of the predictive model and to the missing values.

10. The method of claim 1, wherein the solutions in the population are genetically evolved using crossover, mutation and elitism operations.

11. The method of claim 1, wherein the predictive model comprises a propensity model.

12. The method of claim 1, wherein the predictive model comprises a regression model.

13. A system, comprising:
a processor configured to characterize customer data and build a predictive model by performing the steps of:
creating a population of solutions using a customer data set comprising customer characteristic data missing values for one or more customer characteristics, wherein each solution comprises parameters of the predictive model and the missing values of the customer data set;
evolving the solutions in the population by modification of the parameters and the missing values to establish a successive population of the solutions; and
checking fitness of each of the solutions in the population and the successive population using a fitness function.

14. The system of claim 13, further comprising means for stopping evolving the solutions in a population after identifying the solutions having a predetermined fitness.

15. The system of claim 13, further comprising means for stopping evolving the solutions in a population after establishing a predetermined number of populations and identifying at least one solution having highest fitness compared to other solutions in a last population.

16. The system of claim 13, further comprising means for stopping evolving the solutions in a population until there is no improvement in the fitness of the solutions through successive populations.

17. The system of claim 13, wherein the solutions in the population are evolved by simultaneously applying at least one genetic algorithm technique to the parameters of the predictive model and to the missing values.

18. The system of claim 13, wherein the solutions in the population are evolved by non-simultaneously applying at least one genetic algorithm technique to the parameters of the predictive model and to the missing values.

19. The system of claim 13, wherein the predictive model comprises a propensity model.

20. A non-transitory machine-readable medium for characterizing customer data by developing a propensity model, comprising:
code operable to create a population of solutions using a customer data set comprising customer characterizing data missing values for one or more customer characteristics, wherein each solution comprises parameters of the propensity model and the missing values of the customer data set;
code operable to evolve the solutions in the population by modification of the parameters and the missing values to establish a successive population of the solutions; and
code operable to check fitness of each of the solutions in the population and the successive population.