WO2017159403A1 - 予測システム、方法およびプログラム - Google Patents

予測システム、方法およびプログラム Download PDF

Info

Publication number
WO2017159403A1
WO2017159403A1 PCT/JP2017/008489 JP2017008489W WO2017159403A1 WO 2017159403 A1 WO2017159403 A1 WO 2017159403A1 JP 2017008489 W JP2017008489 W JP 2017008489W WO 2017159403 A1 WO2017159403 A1 WO 2017159403A1
Authority
WO
WIPO (PCT)
Prior art keywords
cluster
customer
prediction
master data
prediction model
Prior art date
Application number
PCT/JP2017/008489
Other languages
English (en)
French (fr)
Inventor
昌史 小山田
慎二 中台
Original Assignee
日本電気株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 日本電気株式会社 filed Critical 日本電気株式会社
Priority to US15/750,335 priority Critical patent/US20180225581A1/en
Priority to JP2018505812A priority patent/JP6414363B2/ja
Publication of WO2017159403A1 publication Critical patent/WO2017159403A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • G06N5/048Fuzzy inferencing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • G06F16/285Clustering or classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/10Machine learning using kernel methods, e.g. support vector machines [SVM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/067Enterprise or organisation modelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0201Market modelling; Market analysis; Collecting market data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/11Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems

Definitions

  • the present invention relates to a prediction system, a prediction method, and a prediction program that predict an unknown value of an attribute.
  • Supervised learning represented by regression / discrimination is used for various analysis processes such as product demand prediction at retail stores and power consumption prediction. Supervised learning learns the relationship between input and output when given a pair of input and output, and predicts the output based on the learned relationship when given unknown input .
  • Non-Patent Document 1 describes a technique using a mixed model as one of Mixture of Experts.
  • the technology described in Non-Patent Document 1 clusters data (for example, product ID) based on data properties (for example, product price), and generates a prediction model for each cluster.
  • data for example, product ID
  • data properties for example, product price
  • a prediction model is generated based on “data having similar properties” belonging to the same cluster. Therefore, compared with the case where a prediction model is generated for the entire data, the technique described in Non-Patent Document 1 can generate a prediction model that captures more details, and the prediction accuracy is improved.
  • FIG. 23 is a diagram exemplifying the results of graphing the age and the number of times of use for the six persons.
  • the x-axis indicates age
  • the y-axis indicates the number of uses.
  • the function can be represented as a straight line shown in FIG.
  • the value of y when age x is substituted into this function is a predicted value of the number of uses. As can be seen from FIG. 23, the difference between this predicted value and the actual number of uses is large, and the prediction accuracy is low.
  • FIG. 24 shows an example of the age and the number of uses for each cluster and the prediction model in this case.
  • FIG. 24A is a graph corresponding to “beauty group”
  • FIG. 24B is a graph corresponding to “Liquor lover”.
  • the x-axis indicates the age
  • the y-axis indicates the number of uses.
  • Non-Patent Document 2 describes learning using IRM (Infinite Relational Model).
  • the learning described in Non-Patent Document 2 does not allow an unknown value to exist in the data set.
  • the data set used for learning is a set of customer IDs and various attribute values of the customer.
  • Non-Patent Document 1 a data set (for example, customer information) is clustered using attribute values (for example, customer age) of the data itself, and for each customer cluster having similar attributes, A prediction model of unknown attributes (eg, customer revenue) is generated. It is assumed that the unknown attribute is unknown with respect to some of the data, and there is data whose attribute value is known. In the above example, it is assumed that data in which the customer's income is known and data whose customer's income is unknown are mixed. As a result of generating the prediction model in this way, a prediction model that captures the characteristics of each cluster can be generated, and the prediction accuracy can be improved.
  • attribute values for example, customer age
  • a prediction model of unknown attributes eg, customer revenue
  • an object of the present invention is to provide a prediction system, a prediction method, and a prediction program capable of predicting an unknown attribute value with high accuracy.
  • the prediction system includes first master data, second master data, a first ID that is an ID of a record in the first master data, and a second ID that is an ID of a record in the second master data.
  • a co-clustering means for co-clustering the first ID and the second ID
  • a prediction model generation means for generating a prediction model for each cluster of the first ID output by the co-clustering means,
  • the first ID corresponds to the first ID based on the prediction model and the affiliation probability that the first ID belongs to each cluster.
  • a prediction means for predicting the value of the objective variable is provided.
  • the prediction system includes first master data including a customer and a customer attribute, second master data including a product and a product attribute, and fact data indicating a relationship between the customer and the product.
  • first master data including a customer and a customer attribute
  • second master data including a product and a product attribute
  • fact data indicating a relationship between the customer and the product.
  • a co-clustering means for co-clustering customers and products
  • a prediction model generating means for generating a prediction model for each customer cluster output by the co-clustering means
  • the purpose of the customer and customer attributes When a variable is specified, it is provided with a prediction means for predicting the value of the objective variable corresponding to the specified customer based on the prediction model and the belonging probability that the specified customer belongs to each cluster.
  • the prediction method includes the first master data, the second master data, the first ID that is the ID of the record in the first master data, and the ID of the record in the second master data. Based on the fact data indicating the relationship with the second ID, the first ID and the second ID are co-clustered, a prediction model is generated for each cluster of the first ID, and the attributes included in the first ID and the first master data are generated. When one objective variable is designated, the value of the objective variable corresponding to the first ID is predicted based on the prediction model and the affiliation probability that the first ID belongs to each cluster.
  • the prediction method includes first master data including a customer and customer attributes, second master data including a product and a product attribute, and fact data indicating a relationship between the customer and the product. Based on, customer and product are co-clustered, and a prediction model is generated for each customer cluster. When a customer and an objective variable that is one of the customer attributes are specified, the prediction model is specified. The value of the objective variable corresponding to the designated customer is predicted based on the membership probability that the customer belongs to each cluster.
  • the prediction program causes the computer to store the first master data, the second master data, the ID of the record in the first master data, and the records in the second master data.
  • Prediction model that generates a prediction model for each cluster of the first ID output by the co-clustering process for co-clustering the first ID and the second ID based on the fact data indicating the relationship with the second ID as the ID
  • the first ID, and an objective variable that is one of the attributes included in the first master data are specified, based on the prediction model and the affiliation probability that the first ID belongs to each cluster
  • a prediction process for predicting the value of the objective variable corresponding to the first ID is executed.
  • the prediction program shows a relationship between the first master data including the customer and the customer attribute, the second master data including the product and the product attribute, and the customer and the product.
  • co-clustering processing for co-clustering customers and products prediction model generation processing for generating a prediction model for each customer cluster output by the co-clustering processing, and one of customer and customer attributes
  • prediction model generation processing for generating a prediction model for each customer cluster output by the co-clustering processing
  • a prediction process is performed to predict the value of the target variable corresponding to the specified customer based on the prediction model and the probability that the specified customer belongs to each cluster. It is made to perform.
  • an unknown value of an attribute can be predicted with high accuracy.
  • FIG. 4 is an explanatory diagram illustrating an example of a result of integrating the first master data, the second master data, and the fact data illustrated in FIG. 3 illustrated in FIGS. 1 and 2. It is explanatory drawing which shows the example of 1st master data. It is explanatory drawing which shows the example of 2nd master data. It is explanatory drawing which shows the example of fact data. It is a functional block diagram which shows the example of the prediction system of the 2nd Embodiment of this invention. It is a flowchart which shows the example of the process progress of 2nd Embodiment.
  • first master data second master data
  • fact data are provided.
  • the master data may be referred to as dimension data.
  • first master data and the second master data may be referred to as first dimension data and second dimension data, respectively.
  • fact data may be referred to as transaction data or performance data.
  • the first master data and the second master data each include a plurality of records.
  • the ID of the record of the first master data is referred to as a first ID.
  • the ID of the record of the second master data is referred to as a second ID.
  • the first ID and the attribute value corresponding to the first ID are associated with each other.
  • values are unknown in some records.
  • the second ID is associated with the attribute value corresponding to the second ID.
  • the value may be unknown in some records regarding a specific attribute.
  • the case where all the attribute values are defined in the second master data will be described as an example.
  • first ID is a customer ID and the second ID is a product ID
  • first ID and the second ID are not limited to the customer ID and the product ID.
  • FIG. 1 is an explanatory diagram showing an example of first master data.
  • “?” Indicates that the value is unknown.
  • “age”, “annual income”, and “the number of times the esthetic salon is used annually” are illustrated as attributes corresponding to the customer ID (first ID).
  • first ID the customer ID
  • a value of “the number of times the esthetic salon is used per year” is set.
  • the value of “the number of times the esthetic salon is used per year” is unknown.
  • the values of other attributes (“age”, “annual income”) are determined in each record. It can be said that the master data illustrated in FIG. 1 is customer data.
  • FIG. 2 is an explanatory diagram showing an example of second master data.
  • product name and “price” are illustrated as attributes corresponding to the product ID (second ID). All the attribute values shown in FIG. 2 are defined.
  • the master data illustrated in FIG. 2 is product data.
  • the fact data is data indicating the relationship between the first ID and the second ID.
  • FIG. 3 is an explanatory diagram showing an example of fact data.
  • a relationship is indicated as to whether or not the customer specified by the customer ID (first ID) has a record of purchasing the product specified by the product ID (second ID).
  • “1” indicates that the customer has purchased the product
  • “0” indicates that there is no record.
  • “Customer 1” has purchased “Product 1” but has not purchased “Product 2”.
  • the value indicating the relationship between the first ID and the second ID is not limited to binary (“0” and “1”).
  • the value indicating the relationship between the customer ID and the product ID may be the number of products purchased by the customer.
  • the fact data illustrated in FIG. 3 can be said to be purchase record data.
  • Clustering is a task of dividing data into a plurality of groups called clusters.
  • clustering data is divided so that some kind of property is defined in the data and data having similar properties belong to the same cluster.
  • Clustering includes hard clustering and soft clustering.
  • FIG. 4 is a schematic diagram illustrating an example of a result of hard clustering.
  • FIG. 5 is a schematic diagram illustrating an example of the result of soft clustering.
  • hard clustering can be regarded as a clustering in which the affiliation probability of each data is “1.0” in one cluster and “0.0” in all remaining clusters. That is, the result of hard clustering can also be expressed by a binary membership probability. Further, in the process of deriving the result of hard clustering, a membership probability in the range of 0.0 to 1.0 may be used. Finally, the process of setting the membership probability to “1.0” and the membership probability of each other cluster to “0.0” in the cluster having the maximum membership probability may be performed for each data. .
  • Embodiment 1 The inventor of the present invention uses the IRM described in Non-Patent Document 2 to co-cluster the first ID and the second ID when the first master data, the second master data, and the fact data are given. The processing was examined. Hereinafter, the flow of this process will be described. Further, in the first embodiment of the present invention, when the first master data, the second master data, and the fact data are given, the first ID and the second ID are co-clustered. The processing to be performed will be described.
  • a probability model is held between each cluster of the first ID and each cluster of the second ID (on the product space of the clusters).
  • a probability model is typically a Bernoulli distribution that represents the strength of the relationship between clusters.
  • the value of the probability model between that cluster and each cluster of the other ID in this example, the second ID
  • the probability that a certain customer ID belongs to a certain customer ID cluster is the product indicated by the product ID belonging to the product ID cluster closely related to that customer ID cluster. Is determined by how many customers indicated by the customer ID have purchased.
  • the belonging probability to each cluster of the first ID (each cluster having the first ID as an element) and the belonging probability to each cluster of the second ID (each cluster having the second ID as an element) are updated.
  • the affiliation probability is determined from fact data (for example, purchase record data illustrated in FIG. 3) and attributes corresponding to the first ID and the second ID (for example, the age of the customer and the price of the product).
  • the weight (prior probability) of each cluster of the first ID and the weight (prior probability) of each cluster of the second ID are updated. For example, when there are many records of young people in the first master data (see FIG. 1), the prior probability that the first ID belongs to the cluster of the younger generation is increased.
  • the cluster model information is information indicating the statistical properties of the attribute values corresponding to the IDs belonging to the cluster. It can be said that the model information of a cluster expresses the properties of typical elements of the cluster. For example, the cluster model information can be represented by the average or variance of attribute values corresponding to IDs belonging to the cluster.
  • the affiliation probability of each cluster of the first ID and the affiliation probability of each cluster of the second ID is known, it is possible to calculate cluster model information (for example, the average age of customers and the average price of products). it can.
  • the probability model held between each cluster of the first ID and each cluster of the second ID is updated based on the belonging probability of each ID. For example, the relationship between a certain customer ID cluster and a certain product ID cluster becomes stronger as there is a relationship (for example, purchase results) between the customer ID and the product ID belonging to those clusters.
  • the prediction model is updated using the value of the attribute corresponding to the first ID belonging to the cluster. For example, the weight of the support vector machine is updated.
  • the belonging probability to each cluster of the first ID (each cluster having the first ID as an element) and the belonging probability to each cluster of the second ID (each cluster having the second ID as an element) are updated.
  • the affiliation probability is determined from fact data (for example, purchase record data illustrated in FIG. 3) and attributes corresponding to the first ID and the second ID (for example, the age of the customer and the price of the product).
  • the prediction model for each cluster is also taken into consideration. For example, regarding a certain first ID, the higher the prediction accuracy by the prediction model, the higher the belonging probability of the first ID.
  • the weight (prior probability) of each cluster of the first ID and the weight (prior probability) of each cluster of the second ID are updated. For example, when there are many records of young people in the first master data (see FIG. 1), the prior probability that the first ID belongs to the cluster of the younger generation is increased. (3-2) For each cluster having the first ID as an element and each cluster having the second ID as an element, update the cluster model information based on the current cluster assignment. In addition, since the affiliation probability of each cluster of the first ID and the affiliation probability of each cluster of the second ID is known, it is possible to calculate cluster model information (for example, the average age of customers and the average price of products). it can.
  • the probability model held between each cluster of the first ID and each cluster of the second ID is updated based on the belonging probability of each ID. For example, the relationship between a certain customer ID cluster and a certain product ID cluster becomes stronger as there is a relationship (for example, purchase results) between the customer ID and the product ID belonging to those clusters.
  • FIG. 6 is a functional block diagram illustrating an example of the co-clustering system according to the first embodiment of this invention.
  • the co-clustering system 1 includes a data input unit 2, a processing unit 3, a storage unit 4, and a result output unit 5.
  • the processing unit 3 includes an initialization unit 31 and a clustering unit 32.
  • the clustering unit 32 includes a prediction model learning unit 321, a cluster allocation unit 322, a cluster information calculation unit 323, a cluster relationship calculation unit 324, and an end determination unit 325.
  • the data input unit 2 acquires a data group used for co-clustering and a set value for clustering.
  • the data input unit 2 may access an external device to acquire a data group and a set value for clustering.
  • the data input unit 2 may be an input interface to which a data group and a set value for clustering are input.
  • the data group used for co-clustering includes first master data (for example, customer data illustrated in FIG. 1), second master data (for example, product data illustrated in FIG. 2), and fact data (for example, Purchase result data illustrated in FIG. 3).
  • first master data for example, customer data illustrated in FIG. 1
  • second master data for example, product data illustrated in FIG. 2
  • fact data for example, Purchase result data illustrated in FIG. 3
  • the attributes of the first master data with respect to a specific attribute, the value is unknown in some records.
  • the technology described in Non-Patent Document 2 does not allow an attribute whose value is not determined to exist in input data. That is, the technique described in Non-Patent Document 2 does not allow a missing attribute value. Therefore, the point that the value of a specific attribute is unknown in some records is different from the technique described in Non-Patent Document 2.
  • the set value of clustering is, for example, the maximum value of the number of clusters of the first ID, the maximum value of the number of clusters of the second ID, the designation of master data for generating the prediction model, the attribute used as an explanatory variable in the prediction model, And the type of prediction model.
  • the prediction model is used to predict the value of a specific attribute whose value is not fixed. Therefore, in this example, the first master data is designated as the master data for generating the prediction model.
  • the specific attribute (for example, “the number of times the esthetic salon is used per year” shown in FIG. 1) is designated as the attribute that is the objective variable in the prediction model.
  • the prediction model type includes, for example, support vector machine, support vector regression, logistic regression, and the like.
  • One of various prediction models is designated as the type of prediction model.
  • the initialization unit 31 receives the first master data, the second master data, the fact data, and the set values for clustering from the data input unit 2, and stores them in the storage unit 4.
  • the initialization unit 31 initializes various parameters used for clustering.
  • the clustering unit 32 realizes co-clustering of the first ID and the second ID by iterative processing. Hereinafter, each part with which the clustering part 32 is provided is demonstrated. It is assumed that first master data is designated as master data for generating a prediction model.
  • the prediction model learning unit 321 learns a prediction model of an attribute corresponding to the objective variable for each cluster related to master data (first master data) for generating a prediction model (that is, for each cluster of the first ID).
  • the prediction model learning unit 321 uses the value of the attribute corresponding to the first ID belonging to the cluster as teacher data when generating a prediction model corresponding to the cluster.
  • FIG. 7 is an explanatory diagram of teacher data used when the prediction model learning unit 321 generates a learning model.
  • the prediction model learning unit 321 generates a prediction model corresponding to the cluster 1 using each attribute value corresponding to the customers 1 and 2 as teacher data, and uses each attribute value corresponding to the customer 3 as teacher data. Then, a prediction model corresponding to cluster 2 is generated.
  • the prediction model learning unit 321 uses the attribute values of all records that do not include an unknown value as teacher data when generating a prediction model corresponding to the cluster. At this time, the prediction model learning unit 321 weights the attribute value of each record by the affiliation probability of each first ID to the cluster, and generates a prediction model using the weighted result. Therefore, the teacher data corresponding to the first ID having a high belonging probability to the cluster has a strong influence in the prediction model corresponding to the cluster, and the teacher data corresponding to the first ID having a low belonging probability to the cluster is Does not affect much in the prediction model.
  • the cluster allocation unit 322 performs cluster allocation for each first ID and each second ID. It can also be said that the cluster assignment unit 322 co-clusters the first ID and the second ID. As already described, the result of hard clustering can also be expressed by a binary affiliation probability. Further, in the process of deriving the result of hard clustering, a membership probability in the range of 0.0 to 1.0 may be used. Here, the operation of the cluster assigning unit 322 will be described using the affiliation probability without distinguishing between hard clustering and soft clustering.
  • the cluster allocation unit 322 refers to two pieces of information when executing cluster allocation.
  • the first information is fact data.
  • the probability that a certain customer ID belongs to a certain customer ID cluster is determined by how much the customer specified by the customer ID purchases the product specified by the product ID belonging to the product ID cluster closely related to the customer ID cluster. It depends on what you are doing. The same applies to the probability that a certain product ID belongs to a certain product ID cluster.
  • the cluster allocating unit 322 refers to the fact data when obtaining the affiliation probability of the first ID to each cluster and the affiliation probability of the second ID to each cluster. Details of this operation will be described later.
  • the second information is the accuracy of the prediction model.
  • a prediction model is generated for each customer ID cluster (first ID cluster).
  • the cluster allocation unit 322 applies the record corresponding to the customer ID belonging to the customer ID cluster to the prediction model corresponding to the customer ID cluster, calculates the predicted value of the attribute serving as the objective variable, Calculate the difference from the correct value (actual value shown in the record). This difference is the accuracy of the prediction model.
  • the affiliation probability of the customer ID is corrected so that the affiliation probability of the customer ID is lowered.
  • the cluster assigning unit 322 performs this correction for each customer ID cluster. By this operation, the clustering result is adjusted so that the accuracy of the prediction model is improved.
  • the cluster information calculation unit 323 refers to the cluster assignment (affiliation probability) of each first ID and each second ID, calculates model information of each cluster of the first ID and each cluster of the second ID, and is stored in the storage unit 4 Update model information for each cluster.
  • the cluster model information is information representing the statistical properties of the attribute values corresponding to the IDs belonging to the cluster. For example, in each customer ID cluster, when the annual income of each customer follows a normal distribution, the model information of each customer ID cluster is an average value and a variance value in the normal distribution.
  • the cluster model information is used for determining cluster allocation and calculating the cluster relationship described later.
  • the cluster relationship calculation unit 324 calculates a cluster relationship between each cluster of the first ID and each cluster of the second ID, and updates the cluster relationship stored in the storage unit 4.
  • a cluster relationship is a value that represents the nature of a combination of clusters.
  • the cluster relationship calculation unit 324 calculates a cluster relationship for each combination of the first ID cluster and the second ID cluster based on the fact data. Accordingly, the cluster relationship is calculated by the product of the number of first clusters and the number of clusters of the second ID.
  • FIG. 8 is a schematic diagram illustrating an example of a cluster relationship. In the example shown in FIG.
  • the cluster relationship between the customer ID cluster 2 and the product ID cluster 1 is 0.1, which is a value close to 0. This means that the customer specified by the customer ID belonging to the customer ID cluster 2 rarely purchases the product specified by the product ID belonging to the product ID cluster 1 (the relationship is Represents weakness).
  • the cluster relationship calculation unit 324 may calculate the cluster relationship by calculating the following formula (A).
  • k 1 represents the ID of the first ID cluster
  • k 2 represents the ID of the second ID cluster
  • a [1] k1k2 and b [1] k1k2 are parameters used for calculation of the cluster relationship. as a [1] k1k2 is large, k 1 and the relationship of k 2 is strong, b [1] k1k2 the relationship of about k 1 and k 2 large weak.
  • the hat symbol shown in the mathematical formula is omitted.
  • the cluster relationship calculation unit 324 may calculate a [1] k1k2 by the following equation (B). Further, the cluster relationship calculation unit 324 may calculate b [1] k1k2 by the following equation (C).
  • d 1 represents the order of the first IDs
  • D (1) represents the total number of the first IDs
  • d 2 represents the order of the second IDs
  • D (2) represents the total number of the second IDs.
  • ⁇ d1, k2 (1) is the probability that the d 1st first ID belongs to the cluster k 1 .
  • ⁇ d2, k2 (2) is the probability that the d 2nd second ID belongs to the cluster k 2 .
  • x d1d2 is a value in the fact data corresponding to the combination of d 1 and d 2 .
  • the customer ID (first ID) is represented by a variable i.
  • the product ID (second ID) is represented by a variable j.
  • x is a value in fact data (see FIG. 10) corresponding to a combination of subscripts i and j. Therefore, in the example shown in FIG. 10, x is 1 or 0.
  • is a cluster relationship corresponding to a combination of subscripts k 1 and k 2 .
  • E q is an operation for obtaining an expected value of probability
  • E q [logp (x i 1, j )
  • the expected value of the probability that the customer i 1 buys the product j.
  • the cluster allocation unit 322 also obtains the probability that the customer ID of interest belongs to another customer ID cluster by the same calculation. In the case of hard clustering, the cluster allocating unit 322 may determine that the customer ID of interest belongs only to the customer ID cluster having the highest affiliation probability obtained as a result. The cluster assigning unit 322 also calculates the probability of belonging to each customer ID cluster for other customer IDs.
  • the cluster assigning unit 322 also obtains the probability that each product ID belongs to each product ID cluster by the same calculation.
  • the cluster allocation unit 322 may perform the affiliation probability correction using the prediction model.
  • the clustering unit 32 repeats the processing by the prediction model learning unit 321, the processing by the cluster allocation unit 322, the processing by the cluster information calculation unit 323, and the processing by the cluster relationship calculation unit 324.
  • the end determination unit 325 determines whether or not to end the above series of processing. When the end condition is satisfied, the end determination unit 325 determines to end the above-described series of processing, and when the end condition is not satisfied, the end determination unit 325 determines to continue the repetition.
  • the end condition is satisfied, the end determination unit 325 determines to end the above-described series of processing, and when the end condition is not satisfied, the end determination unit 325 determines to continue the repetition.
  • the number of repetitions of the above-described series of processing may be determined in the set values for clustering.
  • the end determination unit 325 may determine to end the repetition when the number of repetitions of the series of processes reaches a predetermined number.
  • the clustering accuracy may be derived and the clustering accuracy may be stored in the storage unit 4.
  • the end determination unit 325 calculates the amount of change from the previously derived clustering accuracy to the most recently derived clustering accuracy, and if the amount of change is small (specifically, the absolute value of the amount of change is If it is less than or equal to a predetermined threshold), it may be determined that the repetition is to be terminated.
  • the cluster allocation unit 322 may calculate, for example, the likelihood of a clustering model as the clustering accuracy. In the case of hard clustering, the cluster allocation unit 322 may calculate, for example, Pseudo F as the clustering accuracy.
  • the storage unit 4 is a storage device that stores various data acquired by the data input unit 2 and various data obtained by the processing of the processing unit 3.
  • the storage unit 4 may be a main storage device of a computer or a secondary storage device. In the case where the storage unit 4 is a secondary storage device, the clustering unit 32 can suspend processing and resume processing thereafter.
  • the storage unit 4 is divided into a main storage device and a secondary storage device, and the processing unit 3 stores part of the data in the main storage device and other data in the secondary storage device. It may be memorized.
  • the result output unit 5 outputs the result of the processing by the clustering unit 32 stored in the storage unit 4. Specifically, the result output unit 5 outputs all or part of the prediction model, cluster assignment, cluster relationship, and cluster model information as the processing result.
  • the cluster assignment is a probability of belonging to each cluster of each first ID and a probability of belonging to each cluster of each second ID.
  • the cluster allocation may be information directly indicating which cluster each first ID belongs to, and information directly indicating which cluster each second ID belongs to. .
  • the manner in which the result output unit 5 outputs the result is not particularly limited.
  • the result output unit 5 may output the result to another device.
  • the result output unit 5 may display the result on the display device.
  • the prediction model learning unit 321, the cluster allocation unit 322, the cluster information calculation unit 323, the clustering unit 32 including the cluster relation calculation unit 324 and the end determination unit 325, the data input unit 2, the initialization unit 31, and the result output unit 5 For example, it is realized by a CPU of a computer that operates according to a program (co-clustering program). In this case, for example, the CPU reads a program from a program recording medium such as a computer program storage device (not shown in FIG. 6), and in accordance with the program, the data input unit 2, the initialization unit 31, the clustering unit 32, and the result The output unit 5 may be operated.
  • each element in the co-clustering system 1 shown in FIG. 6 may be realized by dedicated hardware.
  • system 1 of the present invention may have a configuration in which two or more physically separated devices are connected by wire or wirelessly. This also applies to each embodiment described later.
  • FIG. 11 is a flowchart illustrating an example of processing progress of the first embodiment.
  • the data input unit 2 acquires a data group (first master data, second master data, and fact data) used for co-clustering and a set value for clustering (step S1).
  • the initialization unit 31 causes the storage unit 4 to store the first master data, the second master data, the fact data, and the clustering setting value.
  • the initialization unit 31 sets initial values for “cluster model information”, “cluster assignment”, and “cluster relation”, and stores the initial values in the storage unit 4 (step S2).
  • the initial value in step S2 may be arbitrary.
  • the initialization unit 31 may derive each initial value as shown below, for example.
  • the initialization unit 31 may calculate an average value of attribute values in the first master data, and may determine the average value as model information of clusters in all clusters of the first ID. Similarly, the initialization unit 31 may calculate an average value of attribute values in the second master data, and may determine the average value as model information of clusters in all clusters of the second ID.
  • the initialization unit 31 may determine the initial value of cluster allocation as follows. In the case of hard clustering, the initialization unit 31 randomly assigns each first ID to any cluster, and similarly assigns each second ID to any cluster at random. Further, in the case of soft clustering, the initialization unit 31 uniformly determines the probability of belonging to each cluster for each first ID. For example, when the number of clusters of the first ID is two, the affiliation probability to the first cluster and the second affiliation probability of each first ID are set to 0.5. Similarly, the initialization unit 31 uniformly determines the belonging probability to each cluster for each second ID.
  • the initialization unit 31 may set the cluster relationship to the same value (for example, 0.5) for each combination of the first ID cluster and the second ID cluster.
  • step S2 the clustering unit 32 repeats the processing of steps S3 to S7 until the end condition is satisfied.
  • steps S3 to S7 will be described.
  • the prediction model learning unit 321 refers to the information stored in the storage unit 4 and sets an attribute whose value is unknown in some records in the first master data for each cluster of the first ID.
  • the prediction model is learned.
  • the prediction model learning part 321 memorize
  • the cluster allocation unit 322 updates the cluster allocation of each first ID and the cluster allocation of the second ID stored in the storage unit 4 (step S4).
  • the cluster allocation unit 322 reads the cluster allocation, fact data, and cluster relationship stored in the storage unit 4, and based on these, newly allocates the cluster allocation of each first ID and the cluster allocation of the second ID. Determine.
  • the cluster allocation unit 322 calculates a predicted value of an attribute serving as an objective variable using the prediction model corresponding to the cluster, and the difference between the predicted value and the correct value. (Prediction model accuracy) is calculated.
  • the cluster allocation unit 322 increases the probability of belonging to the first ID belonging to the cluster of interest as the difference is smaller, and the membership of the first ID belonging to the cluster of interest as the difference is larger.
  • the affiliation probability of the first ID is corrected so as to reduce the probability.
  • the cluster allocation unit 322 does not need to perform this process for each cluster for which no prediction model has been generated (that is, each cluster of the second ID).
  • the cluster allocation unit 322 stores the updated cluster allocation of each first ID and the cluster allocation of each second ID in the storage unit 4.
  • the cluster information calculation unit 323 refers to the first master data and the allocation of each first ID cluster, and uses the value of the attribute corresponding to the first ID belonging to the cluster for each cluster of the first ID, Recalculate the cluster model information. Similarly, the cluster information calculation unit 323 refers to the second master data and the cluster assignment of each second ID, and uses the value of the attribute corresponding to the second ID belonging to the cluster for each cluster of the second ID to Recalculate model information. The cluster information calculation unit 323 updates the cluster model information stored in the storage unit 4 with the newly calculated cluster model information (step S5).
  • the cluster relation calculation unit 324 refers to the cluster assignment of each first ID, the cluster assignment of each second ID, and the fact data, and calculates the cluster relation for each combination of the first ID cluster and the second ID cluster. cure.
  • the cluster relationship calculation unit 324 updates the cluster relationship stored in the storage unit 4 with the newly calculated cluster relationship (step S6).
  • the end determination unit 325 determines whether or not the end condition is satisfied (step S7). If the end condition is not satisfied (No in step S7), the end determination unit 325 determines to repeat steps S3 to S7. Then, the clustering unit 32 executes steps S3 to S7 again.
  • the end determination unit 325 determines to end the repetition of steps S3 to S7. In this case, the result output unit 5 outputs the result of the processing by the clustering unit 32 at that time, and the processing of the co-clustering system 1 ends.
  • the cluster allocation unit 322 refers to the fact data and performs cluster allocation of the first ID and the second ID.
  • the cluster allocation unit 322 refers to the fact data and executes co-clustering of the first ID and the second ID.
  • the prediction model learning unit 321 generates a prediction model for each cluster. As a result, a different prediction model is obtained for each cluster.
  • the fact data represents the relationship between the first ID and the second ID. For example, the fact data represents a relationship such that “customer 1” has purchased “product 1” but “product 2” has never purchased it.
  • the clustering result of the first ID in the present embodiment provides a more appropriate cluster as compared to the clustering result when the first ID is clustered based simply on the attribute value in the first master data.
  • the prediction model learning unit 321 adjusts the belonging probability of the ID belonging to the cluster according to the prediction accuracy of the cluster. Also from this, a more appropriate cluster can be obtained. Therefore, the prediction accuracy of the prediction model for each cluster can be further improved.
  • the customer data illustrated in FIG. 1 has been described with an example in which the value of a specific attribute is unknown in some records.
  • the value of each attribute is all determined, and in the product data illustrated in FIG. 2, the value of a specific attribute may be unknown in some records.
  • the co-clustering system 1 may perform the same processing as in the first embodiment, with the product data as the first master data and the customer data as the second master data.
  • the value of a specific attribute may be unknown in some records.
  • the prediction model learning unit 321 may learn the prediction model for each cluster of the first ID and learn the prediction model for each cluster of the second ID.
  • the cluster allocation unit 322 may use the accuracy of the prediction model corresponding to the cluster of the second ID when determining the affiliation probability to each cluster regarding the second ID.
  • the following method can be considered apart from the method according to the first embodiment. Specifically, by adding information indicated by the second master data and fact data to each record of the first master data, the first master data, the second master data, and the fact data are integrated, A method of learning a prediction model based on the data after integration without performing clustering is conceivable. However, the prediction accuracy of the prediction model obtained by this method is lower than the prediction accuracy of the prediction model obtained in the first embodiment described above. This point will be specifically described.
  • FIG. 12 is an explanatory diagram showing an example of a result of integrating the first master data, the second master data, and the fact data shown in FIG. 3 shown in FIGS.
  • the column corresponding to the product name such as “carbonated water” and “shochu” “1” or “0” is stored based on the fact data (see FIG. 3). “1” means that the customer has purchased the product, and “0” means that the customer has never purchased the product.
  • FIG. 12 illustrates the case where the price of the product is stored in the column next to the product name such as “carbonated water” and “shochu”.
  • the integration result shown in FIG. 12 is expressed in a format in which each column other than the customer ID is an attribute of the customer ID. This means that some information indicated by the master data before integration is lost.
  • the price of carbonated water is not originally an attribute of a customer ID, but is formally expressed as an attribute of a customer ID.
  • the information indicated in the second master data (see FIG. 2) before the integration that the price of “carbonated water” is “150”. , Will be lost.
  • the prediction accuracy of the prediction model is lower than the prediction accuracy of the prediction model obtained in the first embodiment.
  • Embodiment 2 a prediction system that executes co-clustering, generates a prediction model for each cluster of the first ID, and further executes prediction based on the prediction model will be described.
  • the first master data, the second master data, and the fact data are also input to the prediction system according to the second embodiment of the present invention.
  • the first master data, the second master data, and the fact data in the second embodiment are respectively the same as the first master data, the second master data, and the fact data in the first embodiment.
  • the value is unknown in some records for a specific attribute.
  • the first ID (the ID of the record of the first master data) is the customer ID
  • the first master data represents the correspondence between the customer and the attribute of the customer.
  • the second ID (the ID of the record of the second master data) is the product ID
  • the second master data represents the correspondence between the product and the attribute of the product.
  • the customer ID represents a customer
  • the customer ID may be simply referred to as a customer
  • the product ID may be simply referred to as a product.
  • the second embodiment will be described with reference to the first master data illustrated in FIG. 13 and the second master data illustrated in FIG.
  • attributes other than the attributes shown in FIG. 13 may be indicated.
  • attributes other than the attributes shown in FIG. 14 may be indicated.
  • the fact data is data indicating the relationship between the first ID (customer ID) and the second ID (product ID).
  • the fact data indicates a relationship as to whether or not a customer has a record of purchasing a product.
  • “1” indicates that the customer has a record of purchasing the product and “0” indicates that there is no record.
  • FIG. 16 is a functional block diagram showing an example of the prediction system of the second embodiment of the present invention.
  • a prediction system 500 according to the second embodiment of the present invention includes a co-clustering unit 501, a prediction model generation unit 502, and a prediction unit 503.
  • the first master data, the second master data, and the fact data are input to the prediction system 500.
  • the co-clustering unit 501 co-clusters the first ID (customer ID) and the second ID (product ID) based on the first master data, the second master data, and the fact data. It can also be said that the co-clustering unit 501 co-clusters customers and products based on the first master data, the second master data, and the fact data.
  • the method in which the co-clustering unit 501 co-clusters the customer ID and the product ID based on the first master data, the second master data, and the fact data may be a known co-clustering method. Further, the co-clustering unit 501 may execute soft clustering or hard clustering as co-clustering.
  • the process of repeating the generation of the prediction model and the co-clustering process (more specifically, the process of steps S3 to S7) is shown until it is determined that the predetermined condition is satisfied.
  • the prediction model generation unit 502 described later generates a prediction model after the co-clustering of the customer ID and the product ID by the co-clustering unit 501 is completed.
  • the prediction model generation unit 502 When the co-cluster rig by the co-clustering unit 501 is completed, the prediction model generation unit 502 generates a prediction model for each cluster of customer IDs.
  • the prediction model generation unit 502 generates a prediction model having an attribute in the first master data whose value is unknown in some records as an objective variable. For example, the prediction model generation unit 502 generates a prediction model having “an annual number of times of using an esthetic salon” illustrated in FIG. 13 as an objective variable.
  • the prediction model generation unit 502 generates a prediction model having some or all of the attributes in the first master data having no unknown value as explanatory variables. For example, the prediction model generation unit 502 generates a prediction model having “age” and “annual income” shown in FIG. 13 as explanatory variables. For example, the prediction model generation unit 502 may generate a prediction model having “age” alone (or “annual income” only) as an explanatory variable.
  • the prediction model generation unit 502 may use not only the attribute in the first master data but also the aggregate value calculated from the value of the attribute in the second master data as the explanatory variable. However, when using the aggregate value calculated from the attribute value in the second master data as the explanatory variable, the prediction model generation unit 502 determines that the second master is determined to be related to the customer ID based on the fact data. Let the statistical value of the attribute value in each record in the data be an explanatory variable.
  • “statistic value of attribute value in each record in second master data determined to be related to customer ID by fact data” for example, “maximum of prices of products purchased by customer” Value ”,“ average price of the product purchased by the customer ”, etc., but are not limited thereto.
  • “a product purchased by the customer” corresponds to a record in the second master data determined to be related to the customer ID by the fact data.
  • the prediction model generation unit 502 may use price statistics (for example, maximum value, average value, etc.) in such records as explanatory variables.
  • price statistics for example, maximum value, average value, etc.
  • the prediction model generation unit 502 pays attention to the customer ID that can specify the value of the explanatory variable and the value of the objective variable, specifies the value of the explanatory variable and the value of the objective variable, and uses these values as teacher data.
  • a prediction model may be generated by performing learning. The prediction model generation unit 502 may perform this process for each cluster.
  • explanatory variables and objective variables can be specified. For example, values such as “age” and “annual income” of “customer 1” and “customer 2” and “the number of times of using the esthetic salon per year” can be specified from the first master data. Further, based on the fact data (see FIG. 15), the prediction model generation unit 502 determines that the product purchased by “customer 1” is only “carbonated beverage P”, and “carbonated beverage P” in the second master table. “130” can be specified as the attribute statistic in the record. That is, the prediction model generation unit 502 can specify the maximum value among the prices of the products purchased by the customer 1 by referring to the fact data.
  • the prediction model generation unit 502 determines that the products purchased by “customer 2” are “confectionery 1” and “carbonated beverage P”, and the second master table “130” can be specified as the attribute statistic in the record of “confectionery 1” and the record of “carbonated drink P”. That is, the prediction model generation unit 502 can specify the maximum value among the prices of the products purchased by the customer 2 by referring to the fact data. Therefore, data related to “customer 1” and “customer 2” can be used as teacher data.
  • the teacher data value may be weighted according to the affiliation probability that the customer ID belongs to each cluster.
  • the prediction unit 503 receives designation of a customer ID and a target variable (in the embodiment, an attribute called “the number of times of using an esthetic salon per year”) from a user of the prediction system 500, for example. Then, the prediction unit 503 predicts the value of the objective variable corresponding to the designated customer ID using the prediction model generated by the prediction model generation unit 502.
  • a target variable in the embodiment, an attribute called “the number of times of using an esthetic salon per year”
  • the prediction unit 503 identifies a cluster to which the specified customer ID belongs, and uses the prediction model corresponding to the cluster to determine the value of the objective variable corresponding to the customer ID Predict.
  • the prediction unit 503 specifies the value of the explanatory variable for the specified customer ID, and applies the value of the explanatory variable to the prediction model corresponding to the cluster to which the specified customer ID belongs, thereby predicting the value. May be calculated.
  • the explanatory variables are “age” and “maximum value of the price of the product purchased by the customer”.
  • “customer 4” shown in FIG. 13 is designated.
  • the prediction unit 503 specifies the age “50” of “customer 4” from the first master data. Further, the prediction unit 503 determines that the products purchased by the “customer 4” are “confectionery 1”, “carbonated beverage P”, and “carbonated beverage Q” based on the fact data (see FIG. 15).
  • the prediction unit 503 may apply the values “50” and “130” of the explanatory variables to the prediction model corresponding to the cluster to which “customer 4” belongs.
  • the prediction unit 503 predicts the value of the objective variable corresponding to the designated customer ID for each prediction model corresponding to each cluster of customer IDs.
  • the operation of predicting the value of the objective variable by focusing on one prediction model is the same as the above operation, and the description thereof is omitted.
  • the prediction unit 503 obtains a prediction value for each prediction model corresponding to each cluster, and then weights and adds each prediction value by the affiliation probability that the specified customer ID belongs to each cluster, and the result is an objective variable. As the value of.
  • the co-clustering unit 501, the prediction model generation unit 502, and the prediction unit 503 are realized by a CPU of a computer that operates according to a program (prediction program), for example.
  • the CPU reads a program from a program recording medium such as a computer program storage device (not shown in FIG. 16), and the co-clustering unit 501, the prediction model generation unit 502, and the prediction unit 503 according to the program.
  • the co-clustering unit 501, the prediction model generation unit 502, and the prediction unit 503 may be realized by dedicated hardware, respectively.
  • FIG. 17 is a flowchart illustrating an example of processing progress of the second embodiment.
  • the co-clustering unit 501 determines the customer ID based on the first master data, the second master data, and the fact data. And the product ID are co-clustered (step S101).
  • the co-clustering method in step S101 may be a known co-clustering method.
  • the co-clustering unit 501 outputs each cluster obtained as a result of the co-clustering to the prediction model generation unit 502.
  • the prediction model generation unit 502 When the co-clustering of the customer ID and the product ID is completed, the prediction model generation unit 502 generates a prediction model for each cluster of customer IDs output by the co-clustering unit 501 (step S102). Since the details of the operation of the prediction model generation unit 502 have already been described, description thereof is omitted here.
  • step S102 when the prediction unit 503 receives the customer ID and the objective variable designation, the prediction unit 503 predicts the value of the objective variable corresponding to the designated customer ID using the prediction model generated in step S102 ( Step S103). Since the details of the operation of the prediction unit 503 have already been described, the description thereof is omitted here.
  • the co-clustering unit 501 co-clusters the customer ID (first ID) and the product ID (second ID) based on the first master data, the second master data, and the fact data. . Therefore, the clustering accuracy of each of the customer ID and the product ID is improved as compared with the case where the customer ID is clustered based only on the first master data or the case where the product ID is clustered based only on the second master data.
  • the prediction model generation unit 502 For each cluster of customer IDs clustered with such good accuracy, the prediction model generation unit 502 generates a prediction model. Accordingly, the accuracy of the prediction model is improved, and the accuracy of the predicted value of the objective variable obtained based on the prediction model is also increased. That is, according to the prediction system of the second embodiment, prediction can be performed with high accuracy.
  • the prediction model generation unit 502 includes not only the attribute of the first master data but also the attribute value statistic in each record in the second master data determined to be related to the customer ID by the fact data. Are also preferably used as explanatory variables for the prediction model. By using such a statistic as an explanatory variable, the accuracy of the prediction model can be further improved, and as a result, the accuracy of the prediction value obtained based on the prediction model is further improved.
  • Embodiment 3 FIG. In the second embodiment, unlike the first embodiment, a system that generates a prediction model after co-clustering is completed without repeating generation of a prediction model and co-clustering processing has been described.
  • the co-clustering system according to the third embodiment of the present invention co-clusters the first ID and the second ID by repeating the processing of steps S3 to S7, and performs prediction corresponding to the cluster. Generate a model. Furthermore, the co-clustering system of the third exemplary embodiment of the present invention predicts the value of the objective variable when test data is input.
  • FIG. 18 is a functional block diagram illustrating an example of the co-clustering system according to the third embodiment of this invention.
  • the same elements as those in the first embodiment are denoted by the same reference numerals as those in FIG.
  • the co-clustering system 1 of the third embodiment further includes a test data input unit 6, a prediction unit 7, and a prediction result output unit. 8.
  • the processing unit 3 completes the processing described in the first embodiment, the first ID and the second ID are classified into clusters, and a prediction model is generated for each cluster of the first ID. explain.
  • the test data input unit 6 acquires test data.
  • the test data input unit 6 may obtain test data by accessing an external device, for example.
  • the test data input unit 6 may be an input interface through which test data is input.
  • the test data includes a new first ID record in which the objective variable (for example, “the number of times of use of the esthetic salon per year” in the first master data shown in FIG. 1) is unknown, and the new first ID and the second ID. And data indicating the relationship with the second ID in the master data.
  • the objective variable for example, “the number of times of use of the esthetic salon per year” in the first master data shown in FIG. 1
  • the new first ID and the second ID And data indicating the relationship with the second ID in the master data.
  • the new first ID record is, for example, a record of a member who has just registered as a member of a certain service.
  • this record it is assumed that values of attributes (for example, “age”, “annual income”, etc.) other than the attribute corresponding to the objective variable are defined.
  • customer product purchase history data specified by the new first ID can be cited. It can also be said that the data indicating the relationship between the new first ID and the second ID in the second master data is fact data relating to the new first ID.
  • the prediction unit 7 specifies a cluster to which the new first ID included in the test data belongs. At this time, the prediction unit 7 may specify a cluster based on the value of the attribute included in the new first ID record. For example, the prediction unit 7 determines the attribute values (for example, “age” and “annual income” values) included in the new first ID record, and the attribute values in each first ID record belonging to each cluster. And the cluster having the closest attribute value of the first ID to the attribute value included in the new record of the first ID may be specified. The prediction unit 7 may regard the cluster as a cluster to which the new first ID belongs.
  • the prediction unit 7 determines, based on data indicating the relationship between the new first ID and the second ID in the second master data (for example, product purchase history data), the customer specified by the new first ID.
  • a product purchase tendency may be specified, and a cluster of the first ID having the same product purchase tendency may be specified.
  • the prediction unit 7 may regard the cluster as a cluster to which the new first ID belongs.
  • the prediction unit 7 identifies the cluster to which the first ID belongs, and then applies the attribute value included in the new first ID record to the prediction model corresponding to the cluster, thereby corresponding to the new first ID. Predict the value of the objective variable.
  • the prediction unit 7 may obtain the affiliation probability that the new first ID belongs to the cluster for each cluster of the first ID. For example, the prediction unit 7 determines the attribute values (for example, “age” and “annual income” values) included in the new first ID record, and the attribute values in each first ID record belonging to each cluster. And, for each cluster, a new first ID according to the degree of proximity between the attribute value of each first ID belonging to the cluster and the value of the attribute included in the new first ID record. You may obtain
  • the attribute values for example, “age” and “annual income” values
  • the prediction unit 7 determines, based on data indicating the relationship between the new first ID and the second ID in the second master data (for example, product purchase history data), the customer specified by the new first ID.
  • a merchandise purchase tendency may be specified, and the affiliation probability of each new first ID in each cluster may be obtained according to the degree of proximity between the merchandise purchase tendency and the merchandise purchase tendency for each cluster of the first ID.
  • the prediction unit 7 applies the attribute value included in the new first ID record for each prediction model corresponding to each cluster of the first ID. And predict the value of the objective variable. Further, the prediction unit 7 obtains a predicted value for each prediction model corresponding to each cluster, and then weights and adds each predicted value with the probability of belonging to each cluster of the new first ID. It may be determined as the value of the variable.
  • the prediction result output unit 8 outputs the value of the objective variable predicted by the prediction unit 7.
  • the manner in which the prediction result output unit 8 outputs the predicted value of the objective variable is not particularly limited.
  • the prediction result output unit 8 may output the predicted value of the objective variable to another device.
  • the prediction result output unit 8 may display the predicted value of the objective variable on the display device.
  • test data input unit 6, the prediction unit 7, and the prediction result output unit 8 are also realized by a CPU of a computer that operates according to a program (co-clustering program), for example.
  • an unknown value in given test data can be predicted.
  • the master data may be referred to as a data set.
  • the first master data may be referred to as “data set 1”
  • the second master data may be referred to as “data set 2”.
  • fact data may be referred to as related data.
  • the first master data (data set 1) is master data related to customers
  • the second master data (data set 2) is master data related to products. It is assumed to be data. Also, it is assumed that an attribute whose value is unknown in some records exists in the first master data.
  • is a digamma function.
  • is a parameter that can be set by the system administrator, and ⁇ is set to a value in the range of 0 to 1. The closer the value of ⁇ is to 0, the stronger the learning effect in co-clustering. That is, it becomes easy to determine the belonging probability of the ID to the cluster so that the accuracy of the prediction model is improved.
  • the following part in the equation (1) represents the score when the value of the attribute of the first customer d is predicted by the prediction model of the cluster k 1 .
  • parameter update formula is expressed by the following formulas (5) and (6).
  • parameter update formula for data set 2 is expressed by the following formulas (7) and (8).
  • parameter update formula is expressed by the following formulas (11) and (12).
  • parameter update formula is expressed by the following formula (14).
  • ⁇ k1 (1) is represented by Expression (16) shown below.
  • FIG. 19 and FIG. 20 are flowcharts showing an example of processing progress in the specific example of the first embodiment.
  • the data input unit 2 acquires data (step S300).
  • the initialization unit 31 initializes the cluster (step S302).
  • the prediction model learning unit 321 obtains the parameter ⁇ by solving Expression (15) for each cluster of the data set 1 (step S304).
  • the prediction model learning unit 321 updates the SVM model q ( ⁇ k1 (1) ) according to Expression (14) in each cluster of the data set 1 (step S306).
  • the cluster information calculation unit 323 updates the model q (v k1 (1) ) of each cluster of the data set 1 according to the equation (6) (step S316).
  • the cluster information calculation unit 323 updates the model q (v k2 (2) ) of each cluster of the data set 2 according to the equation (8) (step S318).
  • the cluster relationship calculation unit 324 updates the cluster relevance q ( ⁇ k1k2 [1] ) according to the equation (12) for the combination of clusters in the data sets 1 and 2 (step S320).
  • step S322 determines whether or not the end condition is satisfied.
  • the rastering unit 32 repeats the processes after step S304.
  • the result output unit 5 outputs the processing result by the clustering unit 32 at that time, and ends the processing.
  • FIG. 21 is a schematic block diagram showing a configuration example of a computer according to each embodiment of the present invention.
  • the computer 1000 includes a CPU 1001, a main storage device 1002, an auxiliary storage device 1003, and an interface 1004.
  • the system of each embodiment (co-clustering system in the first and third embodiments, prediction system in the second embodiment) is implemented in the computer 1000.
  • the operation of the system of each embodiment is stored in the auxiliary storage device 1003 in the form of a program.
  • the CPU 1001 reads out the program from the auxiliary storage device 1003, develops it in the main storage device 1002, and executes the above processing according to the program.
  • the auxiliary storage device 1003 is an example of a tangible medium that is not temporary.
  • Other examples of the non-temporary tangible medium include a magnetic disk, a magneto-optical disk, a CD-ROM, a DVD-ROM, and a semiconductor memory connected via the interface 1004.
  • this program is distributed to the computer 1000 via a communication line, the computer 1000 that has received the distribution may develop the program in the main storage device 1002 and execute the above processing.
  • the program may be for realizing a part of the above-described processing.
  • the program may be a differential program that realizes the above-described processing in combination with another program already stored in the auxiliary storage device 1003.
  • each device may be realized by general-purpose or dedicated circuits (circuitry IV), processors, and the like, or combinations thereof. These may be configured by a single chip or may be configured by a plurality of chips connected via a bus. Part or all of each component of each device may be realized by a combination of the above-described circuit and the like and a program.
  • each component of each device When a part or all of each component of each device is realized by a plurality of information processing devices, circuits, etc., the information processing devices, circuits, etc. may be centrally arranged or distributedly arranged. .
  • the information processing apparatus, the circuit, and the like may be realized as a form in which each is connected via a communication network, such as a client and server system and a cloud computing system.
  • FIG. 22 is a block diagram showing an outline of the prediction system of the present invention.
  • the prediction system of the present invention includes co-clustering means 81, prediction model generation means 82, and prediction means 83.
  • the co-clustering means 81 (for example, the co-clustering unit 501) includes the first master data, the second master data, the first ID that is the ID of the record in the first master data, and the second master data.
  • the first ID and the second ID are co-clustered based on fact data indicating the relationship with the second ID that is the ID of the record.
  • the prediction model generation unit 82 (for example, the prediction model generation unit 502) generates a prediction model for each cluster of the first ID output by the co-clustering unit 81.
  • the prediction unit 83 assigns the prediction model and the first ID to each cluster.
  • the value of the objective variable corresponding to the first ID is predicted based on the belonging probability.
  • Co-clustering means for co-clustering the first ID and the second ID based on fact data;
  • a prediction model generation unit that generates a prediction model for each cluster of the first ID output by the co-clustering unit;
  • a prediction system comprising prediction means for predicting a value of the objective variable corresponding to the first ID.
  • the predictive model generation means describes the attribute in the first master data and the statistical value of the attribute value in each record in the second master data determined to be related to the first ID by the fact data.
  • the prediction system according to attachment 1 wherein a prediction model is generated for each cluster of the first ID.
  • the prediction means is The prediction system according to Supplementary Note 1 or Supplementary Note 2, wherein a cluster to which the designated first ID belongs is specified, and a value of an objective variable corresponding to the first ID is predicted using a prediction model corresponding to the cluster.
  • the prediction means is For each prediction model corresponding to each cluster of the first ID, the value of the objective variable corresponding to the specified first ID is predicted, and the assigned probability that the specified first ID belongs to each cluster for each predicted value
  • the prediction system according to Supplementary Note 1 or Supplementary Note 2, wherein the result obtained by weighting and adding is determined as the value of the objective variable.
  • Co-clustering means for co-clustering the customer and the product;
  • a prediction model generation means for generating a prediction model for each of the customer clusters output by the co-clustering means;
  • the specified customer is assigned to the specified customer based on the prediction model and the affiliation probability that the specified customer belongs to each cluster.
  • a prediction system comprising prediction means for predicting the value of the corresponding objective variable.
  • the predictive model generation means uses a predictive model in which the attribute of the customer and the statistic of the value of the attribute in each record in the second master data determined to be related to the customer by the fact data are explanatory variables.
  • the present invention is preferably applied to a prediction system that predicts an unknown value of an attribute.
  • Prediction System 501 Co-Clustering Unit 502 Prediction Model Generation Unit 503 Prediction Unit

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Strategic Management (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Development Economics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Accounting & Taxation (AREA)
  • Mathematical Physics (AREA)
  • Finance (AREA)
  • Computing Systems (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Economics (AREA)
  • Human Resources & Organizations (AREA)
  • General Business, Economics & Management (AREA)
  • Game Theory and Decision Science (AREA)
  • Marketing (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Operations Research (AREA)
  • Pure & Applied Mathematics (AREA)
  • Tourism & Hospitality (AREA)
  • Quality & Reliability (AREA)
  • Educational Administration (AREA)
  • Algebra (AREA)
  • Automation & Control Theory (AREA)
  • Fuzzy Systems (AREA)
  • Computational Linguistics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

属性の未知の値を高い精度で予測することができる予測システムを提供する。共クラスタリング手段81は、第1のマスタデータと、第2のマスタデータと、第1のマスタデータ内のレコードのIDである第1IDと第2のマスタデータ内のレコードのIDである第2IDとの関係を示すファクトデータとに基づいて、第1IDおよび第2IDを共クラスタリングする。予測モデル生成手段82は、共クラスタリング手段81が出力する第1IDのクラスタ毎に予測モデルを生成する。予測手段83は、第1IDと、第1のマスタデータに含まれる属性の一つである目的変数とが指定された場合に、予測モデルと、第1IDが各クラスタに属する所属確率とに基づいて、第1IDに対応する目的変数の値を予測する。

Description

予測システム、方法およびプログラム
 本発明は、属性の未知の値を予測する予測システム、予測方法および予測プログラムに関する。
 回帰・判別に代表される教師あり学習は、例えば、小売店における商品の需要予測や、電力使用量の予測等、様々な分析処理に用いられる。教師あり学習は、入力と出力との組が与えられると、入力と出力との関係性を学習し、出力の不明な入力が与えられると、学習した関係性に基づいて、その出力を予測する。
 近年、教師あり学習の予測精度を向上させるために、1つのデータセットに対して複数の予測モデルを生成し、予測時には適切に予測モデルを選択したり、適切にそれらの予測モデルを混合させたりする技術が提案されている。この技術は、Mixture of Expertsと呼ばれる。Mixture of Expertsの1つとして、混合モデルを用いた技術が非特許文献1に記載されている。非特許文献1に記載の技術は、データ(例えば、商品ID)を、データの性質(例えば、商品の価格)に基づいてクラスタリングし、クラスタ毎に予測モデルを生成する。この結果、同じクラスタに所属する「性質の類似したデータ」に基づいて予測モデルを生成することになる。従って、データ全体で予測モデルを生成する場合と比べ、非特許文献1に記載の技術では、より細部を捉えた予測モデルを生成することができ、予測精度が向上する。
 以下にこの具体例を示す。
 例えば、あるサービスの会員が年間にエステティックサロンを利用する利用回数を、年齢から予測する予測問題を考える。この予測問題は、年齢を入力とし、利用回数を出力する関数を求める問題である。また、ここでは、データ全体が6人分のデータであるとする。図23は、その6人分の年齢と利用回数とをグラフに示した結果を例示した図である。図23に示すグラフにおいて、x軸は年齢を示し、y軸は利用回数を示している。また、その6人分のデータ全体から、線形回帰により予測モデル(上記の関数)を生成し、その関数を図示すると、その関数は、図23に示す直線のように示すことができる。この関数に年齢xを代入したときのyの値が利用回数の予測値となる。図23から分かるように、この予測値と、実際の利用回数との差は大きく、予測精度は低い。
 これに対し、非特許文献1に記載の技術を利用して、6人分のデータを、「美容派」と「酒好き」の2つのクラスタに分けたとする。この場合のクラスタ毎の年齢と利用回数、および予測モデルの例を図24に示す。図24(a)は、「美容派」に対応するグラフであり、図24(b)は、「酒好き」に対応するグラフである。図24においても、x軸は年齢を示し、y軸は利用回数を示している。図24から分かるように、傾向の同じデータを同じクラスタにまとめて、クラスタ毎に予測モデルを生成することによって、それぞれのクラスタで高い予測精度を実現することができる。
 また、非特許文献2には、IRM(Infinite Relational Model )を用いた学習が記載されている。非特許文献2に記載された学習では、データセット内に未知の値が存在することを許容しない。例えば、学習に用いられるデータセットが、顧客IDと、その顧客の種々の属性の値との組の集合であるとする。非特許文献2に記載された学習では、それらの属性の中に、値が定まっていない属性が存在することを許容しない。
Jun Zhu, Ning Chen, Eric P. Xing, "Infinite SVM: a Dirichlet Process Mixture of Large-margin Kernel Machines", In ICML, pages 617-624. Charles Kemp, Joshua B. Tenenbaum, Thomas L. Griffiths, Takeshi Yamada, Naonori Ueda, "Learning Systems of Concepts with an Infinite Relational Model", In AAAI, volume 21, pages 381-338.
 非特許文献1に記載された技術では、データセット(例えば、顧客情報)をデータ自身が持つ属性の値(例えば、顧客の年齢)を用いてクラスタリングし、属性の似た顧客のクラスタ毎に、未知の属性(例えば、顧客の収入)の予測モデルを生成する。なお、未知の属性は、各データのうち、一部のデータに関して未知であり、この属性の値が分かっているデータも存在しているものとする。上記の例では、顧客の収入が既知となっているデータと、顧客の収入が未知であるデータとが混在しているものとする。そのように予測モデルを生成した結果、各クラスタの特徴をより捉えた予測モデルを生成することができ、予測精度の向上が可能となる。しかし、予測対象となる未知の属性の値と、他の属性の値との相関が小さい場合には、予測精度の向上は望めない。例えば、上記の例において、顧客の年齢と、顧客の年収との間に相関がほとんどない場合、年齢から年収を予測する予測モデルをクラスタ毎に生成したとしても、予測精度の向上は望めない。
 そこで、本発明は、属性の未知の値を高い精度で予測することができる予測システム、予測方法および予測プログラムを提供することを目的とする。
 本発明による予測システムは、第1のマスタデータと、第2のマスタデータと、第1のマスタデータ内のレコードのIDである第1IDと第2のマスタデータ内のレコードのIDである第2IDとの関係を示すファクトデータとに基づいて、第1IDおよび第2IDを共クラスタリングする共クラスタリング手段と、共クラスタリング手段が出力する第1IDのクラスタ毎に予測モデルを生成する予測モデル生成手段と、第1IDと、第1のマスタデータに含まれる属性の一つである目的変数とが指定された場合に、予測モデルと、第1IDが各クラスタに属する所属確率とに基づいて、第1IDに対応する目的変数の値を予測する予測手段を備えることを特徴とする。
 また、本発明による予測システムは、顧客と顧客の属性とを含む第1のマスタデータと、商品と商品の属性とを含む第2のマスタデータと、顧客と商品との関係を示すファクトデータとに基づいて、顧客および商品を共クラスタリングする共クラスタリング手段と、共クラスタリング手段が出力する顧客のクラスタ毎に予測モデルを生成する予測モデル生成手段と、顧客と、顧客の属性の一つである目的変数とが指定された場合に、予測モデルと、指定された顧客が各クラスタに属する所属確率とに基づいて、指定された顧客に対応する目的変数の値を予測する予測手段を備えることを特徴とする。
 また、本発明による予測方法は、第1のマスタデータと、第2のマスタデータと、第1のマスタデータ内のレコードのIDである第1IDと第2のマスタデータ内のレコードのIDである第2IDとの関係を示すファクトデータとに基づいて、第1IDおよび第2IDを共クラスタリングし、第1IDのクラスタ毎に予測モデルを生成し、第1IDと、第1のマスタデータに含まれる属性の一つである目的変数とが指定された場合に、予測モデルと、第1IDが各クラスタに属する所属確率とに基づいて、第1IDに対応する目的変数の値を予測することを特徴とする。
 また、本発明による予測方法は、顧客と顧客の属性とを含む第1のマスタデータと、商品と商品の属性とを含む第2のマスタデータと、顧客と商品との関係を示すファクトデータとに基づいて、顧客および商品を共クラスタリングし、顧客のクラスタ毎に予測モデルを生成し、顧客と、顧客の属性の一つである目的変数とが指定された場合に、予測モデルと、指定された顧客が各クラスタに属する所属確率とに基づいて、指定された顧客に対応する目的変数の値を予測することを特徴とする。
 また、本発明による予測プログラムは、コンピュータに、第1のマスタデータと、第2のマスタデータと、第1のマスタデータ内のレコードのIDである第1IDと第2のマスタデータ内のレコードのIDである第2IDとの関係を示すファクトデータとに基づいて、第1IDおよび第2IDを共クラスタリングする共クラスタリング処理、共クラスタリング処理で出力される第1IDのクラスタ毎に予測モデルを生成する予測モデル生成処理、および、第1IDと、第1のマスタデータに含まれる属性の一つである目的変数とが指定された場合に、予測モデルと、第1IDが各クラスタに属する所属確率とに基づいて、第1IDに対応する目的変数の値を予測する予測処理を実行させることを特徴とする。
 また、本発明による予測プログラムは、コンピュータに、顧客と顧客の属性とを含む第1のマスタデータと、商品と商品の属性とを含む第2のマスタデータと、顧客と商品との関係を示すファクトデータとに基づいて、顧客および商品を共クラスタリングする共クラスタリング処理、共クラスタリング処理で出力される顧客のクラスタ毎に予測モデルを生成する予測モデル生成処理、および、顧客と、顧客の属性の一つである目的変数とが指定された場合に、予測モデルと、指定された顧客が各クラスタに属する所属確率とに基づいて、指定された顧客に対応する目的変数の値を予測する予測処理を実行させることを特徴とする。
 本発明によれば、属性の未知の値を高い精度で予測することができる。
第1のマスタデータの例を示す説明図である。 第2のマスタデータの例を示す説明図である。 ファクトデータの例を示す説明図である。 ハードクラスタリングの結果の例を示す模式図である。 ソフトクラスタリングの結果の例を示す模式図である。 本発明の第1の実施形態の共クラスタリングシステムの例を示す機能ブロック図である。 予測モデル学習部が学習モデルを生成する際に用いる教師データの説明図である。 クラスタ関係の例を示す模式図である。 クラスタ関係の例を示す模式図である。 ファクトデータの例を示す模式図である。 第1の実施形態の処理経過の例を示すフローチャートである。 図1、図2に示す第1のマスタデータ、第2のマスタデータ、および図3に示すファクトデータを統合した結果の例を示す説明図である。 第1のマスタデータの例を示す説明図である。 第2のマスタデータの例を示す説明図である。 ファクトデータの例を示す説明図である。 本発明の第2の実施形態の予測システムの例を示す機能ブロック図である。 第2の実施形態の処理経過の例を示すフローチャートである。 本発明の第3の実施形態の共クラスタリングシステムの例を示す機能ブロック図である。 第1の実施形態の具体例における処理経過の例を示すフローチャートである。 第1の実施形態の具体例における処理経過の例を示すフローチャートである。 本発明の各実施形態に係るコンピュータの構成例を示す概略ブロック図である。 本発明の予測システムの概要を示すブロック図である。 6人分の年齢と利用回数とをグラフに示した結果を例示した図である。 6人分のデータを2つのクラスタに分け、クラスタ毎に年齢と利用回数とをグラフに示した結果を例示した図である。
 以下、本発明の実施形態を図面を参照して説明する。
 まず、本発明において、事前に与えられるデータについて説明する。本発明では、第1のマスタデータ、第2のマスタデータおよびファクトデータが与えられる。なお、マスタデータは、ディメンションデータと称される場合もある。従って、第1のマスタデータ、第2のマスタデータをそれぞれ、第1のディメンションデータ、第2のディメンションデータと称してもよい。また、ファクトデータは、トランザクションデータまたは実績データと称される場合もある。
 第1のマスタデータおよび第2のマスタデータは、それぞれ複数のレコードを含む。第1のマスタデータのレコードのIDを第1IDと記す。第2のマスタデータのレコードのIDを第2IDと記す。
 第1のマスタデータの各レコードでは、第1IDと、その第1IDに対応する属性の値とが対応付けられている。ただし、第1IDに対応する属性のうち、特定の属性に関しては、一部のレコードで値が未知である。
 第2のマスタデータの各レコードでは、第2IDと、その第2IDに対応する属性の値とが対応付けられている。なお、第2IDに対応する属性のうち、特定の属性に関しては、一部のレコードで値が未知であってもよい。ただし、以下の説明では、第2のマスタデータでは、各属性の値は全て定められている場合を例にして説明する。
 ここでは、第1IDが顧客IDであり、第2IDが商品IDである場合を例示して説明する。第1IDおよび第2IDは、顧客IDや商品IDに限定されるわけではない。
 図1は、第1のマスタデータの例を示す説明図である。図1では、値が未知であることを“?”で表している。図1では、顧客ID(第1ID)に対応する属性として、「年齢」、「年収」、「年間のエステティックサロンの利用回数」を例示している。「顧客1」および「顧客2」のレコードでは、「年間のエステティックサロンの利用回数」の値が定められている。しかし、「顧客3」および「顧客4」のレコードでは、「年間のエステティックサロンの利用回数」の値が未知となっている。一部のレコードで値が未知になる状況は、例えば、一部の顧客からのみ、アンケートで「年間のエステティックサロンの利用回数」の回答を得た場合等に生じる。他の属性(「年齢」、「年収」)の値は、各レコードで定められている。なお、図1に例示したマスタデータは、顧客データであると言うことができる。
 図2は、第2のマスタデータの例を示す説明図である。図2では、商品ID(第2ID)に対応する属性として、「商品名」および「価格」を例示している。図2に示す各属性の値は全て定められている。なお、図2に例示したマスタデータは、商品データであると言うことができる。
 ファクトデータは、第1IDと第2IDとの関係を示すデータである。図3は、ファクトデータの例を示す説明図である。図3に示す例では、顧客ID(第1ID)によって特定される顧客が、商品ID(第2ID)によって特定される商品を購入した実績があるか否かという関係を示している。図3では、顧客が商品を購入した実績があることを“1”で示し、実績がないことを“0”で示している。例えば、図3に示す例では、「顧客1」は、「商品1」を購入したことはあるが、「商品2」を購入したことはない。なお、ファクトデータにおいて、第1IDと第2IDとの関係を示す値は2値(“0”および“1”)に限定されない。例えば、顧客IDと商品IDとの関係を示す値は、顧客が商品を購入した個数等であってもよい。図3に例示するファクトデータは、購買実績データであると言うことができる。
 また、本発明の各実施形態の説明の前にクラスタリングについて説明する。クラスタリングとは、データをクラスタと呼ばれる複数のグループに分けるタスクである。クラスタリングでは、データに何等かの性質が定められ、性質が似たデータが同じクラスタに所属するように、データが分けられる。クラスタリングには、ハードクラスタリングと、ソフトクラスタリングとがある。
 ハードクラスタリングでは、個々のデータはいずれか1つのクラスタのみに所属させられる。図4は、ハードクラスタリングの結果の例を示す模式図である。
 ソフトクラスタリングでは、個々のデータは複数のクラスタに所属させられる。このとき、各データには、クラスタ毎に、「クラスタにどの程度所属しているか」を表す所属確率が割り当てられる。図5は、ソフトクラスタリングの結果の例を示す模式図である。
 なお、ハードクラスタリングは、個々のデータの所属確率がそれぞれ1つのクラスタで“1.0”となり、残りの全てのクラスタで“0.0”となるクラスタンリングと捉えることができる。すなわち、ハードクラスタリングの結果も、2値の所属確率で表すことができる。また、ハードクラスタリングの結果を導出する過程で、0.0~1.0の範囲の所属確率を用いてもよい。最終的に、そのような所属確率が最大となるクラスタで所属確率を“1.0”とし、他の各クラスタの所属確率を“0.0”にする処理を、各データに関してそれぞれ行えばよい。
 各実施形態では、特に言及のない限り、ハードクラスタリングとソフトクラスタリングを区別せずに説明する。また、ハードクラスタリングでの所属クラスタの決定や、ソフトクラスタリング(ハードクラスタリングでもよい。)での所属確率の決定を、クラスタ割り当ての決定と記す。
実施形態1.
 本発明の発明者は、非特許文献2に記載のIRMを利用して、第1のマスタデータ、第2のマスタデータおよびファクトデータが与えられた場合に、第1IDおよび第2IDを共クラスタリングする処理を検討した。以下、この処理の流れを述べ、さらに、本発明の第1の実施形態において、第1のマスタデータ、第2のマスタデータおよびファクトデータが与えられた場合に、第1IDおよび第2IDを共クラスタリングする処理について述べる。
 第1IDおよび第2IDの共クラスタリングでは、第1IDの各クラスタと、第2IDの各クラスタとの間に(クラスタの直積空間上に)、確率モデルを保持する。確率モデルは、典型的には、クラスタ間の関係の強さを表すベルヌーイ分布である。一方のID(例えば、第1ID)のあるクラスタへの所属確率を算出する際には、そのクラスタと、他方のID(本例では、第2ID)の各クラスタとの間にある確率モデルの値を参照する。例えば、確率モデルとしてクラスタ間の関係の強さを利用した場合、ある顧客IDがある顧客IDクラスタに所属する確率は、その顧客IDクラスタと関係の強い商品IDクラスタに所属する商品IDが示す商品を、その顧客IDが示す顧客がどれだけ購入しているかによって定まる。このように共クラスタリングを実行することによって、似た商品を買う顧客の顧客IDが同じ顧客IDクラスタに集まり、また、似た顧客によって買われる商品の商品IDが同じ商品IDクラスタに集まる。
[非特許文献2に記載のIRMを利用した共クラスタリング処理]
 非特許文献2に記載のIRMを利用した共クラスタリング処理では、以下のステップを繰り返す。
1.第1IDの各クラスタ(第1IDを要素とする各クラスタ)への所属確率、および、第2IDの各クラスタ(第2IDを要素とする各クラスタ)への所属確率を更新する。所属確率は、ファクトデータ(例えば、図3に例示する購買実績データ)と、第1IDや第2IDに対応する属性(例えば、顧客の年齢や商品の価格)とから定まる。
2.
(2-1)第1IDの各クラスタの重み(事前確率)、および、第2IDの各クラスタの重み(事前確率)を更新する。例えば、第1のマスタデータ(図1参照)の中に若い人のレコードが多い場合、若年層のクラスタに第1IDが所属する事前確率を高くする。
(2-2)第1IDを要素とする各クラスタ、および第2IDを要素とする各クラスタを対象にして、クラスタのモデル情報を、現時点でのクラスタ割り当てに基づいて更新する。クラスタのモデル情報は、そのクラスタに所属するIDに対応する属性の値の統計的な性質を表す情報である。クラスタのモデル情報は、そのクラスタの代表的な要素の持つ性質を表現していると言える。例えば、クラスタのモデル情報は、クラスタに所属しているIDに対応する属性の値の平均や分散で表すことができる。なお、第1IDの各クラスタへの所属確率および第2IDの各クラスタへの所属確率が判明しているので、クラスタのモデル情報(例えば、顧客の平均年齢や商品の平均価格)を計算することができる。
3.第1IDの各クラスタと、第2IDの各クラスタとの間に保持される確率モデルを、各IDの所属確率に基づいて更新する。例えば、ある顧客IDクラスタと、ある商品IDクラスタとの関係は、それらのクラスタに属する顧客IDと商品IDとの間の関係(例えば、購買実績)が存在するほど、強くなる。
 上記の“1.”~“3.”の各ステップを繰り返し、その繰り返しが必要なくなったと判定した時点で、共クラスタリングの処理を終了する。
[本発明の第1の実施形態の共クラスタリング処理]
 本発明の第1の実施形態の共クラスタリング処理では、一部のレコードで特定の属性の値が未知となっているマスタデータ(ここでは、第1のマスタデータ)における各レコードのID(すなわち、第1ID)のクラスタ毎に、予測モデルを保持する。本実施形態では、属性の値が類似している第1IDを同じクラスタに所属させ、クラスタ毎に異なる予測モデルを生成することで、上記の特定の属性における未知の値の予測精度を向上させる。また、本実施形態では、クラスタ割り当ての決定において、第1IDが各クラスタに所属する所属確率を、クラスタに対応する予測モデルの予測誤差が小さいほど高い確率とすることで、クラスタリングの精度を向上させる。
 本発明の第1の実施形態の共クラスタリング処理では、以下のステップを繰り返す。
1.第1IDの各クラスタで、クラスタに所属する第1IDに対応する属性の値を用いて、予測モデルを更新する。例えば、サポートベクタマシンの重みを更新する。
2.第1IDの各クラスタ(第1IDを要素とする各クラスタ)への所属確率、および、第2IDの各クラスタ(第2IDを要素とする各クラスタ)への所属確率を更新する。所属確率は、ファクトデータ(例えば、図3に例示する購買実績データ)と、第1IDや第2IDに対応する属性(例えば、顧客の年齢や商品の価格)とから定まる。第IDの各クラスタへの所属確率を定める場合には、クラスタ毎の予測モデルも考慮される。例えば、ある第1IDに関して、予測モデルによる予測精度が高いクラスタほど、その第1IDの所属確率を高くする。
3.
(3-1)第1IDの各クラスタの重み(事前確率)、および、第2IDの各クラスタの重み(事前確率)を更新する。例えば、第1のマスタデータ(図1参照)の中に若い人のレコードが多い場合、若年層のクラスタに第1IDが所属する事前確率を高くする。
(3-2)第1IDを要素とする各クラスタ、および第2IDを要素とする各クラスタを対象にして、クラスタのモデル情報を、現時点でのクラスタ割り当てに基づいて更新する。なお、第1IDの各クラスタへの所属確率および第2IDの各クラスタへの所属確率が判明しているので、クラスタのモデル情報(例えば、顧客の平均年齢や商品の平均価格)を計算することができる。
4.第1IDの各クラスタと、第2IDの各クラスタとの間に保持される確率モデルを、各IDの所属確率に基づいて更新する。例えば、ある顧客IDクラスタと、ある商品IDクラスタとの関係は、それらのクラスタに属する顧客IDと商品IDとの間の関係(例えば、購買実績)が存在するほど、強くなる。
 上記の“1.”~“4.”の各ステップを繰り返し、その繰り返しが必要なくなったと判定した時点で、共クラスタリングの処理を終了する。
 以下、本発明の第1の実施形態について、より具体的に説明する。図6は、本発明の第1の実施形態の共クラスタリングシステムの例を示す機能ブロック図である。
 本発明の第1の実施形態の共クラスタリングシステム1は、データ入力部2と、処理部3と、記憶部4と、結果出力部5とを備える。処理部3は、初期化部31と、クラスタリング部32とを備える。クラスタリング部32は、予測モデル学習部321と、クラスタ割り当て部322と、クラスタ情報算出部323と、クラスタ関係算出部324と、終了判定部325とを備える。
 データ入力部2は、共クラスタリングに用いられるデータ群と、クラスタリングの設定値とを取得する。データ入力部2は、例えば、外部の装置にアクセスして、データ群と、クラスタリングの設定値とを取得してもよい。あるいは、データ入力部2は、データ群と、クラスタリングの設定値とが入力される入力インタフェースであってもよい。
 共クラスタリングに用いられるデータ群は、第1のマスタデータ(例えば、図1に例示する顧客データ)と、第2のマスタデータ(例えば、図2に例示する商品データ)と、ファクトデータ(例えば、図3に例示する購買実績データ)とを含む。第1のマスタデータの属性のうち、特定の属性に関しては、一部のレコードで値が未知である。なお、非特許文献2に記載された技術では、入力されるデータにおいて、値が定まっていない属性が存在することを許容しない。すなわち、非特許文献2に記載された技術では、属性の欠損値を許容しない。従って、一部のレコードで特定の属性の値が未知であるという点は、非特許文献2に記載された技術と異なる。
 クラスタリングの設定値は、例えば、第1IDのクラスタ数の最大値、第2IDのクラスタ数の最大値、予測モデルを生成するマスタデータの指定、予測モデルで説明変数とする属性、予測モデルで目的変数とする属性、および予測モデルの種類を含む。
 予測モデルは、値が定まっていない特定の属性の値を予測するために用いられる。従って、本例では、予測モデルを生成するマスタデータとして、第1のマスタデータが指定される。予測モデルで目的変数とする属性として、その特定の属性(例えば、図1に示す「年間のエステティックサロンの利用回数」)が指定される。
 予測モデル種類には、例えば、サポートベクタマシン、サポートベクタ回帰、ロジスティック回帰等がある。予測モデルの種類として、各種予測モデルのうち、いずれかが指定される。
 初期化部31は、データ入力部2から、第1のマスタデータと、第2のマスタデータと、ファクトデータと、クラスタリングの設定値を受け取り、それらを記憶部4に記憶させる。また、初期化部31は、クラスタリングに用いる各種パラメータを初期化する。
 クラスタリング部32は、繰り返し処理により、第1IDおよび第2IDの共クラスタリングを実現する。以下、クラスタリング部32が備える各部について説明する。なお、予測モデルを生成するマスタデータとして、第1のマスタデータが指定されているものとする。
 予測モデル学習部321は、予測モデルを生成するマスタデータ(第1のマスタデータ)に関するクラスタ毎に(すなわち、第1IDのクラスタ毎に)、目的変数に該当する属性の予測モデルを学習する。
 クラスタリングがハードクラスタリングである場合、予測モデル学習部321は、クラスタに対応する予測モデルを生成するときに、そのクラスタに所属する第1IDに対応する属性の値を教師データとして利用する。
 図7は、予測モデル学習部321が学習モデルを生成する際に用いる教師データの説明図である。例えば、ハードクラスタリングにより、図7に示す顧客1,2がクラスタ1のみに所属し、図7に示す顧客3がクラスタ2のみに所属することになったとする。この場合、予測モデル学習部321は、顧客1,2に対応する各属性の値を教師データとして、クラスタ1に対応する予測モデルを生成し、顧客3に対応する各属性の値を教師データとして、クラスタ2に対応する予測モデルを生成する。
 また、クラスタリングがソフトクラスタリングである場合、予測モデル学習部321は、クラスタに対応する予測モデルを生成するときに、未知の値を含まない全てのレコードの属性の値を教師データとして利用する。このとき、予測モデル学習部321は、各レコードの属性の値を、各第1IDのそのクラスタへの所属確率によって重み付けし、重み付けした結果を用いて、予測モデルを生成する。従って、そのクラスタへの所属確率が高い第1IDに対応する教師データは、そのクラスタに対応する予測モデル内で強く影響し、そのクラスタへの所属確率が低い第1IDに対応する教師データは、その予測モデル内であまり影響しない。
 図7を用いて具体例を説明する。ソフトクラスタリングでは、図7に示す顧客1,2,3はそれぞれの所属確率でクラスタ1に所属する。また、図7に示す顧客1,2,3はそれぞれの所属確率でクラスタ2にも所属する。予測モデル学習部321は、クラスタ1に対応する予測モデルを生成する場合、顧客1,2,3の各属性の値を、顧客1,2,3それぞれのクラスタ1への所属確率で重み付けし、重み付けした結果を用いて予測モデルを生成する。クラスタ2に対応する予測モデルを生成する場合も同様である。
 クラスタ割り当て部322は、それぞれの第1IDおよびそれぞれの第2IDに対して、クラスタ割り当てを行う。クラスタ割り当て部322は、第1IDおよび第2IDを共クラスタリングしていると言うこともできる。なお、既に説明したように、ハードクラスタリングの結果も、2値の所属確率で表すことができる。また、ハードクラスタリングの結果を導出する過程で、0.0~1.0の範囲の所属確率を用いてもよい。ここでは、ハードクラスタリングとソフトクラスタリングを区別せずに、所属確率を用いて、クラスタ割り当て部322の動作を説明する。
 クラスタ割り当て部322は、クラスタ割り当てを実行する際、2つの情報を参照する。
 1つ目の情報は、ファクトデータである。説明を分かりやすくするために、第1IDが顧客IDであり、第2IDが商品IDである場合を例にして説明する。ある顧客IDがある顧客IDクラスタに所属する確率は、その顧客IDクラスタと関係の強い商品IDクラスタに所属する商品IDによって特定される商品を、その顧客IDによって特定される顧客がどれだけ購入しているかによって定まる。ある商品IDがある商品IDクラスタに所属する確率に関しても同様である。クラスタ割り当て部322は、第1IDの各クラスタへの所属確率や、第2IDの各クラスタへの所属確率を求めるときに、ファクトデータを参照する。この動作の詳細については、後述する。
 また、2つ目の情報は、予測モデルの精度である。顧客IDクラスタ(第1IDのクラスタ)毎に予測モデルが生成されている。クラスタ割り当て部322は、顧客IDクラスタに所属する顧客IDに対応するレコードを、その顧客IDクラスタに対応する予測モデルに適用して、目的変数となる属性の予測値を計算し、その予測値と正解値(レコードに示されている実際の値)との差を計算する。この差が、予測モデルの精度である。クラスタ割り当て部322は、この差が小さいほど、着目している顧客IDクラスタに所属している顧客IDの所属確率を高め、この差が大きいほど、着目している顧客IDクラスタに所属している顧客IDの所属確率を低くするように、顧客IDの所属確率を補正する。クラスタ割り当て部322は、この補正を、各顧客IDクラスタに対して行う。この動作によって、予測モデルの精度がよくなるように、クラスタリング結果が調節される。
 クラスタ情報算出部323は、各第1IDおよび各第2IDのクラスタ割り当て(所属確率)を参照し、第1IDの各クラスタおよび第2IDの各クラスタのモデル情報を算出し、記憶部4に記憶されている各クラスタのモデル情報を更新する。既に説明したように、クラスタのモデル情報は、そのクラスタに所属するIDに対応する属性の値の統計的な性質を表す情報である。例えば、各顧客IDクラスタにおいて、各顧客の年収が正規分布に従うとした場合、各顧客IDクラスタのモデル情報は、正規分布における平均値および分散値となる。
 クラスタのモデル情報は、クラスタ割り当ての決定と、後述するクラスタ関係の計算に利用される。
 クラスタ関係算出部324は、第1IDの各クラスタと、第2IDの各クラスタとの間のクラスタ関係を算出し、記憶部4に記憶されているクラスタ関係を更新する。クラスタ関係とは、クラスタの組み合わせの性質を表す値である。以下、クラスタ関係が0~1の範囲の値である場合を例にして説明する。クラスタ関係算出部324は、ファクトデータを基に、第1IDのクラスタと第2IDのクラスタの組み合わせ毎に、クラスタ関係を算出する。従って、第1のクラスタの数と第2IDのクラスタの数との積だけ、クラスタ関係が算出される。図8は、クラスタ関係の例を示す模式図である。図8に示す例では、顧客IDクラスタの数が2であり、商品IDクラスタの数が2であるので、クラスタ関係の数は、2*2=4となっている。なお、図8に示す「美容好き」、「美容商品」等は、クラスタの内容に基づいて、システム管理者が便宜的に付加したラベルであるものとする。
 第1IDのクラスタに所属している第1IDと、第2IDのクラスタに所属している第2IDとの関係性が強い程、その2つのクラスタの組み合わせにおけるクラスタ関係は大きな値となる。例えば、顧客IDクラスタに所属している顧客IDによって特定される顧客と、商品IDクラスタに所属している商品IDによって特定される商品との関係性が強い程、クラスタ関係は“1”に近づき、その関係性が弱いほど、クラスタ関係は“0”に近づく。図8に示す例において、顧客IDクラスタ1には、美容好きの顧客の顧客IDが多く所属している。また、顧客IDクラスタ2には、酒好きの顧客の顧客IDが多く所属している。また、商品IDクラスタ1には、美容商品の商品IDが多く所属している。例えば、顧客IDクラスタ1と商品IDクラスタ1との間のクラスタ関係は0.9であり、1に近い値である。このことは、顧客IDクラスタ1に所属している顧客IDによって特定される顧客が、商品IDクラスタ1に所属している商品IDによって特定される商品を購入することが多いということ(関係性が強いこと)を表している。また、顧客IDクラスタ2と商品IDクラスタ1との間のクラスタ関係は0.1であり、0に近い値である。このことは、顧客IDクラスタ2に所属している顧客IDによって特定される顧客が、商品IDクラスタ1に所属している商品IDによって特定される商品を購入することが少ないということ(関係性が弱いこと)を表している。
 クラスタ関係算出部324は、以下に示す式(A)を計算することによって、クラスタ関係を算出すればよい。
Figure JPOXMLDOC01-appb-M000001
 式(A)において、kは、第1IDのクラスタのIDを表し、kは、第2IDのクラスタのIDを表す。また、a[1] k1k2、b[1] k1k2は、クラスタ関係の計算に用いるパラメータである。a[1] k1k2が大きいほど、kとkの関係は強く、b[1] k1k2が大きいほどkとkの関係は弱い。なお、本明細書の文章内では、数式内で示したハット記号を省略する。
 クラスタ関係算出部324は、a[1] k1k2を、以下に示す式(B)によって計算すればよい。また、クラスタ関係算出部324は、b[1] k1k2を、以下に示す式(C)によって計算すればよい。
Figure JPOXMLDOC01-appb-M000002
Figure JPOXMLDOC01-appb-M000003
 式(B)および式(C)では、dが、第1IDの順番を表し、D(1)が、第1IDの総数を表しているものとする。同様に、dが、第2IDの順番を表し、D(2)が、第2IDの総数を表しているものとする。式(B)および式(C)において、φd1,k2 (1)は、d番目の第1IDがクラスタkに所属している確率である。φd2,k2 (2)は、d番目の第2IDがクラスタkに所属している確率である。xd1d2は、dとdとの組み合わせに応じたファクトデータ内の値である。
 ここで、前述のクラスタ割り当て部322がファクトデータを参照して、IDのクラスタへの所属確率を求める処理について、詳細に説明する。ここでは、顧客ID(第1ID)を変数iで表す。また、商品ID(第2ID)を変数jで表す。また、顧客IDクラスタのIDを変数kで表す。商品IDクラスタのIDを変数kで表す。
 また、図9に例示するクラスタ関係が得られているとする。k=1であるクラスタは、甘党の顧客の顧客IDを多く含んでいるものとする。k=2であるクラスタは、辛党の顧客の顧客IDを多く含んでいるものとする。k=1であるクラスタは、甘い商品の商品IDを多く含んでいるものとする。k=2であるクラスタは、辛い商品の商品IDを多く含んでいるものとする。k=3であるクラスタは、苦い商品の商品IDを多く含んでいるものとする。また、図9に示す「甘党」、「甘い」等は、クラスタの内容に基づいて、システム管理者が便宜的に付加したラベルであるものとする。
 また、図10に例示するファクトデータが与えられているとする。
 ここでは、i=1である顧客が、k=2であるクラスタに所属する確率をクラスタ割り当て部322が算出する場合を例にして説明する。また、iがクラスタkに所属する確率をq(z (1)=k)と記す。よって、i=1である顧客が、k=2であるクラスタに所属する確率は、q(z (1)=2)と表される。また、jがクラスタkに所属する確率をq(z (2)=k)と記す。
 クラスタ割り当て部322は、以下に示す式(D)の計算により、q(z (1)=2)を求める。
Figure JPOXMLDOC01-appb-M000004
 式(D)において、xは、添え字のi,jの組み合わせに対応するファクトデータ(図10参照)内の値である。従って、図10に示す例では、xは、1または0である。また、θは、添え字のk,kの組み合わせに対応するクラスタ関係である。
 Eは、確率の期待値を求める演算であり、E[logp(xi=1,j)|θk1=2,k2]は、jがクラスタkに所属しているものとした場合に、顧客i=1がその商品jを買う確率の期待値である。
 クラスタ割り当て部322は、同様の計算により、着目している顧客IDが、他の顧客IDクラスタに所属している確率も求める。ハードクラスタリングの場合、クラスタ割り当て部322は、その結果得られた所属確率が最高となっている顧客IDクラスタのみに、着目している顧客IDが所属していると決定すればよい。クラスタ割り当て部322は、他の顧客IDに関しても、各顧客IDクラスタに所属している確率を計算する。
 また、クラスタ割り当て部322は、それぞれの商品IDがそれぞれの商品IDクラスタに所属している確率も、同様の計算によって求める。
 また、上記の所属確率の算出の後に、クラスタ割り当て部322は、予測モデルを用いた所属確率の補正を実行すればよい。
 クラスタリング部32は、予測モデル学習部321による処理、クラスタ割り当て部322による処理、クラスタ情報算出部323による処理、および、クラスタ関係算出部324による処理を繰り返す。
 終了判定部325は、上記の一連の処理の繰り返しを終了するか否かを判定する。終了判定部325は、終了条件が満たされた場合に、上記の一連の処理の繰り返しを終了すると判定し、終了条件が満たされていなければ、繰り返しを続けると判定する。以下、終了条件の例を説明する。
 例えば、上記の一連の処理の繰り返し回数が、クラスタリングの設定値の中で定められていてもよい。終了判定部325は、上記の一連の処理の繰り返し回数が定められた回数に達したときに、繰り返しを終了すると判定してもよい。
 また、例えば、クラスタ割り当て部322が、クラスタ割り当ての決定を実行するときに、クラスタリングの精度を導出し、そのクラスタリングの精度を記憶部4に記憶させてもよい。終了判定部325は、前回に導出されたクラスタリングの精度から、直近に導出されたクラスタリングの精度への変化量を計算し、その変化量が小さければ(具体的には、変化量の絶対値が所定の閾値以下であれば)、繰り返しを終了すると判定してもよい。
 なお、ソフトクラスタリングの場合、クラスタ割り当て部322は、クラスタリングの精度として、例えば、クラスタリングのモデルの尤度を計算してもよい。また、ハードクラスタリングの場合、クラスタ割り当て部322は、クラスタリングの精度として、例えば、Pseudo Fを計算してもよい。
 記憶部4は、データ入力部2が取得した種々のデータや、処理部3の処理で得られた種々のデータを記憶する記憶装置である。記憶部4は、計算機の主記憶装置であっても、二次記憶装置であってもよい。記憶部4が二次記憶装置である場合には、クラスタリング部32は、処理を途中で中断し、その後、再開することができる。また、記憶部4が、主記憶装置と二次記憶装置とに分かれた構成であって、処理部3は、データの一部を主記憶装置に記憶させ、他のデータを二次記憶装置に記憶させてもよい。
 結果出力部5は、記憶部4に記憶された、クラスタリング部32による処理の結果を出力する。具体的には、結果出力部5は、処理の結果として、予測モデル、クラスタ割り当て、クラスタ関係、クラスタのモデル情報の全部または一部を出力する。クラスタ割り当ては、個々の第1IDの各クラスタへの所属確率および個々の第2IDの各クラスタへの所属確率である。また、ハードクラスタリングの場合、クラスタ割り当ては、個々の第1IDがどのクラスタに所属しているかを直接示す情報、および個々の第2IDがどのクラスタに所属しているかを直接示す情報であってもよい。
 また、結果出力部5が結果を出力する態様は、特に限定されない。例えば、結果出力部5は、結果を他の装置に出力してもよい。また、例えば、結果出力部5は、結果をディスプレイ装置に表示させてもよい。
 予測モデル学習部321、クラスタ割り当て部322、クラスタ情報算出部323、クラスタ関係算出部324および終了判定部325を含むクラスタリング部32、並びに、データ入力部2、初期化部31、結果出力部5は、例えば、プログラム(共クラスタリングプログラム)に従って動作するコンピュータのCPUによって実現される。この場合、CPUは、例えば、コンピュータのプログラム記憶装置(図6において図示略)等のプログラム記録媒体からプログラムを読み込み、そのプログラムに従って、データ入力部2、初期化部31、クラスタリング部32、および結果出力部5として、動作すればよい。
 また、図6に示した共クラスタリングシステム1内の各要素が、それぞれ専用のハードウェアで実現されていてもよい。
 また、本発明のシステム1は、2つ以上の物理的に分離した装置が有線または無線で接続されている構成であってもよい。この点は、後述の各実施形態においても同様である。
 次に、第1の実施形態の処理経過を説明する。図11は、第1の実施形態の処理経過の例を示すフローチャートである。
 データ入力部2は、共クラスタリングに用いられるデータ群(第1のマスタデータ、第2のマスタデータおよびファクトデータ)と、クラスタリングの設定値とを取得する(ステップS1)。
 初期化部31は、第1のマスタデータ、第2のマスタデータおよびファクトデータと、クラスタリングの設定値を記憶部4に記憶させる。また、初期化部31は、「クラスタのモデル情報」、「クラスタ割り当て」および「クラスタ関係」に対して初期値を設定し、その初期値を記憶部4に記憶させる(ステップS2)。
 ステップS2における初期値は任意であってもよい。あるいは、初期化部31は、各初期値を、例えば、以下に示すように導出してもよい。
 初期化部31は、第1のマスタデータにおける属性の値の平均値を算出し、その平均値を、第1IDの全てのクラスタにおけるクラスタのモデル情報として定めてもよい。同様に、初期化部31は、第2のマスタデータにおける属性の値の平均値を算出し、その平均値を、第2IDの全てのクラスタにおけるクラスタのモデル情報として定めてもよい。
 初期化部31は、クラスタ割り当ての初期値を以下のように定めてもよい。ハードクラスタリングの場合、初期化部31は、各第1IDをいずれかのクラスタにランダムに割り当て、同様に、各第2IDもいずれかのクラスタにランダムに割り当てる。また、ソフトクラスタリングの場合、初期化部31は、個々の第1IDに対して、各クラスタへの所属確率を均一に定める。例えば、第1IDのクラスタの数が2つである場合、各第1IDの1番目のクラスタへの所属確率および2番目の所属確率をそれぞれ0.5に定める。同様に、初期化部31は、個々の第2IDに対して、各クラスタへの所属確率を均一に定める。
 初期化部31は、第1IDのクラスタと第2IDのクラスタの組み合わせ毎に、クラスタ関係を同じ値(例えば、0.5等)に定めてもよい。
 ステップS2の後、クラスタリング部32は、終了条件が満たされるまで、ステップS3~S7の処理を繰り返す。以下、ステップS3~S7の処理を説明する。
 予測モデル学習部321は、記憶部4に記憶されている情報を参照し、第1IDのクラスタ毎に、第1のマスタデータ内の一部のレコードで値が未知となっている属性を目的変数とする予測モデルを学習する。そして、予測モデル学習部321は、学習によって得た各予測モデルを記憶部4に記憶させる(ステップS3)。
 クラスタ割り当て部322は、記憶部4に記憶されている各第1IDのクラスタ割り当ておよび第2IDのクラスタ割り当てを更新する(ステップS4)。ステップS4において、クラスタ割り当て部322は、記憶部4に記憶されているクラスタ割り当て、ファクトデータ、およびクラスタ関係を読み込み、それらに基づいて、各第1IDのクラスタ割り当ておよび第2IDのクラスタ割り当てを新たに定める。
 また、予測モデルが生成されている各クラスタに関しては、クラスタ割り当て部322は、クラスタに対応する予測モデルを用いて目的変数となる属性の予測値を計算し、その予測値と正解値との差(予測モデルの精度)を計算する。クラスタ割り当て部322は、この差が小さいほど、着目しているクラスタに所属している第1IDの所属確率を高め、この差が大きいほど、着目しているクラスタに所属している第1IDの所属確率を低くするように、第1IDの所属確率を補正する。クラスタ割り当て部322は、予測モデルが生成されていない各クラスタ(すなわち、第2IDの各クラスタ)に対しては、この処理を行わなくてよい。
 クラスタ割り当て部322は、更新後の各第1IDのクラスタ割り当ておよび各第2IDのクラスタ割り当てを記憶部4に記憶させる。
 次に、クラスタ情報算出部323は、第1のマスタデータ、および各第1IDのクラスタの割り当てを参照し、第1IDのクラスタ毎に、クラスタに属する第1IDに対応する属性の値を用いて、クラスタのモデル情報を計算し直す。同様に、クラスタ情報算出部323は、第2のマスタデータ、および各第2IDのクラスタ割り当てを参照し、第2IDのクラスタ毎に、クラスタに属する第2IDに対応する属性の値を用いて、クラスタのモデル情報を計算し直す。クラスタ情報算出部323は、記憶部4に記憶されているクラスタのモデル情報を、新たに計算したクラスタのモデル情報で更新する(ステップS5)。
 次に、クラスタ関係算出部324は、各第1IDのクラスタ割り当ておよび各第2IDのクラスタ割り当て、並びにファクトデータを参照し、第1IDのクラスタと第2IDのクラスタの組み合わせ毎に、クラスタ関係を計算し直す。クラスタ関係算出部324は、記憶部4に記憶されているクラスタ関係を、新たに計算したクラスタ関係で更新する(ステップS6)。
 次に、終了判定部325は、終了条件が満たされたか否かを判定する(ステップS7)。終了条件が満たされていない場合(ステップS7のNo)、終了判定部325は、ステップS3~S7を繰り返すと判定する。そして、クラスタリング部32は、ステップS3~S7を再度、実行する。
 また、終了条件が満たされた場合(ステップS7のYes)、終了判定部325は、ステップS3~S7の繰り返しを終了すると判定する。この場合、結果出力部5は、その時点におけるクラスタリング部32による処理の結果を出力し、共クラスタリングシステム1の処理が終了する。
 本実施形態によれば、クラスタ割り当て部322は、ファクトデータを参照して、第1IDおよび第2IDのクラスタ割り当てを行う。換言すれば、クラスタ割り当て部322は、ファクトデータを参照して、第1IDおよび第2IDの共クラスタリングを実行する。そして、予測モデル学習部321は、クラスタ毎に予測モデルを生成する。この結果、クラスタ毎に異なる予測モデルが得られる。また、ファクトデータは、第1IDと第2IDとの関係を表している。例えば、ファクトデータは、「顧客1」は「商品1」を購入したことがあるが、「商品2」は購入したとことがない等の関係を表している。従って、本実施形態における第1IDのクラスタリング結果は、単に第1のマスタデータ内の属性の値に基づいて第1IDをクラスタリングした場合のクラスタリング結果と比較して、より適切なクラスタが得られる。第2IDのクラスタリング結果に関しても同様である。そのような、より適切なクラスタ毎に個別に予測モデルが得られるので、クラスタ毎の予測モデルの予測精度をより向上させることができる。
 また、本実施形態では、予測モデル学習部321は、クラスタの予測精度に応じて、クラスタに所属するIDの所属確率を調節する。このことからも、より適切なクラスタが得られる。よって、クラスタ毎の予測モデルの予測精度をより向上させることができる。
 また、上記の説明では、図1に例示する顧客データにおいて、一部のレコードで特定の属性の値が未知である場合を例にして説明した。顧客データ内では、各属性の値が全て定まっていて、図2に例示する商品データにおいて、一部のレコードで特定の属性の値が未知となっていてもよい。この場合、商品データを第1のマスタデータとし、顧客データを第2のマスタデータとして、共クラスタリングシステム1は、第1の実施形態と同様の処理を行えばよい。
 また、第1のマスタデータと第2のマスタデータそれぞれにおいて、一部のレコードで特定の属性の値が未知となっていてもよい。この場合、予測モデル学習部321は、第1IDのクラスタ毎に予測モデルを学習し、第2IDのクラスタ毎に予測モデルを学習すればよい。また、クラスタ割り当て部322は、第2IDに関しても、各クラスタへの所属確率を定める際に、第2IDのクラスタに対応する予測モデルの精度を用いればよい。
 また、第1のマスタデータ、第2のマスタデータおよびファクトデータに基づいて予測モデルを生成する方法として、上述の第1の実施形態による方法とは別に、以下の方法が考えられる。具体的には、第1のマスタデータの各レコードに、第2のマスタデータおよびファクトデータが示す情報を追加することで、第1のマスタデータ、第2のマスタデータおよびファクトデータを統合し、クラスタリングは行わずに、統合後のデータに基づいて予測モデルを学習する方法が考えられる。しかし、この方法で得られる予測モデルの予測精度は、上述の第1の実施形態で得られる予測モデルの予測精度よりも低い。この点について、具体的に説明する。
 図12は、図1、図2に示す第1のマスタデータ、第2のマスタデータ、および図3に示すファクトデータを統合した結果の例を示す説明図である。「炭酸水」、「焼酎」等の商品名に該当する列には、ファクトデータ(図3参照)に基づいて“1”または“0”が格納される。“1”は顧客が商品を購入したことがあることを意味し、“0”は顧客が商品を購入したことがないことを意味する。また、図12では、「炭酸水」、「焼酎」等の商品名の隣の列には、その商品の価格が格納される場合を例示している。
 図12に示す統合結果は、顧客ID以外の各列は顧客IDの属性となる形式で表されている。このことは、統合前のマスタデータが示していた一部の情報が失われることを意味する。例えば、図12に示す例では、炭酸水の価格は、本来、顧客IDの属性ではないが、形式的に、顧客IDの属性として表される。そして、炭酸水の価格が顧客IDの属性として扱われるため、「炭酸水」の価格が「150」であるという、統合前の第2のマスタデータ(図2参照)で示されていた情報が、失われることになる。
 従って、図12に示す統合結果に基づいて予測モデルを生成したとしても、その予測モデルの予測精度は、上述の第1の実施形態で得られる予測モデルの予測精度よりも低い。
実施形態2.
 本発明の第2の実施形態では、共クラスタリングを実行し、第1IDのクラスタ毎に予測モデルを生成し、さらに、予測モデルによる予測を実行する予測システムについて説明する。
 本発明の第2の実施形態の予測システムにも、第1のマスタデータ、第2のマスタデータおよびファクトデータが入力される。第2の実施形態における第1のマスタデータ、第2のマスタデータおよびファクトデータはそれぞれ、第1の実施形態における第1のマスタデータ、第2のマスタデータおよびファクトデータと同様である。
 第1のマスタデータにおいて、第1IDに対応する属性のうち、特定の属性に関しては、一部のレコードで値が未知である。
 また、第2の実施形態では、第2のマスタデータでは、各属性の値は全て定められているものとする。
 また、第2の実施形態では、第1ID(第1のマスタデータのレコードのID)が顧客IDであり、第1のマスタデータは、顧客と、その顧客の属性との対応関係を表しているものとする。また、第2ID(第2のマスタデータのレコードのID)が商品IDであり、第2のマスタデータは、商品と、その商品の属性との対応関係を表しているものとする。
 なお、顧客IDは、顧客を表しているので、顧客IDを単に顧客と称してもよい。同様に、商品IDは、商品を表しているので、商品IDを単に商品と称してもよい。
 以下、第2の実施形態では、図13に例示する第1のマスタデータ、および図14に例示する第2のマスタデータを参照して説明する。第1のマスタデータでは、図13に示す属性以外の属性が示されていてもよい。第2のマスタデータでは、図14に示す属性以外の属性が示されていてもよい。
 ファクトデータは、第1ID(顧客ID)と第2ID(商品ID)との関係を示すデータである。第2の実施形態では、ファクトデータは、顧客が商品を購入した実績があるか否かという関係を示しているものとする。図3に示す場合と同様に、顧客が商品を購入した実績があることを“1”で示し、実績がないことを“0”で示すものとする。
 以下、第2の実施形態では、図15に例示するファクトデータを参照して説明する。
 図16は、本発明の第2の実施形態の予測システムの例を示す機能ブロック図である。本発明の第2の実施形態の予測システム500は、共クラスタリング部501と、予測モデル生成部502と、予測部503とを備える。
 予測システム500には、第1のマスタデータ、第2のマスタデータおよびファクトデータが入力される。
 共クラスタリング部501は、第1のマスタデータ、第2のマスタデータおよびファクトデータに基づいて、第1ID(顧客ID)および第2ID(商品ID)を共クラスタリングする。共クラスタリング部501は、第1のマスタデータ、第2のマスタデータおよびファクトデータに基づいて、顧客および商品を共クラスタリングすると言うこともできる。
 共クラスタリング部501が第1のマスタデータ、第2のマスタデータおよびファクトデータに基づいて顧客IDおよび商品IDを共クラスタリングする方法は、公知の共クラスタリング方法でよい。また、共クラスタリング部501は、共クラスタリングとして、ソフトクラスタリングを実行しても、ハードクラスタリングを実行してもよい。
 第1の実施形態では、所定の条件が満たされたと判定されるまで、予測モデルの生成と、共クラスタリング処理を繰り返す(より具体的には、ステップS3~S7の処理を繰り返す)処理を示したが、第2の実施形態では、そのような繰り返しを行わない場合を例にして説明する。従って、第2の実施形態では、後述の予測モデル生成部502は、共クラスタリング部501による顧客IDおよび商品IDの共クラスタリングの完了後に、予測モデルの生成を行う。
 予測モデル生成部502は、共クラスタリング部501による共クラスタリグが完了すると、顧客IDのクラスタ毎に、予測モデルを生成する。
 このとき、予測モデル生成部502は、一部のレコードで値が未知となっている第1のマスタデータ内の属性を目的変数とする予測モデルを生成する。例えば、予測モデル生成部502は、図13に示す「年間のエステティックサロンの利用回数」を目的変数とする予測モデルを生成する。
 また、予測モデル生成部502は、未知の値がない第1のマスタデータ内の属性の一部または全部を説明変数とする予測モデルを生成する。例えば、予測モデル生成部502は、図13に示す「年齢」や「年収」等を説明変数とする予測モデルを生成する。予測モデル生成部502は、例えば、「年齢」のみ(あるいは、「年収」のみ)を説明変数とする予測モデルを生成してもよい。
 さらに、予測モデル生成部502は、第1のマスタデータ内の属性だけでなく、第2のマスタデータ内の属性の値から算出される集約値を説明変数として用いてもよい。ただし、予測モデル生成部502は、第2のマスタデータ内の属性の値から算出される集約値を説明変数として用いる場合、ファクトデータによって顧客IDとの関連があると判定される第2のマスタデータ内の各レコードにおける属性の値の統計量を説明変数とする。
 「ファクトデータによって顧客IDとの関連があると判定される第2のマスタデータ内の各レコードにおける属性の値の統計量」の例として、例えば、「顧客が購入した商品の価格のうちの最大値」、「顧客が購入した商品の価格の平均値」等が挙げられるが、これらに限定されない。上記の例において、「顧客が購入した商品」は、ファクトデータによって顧客IDとの関連があると判定される第2のマスタデータ内のレコードに該当する。予測モデル生成部502は、そのようなレコードにおける価格の統計量(例えば、最大値、平均値等)を説明変数として用いてもよい。以下、「顧客が購入した商品の価格のうちの最大値」を説明変数として用いる場合を例にして説明する。
 予測モデル生成部502は、説明変数の値および目的変数の値を特定可能な顧客IDに着目して、説明変数の値および目的変数の値を特定し、それらの値を教師データとして用いて機械学習を実行することによって、予測モデルを生成すればよい。予測モデル生成部502は、この処理をクラスタ毎に行えばよい。
 例えば、図13に示す「顧客3」に対応する目的変数(年間のエステティックサロンの利用回数)の値は未知であるので、「顧客3」のレコードは教師データとして用いられない。
 一方、図13に示す「顧客1」や「顧客2」に関しては、説明変数および目的変数を特定可能である。例えば、「顧客1」や「顧客2」の「年齢」、「年収」等の値、および「年間のエステティックサロンの利用回数」は、第1のマスタデータから特定可能である。さらに、ファクトデータ(図15参照)によって、予測モデル生成部502は、「顧客1」が購入した商品が「炭酸飲料P」のみであると判定し、第2のマスタテーブルの「炭酸飲料P」のレコードにおける属性の統計量として、“130”を特定することできる。すなわち、予測モデル生成部502は、ファクトデータを参照することによって、顧客1が購入した商品の価格のうちの最大値を特定することができる。同様に、ファクトデータ(図15参照)によって、予測モデル生成部502は、「顧客2」が購入した商品が「菓子1」および「炭酸飲料P」であると判定し、第2のマスタテーブルの「菓子1」のレコードおよび「炭酸飲料P」のレコードにおける属性の統計量として、“130”を特定することできる。すなわち、予測モデル生成部502は、ファクトデータを参照することによって、顧客2が購入した商品の価格のうちの最大値を特定することができる。従って、「顧客1」や「顧客2」に関するデータは、教師データとして用いることができる。
 なお、共クラスタリング部501がソフトクラスタリングを実行した場合、教師データの値を、顧客IDが各クラスタに所属する所属確率に応じて重み付けすればよい。
 予測部503は、顧客IDと、目的変数(実施形態では「年間のエステティックサロンの利用回数」という属性)の指定を、例えば、予測システム500のユーザから受け付ける。すると、予測部503は、指定された顧客IDに対応する目的変数の値を、予測モデル生成手段502が生成した予測モデル用いて予測する。
 共クラスタリング部501がハードクラスタリングを実行した場合、予測部503は、指定された顧客IDが属するクラスタを特定し、そのクラスタに対応する予測モデルを用いて、その顧客IDに対応する目的変数の値を予測する。
 このとき、予測部503は、指定された顧客IDに対する説明変数の値を特定し、その説明変数の値を、指定された顧客IDが属するクラスタに対応する予測モデルに適用することによって、予測値を算出すればよい。例えば、説明変数が「年齢」および「顧客が購入した商品の価格のうちの最大値」であるとする。また、図13に示す「顧客4」が指定されたとする。予測部503は、第1のマスタデータから「顧客4」の年齢“50”を特定する。また、予測部503は、ファクトデータ(図15参照)によって、「顧客4」が購入した商品が「菓子1」、「炭酸飲料P」および「炭酸飲料Q」であると判定し、「菓子1」、「炭酸飲料P」および「炭酸飲料Q」の価格の最大値“130”を第2のマスタデータ(図14参照)から求める。そして、予測部503は、各説明変数の値“50”, “130”を、「顧客4」が所属するクラスタに対応する予測モデルに適用すればよい。
 また、共クラスタリング部501がソフトクラスタリングを実行した場合、予測部503は、顧客IDの個々のクラスタに対応する予測モデル毎に、指定された顧客IDに対応する目的変数の値を予測する。1つの予測モデルに着目して目的変数の値を予測する動作は上記の動作と同様であり、説明を省略する。
 予測部503は、個々のクラスタに対応する予測モデル毎に予測値を得た後に、その各予測値を、指定された顧客IDが各クラスタに属する所属確率で重み付け加算し、その結果を目的変数の値として確定する。
 共クラスタリング部501、予測モデル生成部502および予測部503は、例えば、プログラム(予測プログラム)に従って動作するコンピュータのCPUによって実現される。この場合、CPUは、例えば、コンピュータのプログラム記憶装置(図16において図示略)等の等のプログラム記録媒体からプログラムを読み込み、そのプログラムに従って、共クラスタリング部501、予測モデル生成部502および予測部503として動作すればよい。また、共クラスタリング部501、予測モデル生成部502および予測部503がそれぞれ専用のハードウェアで実現されていてもよい。
 次に、第2の実施形態の処理経過を説明する。図17は、第2の実施形態の処理経過の例を示すフローチャートである。
 予測システム500に第1のマスタデータ、第2のマスタデータおよびファクトデータが入力されると、共クラスタリング部501は、第1のマスタデータ、第2のマスタデータおよびファクトデータに基づいて、顧客IDおよび商品IDを共クラスタリングする(ステップS101)。ステップS101における共クラスタリングの方法は、公知の共クラスタリング方法でよい。共クラスタリング部501は、共クラスタリングの結果得た各クラスタを予測モデル生成部502に出力する。
 顧客IDおよび商品IDの共クラスタリングが完了すると、予測モデル生成部502は、共クラスタリング部501が出力した顧客IDのクラスタ毎に、予測モデルを生成する(ステップS102)。予測モデル生成部502の動作の詳細については、既に説明したので、ここでは説明を省略する。
 ステップS102の後、予測部503は、顧客IDと、目的変数の指定を受け付けると、指定された顧客IDに対応する目的変数の値を、ステップS102で生成された予測モデルを用いて予測する(ステップS103)。予測部503の動作の詳細については、既に説明したので、ここでは説明を省略する。
 第2の実施形態によれば、共クラスタリング部501は、第1のマスタデータ、第2のマスタデータおよびファクトデータに基づいて、顧客ID(第1ID)および商品ID(第2ID)を共クラスタリングする。従って、顧客ID、商品IDそれぞれのクラスタリング精度は、第1のマスタデータだけに基づいて顧客IDをクラスタリングする場合や、第2のマスタデータだけに基づいて商品IDをクラスタリングする場合に比べ向上する。
 そのような良好な精度でクラスタリングされた顧客IDのクラスタ毎に、予測モデル生成部502は、予測モデルを生成する。従って、予測モデルの精度も良好となり、予測モデルに基づいて得られた目的変数の予測値の精度も高くなる。すなわち、第2の実施形態の予測システムによれば、高い精度で予測を行うことができる。
 また、予測モデル生成部502は、第1のマスタデータの属性だけでなく、ファクトデータによって顧客IDとの関連があると判定される第2のマスタデータ内の各レコードにおける属性の値の統計量も、予測モデルの説明変数として用いることが好ましい。そのような統計量も説明変数として用いることで、予測モデルの精度をさらに向上させることができ、その結果、予測モデルに基づいて得られた予測値の精度もさらに向上する。
実施形態3.
 第2の実施形態では、第1の実施形態とは異なり、予測モデルの生成と、共クラスタリング処理との繰り返しをせずに、共クラスタリングが完了した後に予測モデルを生成するシステムを説明した。
 本発明の第3の実施形態の共クラスタリングシステムは、第1の実施形態と同様に、ステップS3~S7の処理を繰り返すことにより、第1IDおよび第2IDを共クラスタリングするとともに、クラスタに対応する予測モデルを生成する。さらに、本発明の第3の実施形態の共クラスタリングシステムは、テストデータが入力されると、目的変数の値を予測する。
 図18は、本発明の第3の実施形態の共クラスタリングシステムの例を示す機能ブロック図である。第1の実施形態と同様の要素については、図6と同一の符号を付し、説明を省略する。第3の実施形態の共クラスタリングシステム1は、データ入力部2、処理部3、記憶部4および結果出力部5に加え、さらに、テストデータ入力部6と、予測部7と、予測結果出力部8とを備える。
 以下の説明では、処理部3が、第1の実施形態で説明した処理を完了し、第1IDおよび第2IDがそれぞれクラスタに分類され、第1IDのクラスタ毎に予測モデルが生成されているものとして説明する。
 テストデータ入力部6は、テストデータを取得する。テストデータ入力部6は、例えば、外部の装置にアクセスして、テストデータを取得してもよい。あるいは、テストデータ入力部6は、テストデータが入力される入力インタフェースであってもよい。
 テストデータは、目的変数(例えば、図1に示す第1のマスタデータにおける「年間のエステティックサロンの利用回数」)が未知である新たな第1IDのレコードと、その新たな第1IDと第2のマスタデータ内の第2IDとの関係を示すデータとを含む。
 新たな第1IDのレコードは、例えば、あるサービスに会員登録して間もない会員のレコードである。このレコードにおいて、目的変数に該当する属性以外の属性(例えば、「年齢」、「年収」等)の値は定められているものとする。
 また、その新たな第1IDと第2のマスタデータ内の第2IDとの関係を示すデータの例として、その新たな第1IDによって特定される顧客の商品購買履歴データが挙げられる。新たな第1IDと第2のマスタデータ内の第2IDとの関係を示すデータは、新たな第1IDに関するファクトデータであると言うこともできる。
 予測部7は、テストデータに含まれる新たな第1IDが所属するクラスタを特定する。このとき、予測部7は、新たな第1IDのレコードに含まれる属性の値に基づいて、クラスタを特定してもよい。例えば、予測部7は、新たな第1IDのレコードに含まれる属性の値(例えば、「年齢」、「年収」の値)と、各クラスタに所属する各第1IDのレコードにおけるその属性の値とを比較して、所属している各第1IDの属性の値が、新たな第1IDのレコードに含まれる属性の値に最も近いクラスタを特定してもよい。予測部7は、そのクラスタを、新たな第1IDが所属するクラスタとみなしてよい。
 また、予測部7は、新たな第1IDと第2のマスタデータ内の第2IDとの関係を示すデータ(例えば、商品購買履歴データ)に基づいて、その新たな第1IDによって特定される顧客の商品購買傾向を特定し、同様の商品購買傾向を有する第1IDのクラスタを特定してもよい。予測部7は、そのクラスタを、新たな第1IDが所属するクラスタとみなしてもよい。
 予測部7は、第1IDが所属するクラスタを特定した後、そのクラスタに対応する予測モデルに、新たな第1IDのレコードに含まれる属性の値を適用することによって、新たな第1IDに対応する目的変数の値を予測する。
 上記の説明では、予測部7が、新たな第1IDが所属するクラスタを特定する場合を例にして説明した。予測部7は、第1IDのクラスタ毎に、新たな第1IDがクラスタに所属する所属確率を求めてもよい。例えば、予測部7は、新たな第1IDのレコードに含まれる属性の値(例えば、「年齢」、「年収」の値)と、各クラスタに所属する各第1IDのレコードにおけるその属性の値とを比較して、クラスタ毎に、クラスタに所属している各第1IDの属性の値と、新たな第1IDのレコードに含まれる属性の値との近さの程度に応じて、新たな第1IDの各クラスタへの所属確率を求めてもよい。
 また、予測部7は、新たな第1IDと第2のマスタデータ内の第2IDとの関係を示すデータ(例えば、商品購買履歴データ)に基づいて、その新たな第1IDによって特定される顧客の商品購買傾向を特定し、その商品購買傾向と、第1IDのクラスタ毎の商品購買傾向との近さの程度に応じて、新たな第1IDの各クラスタへの所属確率を求めてもよい。
 新たな第1IDの各クラスタへの所属確率を求めた場合には、予測部7は、第1IDの各クラスタに対応する予測モデル毎に、新たな第1IDのレコードに含まれる属性の値を適用し、目的変数の値を予測する。さらに、予測部7は、個々のクラスタに対応する予測モデル毎に予測値を得た後に、その各予測値を、新たな第1IDの各クラスタへの所属確率で重み付け加算し、その結果を目的変数の値として確定してもよい。
 予測結果出力部8は、予測部7が予測した目的変数の値を出力する。予測結果出力部8が目的変数の予測値を出力する態様は、特に限定されない。例えば、予測結果出力部8は、目的変数の予測値を他の装置に出力してもよい。また、例えば、予測結果出力部8は、目的変数の予測値をディスプレイ装置に表示させてもよい。
 テストデータ入力部6、予測部7および予測結果出力部8も、例えば、プログラム(共クラスタリングプログラム)に従って動作するコンピュータのCPUによって実現される。
 本実施形態によれば、与えられたテストデータにおける未知の値を予測することができる。
[具体例]
 以下に、第1の実施形態の具体例を示す。以下に示す具体例では、マスタデータをデータセットと記す場合がある。また、第1のマスタデータを“データセット1”と記し、第2のマスタデータを“データセット2”と記す場合がある。また、ファクトデータを関係データと記す場合がある。
 以下に示す具体例で示す数式で用いる記号等の意味を、以下に示す表にまとめる。
Figure JPOXMLDOC01-appb-T000005
Figure JPOXMLDOC01-appb-T000006
 以下に示す具体例では、無限混合ベイズモデルを用いた場合の変分ベイズ法による推論アルゴリズムを記載する。また、第1の実施形態等で例示した場合と同様に、第1のマスタデータ(データセット1)が、顧客に関するマスタデータであり、第2のマスタデータ(データセット2)が、商品に関するマスタデータであるものとする。また、第1のマスタデータに、一部のレコードで値が未知となっている属性が存在しているものとする。
 d番目の顧客(顧客ID)がクラスタkに所属する確率は、以下に示す式(1)で表される。
Figure JPOXMLDOC01-appb-M000007
 d番目の商品(商品ID)がクラスタkに所属する確率は、以下に示す式(2)で表される。
Figure JPOXMLDOC01-appb-M000008
 なお、Ψは、ディガンマ関数である。ρは、システム管理者が設定可能なパラメータであり、ρには、0~1の範囲内の値が設定される。ρの値が0に近づくほど、共クラスタリングにおける学習の効果が強くなる。すなわち、予測モデルの精度が向上するようにIDのクラスタへの所属確率が決定されやすくなる。
 式(1)内の以下の部分は、d番目の顧客の属性の値を、クラスタkの予測モデルで予測した際のスコアを表す。予測誤差が小さいほど、このスコアは大きくなる。すなわち、予測誤差が小さいほど、d番目の顧客がクラスタkに所属する確率は高くなる。
Figure JPOXMLDOC01-appb-M000009
 また、データセット1の隠れ変数の生成モデルは、以下に示す式(3)で表される。
Figure JPOXMLDOC01-appb-M000010
 また、そのパラメータの変分事後分布は、以下に示す式(4)で表される。
Figure JPOXMLDOC01-appb-M000011
 また、そのパラメータの更新式は、以下に示す式(5)、式(6)で表される。
Figure JPOXMLDOC01-appb-M000012
Figure JPOXMLDOC01-appb-M000013
 また、データセット2に関するパラメータの更新式は、以下に示す式(7)、式(8)で表される。
Figure JPOXMLDOC01-appb-M000014
Figure JPOXMLDOC01-appb-M000015
 また、ファクトデータの生成モデルは、以下に示す式(9)で表される。
Figure JPOXMLDOC01-appb-M000016
 また、そのパラメータの変分事後分布は、以下に示す式(10)で表される。
Figure JPOXMLDOC01-appb-M000017
 また、そのパラメータの更新式は、以下に示す式(11)、式(12)で表される。
Figure JPOXMLDOC01-appb-M000018
Figure JPOXMLDOC01-appb-M000019
 また、SVM(Support Vector Machine)の重みパラメータの変分事後分布は、以下に示す式(13)で表される。
Figure JPOXMLDOC01-appb-M000020
 また、そのパラメータの更新式は、以下に示す式(14)で表される。
Figure JPOXMLDOC01-appb-M000021
 また、SVMの学習問題は、以下に示す式(15)で表される。
Figure JPOXMLDOC01-appb-M000022
 なお、式(15)において、μk1 (1)は、以下に示す式(16)で表される。
Figure JPOXMLDOC01-appb-M000023
 以下、第1の実施形態の具体例として、上記の式を用いた処理経過の例を示す。図19、図20は、第1の実施形態の具体例における処理経過の例を示すフローチャートである。
 まず、データ入力部2がデータを取得する(ステップS300)。
 次に、初期化部31が、クラスタを初期化する(ステップS302)。
 次に、予測モデル学習部321は、データセット1の各クラスタで式(15)を解き、パラメータωを取得する(ステップS304)。
 次に、予測モデル学習部321は、データセット1の各クラスタで、式(14)によりSVMモデルq(ηk1 (1))を更新する(ステップS306)。
 次に、クラスタ割り当て部322は、データセット1の各データのクラスタ割り当てq(zd1 (1)=k)を式(1)に従って更新する(ステップS308)。
 次に、クラスタ割り当て部322は、データセット2の各データのクラスタ割り当てq(zd2 (2)=k)を式(2)に従って更新する(ステップS310)。
 次に、クラスタ情報算出部323は、データセット1の各クラスタのモデルq(vk1 (1))を式(6)に従って更新する(ステップS316)。
 次に、クラスタ情報算出部323は、データセット2の各クラスタのモデルq(vk2 (2))を式(8)に従って更新する(ステップS318)。
 次に、クラスタ関係算出部324は、データセット1,2のクラスタの組み合わせについて、クラスタの関連度q(θk1k2 [1])を式(12)に従って更新する(ステップS320)。
 次に、終了判定部325は、終了条件が満たされたか否かを判定する(ステップS322)。終了条件が満たされていないと判定された場合(ステップS322のNo)、ラスタリング部32は、ステップS304以降の処理を繰り返す。
 終了条件が満たされたと判定した場合(ステップS322のYes)、結果出力部5は、その時点におけるクラスタリング部32による処理の結果を出力し、処理を終了する。
 図21は、本発明の各実施形態に係るコンピュータの構成例を示す概略ブロック図である。コンピュータ1000は、CPU1001と、主記憶装置1002と、補助記憶装置1003と、インタフェース1004とを備える。
 各実施形態のシステム(第1、第3の実施形態における共クラスタリングシステム、第2の実施形態における予測システム)は、コンピュータ1000に実装される。各実施形態のシステムの動作は、プログラムの形式で補助記憶装置1003に記憶されている。CPU1001は、プログラムを補助記憶装置1003から読み出して主記憶装置1002に展開し、そのプログラムに従って上記の処理を実行する。
 補助記憶装置1003は、一時的でない有形の媒体の一例である。一時的でない有形の媒体の他の例として、インタフェース1004を介して接続される磁気ディスク、光磁気ディスク、CD-ROM、DVD-ROM、半導体メモリ等が挙げられる。また、このプログラムが通信回線によってコンピュータ1000に配信される場合、配信を受けたコンピュータ1000がそのプログラムを主記憶装置1002に展開し、上記の処理を実行してもよい。
 また、プログラムは、前述の処理の一部を実現するためのものであってもよい。さらに、プログラムは、補助記憶装置1003に既に記憶されている他のプログラムとの組み合わせで前述の処理を実現する差分プログラムであってもよい。
 また、各装置の各構成要素の一部または全部は、汎用または専用の回路(circuitry )、プロセッサ等やこれらの組み合わせによって実現されてもよい。これらは、単一のチップによって構成されてもよいし、バスを介して接続される複数のチップによって構成されてもよい。各装置の各構成要素の一部または全部は、上述した回路等とプログラムとの組み合わせによって実現されてもよい。
 各装置の各構成要素の一部または全部が複数の情報処理装置や回路等により実現される場合には、情報処理装置や回路等は、集中配置されてもよいし、分散配置されてもよい。例えば、情報処理装置や回路等は、クライアントアンドサーバシステム、クラウドコンピューティングシステム等、各々が通信ネットワークを介して接続される形態として実現されてもよい。
 次に、本発明の概要について説明する。図22は、本発明の予測システムの概要を示すブロック図である。本発明の予測システムは、共クラスタリング手段81と、予測モデル生成手段82と、予測手段83とを備える。
 共クラスタリング手段81(例えば、共クラスタリング部501)は、第1のマスタデータと、第2のマスタデータと、第1のマスタデータ内のレコードのIDである第1IDと第2のマスタデータ内のレコードのIDである第2IDとの関係を示すファクトデータとに基づいて、第1IDおよび第2IDを共クラスタリングする。
 予測モデル生成手段82(例えば、予測モデル生成部502)は、共クラスタリング手段81が出力する第1IDのクラスタ毎に予測モデルを生成する。
 予測手段83(例えば、予測部503)は、第1IDと、第1のマスタデータに含まれる属性の一つである目的変数とが指定された場合に、予測モデルと、第1IDが各クラスタに属する所属確率とに基づいて、第1IDに対応する目的変数の値を予測する。
 そのような構成により、属性の未知の値を高い精度で予測することができる。
 上記の本発明の実施形態は、以下の付記のようにも記載され得るが、以下に限定されるわけではない。
(付記1)
 第1のマスタデータと、第2のマスタデータと、前記第1のマスタデータ内のレコードのIDである第1IDと前記第2のマスタデータ内のレコードのIDである第2IDとの関係を示すファクトデータとに基づいて、前記第1IDおよび前記第2IDを共クラスタリングする共クラスタリング手段と、
 前記共クラスタリング手段が出力する前記第1IDのクラスタ毎に予測モデルを生成する予測モデル生成手段と、
 前記第1IDと、前記第1のマスタデータに含まれる属性の一つである目的変数とが指定された場合に、前記予測モデルと、前記第1IDが各クラスタに属する所属確率とに基づいて、前記第1IDに対応する前記目的変数の値を予測する予測手段を備える
 ことを特徴とする予測システム。
(付記2)
 予測モデル生成手段は、第1のマスタデータ内の属性と、ファクトデータによって第1IDとの関連があると判定される第2のマスタデータ内の各レコードにおける属性の値の統計量とを説明変数とする予測モデルを、第1IDのクラスタ毎に生成する
 付記1に記載の予測システム。
(付記3)
 予測手段は、
 指定された第1IDが属するクラスタを特定し、前記クラスタに対応する予測モデルを用いて、前記第1IDに対応する目的変数の値を予測する
 付記1または付記2に記載の予測システム。
(付記4)
 予測手段は、
 第1IDの個々のクラスタに対応する予測モデル毎に、指定された第1IDに対応する目的変数の値を予測し、予測した各値に対して、指定された第1IDが各クラスタに属する所属確率で重み付け加算した結果を、前記目的変数の値として確定する
 付記1または付記2に記載の予測システム。
(付記5)
 顧客と前記顧客の属性とを含む第1のマスタデータと、商品と前記商品の属性とを含む第2のマスタデータと、前記顧客と前記商品との関係を示すファクトデータとに基づいて、前記顧客および前記商品を共クラスタリングする共クラスタリング手段と、
 前記共クラスタリング手段が出力する前記顧客のクラスタ毎に予測モデルを生成する予測モデル生成手段と、
 顧客と、前記顧客の属性の一つである目的変数とが指定された場合に、前記予測モデルと、指定された前記顧客が各クラスタに属する所属確率とに基づいて、指定された前記顧客に対応する前記目的変数の値を予測する予測手段を備える
 ことを特徴とする予測システム。
(付記6)
 予測モデル生成手段は、顧客の属性と、ファクトデータによって顧客との関連があると判定される第2のマスタデータ内の各レコードにおける属性の値の統計量とを説明変数とする予測モデルを、顧客のクラスタ毎に生成する
 付記5に記載の予測システム。
 以上、実施形態を参照して本願発明を説明したが、本願発明は上記の実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
 この出願は、2016年3月16日に出願された日本特許出願2016-052738を基礎とする優先権を主張し、その開示の全てをここに取り込む。
産業上の利用の可能性
 本発明は、属性の未知の値を予測する予測システムに好適に適用される。
 500 予測システム
 501 共クラスタリング部
 502 予測モデル生成部
 503 予測部

Claims (14)

  1.  第1のマスタデータと、第2のマスタデータと、前記第1のマスタデータ内のレコードのIDである第1IDと前記第2のマスタデータ内のレコードのIDである第2IDとの関係を示すファクトデータとに基づいて、前記第1IDおよび前記第2IDを共クラスタリングする共クラスタリング手段と、
     前記共クラスタリング手段が出力する前記第1IDのクラスタ毎に予測モデルを生成する予測モデル生成手段と、
     前記第1IDと、前記第1のマスタデータに含まれる属性の一つである目的変数とが指定された場合に、前記予測モデルと、前記第1IDが各クラスタに属する所属確率とに基づいて、前記第1IDに対応する前記目的変数の値を予測する予測手段を備える
     ことを特徴とする予測システム。
  2.  予測モデル生成手段は、第1のマスタデータ内の属性と、ファクトデータによって第1IDとの関連があると判定される第2のマスタデータ内の各レコードにおける属性の値の統計量とを説明変数とする予測モデルを、第1IDのクラスタ毎に生成する
     請求項1に記載の予測システム。
  3.  予測手段は、
     指定された第1IDが属するクラスタを特定し、前記クラスタに対応する予測モデルを用いて、前記第1IDに対応する目的変数の値を予測する
     請求項1または請求項2に記載の予測システム。
  4.  予測手段は、
     第1IDの個々のクラスタに対応する予測モデル毎に、指定された第1IDに対応する目的変数の値を予測し、予測した各値に対して、指定された第1IDが各クラスタに属する所属確率で重み付け加算した結果を、前記目的変数の値として確定する
     請求項1または請求項2に記載の予測システム。
  5.  顧客と前記顧客の属性とを含む第1のマスタデータと、商品と前記商品の属性とを含む第2のマスタデータと、前記顧客と前記商品との関係を示すファクトデータとに基づいて、前記顧客および前記商品を共クラスタリングする共クラスタリング手段と、
     前記共クラスタリング手段が出力する前記顧客のクラスタ毎に予測モデルを生成する予測モデル生成手段と、
     顧客と、前記顧客の属性の一つである目的変数とが指定された場合に、前記予測モデルと、指定された前記顧客が各クラスタに属する所属確率とに基づいて、指定された前記顧客に対応する前記目的変数の値を予測する予測手段を備える
     ことを特徴とする予測システム。
  6.  予測モデル生成手段は、顧客の属性と、ファクトデータによって顧客との関連があると判定される第2のマスタデータ内の各レコードにおける属性の値の統計量とを説明変数とする予測モデルを、顧客のクラスタ毎に生成する
     請求項5に記載の予測システム。
  7.  第1のマスタデータと、第2のマスタデータと、前記第1のマスタデータ内のレコードのIDである第1IDと前記第2のマスタデータ内のレコードのIDである第2IDとの関係を示すファクトデータとに基づいて、前記第1IDおよび前記第2IDを共クラスタリングし、
     前記第1IDのクラスタ毎に予測モデルを生成し、
     前記第1IDと、前記第1のマスタデータに含まれる属性の一つである目的変数とが指定された場合に、前記予測モデルと、前記第1IDが各クラスタに属する所属確率とに基づいて、前記第1IDに対応する前記目的変数の値を予測する
     ことを特徴とする予測方法。
  8.  第1のマスタデータ内の属性と、ファクトデータによって第1IDとの関連があると判定される第2のマスタデータ内の各レコードにおける属性の値の統計量とを説明変数とする予測モデルを、第1IDのクラスタ毎に生成する
     請求項7に記載の予測方法。
  9.  顧客と前記顧客の属性とを含む第1のマスタデータと、商品と前記商品の属性とを含む第2のマスタデータと、前記顧客と前記商品との関係を示すファクトデータとに基づいて、前記顧客および前記商品を共クラスタリングし、
     前記顧客のクラスタ毎に予測モデルを生成し、
     顧客と、前記顧客の属性の一つである目的変数とが指定された場合に、前記予測モデルと、指定された前記顧客が各クラスタに属する所属確率とに基づいて、指定された前記顧客に対応する前記目的変数の値を予測する
     ことを特徴とする予測方法。
  10.  顧客の属性と、ファクトデータによって顧客との関連があると判定される第2のマスタデータ内の各レコードにおける属性の値の統計量とを説明変数とする予測モデルを、顧客のクラスタ毎に生成する
     請求項9に記載の予測方法。
  11.  コンピュータに、
     第1のマスタデータと、第2のマスタデータと、前記第1のマスタデータ内のレコードのIDである第1IDと前記第2のマスタデータ内のレコードのIDである第2IDとの関係を示すファクトデータとに基づいて、前記第1IDおよび前記第2IDを共クラスタリングする共クラスタリング処理、
     前記共クラスタリング処理で出力される前記第1IDのクラスタ毎に予測モデルを生成する予測モデル生成処理、および、
     前記第1IDと、前記第1のマスタデータに含まれる属性の一つである目的変数とが指定された場合に、前記予測モデルと、前記第1IDが各クラスタに属する所属確率とに基づいて、前記第1IDに対応する前記目的変数の値を予測する予測処理
     を実行させるための予測プログラム。
  12.  コンピュータに、
     予測モデル生成処理で、第1のマスタデータ内の属性と、ファクトデータによって第1IDとの関連があると判定される第2のマスタデータ内の各レコードにおける属性の値の統計量とを説明変数とする予測モデルを、第1IDのクラスタ毎に生成させる
     請求項11に記載の予測プログラム。
  13.  コンピュータに、
     顧客と前記顧客の属性とを含む第1のマスタデータと、商品と前記商品の属性とを含む第2のマスタデータと、前記顧客と前記商品との関係を示すファクトデータとに基づいて、前記顧客および前記商品を共クラスタリングする共クラスタリング処理、
     前記共クラスタリング処理で出力される前記顧客のクラスタ毎に予測モデルを生成する予測モデル生成処理、および、
     顧客と、前記顧客の属性の一つである目的変数とが指定された場合に、前記予測モデルと、指定された前記顧客が各クラスタに属する所属確率とに基づいて、指定された前記顧客に対応する前記目的変数の値を予測する予測処理
     を実行させるための予測プログラム。
  14.  コンピュータに
     予測モデル生成処理で、顧客の属性と、ファクトデータによって顧客との関連があると判定される第2のマスタデータ内の各レコードにおける属性の値の統計量とを説明変数とする予測モデルを、顧客のクラスタ毎に生成させる
     請求項13に記載の予測プログラム。
PCT/JP2017/008489 2016-03-16 2017-03-03 予測システム、方法およびプログラム WO2017159403A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US15/750,335 US20180225581A1 (en) 2016-03-16 2017-03-03 Prediction system, method, and program
JP2018505812A JP6414363B2 (ja) 2016-03-16 2017-03-03 予測システム、方法およびプログラム

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2016-052738 2016-03-16
JP2016052738 2016-03-16

Publications (1)

Publication Number Publication Date
WO2017159403A1 true WO2017159403A1 (ja) 2017-09-21

Family

ID=59850923

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2017/008489 WO2017159403A1 (ja) 2016-03-16 2017-03-03 予測システム、方法およびプログラム

Country Status (3)

Country Link
US (1) US20180225581A1 (ja)
JP (1) JP6414363B2 (ja)
WO (1) WO2017159403A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019188101A1 (ja) * 2018-03-27 2019-10-03 カルチュア・コンビニエンス・クラブ株式会社 顧客の属性情報を解析する装置、方法、およびプログラム
JP2020140572A (ja) * 2019-02-28 2020-09-03 富士通株式会社 配分方法、抽出方法、配分プログラム、抽出プログラム、配分装置及び抽出装置
JP2021103339A (ja) * 2018-03-27 2021-07-15 カルチュア・コンビニエンス・クラブ株式会社 顧客の属性情報を解析する装置、方法、およびプログラム

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016157707A1 (ja) * 2015-03-30 2016-10-06 日本電気株式会社 表操作システム、方法およびプログラム
US10423781B2 (en) * 2017-05-02 2019-09-24 Sap Se Providing differentially private data with causality preservation
US10922335B1 (en) 2018-01-29 2021-02-16 Facebook, Inc. User targeting using an unresolved graph
US10803094B1 (en) * 2018-01-29 2020-10-13 Facebook, Inc. Predicting reach of content using an unresolved graph
JP7155074B2 (ja) * 2019-07-03 2022-10-18 富士フイルム株式会社 情報提案システム、情報提案方法、プログラムおよび記録媒体
US11551024B1 (en) * 2019-11-22 2023-01-10 Mastercard International Incorporated Hybrid clustered prediction computer modeling
US11620542B2 (en) * 2019-12-05 2023-04-04 At&T Intellectual Property I, L.P. Bias scoring of machine learning project data
KR102501496B1 (ko) * 2020-06-11 2023-02-20 라인플러스 주식회사 개인화를 통한 연합 학습의 다중 모델 제공 방법, 시스템, 및 컴퓨터 프로그램

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007164346A (ja) * 2005-12-12 2007-06-28 Toshiba Corp 決定木変更方法、異常性判定方法およびプログラム
US20090055139A1 (en) * 2007-08-20 2009-02-26 Yahoo! Inc. Predictive discrete latent factor models for large scale dyadic data
WO2014179724A1 (en) * 2013-05-02 2014-11-06 New York University System, method and computer-accessible medium for predicting user demographics of online items

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007164346A (ja) * 2005-12-12 2007-06-28 Toshiba Corp 決定木変更方法、異常性判定方法およびプログラム
US20090055139A1 (en) * 2007-08-20 2009-02-26 Yahoo! Inc. Predictive discrete latent factor models for large scale dyadic data
WO2014179724A1 (en) * 2013-05-02 2014-11-06 New York University System, method and computer-accessible medium for predicting user demographics of online items

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
MASAFUMI OYAMADA ET AL.: "Mugen Kongo SVM no Kankei Model-ka", 2016 NENDO PROCEEDINGS OF THE ANNUAL CONFERENCE OF JSAI (JSAI2016, 6 June 2016 (2016-06-06), pages 1 - 4, Retrieved from the Internet <URL:http://kaigi.org/jsai/webprogram/2016/paper-310.html> *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019188101A1 (ja) * 2018-03-27 2019-10-03 カルチュア・コンビニエンス・クラブ株式会社 顧客の属性情報を解析する装置、方法、およびプログラム
JP2021103339A (ja) * 2018-03-27 2021-07-15 カルチュア・コンビニエンス・クラブ株式会社 顧客の属性情報を解析する装置、方法、およびプログラム
JP7198591B2 (ja) 2018-03-27 2023-01-04 カルチュア・コンビニエンス・クラブ株式会社 顧客の属性情報を解析する装置、方法、およびプログラム
JP2020140572A (ja) * 2019-02-28 2020-09-03 富士通株式会社 配分方法、抽出方法、配分プログラム、抽出プログラム、配分装置及び抽出装置
JP7310171B2 (ja) 2019-02-28 2023-07-19 富士通株式会社 配分方法、抽出方法、配分プログラム、抽出プログラム、配分装置及び抽出装置

Also Published As

Publication number Publication date
US20180225581A1 (en) 2018-08-09
JP6414363B2 (ja) 2018-10-31
JPWO2017159403A1 (ja) 2018-06-21

Similar Documents

Publication Publication Date Title
JP6414363B2 (ja) 予測システム、方法およびプログラム
JP6311851B2 (ja) 共クラスタリングシステム、方法およびプログラム
TWI631518B (zh) 具有一或多個計算裝置的電腦伺服系統及訓練事件分類器模型的電腦實作方法
CN112085172B (zh) 图神经网络的训练方法及装置
Yao et al. New fairness metrics for recommendation that embrace differences
US10984343B2 (en) Training and estimation of selection behavior of target
US8768866B2 (en) Computer-implemented systems and methods for forecasting and estimation using grid regression
WO2020135642A1 (zh) 一种基于生成对抗网络的模型训练方法及设备
CN111966886A (zh) 对象推荐方法、对象推荐装置、电子设备及存储介质
JP2017199355A (ja) レコメンデーション生成
WO2023103527A1 (zh) 一种访问频次的预测方法及装置
CN107392217B (zh) 计算机实现的信息处理方法及装置
US11301763B2 (en) Prediction model generation system, method, and program
Shamsabadi et al. Confidential-PROFITT: confidential PROof of fair training of trees
CN113886697A (zh) 基于聚类算法的活动推荐方法、装置、设备及存储介质
CN113591881A (zh) 基于模型融合的意图识别方法、装置、电子设备及介质
CN112560105A (zh) 保护多方数据隐私的联合建模方法及装置
US11704598B2 (en) Machine-learning techniques for evaluating suitability of candidate datasets for target applications
US20210133853A1 (en) System and method for deep learning recommender
JPWO2018088276A1 (ja) 予測モデル生成システム、方法およびプログラム
CN114493674A (zh) 一种广告点击率预测模型及方法
Kuznietsova et al. Business intelligence techniques for missing data imputation
CN112463964A (zh) 文本分类及模型训练方法、装置、设备及存储介质
CN111368337A (zh) 保护隐私的样本生成模型构建、仿真样本生成方法及装置
JP7309673B2 (ja) 情報処理装置、情報処理方法、及びプログラム

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 2018505812

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 15750335

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17766406

Country of ref document: EP

Kind code of ref document: A1

122 Ep: pct application non-entry in european phase

Ref document number: 17766406

Country of ref document: EP

Kind code of ref document: A1