1. Field of the Invention
The present invention relates to a prediction apparatus for extracting similar cases similar to a given unknown case and making a prediction for the unknown case using the extracted similar cases in fields such as artificial intelligence, statistical analysis, etc. and the method thereof.
2. Description of the Related Art
A data classifying method for determining the class (category) to which a given case (or instance) belongs is widely researched in fields such as artificial intelligence, statistical analysis, etc. A case corresponds to, for example, a data structure, such as a record, etc., and is composed of one or more fields. In each field, attribute data are recorded.
For example, when the destination of a direct mailing is determined in a sales campaign, the personal information of receivers can be handled as cases, and a great number of people can be classified using the values specified in a field. In this case, each case is provided with fields of attribute data, such as sex, age, address, occupation, etc.
For a method for predicting the class field of an aggregate (a set) of unknown cases from an aggregate of known cases, prediction based on similar cases, such as memory-based reasoning, case-based reasoning, etc., is used. A class field is a field to be predicted; a known case is a case for which the value of the class field is known; and an unknown case is a case for which the value of the class field is unknown.
In the above-described example of a direct mailing, for example, a flag indicating whether a receiver replied to the direct mailing is set as a class field. Then, the value of the class field (class value) of the unknown case aggregate is predicted using an aggregate of people to whom the direct mail has already been forwarded and an aggregate of people to whom the direct mail has not yet been forwarded as a known case aggregate and an unknown case aggregate, respectively. In this way, people who have a high likelihood of replying can be selected as mailing destinations.
In order to predict the class field of an unknown case, first, the degree of similarity between cases is defined, and several cases similar to the unknown case are extracted from the known case aggregate. Then, the class field of the unknown case is predicted based on those similar cases. This prediction method differs from other prediction methods based on learning or modeling using a neural network, decision tree, etc., and has advantages in that the prediction method takes no time to learn or model and can flexibly respond to an increase of known cases.
However, the conventional prediction method described above has the following problems.
In order to make a prediction for an unknown case, similar cases must be extracted by calculating the degree of similarity between the unknown case and each of the known cases. In fact, most of the process time needed to make predictions based on similar cases is taken by the time needed for this similarity calculation. According to the conventional prediction method, in order to reduce the time required for similarity calculation, a predetermined pre-treatment must be executed for known cases (Takao Mohri, xe2x80x9cNearest Neighbor Rule and Memory-Based Reasoning, xe2x80x9cJournal of Japanese Society for Artificial Intelligence, Vol.12 No.2, pp.188-195, March 1997).
In this pre-treatment, a process for dividing a known case aggregate into groups and removing a group which is judged to have a low degree of similarity to an unknown case from the target of similarity calculation, a process for deleting unnecessary cases from a known case aggregate, etc., are executed. However, if such a pre-treatment is performed, it becomes difficult to flexibly respond to the increase of known cases.
Conventionally, a default condition, such as 20 higher-order cases in the degree of similarity, or a condition manually inputted directly by a user was used as a condition for extracting similar cases. However, selection of the condition which is optimum greatly differs depending on the nature of a case aggregate and the object of problem setting, and if an appropriate condition is not designated, a satisfactory result often cannot be obtained. Under these circumstances, in order to select a condition satisfying the objective, a user often had to repeat the extraction of similar cases two or more times while changing the conditions and select an optimum condition by evaluating the results.
According to the conventional prediction method, when similar cases are selected, the accuracy is improved by setting a weight for each field based on the degree it influences a class value. One automatic weight setting method is the Cross Category Feature (CCF) method using statistical information. However, according to the CCF method, a weight is set regardless of the distribution of the class values of a known case aggregate, and the influence on weight of the change in the distribution of the class values is not sufficient. For this reason, if the distribution of the class values of a known case aggregate is largely biased, sufficient accuracy often cannot be obtained.
According to the conventional prediction method, since a speedy prediction cannot be realized without a pre-treatment for an known case aggregate, the flexibility against the increase of known cases is lost, which is a problem. Since the extraction of similar cases are repeated two or more times in order to obtain sufficient prediction accuracy, the required work of the user is large and the calculation time increases as the number of executions increases, which is another problem. Furthermore, if the distribution of the class values of a known case aggregate is largely biased, sufficient accuracy often cannot be obtained by the CCF method depending on the nature of a problem, which is another problem.
An object of the present invention is to provide a prediction apparatus for making a prediction for an unknown case based on similar cases, at high speed and with a high accuracy, and the method thereof.
In the first aspect of the present invention, a prediction apparatus comprises a determination unit and a prediction unit, and makes a prediction based on similar cases.
The determination unit automatically determines a similar case extracting condition for extracting one or more pieces of similar case data similar to unknown case data from an aggregate of known case data consisting of one or more fields. The prediction unit extracts the one or more pieces of similar case data using the similar case extracting condition determined by the determination unit, predicts the value of the unknown field of the unknown case data using the similar case data and outputs a prediction value.
In the second aspect of the present invention, a prediction apparatus comprises a similar case extraction unit, a prediction result generation unit and a similarity calculation unit, and makes a prediction based on similar cases.
The similar case extraction unit extracts one or more pieces of similar case data similar to unknown case data based on the degree of similarity from an aggregate of known case data consisting of one or more fields. The prediction result generation unit predicts the value of the unknown field of the unknown case data using the one or more pieces of similar case data, and outputs a prediction value. The similarity calculation unit calculates both the distribution of the values of the unknown field in the aggregate of known case data and a weight depending on the value of the unknown field of the unknown case data for each field, and calculates the degree of similarity using the weight for each field.
In the third aspect of the present invention, a prediction apparatus comprises a similarity condition calculation unit, a conditioned similarity calculation unit and a generation unit, and makes a prediction based on similar cases.
The similarity condition calculation unit calculates a similarity condition for adding known case data to a temporary aggregate of previously obtained similar case data using both the similar case extracting condition and the temporary aggregate of similar case data. The conditioned similarity calculation unit calculates the degree of similarity between the known case data and the unknown case data. If the degree of similarity satisfies the similarity condition, the conditioned similarity calculation unit outputs the known case data as similar case data, and when it is confirmed that the degree of similarity does not satisfy the similarity condition, the calculation is stopped. The generation unit generates a new aggregate of similar case data using the similar case data outputted from the conditioned similarity calculation unit.