WO2020250723A1 - 情報処理方法、情報処理装置、及び、プログラム - Google Patents

情報処理方法、情報処理装置、及び、プログラム Download PDF

Info

Publication number
WO2020250723A1
WO2020250723A1 PCT/JP2020/021540 JP2020021540W WO2020250723A1 WO 2020250723 A1 WO2020250723 A1 WO 2020250723A1 JP 2020021540 W JP2020021540 W JP 2020021540W WO 2020250723 A1 WO2020250723 A1 WO 2020250723A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
prediction
learning
information processing
prediction model
Prior art date
Application number
PCT/JP2020/021540
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 US17/615,368 priority Critical patent/US20220230096A1/en
Publication of WO2020250723A1 publication Critical patent/WO2020250723A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/211Selection of the most significant subset of features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/2163Partitioning the feature space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/285Selection of pattern recognition techniques, e.g. of classifiers in a multi-classifier system
    • 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/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"

Definitions

  • the present technology relates to an information processing method, an information processing device, and a program, and more particularly to an information processing method, an information processing device, and a program designed to improve the prediction accuracy of a prediction model.
  • Predictive analysis is, for example, a technique for predicting future events based on past results by machine learning.
  • the accuracy of the prediction analysis may decrease.
  • the characteristics of the training data and the characteristics of the prediction data may differ significantly. If the characteristics of the training data and the characteristics of the prediction data are significantly different, the accuracy of the prediction analysis may decrease.
  • This technology was made in view of such a situation, and is intended to improve the prediction accuracy of the prediction model.
  • an information processing system including one or more information processing devices learns the prediction model based on the prediction data used for the prediction analysis using the prediction model and the training data. I do.
  • the information processing device of one aspect of the present technology includes a learning unit that learns the prediction model based on the prediction data used for the prediction analysis using the prediction model and the learning data.
  • the program of one aspect of the present technology causes a computer to execute a process of learning the prediction model based on the prediction data used for the prediction analysis using the prediction model and the training data.
  • the prediction model is trained based on the prediction data used for the prediction analysis using the prediction model and the training data.
  • FIG. 1 shows a configuration example of an information processing system 11 to which the present technology is applied.
  • the information processing system 11 is a system that performs predictive analysis on various services.
  • the information processing system 11 includes a customer / contract database 21, a learning processing unit 22, a prediction unit 23, and a UI (user interface) unit 24.
  • the customer / contract database 21 is a database that stores data related to customers who use the service and contracts.
  • the learning processing unit 22 performs learning processing of a prediction model used for prediction analysis related to various services.
  • the learning processing unit 22 includes a data generation unit 31 and a learning unit 32.
  • the data generation unit 31 includes a learning data generation unit 41 and a prediction data generation unit 42.
  • the learning data generation unit 41 generates learning data used for learning the prediction model based on the data stored in the customer / contract database 21.
  • the forecast data generation unit 42 generates forecast data to be used for forecast analysis using a forecast model based on the data stored in the customer / contract database 21.
  • the prediction data generation unit 42 supplies the generated prediction data to the prediction unit 23.
  • FIG. 2 shows an example of training data and prediction data.
  • the training data A includes input data indicating a value for one or more predetermined items, and a label indicating a correct answer of the target predicted by the prediction model.
  • the prediction data B includes the input data of the same items as the training data A, but does not include the label.
  • the learning unit 32 learns the prediction model based on the learning data and the prediction data, and generates the prediction model. That is, in the conventional learning process, the prediction model is learned based only on the learning data A in FIG. 2, but as will be described later, the learning unit 32 also includes the prediction data as needed in addition to the learning data. In addition, the prediction model is trained. As a result, the prediction accuracy of the prediction model is improved.
  • the learning unit 32 supplies the generated prediction model to the prediction unit 23.
  • the prediction unit 23 performs prediction analysis on various services based on the prediction model and prediction data. For example, the forecasting unit 23 predicts the behavior of customers who use the service, forecasts the demand for the service, and the like.
  • the UI unit 24 provides a user interface for a user (for example, a service provider) who uses the information processing system 11. For example, the UI unit 24 accepts input from the user, presents information for using the information processing system 11, the learning result by the learning unit 32, and the prediction result by the prediction unit 23 to the user.
  • a user for example, a service provider
  • the UI unit 24 accepts input from the user, presents information for using the information processing system 11, the learning result by the learning unit 32, and the prediction result by the prediction unit 23 to the user.
  • Telephone measures incur costs such as labor costs, so it is inefficient to implement them for all customers. Therefore, for example, it is efficient to predict the withdrawal probability from the service based on the attributes and behaviors of the customer by machine learning, and implement the telephone measure only for the customer with the high withdrawal probability. In addition, the higher the prediction accuracy of the customer withdrawal probability, the less the number of customers withdrawal can be expected.
  • the contract period of the flat-rate music distribution service shall be one year, and the customer shall decide whether to renew the contract or withdraw from the contract every year.
  • the decision-making period for the customer to renew or withdraw from the contract shall be within one month from the contract renewal date.
  • the contract renewal date shall be set on the same day as the contract date every year. For example, if the contract date is May 1, 2017, the next contract renewal date will be set to May 1, 2018, and the next contract renewal date will be set to May 1, 2019. It shall be.
  • the withdrawal probability of customers who will reach the contract renewal date in the next month (for example, May 2019) at the end of each month (for example, April 30, 2019) is predicted, and the withdrawal probability is the highest predetermined number.
  • a customer whose contract renewal date is reached or has reached a certain period will be referred to as a person subject to renewal during that period.
  • a customer whose contract renewal date is reached or has been reached in May 2019 is referred to as a person subject to renewal in May 2019.
  • the customer / contract database 21 shall store data including customer information and service contract information.
  • Customer information is information that represents the characteristics of the customer, and includes, for example, information based on the attributes of the customer and the behavior log of the customer's service. For example, customer information includes the age, gender, address, songs listened to in the past, genres of frequently listened songs, and the like.
  • the service contract information is information regarding the contract contents of the customer, and includes, for example, a contract date, a contract renewal date, a withdrawal date, a payment method, and the like.
  • the period for which the withdrawal probability is predicted will be referred to as the prediction period.
  • the period from May 1, 2019 to May 31, 2019 is the forecast period.
  • the forecast period is also referred to as a forecast target month.
  • May 2019 is the forecast target month.
  • step S1 the learning data generation unit 41 performs the learning data generation process.
  • step S31 the learning data generation unit 41 selects a customer to generate a data sample.
  • the training data consists of a set of data samples generated for each customer. Then, the learning data generation unit 41 selects one customer who has not yet generated a data sample from the customers who satisfy the predetermined conditions in the customer / contract database 21.
  • the update target person for the past one year is the target of the learning data. That is, it is assumed that learning data is generated based on the customer information during the contract period of the customer whose contract period has expired in the past one year and the contract renewal date has been reached.
  • the learning period is the period during which training data is generated and is the target of learning the prediction model. Therefore, the learning data is generated based on the customer information of the update target person within the learning period, and the prediction model is trained based on the generated learning data.
  • the study period is the past year.
  • forecast data is generated based on the customer information during the contract period of the customer whose contract period expires within the next one month and the contract renewal date is reached.
  • the update target person within the period (learning period) from May 1, 2018 to April 30, 2019 is included in the learning data. That is, learning data is generated based on the customer information during the contract period of the renewal target person within the period.
  • forecast data is generated based on the customer information during the contract period of the renewal target person within the period.
  • customers who joined after June 1, 2018 are not included in either the learning data or the forecast data. That is, the customer is neither a target of learning data nor prediction data.
  • the customer selected in the process of step S31 will be referred to as a customer of interest.
  • step S32 the learning data generation unit 41 selects an item for generating a one-of-k vector.
  • the learning data generation unit 41 selects one item for which the one-of-k vector has not yet been generated from the items subject to the feature quantity vector of the customer information of the customer of interest in the customer / contract database 21.
  • the one-of-k vector is a k-dimensional vector, in which the value of only one element is 1, and the value of the remaining k-1 elements is 0.
  • step S32 the item selected in the process of step S32 will be referred to as a noteworthy item.
  • step S33 the learning data generation unit 41 performs one-of-k vector generation processing.
  • step S61 the learning data generation unit 41 acquires the value of the selected item (attention item). That is, the learning data generation unit 41 acquires the value of the attention item from the customer information of the attention customer in the customer / contract database 21.
  • Each item of customer information is represented by, for example, a categorical value (for example, gender, address, etc.) or a continuous value (for example, age, number of monthly views, etc.).
  • a categorical value for example, gender, address, etc.
  • a continuous value for example, age, number of monthly views, etc.
  • step S62 the learning data generation unit 41 acquires the index i assigned to the acquired value.
  • indexes from 1 to k are assigned to each value in advance.
  • an index from 1 to 82 is assigned to each value from 18 to 99 years old. Then, when the age of the attention customer is 20 years old, the index 3 is acquired.
  • the item of interest is a music genre and is classified into k types of genres, an index from 1 to k is assigned to each genre.
  • the value of the item of interest may be divided into k groups, and an index from 1 to k may be assigned to each group.
  • the item of interest when it is age, it is divided into groups under 10 years old, teens, 20s, ..., 90s, 100 years old and over, and each age group has an index from 1 to 11. Assigned.
  • the attention item is a continuous value
  • the maximum value and the minimum value of the attention item are divided into k equal parts, and an index from 1 to k is assigned to each range.
  • step S63 the learning data generation unit 41 generates a k-dimensional vector in which the value of the i-th dimension is 1 and the value of the other dimension is 0.
  • an 82-dimensional one-of-k vector is generated in which the value of the third dimension is 1 and the value of the other dimension is 0. ..
  • the one-of-k vector whose values of all dimensions are 0 is Will be generated. If the value of the attention item of the attention customer is out of the expected range, in addition to the case where the value of the attention item is actually outside the expected range, the value outside the expected range may be input due to an input error or the like. is assumed.
  • the learning data generation unit 41 has an outlier (for example, three times or more the standard deviation from the average) based on the average and standard deviation of the attention item of each customer.
  • an outlier for example, three times or more the standard deviation from the average
  • a one-of-k vector in which the values of all dimensions are 0 may be generated.
  • a value whose appearance frequency in the customer / contract database 21 is less than a predetermined threshold value may be treated as a missing value.
  • step S34 the learning data generation unit 41 determines whether or not a one-of-k vector has been generated for all the items.
  • the learning data generation unit 41 has not yet generated a one-of-k vector among the items to be targeted by the feature quantity vector of the customer information of the customer of interest. It is determined that the -of-k vector has not been generated, and the process returns to step S32.
  • step S34 the processes of steps S32 to S34 are repeatedly executed until it is determined that the one-of-k vector has been generated for all the items.
  • step S34 the learning data generation unit 41 does not include any item for which the one-of-k vector is not generated among the items targeted by the feature quantity vector of the customer information of the customer of interest. It is determined that the one-of-k vector has been generated for the item, and the process proceeds to step S35.
  • step S35 the learning data generation unit 41 concatenates the one-of-k vectors of each item to generate a feature amount vector. That is, the learning data generation unit 41 generates the feature quantity vector of the attention customer by connecting the one-of-k vectors of each item of the attention customer in a predetermined order.
  • the items used for the generation of the feature amount vector may be selected.
  • items whose data loss rate is equal to or greater than a predetermined threshold value may be excluded from the items used for generating the feature amount vector.
  • step S36 the learning data generation unit 41 generates a data sample. Specifically, the learning data generation unit 41 acquires data indicating whether or not the customer of interest has withdrawn from the customer / contract database 21. Then, the learning data generation unit 41 generates a data sample using the feature amount vector as input data and the data indicating whether or not the membership has been withdrawn as a label.
  • the learning data generation unit 41 adds the contract renewal date or the withdrawal date of the attention customer to the data sample as time information. Therefore, the time information indicates the novelty of the data sample.
  • the withdrawal date shall be set to the contract renewal date of the contract if the customer of interest does not renew the contract. For example, if the contract renewal date of the attention customer is May 1, 2019, and if the attention customer does not renew the contract, May 1, 2019 shall be set as the withdrawal date.
  • the i-th data sample of the training data is represented by (x l i , y l i ).
  • x l i represents a feature vector
  • y l i represents a label.
  • l is a subscript indicating that it is a feature amount vector or label of the training data.
  • d the number of dimensions of the feature vector.
  • the label y l i when you leave a service is set to 1, when updating the contract without unsubscribe services shall be set to 0.
  • the j-th data sample of the prediction data is represented by x p j .
  • x p j represents a feature quantity vector, and is a vector representing the same type of feature quantity as the feature quantity vector x l i of the training data.
  • p is a subscript indicating that it is a feature quantity vector of training data. Since it is undecided whether or not the customer who is the target of the forecast data has withdrawn from the service, the data sample of the forecast data does not include the label.
  • a data sample whose time information is within a predetermined period will be referred to as a data sample for that period.
  • a data sample whose time information is within the range of May 2019, that is, a data sample of a customer whose contract renewal date or withdrawal date is within the range of May 2019 is referred to as a data sample of May 2019.
  • step S37 the learning data generation unit 41 determines whether or not the data samples of all the target customers have been generated. For example, the learning data generation unit 41 has not yet generated data samples for all the target customers if there are still customers who have not yet generated data samples among the update target users for the past year. The process returns to step S31.
  • step S37 the processes of steps S31 to S37 are repeatedly executed until it is determined that the data samples of all the target customers have been generated.
  • step S37 the learning data generation unit 41 generates data samples of all the target customers when there are no customers who have not generated the data samples among the update target persons in the past one year. It is determined that the learning data generation process is completed.
  • step S2 the learning unit 32 sets the weight for the learning data. For example, the learning unit 32 sets weights for each data sample included in the learning data based on the relationship with the prediction data.
  • the learning unit 32 uses each data based on the difference between the time information which is the attribute of the data sample and the time information which is the attribute of the prediction data, that is, the time difference between the data sample and the prediction data. Set the sample weight. More specifically, the learning unit 32 increases the weight as the time information is closer to the time information of the prediction data, that is, as the new data sample, for example.
  • step S3 the learning unit 32 learns the prediction model based on the learning data and the weight.
  • the prediction model p is expressed by, for example, the following equation (1).
  • f is a function for calculating the withdrawal probability of a customer having a feature amount x i .
  • Various functions can be applied to f, and for example, a function using a neural network is applied.
  • w represents a parameter of the prediction model.
  • the number of parameters w (number of parameters) is represented by D.
  • the cross entropy loss is used as an error function
  • the parameter w is calculated by executing the gradient method for the sum of the error functions for all the data samples of the training data.
  • the sum of the error functions is expressed by, for example, the following equation (2).
  • a i represents the weight of the prediction data with respect to the i-th data sample, and is set in the process of step S2.
  • l (x i , y i , w) represents an error function.
  • n indicates the total number of data samples of the training data.
  • the characteristics of the data sample that is, the tendency of the feature amount vector of each customer differs greatly between the learning period and the prediction period. For example, if there is a significant change in service content, the emergence or disappearance of a strong rival company, or a significant change in the customer base immediately before or during the contract period of the customer who is the target of the forecast data, the forecast data It is assumed that the characteristics of the data sample of the above are significantly different from the characteristics of the data sample of the training data.
  • the prediction accuracy of the prediction model is improved by increasing the weight ai as the data sample of the learning data is closer to the prediction data in time.
  • step S4 the information processing system 11 updates the prediction model.
  • the learning unit 32 supplies the parameter w of the prediction model p calculated in the process of step S3 to the prediction unit 23.
  • the prediction unit 23 updates the parameter w of the prediction model p.
  • step S101 the information processing system 11 generates prediction data.
  • the prediction data generation unit 42 generates a feature amount vector of each customer to be the target of the prediction data by the same processing as in step S1 of FIG. Further, the prediction data generation unit 42 generates a data sample including the feature quantity vector of each customer as input data for each customer, and assigns the contract renewal date of each customer to each data sample as time information. Then, the prediction data generation unit 42 generates prediction data including a data sample of each customer and supplies the prediction data to the prediction unit 23.
  • step S102 the prediction unit 23 performs a prediction analysis based on the prediction model and the prediction data. That is, the prediction unit 23 calculates the withdrawal probability of each customer by applying the data sample of each customer included in the prediction data to the prediction model.
  • the weight of each data sample of the training data can be appropriately set based on the relationship with the prediction data, and the prediction accuracy of the prediction model can be improved.
  • a method called covariate shift is known as a method of adding prediction data when learning a prediction model.
  • each data sample of the training data is weighted and trained based on the probability distribution that generates the feature vector of the training data and the probability distribution that generates the feature vector of the prediction data.
  • the amount of calculation required to estimate the probability distribution is large, and the estimation is difficult.
  • this technique only sets the weight of each data sample of the training data based on the relationship with the prediction data, the amount of calculation is small, and it can be applied regardless of the type of training data. is there.
  • the learning process of the second embodiment is different from that of the first embodiment. Specifically, the period for which the learning data is generated is adjusted.
  • step S201 the learning data generation process is performed in the same manner as the process in step S1 of FIG.
  • learning data is generated for the update target person within the past 13 months.
  • learning data is generated based on the customer information during the contract period of the renewal target person from April 1, 2018 to April 30, 2019.
  • step S202 the learning unit 32 calculates the prediction accuracy while changing the learning period.
  • the learning unit 32 generates partial data obtained by extracting a data sample of a person to be updated in March 2019 from the learning data. Then, the learning unit 32 learns the prediction model using the generated partial data. As a result, a prediction model with a learning period of March 2019 is generated.
  • the learning unit 32 generates partial data obtained by extracting the data sample of the update target person during the period from February 2019 to March 2019 from the learning data. Then, the learning unit 32 learns the prediction model using the generated partial data. As a result, a prediction model with a learning period from February 2019 to March 2019 is generated.
  • the learning unit 32 generates partial data obtained by extracting the data sample of the update target person during the period from January 2019 to March 2019 from the learning data. Then, the learning unit 32 learns the prediction model using the generated partial data. As a result, a prediction model with a learning period from January 2019 to March 2019 is generated.
  • the learning unit 32 learns the prediction model using each partial data while expanding the range of the partial data by one month until April 2018.
  • 12 prediction models of the past N months (N is a natural number from 1 to 12) having different learning periods are generated based on April 2019.
  • the learning unit 32 extracts the data sample of the update target person in April 2019 from the learning data, and deletes the label from the data sample of each update target person to generate virtual prediction data.
  • This virtual prediction data is closer in time to the actual prediction data than other partial data. That is, the virtual prediction data is generated from a part of the training data and includes a data sample for a period closer to the actual prediction data than the other partial data.
  • the learning unit 32 predicts the withdrawal probability of each update target person in April 2019 by applying the virtual prediction data to each prediction model.
  • the learning unit 32 calculates the prediction accuracy of each prediction model based on the predicted value of the withdrawal probability of each update target person in April 2019 and the actual withdrawal of each update target person. For example, AUC (Are Under the Curve) or the like is used for the calculation of the prediction accuracy.
  • step S203 the learning unit 32 sets the learning period based on the prediction accuracy. For example, the learning unit 32 sets the period of the partial data used for learning the prediction model having the highest prediction accuracy as the target period (learning period) of the learning data used for learning the prediction model.
  • FIG. 9 is a graph showing an example of the calculation result of the prediction accuracy of the prediction model.
  • the horizontal axis of FIG. 9 shows the period (learning period) of the partial data used to generate the prediction model, and the vertical axis shows the prediction accuracy.
  • the prediction accuracy of the prediction model learned using the partial data from 5 months ago to 1 month ago (past 5 months) is the highest. Therefore, for example, the learning period is set to 5 months. That is, the period from 5 months to 1 month before the prediction target month is set as the target period of the training data used for learning the prediction model.
  • the UI unit 24 may present the graph of FIG. 9 to the user and allow the user to set the learning period.
  • FIG. 9 shows an example in which the learning period is set to 7 months by the user.
  • step S204 the learning unit 32 learns the prediction model based on the learning data of the set learning period. For example, when the learning period is set to 5 months, the learning unit 32 is updated with data from December 2018 to April 2019, which is 5 months before May 2019, which is the prediction target month. A sample is extracted from the training data and partial data is generated. Then, the learning unit 32 learns the prediction model using the generated partial data.
  • step S205 the prediction model is updated in the same manner as in the process of step S4 of FIG.
  • the learning period is set appropriately, and as a result, the prediction accuracy of the prediction model is improved.
  • the learning period may be fixed without performing the above-described processes of steps S202 and S203.
  • the amount of calculation and time required for learning the prediction model can be reduced.
  • the learning period may be shorter than one year, the amount of learning data is reduced and the learning time is shortened.
  • the learning unit 32 may periodically execute the processes of steps S202 and S203 to update the learning period.
  • the learning process of the third embodiment is different from that of the above-described embodiment. Specifically, the weight of the learning data is set based on the degree of similarity between the learning data and the prediction data, and the learning process is performed.
  • step S301 the learning data generation process is performed in the same manner as the process in step S1 of FIG. That is, learning data is generated based on the customer information during the contract period of the renewal target person from May 2018 to April 2019.
  • step S302 the learning data generation unit 41 divides the learning data. For example, the learning unit 32 divides the learning data for each update target person in each month from May 2018 to April 2019, so that the data sample of the update target person (for each month) in different periods can be obtained. Twelve partial data including each are generated.
  • step S303 prediction data is generated in the same manner as in the process of step S101 of FIG. That is, the forecast data is generated based on the customer information during the contract period of the person to be renewed in May 2019.
  • step S304 the learning unit 32 selects partial data for calculating the similarity. That is, the learning unit 32 selects one partial data for which the similarity has not been calculated yet.
  • step S305 the learning unit 32 performs the similarity calculation process.
  • step S331 the learning unit 32 calculates statistics for each item of partial data. Specifically, the learning unit 32 calculates the statistic of the feature amount of each item represented by the feature amount vector of each data sample included in the partial data.
  • the calculation method of the feature amount statistics of each item is not particularly limited. For example, when the feature quantity of a certain item is represented by continuous values, three types of values, mean, standard deviation, and median, are calculated after normalization between each data sample, and these values are calculated. The three-dimensional vector as an element is calculated as a statistic for that item. Further, for example, when the feature amount of a certain item is represented by a categorical value, a k-dimensional vector having the appearance rate of each of k kinds of possible values as an element is calculated as a statistic for the item.
  • step S332 the learning unit 32 calculates a statistic for each item of the prediction data. Specifically, the learning unit 32 calculates the statistic of the feature amount of each item represented by the feature amount vector of each data sample included in the prediction data by the same method as in step S331.
  • step S333 the learning unit 32 calculates the degree of similarity for each item of the partial data and the prediction data based on the calculated statistic.
  • the calculation method of the similarity of each item is not particularly limited.
  • the learning unit 32 calculates the inner product of the vector of the partial data and the vector of the prediction data by the similarity of the item.
  • step S334 the learning unit 32 calculates the similarity between the partial data and the predicted data based on the similarity for each item. For example, the learning unit 32 calculates the similarity between the partial data and the predicted data by adding the similarity for each item.
  • step S306 the learning unit 32 determines whether or not the similarity of all the partial data has been calculated. If the partial data for which the similarity has not been calculated remains, the learning unit 32 determines that the similarity of all the partial data has not been calculated yet, and the process returns to step S304.
  • step S306 the processes of steps S304 to S306 are repeatedly executed until it is determined that the similarity of all the partial data has been calculated.
  • step S306 determines whether the similarity of all the partial data has been calculated. If it is determined in step S306 that the similarity of all the partial data has been calculated, the process proceeds to step S307.
  • FIG. 12 is a graph showing an example of the calculation result of the degree of similarity between each partial data and the predicted data.
  • the horizontal axis shows the period covered by the partial data, and the vertical axis shows the degree of similarity. That is, FIG. 12 shows the degree of similarity between the partial data and the predicted data targeting the update target person one month ago, and the degree of similarity between the partial data and the predicted data targeting the update target person two months ago. ..., Shows the degree of similarity between the partial data and the predicted data for the update target person 12 months ago.
  • step S307 the learning unit 32 sets weights for each partial data based on the degree of similarity. For example, the learning unit 32 increases the weight as the data sample is included in the partial data having a high degree of similarity to the predicted data, and decreases the weight as the data sample is included in the partial data having a low degree of similarity to the predicted data.
  • step S308 the prediction model is trained based on the training data and the weights by the same processing as in step S3 of FIG.
  • step S309 the prediction model is updated by the same processing as in step S4 of FIG.
  • the prediction accuracy of the prediction model can be improved by learning the prediction model in consideration of the similarity between each partial data and the prediction data. For example, when the customer's behavior changes periodically depending on the season or the like, the prediction accuracy of the prediction model can be improved. For example, if the behavior of a customer in a particular month (eg December) is significantly different from other months, then when performing a forecast analysis for that month, by increasing the weight on the partial data for the same month one year ago. The prediction accuracy can be improved.
  • the training data is divided on a monthly basis, but the unit for dividing the learning data may be adjusted.
  • the learning unit 32 changes the unit for dividing the learning data by the same method as the learning process of FIG. 8 (for example, 1 week, 1 month, 2 months, etc.), and predicts accuracy for each division unit. May be calculated and the division unit may be set based on the prediction accuracy.
  • prediction data is generated in the learning process. Therefore, by using the prediction data generated in the learning process, it is possible to reduce the process of generating the prediction data in the prediction process.
  • the learning process and the prediction process of the fourth embodiment are different from those of the above-described embodiment. Specifically, the training data is divided into a plurality of partial data, a prediction model is generated for each partial data, and prediction analysis is performed using the plurality of prediction models.
  • step S401 the learning data generation process is performed in the same manner as the process of step S1 of FIG. That is, learning data is generated based on the customer information during the contract period of the renewal target person from May 2018 to April 2019.
  • step S402 the learning data is divided in the same manner as in the process of step S302 of FIG. As a result, for example, the learning data is divided for each update target person in each month from May 2018 to April 2019, and 12 partial data including the data sample of the update target person in each month are generated. To.
  • step S403 the learning unit 32 learns the prediction model for each partial data. As a result, 12 prediction models with different learning periods are generated based on the partial data of each month from May 2018 to April 2019.
  • the prediction model generated based on the partial data of a certain month will be referred to as the prediction model for that month.
  • a prediction model generated based on the partial data of April 2019 is referred to as a prediction model of April 2019.
  • step S404 the information processing system 11 updates the prediction model.
  • the learning unit 32 supplies the parameters of each prediction model calculated in the process of step S403 to the prediction unit 23.
  • the prediction unit 23 updates the parameters of each prediction model.
  • step S451 prediction data is generated in the same manner as in the process of step S101 of FIG. That is, the forecast data is generated based on the customer information during the contract period of the person to be renewed in May 2019.
  • step S452 the partial data for calculating the similarity is selected as in the process of step S304 of FIG.
  • step S453 the similarity calculation process is performed in the same manner as the process in step S305 of FIG. As a result, the similarity between the selected partial data and the predicted data is calculated.
  • step S454 it is determined whether or not the similarity of all the partial data has been calculated in the same manner as in the process of step S306 of FIG. If it is determined that the similarity of all the partial data has not been calculated yet, the process returns to step S452.
  • step S454 the processes of steps S452 to S454 are repeatedly executed until it is determined that the similarity of all the partial data has been calculated.
  • step S454 determines whether the similarity of all the partial data has been calculated. If it is determined in step S454 that the similarity of all the partial data has been calculated, the process proceeds to step S455.
  • step S455 the prediction unit 23 sets weights for each prediction model based on the degree of similarity. Specifically, the prediction unit 23 increases the weight on the prediction model as the degree of similarity with the learning data corresponding to the prediction model, that is, the learning data used for learning the prediction model increases. On the other hand, the prediction unit 23 reduces the weight of the training data corresponding to the prediction model with respect to the prediction model as the similarity with the prediction data becomes lower.
  • step S456 the prediction unit 23 performs prediction analysis based on each prediction model, weights for each prediction model, and prediction data. Specifically, the prediction unit 23 predicts the withdrawal probability of each update target person in the prediction target month for each prediction model by applying the prediction data to each prediction model. As a result, for each update target person, a plurality of withdrawal probabilities are predicted for each prediction model.
  • the prediction unit 23 calculates the final withdrawal probability of each update target person by calculating the weighted average of the withdrawal probabilities of each prediction model of each update target person using the weight for each prediction model. ..
  • the prediction accuracy it is possible to improve the prediction accuracy by generating a prediction model based on each partial data and synthesizing the prediction results of each prediction model in consideration of the similarity between each partial data and the prediction data. it can.
  • the prediction accuracy can be improved.
  • the learning process is performed by selecting whether or not to perform the learning process in consideration of the prediction data.
  • step S501 the learning unit 32 performs a determination process of executing the learning process in consideration of the prediction data.
  • step S502 the learning unit 32 determines whether or not to perform the learning process in consideration of the prediction data based on the result of the process in step S501. If it is determined that the learning process in consideration of the prediction data is performed, the process proceeds to step S503.
  • step S503 the learning unit 32 performs a learning process in which prediction data is added.
  • the learning unit 32 learns the prediction model by the learning data and the learning method based on the prediction data.
  • step S502 determines whether the learning process in which the prediction data is added is not performed. If it is determined in step S502 that the learning process in which the prediction data is added is not performed, the process proceeds to step S504.
  • step S504 the learning unit 32 performs the learning process without adding the prediction data.
  • the learning unit 32 learns the prediction model by a learning method based on the learning data (only) without using the prediction data.
  • the learning unit 32 determines whether or not to perform the learning process in which the prediction data is added, based on the degree of similarity between the learning data and the prediction data.
  • the learning unit 32 randomly extracts the same number of data samples as the number of data samples in the prediction data from the learning data. Then, the learning unit 32 calculates the degree of similarity between the learning data including the extracted data sample and the prediction data.
  • the method for calculating the degree of similarity is not particularly limited, but for example, the method described above can be applied with reference to FIG.
  • the similarity between the training data and the prediction data is less than a predetermined threshold value, the characteristics of the training data and the characteristics of the prediction data are significantly different, so that the learning process in consideration of the prediction data is performed.
  • the learning process of FIG. 3, FIG. 8, FIG. 10, or FIG. 13 is performed.
  • the prediction accuracy of the prediction model is improved.
  • the similarity between the training data and the prediction data is equal to or higher than a predetermined threshold value
  • the characteristics of the training data and the characteristics of the prediction data do not change much. Therefore, the learning process is performed without adding the prediction data. As a result, the load of the learning process is reduced and the learning time is shortened.
  • the learning unit 32 classifies the learning data into a plurality of partial data in different periods, and determines whether or not to perform the learning process in which the predicted data is added based on the similarity between the partial data.
  • the learning unit 32 divides the learning data on a monthly basis and generates partial data for each month. Then, the learning unit 32 calculates, for example, the degree of similarity between the partial data.
  • the method for calculating the degree of similarity is not particularly limited, but for example, the method described above can be applied with reference to FIG.
  • the learning process that takes into account the prediction data is performed. For example, the learning process of FIG. 3, FIG. 8, FIG. 10, or FIG. 13 is performed. As a result, the prediction accuracy of the prediction model is improved.
  • the learning process is performed without adding the prediction data. As a result, the load of the learning process is reduced and the learning time is shortened.
  • the learning unit 32 selects a learning method based on the time-series change of the similarity between the partial data.
  • the learning unit 32 calculates the degree of similarity between the partial data of the oldest month and the partial data of each other month. Then, when the similarity decreases by a predetermined threshold value or more as the time interval between the partial data becomes longer, the change in the time series of the training data is large, and the characteristics of the training data and the characteristics of the prediction data may be significantly different. Is high. Therefore, the learning process that takes into account the prediction data is performed. For example, the learning process of FIG. 3, FIG. 8, FIG. 10, or FIG. 13 is performed. As a result, the prediction accuracy of the prediction model is improved.
  • the learning process is performed without adding the prediction data. As a result, the load of the learning process is reduced and the learning time is shortened.
  • the learning unit 32 estimates the prediction accuracy when the prediction data is added and when the prediction data is not added, and based on the estimated prediction accuracy, performs learning processing in which the prediction data is added. Judge whether or not.
  • the learning unit 32 performs a learning process in which the prediction data is added based on the learning data and the virtual prediction data by the same method as the above-described method with reference to FIG. 8, and generates a prediction model. Calculate the prediction accuracy. Further, the learning unit 32 performs a learning process based only on the learning data without adding the prediction data, and calculates the prediction accuracy of the generated prediction model. Further, the learning unit 32 calculates the difference between the prediction accuracy when the prediction data is added and the prediction accuracy when the prediction data is not added as an estimated value of the improvement rate of the prediction accuracy.
  • the learning unit 32 performs the learning process in consideration of the prediction data. As a result, the prediction accuracy of the prediction model is improved.
  • the learning unit 32 performs the learning process without adding the prediction data. As a result, the load of the learning process is reduced and the learning time is shortened.
  • the learning time (time required for learning the prediction model) may be taken into consideration to determine whether or not to perform the learning process in consideration of the prediction data.
  • the learning unit 32 calculates the time required for the learning process when the prediction data is added ⁇ the time required for the learning process when the prediction data is not added as an estimated value of the increase rate of the learning time.
  • the rate of increase in the learning time represents the difference between the time required for the learning process when the prediction data is added and the time required for the learning process when the prediction data is not added.
  • the learning unit 32 performs the learning process in consideration of the prediction data. Do. As a result, the prediction accuracy of the prediction model is improved while suppressing the increase in the learning time.
  • the learning unit 32 learns without adding the prediction data. Perform processing. As a result, the load of the learning process is reduced and the learning time is shortened.
  • the UI unit 24 may present the setting screen of FIG. 16 and allow the user to select whether or not to perform learning in consideration of the prediction data.
  • the estimated value of the prediction accuracy when the prediction data is added (79.6%), the estimated value of the prediction accuracy when the prediction data is not added (74.0%), and the prediction accuracy are displayed.
  • the estimated value (5.6%) of the improvement rate of is displayed.
  • the rate of increase (2.3 times) of the learning time (calculation time in the figure) is displayed.
  • the input field 101 for the learning period and the input field 102 for the prediction period are displayed.
  • an execution button 103 for executing normal learning and an execution button 104 for executing learning with prediction data added are displayed.
  • the user can select and execute the learning method that meets the user's needs in consideration of the improvement rate of the prediction accuracy and the increase rate of the learning time.
  • each data sample of training data and prediction data has spatial information (for example, customer location, data acquisition location, etc.)
  • the spatial information of each data sample of training data and the prediction data may be set based on the difference from the spatial information. For example, the weight may be increased as the data sample is spatially closer to the predicted data, and the weight may be decreased as the data sample is spatially farther from the predicted data.
  • the prediction accuracy of each learning period may be calculated while changing the learning periods so that they do not overlap.
  • other attributes are used to calculate the prediction accuracy while changing the range of the training data, and the range of the training data used for learning the prediction model is calculated. You may set it.
  • the prediction accuracy is calculated while changing the spatial range of the training data, and the spatial range of the training data used for learning the prediction model. (For example, the area of the customer, the area where the data was acquired, etc.) may be set.
  • the virtual prediction data data that is spatially closer to the actual prediction data than other partial data in the training data is used.
  • ⁇ Modified example of the third embodiment> For example, in addition to the time information or instead of the time information, other attributes may be used to divide the training data into a plurality of ranges and calculate the similarity between each partial data and the prediction data. Good.
  • partial data may be generated by spatially dividing the training data into a plurality of ranges.
  • the learning data may be divided by a predetermined clustering method.
  • ⁇ Modified example of the fourth embodiment> For example, in addition to the time information or instead of the time information, other attributes are used to divide the training data into a plurality of ranges, and each training data is used to generate a plurality of prediction models. May be good.
  • partial data may be generated by spatially dividing the learning data into a plurality of ranges. Further, for example, the learning data may be divided into a plurality of ranges by a predetermined clustering method.
  • the training data is divided into a plurality of ranges, and the prediction data is added based on the similarity between the partial data. It may be decided whether or not to perform the process.
  • the learning data is spatially divided into a plurality of ranges, and learning with prediction data added based on the similarity between the partial data. It may be decided whether or not to perform the process.
  • the training data may be generated based on the prediction data.
  • the feature amount vector of the training data may be generated based on the prediction data. More specifically, for example, the feature amount used for generating the feature amount vector may be set in consideration of the prediction data.
  • an item in which there is almost no difference between customers in the customer information within the learning period may not be used as a feature quantity vector because the customer's characteristics do not appear remarkably.
  • the item in the customer information within the prediction period, if the difference between the customers of the item exceeds a predetermined threshold value, the item may be used to generate the feature amount vector. That is, the feature amount vector may include the feature amount represented by the item. This is assumed, for example, when the customer's tendency or behavior changes significantly.
  • the number of value types set for the number of customers may not be used in the feature vector.
  • the item may be used for generating the feature amount vector. That is, the feature amount vector may include the feature amount represented by the item.
  • the item may be used to generate the feature quantity vector. That is, the feature amount vector may include the feature amount represented by the item. This is assumed, for example, when a new item for collecting information from a customer is added.
  • various statistics for example, mean, variance, minimum value, maximum value, appearance frequency, loss rate, etc.
  • the calculated statistics are used. Therefore, the feature amount vector may be generated.
  • the statistic may be calculated by using different weights for the training data and the prediction data.
  • a peculiar data sample in the training data may be specified based on the statistics calculated using the training data and the prediction data.
  • the ranges of the partial data may not overlap each other, or may partially overlap. In the latter case, one data sample may be included in a plurality of partial data. In other words, multiple partial data may contain the same data sample.
  • the configuration of the information processing system 11 in FIG. 1 is an example thereof and can be changed.
  • the data generation unit 31 can be provided separately from the learning processing unit 22, or the prediction data generation unit 42 can be provided in the prediction unit 23.
  • the information processing system 11 can be configured by one information processing device or by a plurality of information processing devices.
  • the prediction accuracy of the prediction model by a plurality of different learning methods is calculated, and the prediction accuracy thereof is calculated.
  • the method of learning the prediction model may be selected based on the result.
  • this technology can be applied not only when performing predictive analysis related to the above-mentioned services, but also when performing various predictive analyzes. That is, this technique can be applied to the case where the prediction model is trained using the training data and various prediction analyzes are performed using the prediction model and the prediction data.
  • FIG. 17 is a block diagram showing a configuration example of computer hardware that executes the above-mentioned series of processes programmatically.
  • the CPU Central Processing Unit
  • ROM Read Only Memory
  • RAM Random Access Memory
  • An input / output interface 1005 is further connected to the bus 1004.
  • An input unit 1006, an output unit 1007, a recording unit 1008, a communication unit 1009, and a drive 1010 are connected to the input / output interface 1005.
  • the input unit 1006 includes an input switch, a button, a microphone, an image sensor, and the like.
  • the output unit 1007 includes a display, a speaker, and the like.
  • the recording unit 1008 includes a hard disk, a non-volatile memory, and the like.
  • the communication unit 1009 includes a network interface and the like.
  • the drive 1010 drives a removable recording medium 1011 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory.
  • the CPU 1001 loads and executes the program recorded in the recording unit 1008 into the RAM 1003 via the input / output interface 1005 and the bus 1004, for example. A series of processing is performed.
  • the program executed by the computer 1000 can be recorded and provided on a removable recording medium 1011 as a package medium or the like, for example. Programs can also be provided via wired or wireless transmission media such as local area networks, the Internet, and digital satellite broadcasting.
  • the program can be installed in the recording unit 1008 via the input / output interface 1005 by mounting the removable recording medium 1011 in the drive 1010. Further, the program can be received by the communication unit 1009 via a wired or wireless transmission medium and installed in the recording unit 1008. In addition, the program can be installed in advance in the ROM 1002 or the recording unit 1008.
  • the program executed by the computer may be a program that is processed in chronological order in the order described in this specification, or may be a program that is processed in parallel or at a necessary timing such as when a call is made. It may be a program in which processing is performed.
  • the system means a set of a plurality of components (devices, modules (parts), etc.), and it does not matter whether all the components are in the same housing. Therefore, a plurality of devices housed in separate housings and connected via a network, and a device in which a plurality of modules are housed in one housing are both systems. ..
  • the embodiment of the present technology is not limited to the above-described embodiment, and various changes can be made without departing from the gist of the present technology.
  • this technology can have a cloud computing configuration in which one function is shared by a plurality of devices via a network and processed jointly.
  • each step described in the above flowchart can be executed by one device or shared by a plurality of devices.
  • one step includes a plurality of processes
  • the plurality of processes included in the one step can be executed by one device or shared by a plurality of devices.
  • the present technology can also have the following configurations.
  • An information processing system equipped with one or more information processing devices An information processing method for learning the prediction model based on the prediction data used for the prediction analysis using the prediction model and the training data.
  • the information processing system For each data sample included in the training data, weights are set based on the relationship with the prediction data.
  • the information processing method according to (1) wherein the prediction model is trained based on each of the data samples and weights for each of the data samples.
  • the information processing system The information processing method according to (2), wherein the weight is set based on a difference in a predetermined attribute between the data sample and the predicted data.
  • the attribute sets the weight based on the time difference between the data sample and the predicted data.
  • the information processing system A plurality of the prediction models are trained based on the partial data of a plurality of different ranges of the training data. Using a part of the training data as virtual prediction data, the prediction accuracy of each prediction model is calculated.
  • the information processing method according to any one of (1) to (4), wherein the range of the training data used for learning the prediction model is set based on the prediction accuracy of each prediction model.
  • the information processing system Each of the prediction models is trained based on the partial data of the training data in a plurality of different periods. The information processing method according to (5), wherein a period of the training data used for learning the prediction model is set based on the prediction accuracy of each prediction model.
  • the information processing system The training data is divided into a plurality of partial data, The degree of similarity between each of the partial data and the predicted data is calculated. Weights are set for each of the partial data based on the similarity.
  • the information processing system The information processing method according to (7) above, wherein the learning data is divided into the partial data having a plurality of different periods. (9) The information processing system The learning data is generated based on the prediction data, The information processing method according to any one of (1) to (8), wherein the prediction model is trained based on the generated training data.
  • the information processing system The information processing method according to (9), wherein a feature amount used for the learning data is set based on the prediction data.
  • (11) The information processing system Based on the degree of similarity between the training data and the prediction data, the learning data and the learning method based on the prediction data, or the learning method based on the training data is selected to train the prediction model.
  • (12) The information processing system Learning of the prediction model by selecting a learning method based on the training data and the prediction data or a learning method based on the training data based on the similarity between a plurality of different range partial data of the training data.
  • the information processing method according to any one of (1) to (10) above.
  • the information processing system The information processing method according to (12), wherein the learning method is selected based on the time-series change of the similarity between the partial data in a plurality of different periods of the learning data.
  • the information processing system Using a part of the training data as virtual prediction data, the prediction accuracy of the first prediction model by the training data and the learning method based on the prediction data, and the second by the learning method based only on the training data. Calculate the prediction accuracy of the prediction model and The learning method is selected based on the prediction accuracy of the first prediction model and the prediction accuracy of the second prediction model, and the prediction model is trained according to any one of (1) to (10).
  • the information processing system The information processing method according to (14), wherein the learning method is selected based on the time required for learning the first prediction model and the time required for learning the second prediction model.
  • An information processing device including a learning unit that learns the prediction model based on the prediction data used for the prediction analysis using the prediction model and the learning data.
  • An information processing system equipped with one or more information processing devices An information processing method that performs predictive analysis based on a prediction model learned based on training data and prediction data and the prediction data.
  • An information processing device including a prediction model trained based on training data and prediction data, and a prediction unit that performs prediction analysis based on the prediction data.
  • a program for causing a computer to execute a process of performing a prediction analysis based on a prediction model learned based on the training data and the prediction data and the prediction data.
  • An information processing system equipped with one or more information processing devices Weights for the plurality of prediction models trained based on the partial data of a plurality of different ranges of the training data are set based on the similarity between the partial data corresponding to each prediction model and the prediction data.
  • An information processing method that performs prediction analysis based on each prediction model, weights for each prediction model, and prediction data.
  • each prediction model is trained based on the partial data of the training data in a plurality of different periods.
  • Weights for the plurality of prediction models trained based on the partial data of a plurality of different ranges of the training data are set based on the similarity between the partial data corresponding to each prediction model and the prediction data, and each is set.
  • An information processing device including a prediction unit that performs prediction analysis based on the prediction model, weights for each prediction model, and the prediction data.
  • Weights for the plurality of prediction models trained based on the partial data of a plurality of different ranges of the training data are set based on the similarity between the partial data corresponding to each prediction model and the prediction data.
  • a program for causing a computer to perform a process of performing a prediction analysis based on each prediction model, a weight for each prediction model, and the prediction data An information processing system equipped with one or more information processing devices An information processing method that trains multiple prediction models based on each of a plurality of partial data of different ranges of training data. (26) The information processing system The information processing method according to (25), wherein each of the prediction models is trained based on the partial data of the training data in a plurality of different periods. (27) An information processing device including a learning unit that learns a plurality of prediction models based on each of a plurality of partial data of different ranges of training data. (28) A program that causes a computer to perform processing that trains multiple prediction models based on each of multiple different ranges of training data.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Software Systems (AREA)
  • Business, Economics & Management (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Medical Informatics (AREA)
  • Human Resources & Organizations (AREA)
  • Economics (AREA)
  • Strategic Management (AREA)
  • Development Economics (AREA)
  • Game Theory and Decision Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本技術は、予測モデルの予測精度を向上させることができるようにする情報処理方法、情報処理装置、及び、プログラムに関する。 1以上の情報処理装置を備える情報処理システムが、予測モデルを用いた予測分析に用いられる予測データ、及び、学習データに基づいて、前記予測モデルの学習を行う。また、1以上の情報処理装置を備える情報処理システムが、学習データ及び予測データに基づいて学習された予測モデルと、前記予測データとに基づいて、予測分析を行う。本技術は、例えば、各種のサービスの予測分析を行うシステムに適用できる。

Description

情報処理方法、情報処理装置、及び、プログラム
 本技術は、情報処理方法、情報処理装置、及び、プログラムに関し、特に、予測モデルの予測精度を向上させるようにした情報処理方法、情報処理装置、及び、プログラムに関する。
 近年、様々な分野で予測分析が利用されている(例えば、特許文献1参照)。予測分析とは、例えば、機械学習により過去の結果に基づいて未来の事象を予測する技術である。
国際公開第2016/136056号
 しかしながら、予測分析に用いられる予測モデルの学習に用いられた学習データの特徴と、予測分析に実際に用いられる予測データの特徴とが大きく異なる場合、予測分析の精度が低下するおそれがある。
 例えば、過去1年分の学習データに基づいて、あるサービスにおける顧客の行動を予測する予測モデルを生成し、来月分の予測データに基づいて予測分析を行う場合、過去1年間にサービスの状況が大きく変化したとき(例えば、サービス内容の大幅な変更、強力なライバル会社の出現等)、学習データの特徴と予測データの特徴とが大幅に異なる可能性がある。そして、学習データの特徴と予測データの特徴とが大幅に異なる場合、予測分析の精度が低下するおそれがある。
 本技術は、このような状況に鑑みてなされたものであり、予測モデルの予測精度を向上させるようにするものである。
 本技術の一側面の情報処理方法は、1以上の情報処理装置を備える情報処理システムが、予測モデルを用いた予測分析に用いられる予測データ、及び、学習データに基づいて、前記予測モデルの学習を行う。
 本技術の一側面の情報処理装置は、予測モデルを用いた予測分析に用いられる予測データ、及び、学習データに基づいて、前記予測モデルの学習を行う学習部を備える。
 本技術の一側面のプログラムは、予測モデルを用いた予測分析に用いられる予測データ、及び、学習データに基づいて、前記予測モデルの学習を行う処理をコンピュータに実行させる。
 本技術の一側面においては、予測モデルを用いた予測分析に用いられる予測データ、及び、学習データに基づいて、前記予測モデルの学習が行われる。
本技術を適用した情報処理システムの一実施の形態を示すブロック図である。 学習データと予測データの例を示す図である。 学習処理の第1の実施の形態を説明するためのフローチャートである。 学習データ生成処理の詳細を説明するためのフローチャートである。 学習データの対象となる顧客と予測データの対象となる顧客の範囲の例を示す図である。 one-of-kベクトルの詳細を説明するためのフローチャートである。 予測処理の第1の実施の形態を説明するためのフローチャートである。 学習処理の第2の実施の形態を説明するためのフローチャートである。 予測精度の計算結果の例を示すグラフである。 学習処理の第3の実施の形態を説明するためのフローチャートである。 類似度算出処理の詳細を説明するためのフローチャートである。 類似度の計算結果の例を示すグラフである。 学習処理の第4の実施の形態を説明するためのフローチャートである。 予測処理の第2の実施の形態を説明するためのフローチャートである。 学習処理の第5の実施の形態を説明するためのフローチャートである。 設定画面の例を示す図である。 コンピュータの構成例を示す図である。
 以下、本技術を実施するための形態について説明する。説明は以下の順序で行う。
 1.第1の実施の形態
 2.第2の実施の形態
 3.第3の実施の形態
 4.第4の実施の形態
 5.第5の実施の形態
 6.変形例
 7.その他
 <<1.第1の実施の形態>>
 まず、図1乃至図7を参照して、本技術の第1の実施の形態について説明する。
 <情報処理システム11の構成例>
 図1は、本技術を適用した情報処理システム11の構成例を示している。
 情報処理システム11は、各種のサービスに関する予測分析を行うシステムである。情報処理システム11は、顧客・契約データベース21、学習処理部22、予測部23、及び、UI(ユーザインタフェース)部24を備える。
 顧客・契約データベース21は、サービスを利用する顧客及び契約に関するデータを格納するデータベースである。
 学習処理部22は、各種のサービスに関する予測分析に用いる予測モデルの学習処理を行う。学習処理部22は、データ生成部31及び学習部32を備える。
 データ生成部31は、学習データ生成部41及び予測データ生成部42を備える。
 学習データ生成部41は、顧客・契約データベース21に格納されているデータに基づいて、予測モデルの学習に用いる学習データを生成する。
 予測データ生成部42は、顧客・契約データベース21に格納されているデータに基づいて、予測モデルを用いた予測分析に用いる予測データを生成する。予測データ生成部42は、生成した予測データを予測部23に供給する。
 図2は、学習データと予測データの例を示している。学習データAは、1以上の所定の項目に対する値を示す入力データ、及び、予測モデルにより予測される対象の正解を示すラベルを含む。一方、予測データBは、学習データAと同じ項目の入力データを含むが、ラベルは含まない。
 学習部32は、学習データ及び予測データに基づいて、予測モデルの学習を行い、予測モデルを生成する。すなわち、従来の学習処理では、図2の学習データAのみに基づいて予測モデルの学習が行われるが、後述するように、学習部32は、学習データに加えて、必要に応じて予測データも加味して、予測モデルの学習を行う。その結果、予測モデルの予測精度が向上する。学習部32は、生成した予測モデルを予測部23に供給する。
 予測部23は、予測モデル及び予測データに基づいて、各種のサービスに関する予測分析を行う。例えば、予測部23は、サービスを利用する顧客の行動予測、サービスの需要予測等を行う。
 UI部24は、情報処理システム11を使用するユーザ(例えば、サービス提供者)に対するユーザインタフェースを提供する。例えば、UI部24は、ユーザからの入力を受け付けたり、情報処理システム11を使用するための情報、学習部32による学習結果、及び、予測部23による予測結果をユーザに提示したりする。
 なお、以下、定額音楽配信サービスからの顧客の退会を削減するために行う電話施策の効率及び効果を上げるために、顧客の退会予測を行う事例を具体例として挙げながら、情報処理システム11の処理について説明する。
 電話施策は人件費等のコストがかかるため、全顧客に対して実施するのは非効率である。従って、例えば、機械学習により顧客の属性や行動等に基づいてサービスからの退会確率を予測し、退会確率の高い顧客に対してのみ電話施策を実施するのが効率的である。また、顧客の退会確率の予測精度が高くなるほど、退会する顧客の数を減らすことが期待できる。
 なお、以下、定額音楽配信サービスの契約期間を1年間とし、顧客は1年毎に契約を更新するか退会するかを決定するものとする。また、顧客が契約を更新するか退会するかの意思決定期間は、契約更新日から1か月以内とする。なお、契約更新日は、毎年契約日と同じ日に設定されるものとする。例えば、契約日が2017年の5月1日である場合、次の契約更新日は2018年の5月1日に設定され、その次の契約更新日は2019年5月1日に設定されるものとする。
 また、以下、毎月末(例えば、2019年4月30日)に次月(例えば、2019年5月)に契約更新日を迎える顧客の退会確率が予測され、退会確率が上位の所定の数の顧客、又は、退会確率が所定の閾値以上の顧客に対して、退会を防止するために、契約更新を促すための電話がかけられるものとする。
 なお、以下、ある期間に契約更新日を迎える又は迎えた顧客を、その期間の更新対象者と称する。例えば、2019年5月に契約更新日を迎える又は迎えた顧客を2019年5月の更新対象者と称する。
 さらに、以下、顧客・契約データベース21が、顧客情報及びサービス契約情報を含むデータを格納するものとする。
 顧客情報は、顧客の特徴を表す情報であり、例えば、顧客の属性、及び、顧客のサービス上での行動ログに基づく情報を含む。例えば、顧客情報は、顧客の年齢、性別、住所、過去に聴いた楽曲、よく聴く楽曲のジャンル等を含む。サービス契約情報は、顧客の契約内容に関する情報であり、例えば、契約日、契約更新日、退会日、支払方法等を含む。
  <学習処理の第1の実施の形態>
 次に、図3のフローチャートを参照して、情報処理システム11により実行される学習処理の第1の実施の形態について説明する。
 なお、以下、2019年5月の更新対象者の退会確率を予測する場合を例に挙げて説明する。すなわち、現在が2019年4月30日であり、2019年5月1日から2019年5月31日までの期間内に契約更新日を迎える顧客の退会確率を予測する場合を例に挙げて説明する。
 なお、以下、退会確率を予測する対象となる期間を予測期間と称する。この例の場合、2019年5月1日から2019年5月31日までの期間が予測期間となる。また、予測期間が月単位で設定される場合、予測期間を予測対象月とも称する。この例の場合、2019年5月が予測対象月となる。
 ステップS1において、学習データ生成部41は、学習データ生成処理を行う。
 ここで、図4のフローチャートを参照して、学習データ生成処理の詳細について説明する。
 ステップS31において、学習データ生成部41は、データサンプルを生成する顧客を選択する。学習データは、顧客毎に生成されるデータサンプルの集合からなる。そして、学習データ生成部41は、顧客・契約データベース21において所定の条件を満たす顧客の中から、まだデータサンプルを生成していない顧客を1人選択する。
 なお、以下、図5に示されるように、過去1年間の更新対象者が、学習データの対象とされるものとする。すなわち、過去1年間に契約期間が満了し、契約更新日を迎えた顧客の契約期間中の顧客情報に基づいて、学習データが生成されるものとする。
 また、以下、学習データが生成され、予測モデルの学習の対象となる期間を学習期間と称する。従って、学習期間内の更新対象者の顧客情報に基づいて学習データが生成され、生成された学習データに基づいて、予測モデルが学習される。現在の例の場合、過去1年間が学習期間となる。
 さらに、以下、この先1か月以内の更新対象者が、予測データの対象とされるものとする。すなわち、この先1か月以内に契約期間が満了し、契約更新日を迎える顧客の契約期間中の顧客情報に基づいて、予測データが生成されるものとする。
 従って、現在の例では、2018年5月1日から2019年4月30日までの期間(学習期間)内の更新対象者が、学習データに含まれる。すなわち、当該期間内の更新対象者の契約期間中の顧客情報に基づいて学習データが生成される。
 また、2019年5月1日から2019年5月31日までの期間(予測期間)内の更新対象者が、予測データに含まれる。すなわち、当該期間内の更新対象者の契約期間中の顧客情報に基づいて予測データが生成される。
 なお、2018年5月1日から2018年5月31日までの期間内の更新対象者であって、契約を更新した更新対象者は、学習データ及び予測データの両方の対象となる。ただし、当該更新対象者の1つ前の契約期間中の顧客情報が学習データの対象となり、当該顧客の現在の契約期間中の顧客情報が予測データの対象となる。
 また、2018年6月1日以降に入会した顧客は、学習データ及び予測データのどちらにも含まれない。すなわち、当該顧客は、学習データ及び予測データのいずれの対象にもならない。
 以下、ステップS31の処理で選択された顧客を注目顧客と称する。
 ステップS32において、学習データ生成部41は、one-of-kベクトルを生成する項目を選択する。学習データ生成部41は、顧客・契約データベース21の注目顧客の顧客情報の特徴量ベクトルの対象となる項目の中から、まだone-of-kベクトルを生成していない項目を1つ選択する。one-of-kベクトルとは、k次元のベクトルであり、1つの要素のみ値が1となり、残りのk-1個の要素の値が0となるベクトルである。
 以下、ステップS32の処理で選択された項目を注目項目と称する。
 ステップS33において、学習データ生成部41は、one-of-kベクトル生成処理を行う。
 ここで、図6のフローチャートを参照して、one-of-kベクトル生成処理の詳細について説明する。
 ステップS61において、学習データ生成部41は、選択した項目(注目項目)の値を取得する。すなわち、学習データ生成部41は、顧客・契約データベース21の注目顧客の顧客情報から注目項目の値を取得する。
 なお、顧客情報の各項目は、例えば、カテゴリカル値(例えば、性別、住所等)、又は、連続値(例えば、年齢、月間再生数等)により表される。
 ステップS62において、学習データ生成部41は、取得した値に割り当てられたインデックスiを取得する。
 例えば、注目項目がk種類の値を取り得る場合、各値に対して1からkまでの異なるインデックスが予め割り当てられる。
 例えば、注目項目が年齢であり、取り得る値の範囲が18歳から99歳までの場合、18歳から99歳までの各値に対して、1から82までのインデックスが割り当てられる。そして、注目顧客の年齢が20歳である場合、インデックス3が取得される。
 例えば、注目項目が音楽のジャンルであり、k種類のジャンルに分類される場合、各ジャンルに対して1からkまでのインデックスが割り当てられる。
 また、例えば、注目項目の値をk個のグループに分割し、各グループに対して1からkまでのインデックスを割り当てるようにしてもよい。
 例えば、注目項目が年齢である場合、年齢が10歳未満、10代、20代、・・・、90代、100歳以上のグループに分割され、各年齢のグループに1から11までのインデックスが割り当てられる。
 例えば、注目項目が連続値である場合、注目項目の最大値と最小値の間がk等分され、各範囲に対して1からkまでのインデックスがそれぞれ割り当てられる。
 ステップS63において、学習データ生成部41は、i番目の次元の値が1で、他の次元の値が0であるk次元ベクトルを生成する。
 例えば、上述した年齢の例の場合、顧客の年齢が20歳であれば、3次元目の値が1で、他の次元の値が0の82次元のone-of-kベクトルが生成される。
 なお、例えば、注目顧客の注目項目の値が想定範囲外である場合、又は、注目顧客の注目項目の値が欠損している場合、全ての次元の値が0のone-of-kベクトルが生成される。なお、注目顧客の注目項目の値が想定範囲外である場合は、実際に注目項目の値が想定範囲外である場合に加えて、入力ミス等により想定範囲外の値が入力された場合も想定される。
 また、例えば、注目項目が連続値で表される場合、学習データ生成部41は、各顧客の注目項目の平均及び標準偏差に基づいて外れ値(例えば、平均から標準偏差の3倍以上離れている値)を定義し、注目顧客の注目項目の値が外れ値であるとき、全ての次元の値が0のone-of-kベクトルを生成するようにしてもよい。
 さらに、例えば、注目項目がカテゴリカル値で表される場合、顧客・契約データベース21での出現頻度が所定の閾値未満の値を欠損値扱いとするようにしてもよい。
 その後、one-of-kベクトル生成処理は終了する。
 図4に戻り、ステップS34において、学習データ生成部41は、全ての項目についてone-of-kベクトルを生成したか否かを判定する。学習データ生成部41は、注目顧客の顧客情報の特徴量ベクトルの対象となる項目の中に、まだone-of-kベクトルを生成していない項目が残っている場合、まだ全ての項目についてone-of-kベクトルを生成していないと判定し、処理はステップS32に戻る。
 その後、ステップS34において、全ての項目についてone-of-kベクトルを生成したと判定されるまで、ステップS32乃至ステップS34の処理が繰り返し実行される。
 一方、ステップS34において、学習データ生成部41は、注目顧客の顧客情報の特徴量ベクトルの対象となる項目の中にone-of-kベクトルを生成していない項目が残っていない場合、全ての項目についてone-of-kベクトルを生成したと判定し、処理はステップS35に進む。
 ステップS35において、学習データ生成部41は、各項目のone-of-kベクトルを連結し、特徴量ベクトルを生成する。すなわち、学習データ生成部41は、注目顧客の各項目のone-of-kベクトルを所定の順序で連結することにより、注目顧客の特徴量ベクトルを生成する。
 なお、必ずしも顧客情報の全ての項目を特徴量ベクトルの生成に用いる必要はなく、特徴量ベクトルの生成に用いる項目を選択するようにしてもよい。例えば、学習対象となる顧客の顧客情報において、データの欠損率が所定の閾値以上の項目を、特徴量ベクトルの生成に用いる項目から除外するようにしてもよい。
 ステップS36において、学習データ生成部41は、データサンプルを生成する。具体的には、学習データ生成部41は、注目顧客が退会したか否かを示すデータを顧客・契約データベース21から取得する。そして、学習データ生成部41は、特徴量ベクトルを入力データとし、退会したか否かを示すデータをラベルとするデータサンプルを生成する。
 また、学習データ生成部41は、注目顧客の契約更新日又は退会日を時間情報としてデータサンプルに付与する。従って、時間情報は、データサンプルの新しさを示す。
 なお、退会日は、注目顧客が契約を更新しなかった場合に、当該契約の契約更新日に設定されるものとする。例えば、注目顧客の契約更新日が2019年5月1日の場合、注目顧客が契約を更新しなかったとき、2019年5月1日が退会日に設定されるものとする。
 なお、以下、学習データのi番目のデータサンプルを(x ,y )で表す。x は特徴量ベクトルを表し、y はラベルを表している。lは、学習データの特徴量ベクトル又はラベルであることを示す添え字である。また、以下、特徴量ベクトルの次元数をdで表すものとする。さらに、ラベルy は、サービスを退会した場合には、1に設定され、サービスを退会せずに契約を更新した場合には、0に設定されるものとする。
 また、以下、予測データのj番目のデータサンプルをx で表す。x は、特徴量ベクトルを表し、学習データの特徴量ベクトルx と同じ種類の特徴量を表すベクトルである。pは、学習データの特徴量ベクトルであることを示す添え字である。なお、予測データの対象となる顧客は、サービスを退会しているか否かが未定であるため、予測データのデータサンプルは、ラベルを含まない。
 なお、以下、時間情報が所定の期間内のデータサンプルを、その期間のデータサンプルと称する。例えば、時間情報が2019年5月の範囲内のデータサンプル、すなわち、契約更新日又は退会日が2019年5月の範囲内の顧客のデータサンプルを、2019年5月のデータサンプルと称する。
 ステップS37において、学習データ生成部41は、対象となる全ての顧客のデータサンプルを生成したか否かを判定する。例えば、学習データ生成部41は、過去1年間の更新対象者の中に、まだデータサンプルを生成していない顧客が残っている場合、まだ対象となる全ての顧客のデータサンプルを生成していないと判定し、処理はステップS31に戻る。
 その後、ステップS37において、対象となる全ての顧客のデータサンプルを生成したと判定されるまで、ステップS31乃至ステップS37の処理が繰り返し実行される。
 一方、ステップS37において、例えば、学習データ生成部41は、過去1年間の更新対象者の中にデータサンプルを生成していない顧客が残っていない場合、対象となる全ての顧客のデータサンプルを生成したと判定し、学習データ生成処理は終了する。
 図3に戻り、ステップS2において、学習部32は、学習データに対する重みを設定する。例えば、学習部32は、学習データに含まれる各データサンプルに対して、予測データとの関係に基づいて、重みを設定する。
 例えば、学習部32は、データサンプルの属性である時間情報と、予測データの属性である時間情報との差、すなわち、データサンプルと予測データとの間の時間的な差に基づいて、各データサンプルの重みを設定する。より具体的には、学習部32は、例えば、時間情報が予測データの時間情報に近いデータサンプルほど、すなわち、新しいデータサンプルほど重みを大きくする。
 ステップS3において、学習部32は、学習データ及び重みに基づいて、予測モデルの学習を行う。
 予測モデルpは、例えば、次式(1)により表される。
 p(y=1|x)=f(x;w) ・・・(1)
 fは、特徴量xの顧客の退会確率を算出する関数である。fには、様々な関数が適用できるが、例えば、ニューラルネットワークを用いた関数が適用される。wは、予測モデルのパラメータを表す。以下、パラメータwの数(パラメータ数)をDで表す。
 また、予測モデルpの学習においては、例えば、クロスエントロピーロスを誤差関数とし、学習データの全データサンプルに関する誤差関数の和に対し、勾配法を実行することにより、パラメータwが計算される。誤差関数の和は、例えば、次式(2)により表される。
Figure JPOXMLDOC01-appb-M000001
 aは、予測データのi番目のデータンプルに対する重みを表し、ステップS2の処理で設定される。l(x,y,w)は、誤差関数を表している。nは、学習データのデータサンプルの総数を示している。
 ここで、例えば、学習期間と予測期間との間で、データサンプルの特徴、すなわち、各顧客の特徴量ベクトルの傾向が大きく異なる場合が想定される。例えば、予測データの対象となる顧客の契約期間の直前又は契約期間中に、サービス内容の大幅な変更、強力なライバル会社の出現又は消滅、顧客層の大幅な変化等が起こった場合、予測データのデータサンプルの特徴が、学習データのデータサンプルの特徴と大きく異なる場合が想定される。
 これに対して、上述したように、時間的に予測データに近い学習データのデータサンプルほど重みaを大きくすることにより、予測モデルの予測精度が向上する。
 ステップS4において、情報処理システム11は、予測モデルを更新する。例えば、学習部32は、ステップS3の処理で計算した予測モデルpのパラメータwを予測部23に供給する。予測部23は、予測モデルpのパラメータwを更新する。
 その後、学習処理は終了する。
  <予測処理の第1の実施の形態>
 次に、図7のフローチャートを参照して、図3の学習処理に対応して、情報処理システム11により実行される予測処理について説明する。
 ステップS101において、情報処理システム11は、予測データを生成する。具体的には、予測データ生成部42は、図3のステップS1と同様の処理により、予測データの対象となる各顧客の特徴量ベクトルを生成する。また、予測データ生成部42は、各顧客の特徴量ベクトルを入力データとして含むデータサンプルを顧客毎に生成するとともに、各顧客の契約更新日を時間情報として各データサンプルに付与する。そして、予測データ生成部42は、各顧客のデータサンプルを含む予測データを生成し、予測部23に供給する。
 ステップS102において、予測部23は、予測モデル及び予測データに基づいて、予測分析を行う。すなわち、予測部23は、予測データに含まれる各顧客のデータサンプルを予測モデルに適用することにより、各顧客の退会確率を計算する。
 その後、予測処理は終了する。
 以上のようにして、予測データとの関係に基づいて、学習データの各データサンプルの重みを適切に設定し、予測モデルの予測精度を向上させることができる。
 また、従来、予測モデルの学習時に予測データを加味する手法として、共変量シフトと呼ばれる手法が知られている。共変量シフトでは、学習データの特徴量ベクトルを生成する確率分布、及び、予測データの特徴量ベクトルを生成する確率分布に基づいて、学習データの各データサンプルが重み付けされて、学習が行われる。しかし、確率分布の推定に必要な計算量が大きい上に、推定が困難である。また、確率分布の推定に適してない学習データが存在する。
 一方、本技術は、予測データとの関係に基づいて、学習データの各データサンプルの重みを設定するだけであり、計算量が少なく、また、学習データの種類に関わらず適用することが可能である。
<<2.第2の実施の形態>>
 次に、図8及び図9を参照して、本技術の第2の実施の形態について説明する。
 なお、第2の実施の形態は、第1の実施の形態と比較して、学習処理が異なる。具体的には、学習データを生成する対象となる期間が調整される。
  <学習処理の第2の実施の形態>
 図8のフローチャートを参照して、情報処理システム11により実行される学習処理の第2の実施の形態について説明する。
 なお、以下、第1の実施の形態と同様に、2019年5月の更新対象者の退会確率を予測する場合の例について説明する。
 ステップS201において、図2のステップS1の処理と同様に、学習データ生成処理が行われる。なお、この処理では、例えば、過去13か月以内の更新対象者を対象にして、学習データが生成される。例えば、2018年4月1日から2019年4月30日までの更新対象者の契約期間中の顧客情報に基づいて、学習データが生成される。
 ステップS202において、学習部32は、学習期間を変化させながら予測精度を計算する。
 例えば、学習部32は、2019年3月の更新対象者のデータサンプルを学習データから抽出した部分データを生成する。そして、学習部32は、生成した部分データを用いて予測モデルの学習を行う。これにより、学習期間が2019年3月の予測モデルが生成される。
 次に、学習部32は、2019年2月から2019年3月までの期間内の更新対象者のデータサンプルを学習データから抽出した部分データを生成する。そして、学習部32は、生成した部分データを用いて予測モデルの学習を行う。これにより、学習期間が2019年2月から2019年3月までの予測モデルが生成される。
 次に、学習部32は、2019年1月から2019年3月までの期間内の更新対象者のデータサンプルを学習データから抽出した部分データを生成する。そして、学習部32は、生成した部分データを用いて予測モデルの学習を行う。これにより、学習期間が2019年1月から2019年3月までの予測モデルが生成される。
 以下、同様にして、学習部32は、部分データの範囲を2018年4月まで1月ずつ広げながら、各部分データを用いて予測モデルの学習を行う。これにより、2019年4月を基準にして、学習期間がそれぞれ異なる過去Nか月(Nは1から12までの自然数)の12個の予測モデルが生成される。
 次に、学習部32は、学習データから2019年4月の更新対象者のデータサンプルを抽出し、各更新対象者のデータサンプルからラベルを削除することにより、仮想の予測データを生成する。この仮想の予測データは、他の部分データより実際の予測データに時間的に近いデータとなる。すなわち、仮想の予測データは、学習データの一部から生成され、他の部分データより実際の予測データに近い期間のデータサンプルを含む。
 次に、学習部32は、仮想の予測データを各予測モデルに適用することにより、2019年4月の各更新対象者の退会確率を予測する。
 そして、学習部32は、2019年4月の各更新対象者の退会確率の予測値、及び、実際の各更新対象者の退会の有無に基づいて、各予測モデルの予測精度を計算する。予測精度の計算には、例えば、AUC(Are Under the Curve)等が用いられる。
 ステップS203において、学習部32は、予測精度に基づいて、学習期間を設定する。例えば、学習部32は、予測精度が最も高い予測モデルの学習に用いられた部分データの期間を、予測モデルの学習に用いられる学習データの対象期間(学習期間)に設定する。
 図9は、予測モデルの予測精度の計算結果の例を示すグラフである。図9の横軸は、予測モデルの生成に用いた部分データの期間(学習期間)を示し、縦軸は予測精度を示している。
 この例では、5か月前から1か月前まで(過去5か月)の部分データを用いて学習した予測モデルの予測精度が最も高くなっている。従って、例えば、学習期間が5か月に設定される。すなわち、予測対象月の5か月前から1か月前までの期間が、予測モデルの学習に用いられる学習データの対象期間に設定される。
 なお、例えば、UI部24が、図9のグラフをユーザに提示し、ユーザに学習期間を設定させるようにしてもよい。図9では、ユーザにより学習期間が7か月に設定された例が示されている。
 ステップS204において、学習部32は、設定した学習期間の学習データに基づいて、予測モデルの学習を行う。例えば、学習部32は、学習期間が5か月に設定された場合、予測対象月である2019年5月の5か月前の2018年12月から2019年4月までの更新対象者のデータサンプルを学習データから抽出し、部分データを生成する。そして、学習部32は、生成した部分データを用いて、予測モデルの学習を行う。
 ステップS205において、図3のステップS4の処理と同様に、予測モデルが更新される。
 その後、学習処理は終了する。
 以上のようにして、学習期間が適切に設定され、その結果、予測モデルの予測精度が向上する。
 なお、例えば、一度学習期間が設定された後は、上述したステップS202及びステップS203の処理を行わずに、学習期間を固定するようにしてもよい。これにより、予測モデルの学習に要する演算量及び時間を削減することができる。また、学習期間が1年より短く設定されることにより、学習データのデータ量が削減され、学習時間が短縮される。
 なお、学習期間を固定するようにした場合、例えば、学習部32は、定期的にステップS202及びステップS203の処理を実行し、学習期間を更新するようにしてもよい。
 <<3.第3の実施の形態>>
 次に、図10乃至図12を参照して、本技術の第3の実施の形態について説明する。
 なお、第3の実施の形態は、上述した実施の形態と比較して、学習処理が異なる。具体的には、学習データと予測データとの類似度に基づいて、学習データの重みが設定され、学習処理が行われる。
  <学習処理の第3の実施の形態>
 図10のフローチャートを参照して、情報処理システム11により実行される学習処理の第3の実施の形態について説明する。
 なお、以下、第1の実施の形態と同様に、2019年5月の更新対象者の退会確率を予測する場合の例について説明する。
 ステップS301において、図2のステップS1の処理と同様に、学習データ生成処理が行われる。すなわち、2018年5月から2019年4月までの更新対象者の契約期間中の顧客情報に基づいて、学習データが生成される。
 ステップS302において、学習データ生成部41は、学習データを分割する。例えば、学習部32は、2018年5月から2019年4月までの各月の更新対象者毎に学習データを分割することにより、それぞれ異なる期間の(各月の)更新対象者のデータサンプルをそれぞれ含む12個の部分データを生成する。
 ステップS303において、図7のステップS101の処理と同様に、予測データが生成される。すなわち、2019年5月の更新対象者の契約期間中の顧客情報に基づいて、予測データが生成される。
 ステップS304において、学習部32は、類似度を算出する部分データを選択する。すなわち、学習部32は、まだ類似度を算出していない部分データを1つ選択する。
 ステップS305において、学習部32は、類似度算出処理を行う。
 ここで、図11のフローチャートを参照して、類似度算出処理の詳細について説明する。
 ステップS331において、学習部32は、部分データの各項目について統計量を計算する。具体的には、学習部32は、部分データに含まれる各データサンプルの特徴量ベクトルにより表される各項目の特徴量の統計量を計算する。
 なお、各項目の特徴量の統計量の計算方法は、特に限定されない。例えば、ある項目の特徴量が連続値で表される場合、各データサンプル間で正規化を行った後に、平均、標準偏差、及び、中央値の3種類の値が計算され、それらの値を要素とする3次元ベクトルが、その項目に対する統計量として計算される。また、例えば、ある項目の特徴量がカテゴリカル値で表される場合、k種類の取り得る値のそれぞれの出現率を要素とするk次元のベクトルが、その項目に対する統計量として計算される。
 ステップS332において、学習部32は、予測データの各項目について統計量を計算する。具体的には、学習部32は、ステップS331と同様の方法により、予測データに含まれる各データサンプルの特徴量ベクトルにより表される各項目の特徴量の統計量を計算する。
 ステップS333において、学習部32は、算出した統計量に基づいて、部分データと予測データの項目毎の類似度を計算する。
 なお、各項目の類似度の計算方法は、特に限定されない。例えば、ある項目の統計量がベクトルにより表される場合、学習部32は、部分データのベクトルと予測データのベクトルの内積を、その項目の類似度して計算する。
 ステップS334において、学習部32は、項目毎の類似度に基づいて、部分データと予測データの類似度を計算する。例えば、学習部32は、項目毎の類似度を加算することにより、部分データと予測データの類似度を算出する。
 その後、類似度算出処理は終了する。
 図10に戻り、ステップS306において、学習部32は、全ての部分データの類似度を算出したか否かを判定する。学習部32は、まだ類似度を算出していない部分データが残っている場合、まだ全ての部分データの類似度を算出していないと判定し、処理はステップS304に戻る。
 その後、ステップS306において、全ての部分データの類似度が算出されたと判定されるまで、ステップS304乃至ステップS306の処理が繰り返し実行される。
 一方、ステップS306において、全ての部分データの類似度が算出されたと判定された場合、処理はステップS307に進む。
 図12は、各部分データと予測データとの類似度の計算結果の例を示すグラフである。横軸は、部分データの対象となる期間を示し、縦軸は、類似度を示している。すなわち、図12は、1か月前の更新対象者を対象とする部分データと予測データとの類似度、2か月前の更新対象者を対象とする部分データと予測データとの類似度、・・・、12か月前の更新対象者を対象とする部分データと予測データとの類似度を示している。
 ステップS307において、学習部32は、類似度に基づいて、各部分データに対する重みを設定する。例えば、学習部32は、予測データとの類似度が高い部分データに含まれるデータサンプルほど重みを大きくし、予測データとの類似度が低い部分データに含まれるデータサンプルほど重みを小さくする。
 ステップS308において、図3のステップS3と同様の処理により、学習データ及び重みに基づいて、予測モデルの学習が行われる。
 ステップS309において、図3のステップS4と同様の処理により、予測モデルが更新される。
 その後、学習処理は終了する。
 以上のように、各部分データと予測データとの類似度を加味して予測モデルの学習を行うことにより、予測モデルの予測精度を向上させることができる。例えば、顧客の行動が季節等により周期的に変化する場合、予測モデルの予測精度を向上させることができる。例えば、特定の月(例えば、12月)の顧客の行動が他の月と大きく異なる場合、その月の予測分析を行う場合、1年前の同じ月の部分データに対する重みを大きくすることにより、予測精度を向上させることができる。
 なお、以上の例では、学習データを1か月単位で分割する例を示したが、学習データを分割する単位を調整するようにしてもよい。例えば、学習部32は、図8の学習処理と同様の方法により、学習データを分割する単位を変化させながら(例えば、1週間、1か月、2か月等)、分割単位毎の予測精度を計算し、予測精度に基づいて、分割単位を設定するようにしてもよい。
 また、この実施の形態では、学習処理において予測データが生成される。従って、学習処理で生成された予測データを用いることにより、予測処理において予測データを生成する処理を削減することができる。
 <<4.第4の実施の形態>>
 次に、図13及び図14を参照して、本技術の第4の実施の形態について説明する。
 なお、第4の実施の形態は、上述した実施の形態と比較して、学習処理及び予測処理が異なる。具体的には、学習データが複数の部分データに分割され、部分データ毎に予測モデルが生成され、複数の予測モデルを用いて予測分析が行われる。
  <学習処理の第4の実施の形態>
 まず、図13のフローチャートを参照して、情報処理システム11により実行される学習処理の第4の実施の形態について説明する。
 なお、以下、第1の実施の形態と同様に、2019年5月の更新対象者の退会確率を予測する場合の例について説明する。
 ステップS401において、図2のステップS1の処理と同様に、学習データ生成処理が行われる。すなわち、2018年5月から2019年4月までの更新対象者の契約期間中の顧客情報に基づいて、学習データが生成される。
 ステップS402において、図10のステップS302の処理と同様に、学習データが分割される。これにより、例えば、2018年5月から2019年4月までの各月の更新対象者毎に学習データが分割され、各月の更新対象者のデータサンプルをそれぞれ含む12個の部分データが生成される。
 ステップS403において、学習部32は、部分データ毎に予測モデルの学習を行う。これにより、2018年5月から2019年4月までの各月の部分データに基づいて、学習期間がそれぞれ異なる12個の予測モデルが生成される。
 なお、以下、ある月の部分データに基づいて生成された予測モデルを、その月の予測モデルと称する。例えば、2019年4月の部分データに基づいて生成された予測モデルを、2019年4月の予測モデルと称する。
 ステップS404において、情報処理システム11は、予測モデルを更新する。具体的には、学習部32は、ステップS403の処理で計算した各予測モデルのパラメータを予測部23に供給する。予測部23は、各予測モデルのパラメータを更新する。
 その後、学習処理は終了する。
 なお、例えば、この学習処理が毎月定期的に行われる場合、1か月前の2019年3月までの予測モデルは、すでに生成されている。従って、例えば、2019年4月の学習データのみを生成し、2019年4月の学習データに基づいて、2019年4月の予測モデルを生成するようにすることも可能である。これにより、学習処理の負荷を軽減することができる。
  <予測処理の第2の実施の形態>
 次に、図14を参照して、図13の学習処理に対応して、情報処理システム11により実行される予測処理について説明する。
 ステップS451において、図7のステップS101の処理と同様に、予測データが生成される。すなわち、2019年5月の更新対象者の契約期間中の顧客情報に基づいて、予測データが生成される。
 ステップS452において、図10のステップS304の処理と同様に、類似度を算出する部分データが選択される。
 ステップS453において、図10のステップS305の処理と同様に、類似度算出処理が行われる。これにより、選択された部分データと予測データとの類似度が算出される。
 ステップS454において、図10のステップS306の処理と同様に、全ての部分データの類似度を算出したか否かが判定される。まだ全ての部分データの類似度が算出されていないと判定された場合、処理はステップS452に戻る。
 その後、ステップS454において、全ての部分データの類似度が算出されたと判定されるまで、ステップS452乃至ステップS454の処理が繰り返し実行される。
 一方、ステップS454において、全ての部分データの類似度が算出されたと判定された場合、処理はステップS455に進む。
 ステップS455において、予測部23は、類似度に基づいて、各予測モデルに対する重みを設定する。具体的には、予測部23は、予測モデルに対応する学習データ、すなわち、予測モデルの学習に用いた学習データの予測データとの類似度が高くなるほど、その予測モデルに対する重みを大きくする。一方、予測部23は、予測モデルに対応する学習データの予測データとの類似度が低くなるほど、その予測モデルに対する重みを小さくする。
 ステップS456において、予測部23は、各予測モデル、各予測モデルに対する重み、及び、予測データに基づいて、予測分析を行う。具体的には、予測部23は、各予測モデルに予測データを適用することにより、予測対象月の各更新対象者の退会確率を予測モデル毎に予測する。これにより、各更新対象者について、予測モデル毎に複数の退会確率が予測される。
 次に、予測部23は、各予測モデルに対する重みを用いて、各更新対象者の予測モデル毎の退会確率の加重平均を計算することにより、各更新対象者の最終的な退会確率を計算する。
 その後、予測処理は終了する。
 以上のように、各部分データに基づいて予測モデルを生成し、各部分データと予測データとの類似度を加味して各予測モデルの予測結果を合成することにより、予測精度を向上させることができる。例えば、第3の実施の形態と同様に、顧客の行動が季節等により周期的に変化する場合、予測精度を向上させることができる。
<<5.第5の実施の形態>>
 次に、図15及び図16を参照して、本技術の第5の実施の形態について説明する。
 なお、第5の実施の形態は、予測データを加味して学習処理を行うか否かを選択して学習処理を行うようにするものである。
  <学習処理の第5の実施の形態>
 図15のフローチャートを参照して、情報処理システム11により実行される学習処理の第5の実施の形態について説明する。
 なお、以下、第1の実施の形態と同様に、2019年5月の更新対象者の退会確率を予測する場合の例について説明する。
 ステップS501において、学習部32は、予測データを加味した学習処理の実行の判定処理を行う。
 ステップS502において、学習部32は、ステップS501の処理の結果に基づいて、予測データを加味した学習処理を行うか否かを判定する。予測データを加味した学習処理を行うと判定された場合、処理はステップS503に進む。
 ステップS503において、学習部32は、予測データを加味した学習処理を行う。換言すれば、学習部32は、学習データ及び予測データに基づいた学習方法により、予測モデルの学習を行う。
 その後、学習処理は終了する。
 一方、ステップS502において、予測データを加味した学習処理を行わないと判定された場合、処理はステップS504に進む。
 ステップS504において、学習部32は、予測データを加味せずに学習処理を行う。換言すれば、学習部32は、予測データを用いずに、学習データ(のみ)に基づいた学習方法により、予測モデルの学習を行う。
 その後、学習処理は終了する。
 ここで、この学習処理の具体例について説明する。
 例えば、学習部32は、学習データと予測データとの類似度に基づいて、予測データを加味した学習処理を行うか否かを判定する。
 例えば、学習部32は、予測データ内のデータサンプル数と同じ数のデータサンプルを学習データから無作為に抽出する。そして、学習部32は、抽出したデータサンプルを含む学習データと予測データとの類似度を算出する。
 なお、類似度の算出方法は、特に限定されないが、例えば、図11を参照して上述した方法を適用することが可能である。
 そして、例えば、学習データと予測データとの類似度が所定の閾値未満である場合、学習データの特徴と予測データの特徴が大きく異なるため、予測データを加味した学習処理が行われる。例えば、図3、図8、図10、又は、図13の学習処理が行われる。これにより、予測モデルの予測精度が向上する。
 一方、学習データと予測データとの類似度が所定の閾値以上である場合、学習データの特徴と予測データの特徴があまり変わらない。従って、予測データを加味せずに学習処理が行われる。これにより、学習処理の負荷が軽減され、学習時間が短縮される。
 また、例えば、学習部32は、学習データをそれぞれ異なる期間の複数の部分データに分類し、部分データ間の類似度に基づいて、予測データを加味した学習処理を行うか否かを判定する。
 例えば、学習部32は、学習データを月単位で分割し、月毎の部分データを生成する。そして、学習部32は、例えば、各部分データ間の類似度をそれぞれ算出する。
 なお、類似度の算出方法は、特に限定されないが、例えば、図11を参照して上述した方法を適用することが可能である。
 そして、例えば、部分データ間の類似度の差の平均が所定の閾値以上である場合、部分データ間の変化が大きく、学習データの特徴と予測データの特徴が大きく異なる可能性が高い。従って、予測データを加味した学習処理が行われる。例えば、図3、図8、図10、又は、図13の学習処理が行われる。これにより、予測モデルの予測精度が向上する。
 一方、部分データ間の類似度の差の平均が所定の閾値未満である場合、部分データ間の変化が小さく、学習データの特徴と予測データの特徴が大きく異なる可能性が低い。従って、予測データを加味せずに学習処理が行われる。これにより、学習処理の負荷が軽減され、学習時間が短縮される。
 或いは、例えば、学習部32は、部分データ間の類似度の時系列の変化に基づいて、学習方法を選択する。
 例えば、学習部32は、最も古い月の部分データと他の各月の部分データとの類似度をそれぞれ算出する。そして、部分データ間の時間間隔が長くなるにつれて、類似度が所定の閾値以上低下している場合、学習データの時系列の変化が大きく、学習データの特徴と予測データの特徴が大きく異なる可能性が高い。従って、予測データを加味した学習処理が行われる。例えば、図3、図8、図10、又は、図13の学習処理が行われる。これにより、予測モデルの予測精度が向上する。
 一方、部分データ間の時間間隔が長くなっても、類似度の低下が所定の閾値未満である場合、学習データの時系列の変化が小さく、学習データの特徴と予測データの特徴が大きく異なる可能性が低い。従って、予測データを加味せずに学習処理が行われる。これにより、学習処理の負荷が軽減され、学習時間が短縮される。
 さらに、例えば、学習部32は、予測データを加味した場合と予測データを加味しなかった場合との予測精度を推定し、推定した予測精度に基づいて、予測データを加味した学習処理を行うか否かを判定する。
 例えば、学習部32は、図8を参照して上述した方法と同様の方法により、学習データ、及び、仮想の予測データに基づいて、予測データを加味した学習処理を行い、生成した予測モデルの予測精度を算出する。また、学習部32は、学習データのみに基づいて、予測データを加味しない学習処理を行い、生成した予測モデルの予測精度を算出する。さらに、学習部32は、予測データを加味した場合の予測精度と予測データを加味しない場合の予測精度との差を、予測精度の改善率の推定値として算出する。
 そして、例えば、学習部32は、予測精度の改善率の推定値が所定の閾値以上である場合、予測データを加味した学習処理を行う。これにより、予測モデルの予測精度が向上する。一方、例えば、学習部32は、予測精度の改善率の推定値が所定の閾値未満である場合、予測データを加味せずに学習処理が行われる。これにより、学習処理の負荷が軽減され、学習時間が短縮される。
 なお、予測モデルの予測精度に加えて、学習時間(予測モデルの学習に要した時間)も加味して、予測データを加味して学習処理を行うか否かを判定するようにしてもよい。
 例えば、学習部32は、予測データを加味した場合の学習処理に要した時間÷予測データを加味しない場合の学習処理に要した時間を、学習時間の増加率の推定値として算出する。この学習時間の増加率は、予測データを加味した場合の学習処理に要した時間と、予測データを加味しない場合の学習処理に要した時間との差を表す。
 そして、例えば、学習部32は、予測精度の改善度の推定値が所定の閾値以上、かつ、学習時間の増加率の推定値が所定の閾値未満である場合、予測データを加味した学習処理を行う。これにより、学習時間の増大が抑制されつつ、予測モデルの予測精度が向上する。一方、例えば、学習部32は、予測精度の改善度の推定値が所定の閾値未満、又は、学習時間の増加率の推定値が所定の閾値以上である場合、予測データを加味せずに学習処理を行う。これにより、学習処理の負荷が軽減され、学習時間が短縮される。
 なお、例えば、UI部24が、図16の設定画面を提示し、予測データを加味した学習を行うか否かをユーザに選択させるようにしてもよい。
 図16の設定画面には、予測データを加味した場合の予測精度の推定値(79.6%)、予測データを加味しない場合の予測精度の推定値(74.0%)、及び、予測精度の改善率の推定値(5.6%)が表示されている。また、学習時間(図内では計算時間)の増加率(2.3倍)が表示されている。
 また、学習期間の入力欄101及び予測期間の入力欄102が表示されている。
 さらに、通常の学習を実行するための実行ボタン103、及び、予測データを加味した学習を実行するための実行ボタン104が表示されている。
 これにより、例えば、ユーザは、予測精度の改善率、及び、学習時間の増加率を考慮して、ユーザのニーズにあった学習方法を選択し、実行させることができる。
 <<6.変形例>>
 以下、上述した本技術の実施の形態の変形例について説明する。
  <第1の実施の形態の変形例>
 例えば、時間情報に加えて、又は、時間情報の代わりに、他の属性を用いて、学習データの各データサンプルの重みを設定するようにしてもよい。
 具体的には、例えば、学習データ及び予測データの各データサンプルが空間情報(例えば、顧客の所在地、データの取得場所等)を有する場合、学習データの各データサンプルの空間情報と、予測データの空間情報との差に基づいて、各データサンプルの重みを設定するようにしてもよい。例えば、予測データから空間的に近いデータサンプルほど重みを大きくし、予測データから空間的に遠いデータサンプルほど重みを小さくするようにしてもよい。
  <第2の実施の形態の変形例>
 例えば、学習期間が重ならないように変化させながら、各学習期間の予測精度を計算するようにしてもよい。
 また、例えば、時間情報に加えて、又は、時間情報の代わりに、他の属性を用いて、学習データの範囲を変化させながら予測精度を計算し、予測モデルの学習に用いる学習データの範囲を設定するようにしてもよい。
 具体的には、例えば、学習データの各データサンプルが空間情報を有する場合、学習データの空間的な範囲を変化させながら予測精度を計算し、予測モデルの学習に用いる学習データの空間的な範囲(例えば、顧客の地域、データが取得された地域等)を設定するようにしてもよい。この場合、例えば、仮想の予測データには、学習データ内の他の部分データより実際の予測データに空間的に近いデータが用いられる。
  <第3の実施の形態の変形例>
 例えば、時間情報に加えて、又は、時間情報の代わりに、他の属性を用いて、学習データを複数の範囲に分割し、各部分データと予測データとの類似度を算出するようにしてもよい。
 具体的には、例えば、学習データの各データサンプルが空間情報を有する場合、学習データを空間的に複数の範囲に分割することにより、部分データを生成するようにしてもよい。また、例えば、所定のクラスタリング手法により、学習データを分割するようにしてもよい。
  <第4の実施の形態の変形例>
 例えば、時間情報に加えて、又は、時間情報の代わりに、他の属性を用いて、学習データを複数の範囲に分割し、各学習データをそれぞれ用いて複数の予測モデルを生成するようにしてもよい。
 例えば、学習データの各データサンプルが空間情報を有する場合、学習データを空間的に複数の範囲に分割することにより、部分データを生成するようにしてもよい。また、例えば、所定のクラスタリング手法により、学習データを複数の範囲に分割するようにしてもよい。
  <第5の実施の形態の変形例>
 例えば、時間情報に加えて、又は、時間情報の代わりに、他の属性を用いて、学習データを複数の範囲に分割し、各部分データ間の類似度に基づいて、予測データを加味した学習処理を行うか否かを判定するようにしてもよい。
 具体的には、例えば、学習データの各データサンプルが空間情報を有する場合、学習データを空間的に複数の範囲に分割し、各部分データ間の類似度に基づいて、予測データを加味した学習処理を行うか否かを判定するようにしてもよい。
  <学習データの生成方法に関する変形例>
 例えば、予測データに基づいて、学習データを生成するようにしてもよい。
 具体的には、例えば、予測データに基づいて、学習データの特徴量ベクトルを生成するようにしてもよい。より具体的には、例えば、予測データを加味して、特徴量ベクトルの生成に用いる特徴量を設定するようにしてもよい。
 例えば、学習期間内の顧客情報において顧客間の差がほとんどない項目は、顧客の特徴が顕著に現れないため、特徴量ベクトルに用いられない場合がある。しかし、予測期間内の顧客情報において、当該項目の顧客間の差が所定の閾値超える場合には、当該項目を特徴量ベクトルの生成に用いるようにしてもよい。すなわち、特徴量ベクトルが、当該項目により表される特徴量を含むようにしてもよい。これは、例えば、顧客の傾向や行動が大きく変化した場合等が想定される。
 逆に、例えば、学習期間内の顧客情報において顧客間の差が大きすぎる項目、例えば、カテゴリカル値で表される項目において、顧客数(データ数)に対して設定された値の種類の数(ユニーク数)が多すぎる項目も、特徴量ベクトルに用いられない場合がある。しかし、予測期間内の顧客情報において、当該項目において、データ数に対するユニーク数の割合が所定の閾値未満の場合には、当該項目を特徴量ベクトルの生成に用いるようにしてもよい。すなわち、特徴量ベクトルが、当該項目により表される特徴量を含むようにしてもよい。
 また、例えば、学習期間内の顧客情報においてデータの欠損率が高い項目は、特徴量ベクトルに用いられない場合がある。しかし、予測期間内の顧客情報において、当該項目の顧客情報における欠損率が所定の閾値未満である場合には、当該項目を特徴量ベクトルの生成に用いるようにしてもよい。すなわち、特徴量ベクトルが、当該項目により表される特徴量を含むようにしてもよい。これは、例えば、顧客から情報を収集する項目が新たに追加された場合等が想定される。
 さらに、例えば、学習データだけでなく、予測データも用いて、各種の統計量(例えば、平均、分散、最小値、最大値、出現頻度、欠損率等)を算出し、算出した統計量を用いて、特徴量ベクトルを生成するようにしてもよい。この場合、学習データと予測データとで異なる重みを用いて統計量を算出するようにしてもよい。
 また、例えば、学習データ及び予測データを用いて算出した統計量に基づいて、学習データにおける特異なデータサンプルを特定するようにしてもよい。
  <その他の変形例>
 学習データを範囲(例えば、期間、領域等)が異なる部分データに分割する場合、各部分データの範囲が互いに重ならないようにしてもよいし、一部が重なるようにしてもよい。後者の場合、1つのデータサンプルが、複数の部分データに含まれる場合がある。換言すれば、複数の部分データが、同じデータサンプルを含む場合がある。
 また、図1の情報処理システム11の構成は、その一例であり、変更することが可能である。
 例えば、データ生成部31を学習処理部22とは別に設けたり、予測データ生成部42を予測部23に設けたりすることが可能である。
 さらに、例えば、情報処理システム11を1つの情報処理装置により構成したり、複数の情報処理装置により構成したりすることが可能である。
 また、例えば、学習データの一部を仮想の予測データとして用いて、複数の異なる学習方法(例えば、第1乃至第4の実施の形態の学習方法)による予測モデルの予測精度を計算し、その結果に基づいて、予測モデルの学習方法を選択するようにしてもよい。
 さらに、本技術は、上述したサービスに関する予測分析を行う場合だけでなく、各種の予測分析を行う場合に適用することが可能である。すなわち、本技術は、学習データを用いて予測モデルの学習を行い、予測モデル及び予測データを用いて各種の予測分析を行う場合に適用することができる。
 <<7.その他>>
  <コンピュータの構成例>
 上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどが含まれる。
 図17は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
 コンピュータ1000において、CPU(Central Processing Unit)1001,ROM(Read Only Memory)1002,RAM(Random Access Memory)1003は、バス1004により相互に接続されている。
 バス1004には、さらに、入出力インターフェース1005が接続されている。入出力インターフェース1005には、入力部1006、出力部1007、記録部1008、通信部1009、及びドライブ1010が接続されている。
 入力部1006は、入力スイッチ、ボタン、マイクロフォン、撮像素子などよりなる。出力部1007は、ディスプレイ、スピーカなどよりなる。記録部1008は、ハードディスクや不揮発性のメモリなどよりなる。通信部1009は、ネットワークインターフェースなどよりなる。ドライブ1010は、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリなどのリムーバブル記録媒体1011を駆動する。
 以上のように構成されるコンピュータ1000では、CPU1001が、例えば、記録部1008に記録されているプログラムを、入出力インターフェース1005及びバス1004を介して、RAM1003にロードして実行することにより、上述した一連の処理が行われる。
 コンピュータ1000(CPU1001)が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブル記録媒体1011に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することができる。
 コンピュータ1000では、プログラムは、リムーバブル記録媒体1011をドライブ1010に装着することにより、入出力インターフェース1005を介して、記録部1008にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部1009で受信し、記録部1008にインストールすることができる。その他、プログラムは、ROM1002や記録部1008に、あらかじめインストールしておくことができる。
 なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
 また、本明細書において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、すべての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。
 さらに、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
 例えば、本技術は、1つの機能をネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
 また、上述のフローチャートで説明した各ステップは、1つの装置で実行する他、複数の装置で分担して実行することができる。
 さらに、1つのステップに複数の処理が含まれる場合には、その1つのステップに含まれる複数の処理は、1つの装置で実行する他、複数の装置で分担して実行することができる。
 <構成の組み合わせ例>
 本技術は、以下のような構成をとることもできる。
(1)
 1以上の情報処理装置を備える情報処理システムが、
 予測モデルを用いた予測分析に用いられる予測データ、及び、学習データに基づいて、前記予測モデルの学習を行う
 情報処理方法。
(2)
 前記情報処理システムは、
 前記学習データに含まれる各データサンプルに対して、前記予測データとの関係に基づいて重みを設定し、
 各前記データサンプル、及び、各前記データサンプルに対する重みに基づいて、前記予測モデルの学習を行う
 前記(1)に記載の情報処理方法。
(3)
 前記情報処理システムは、
 前記データサンプルと前記予測データとの間の所定の属性の差に基づいて、前記重みを設定する
 前記(2)に記載の情報処理方法。
(4)
 前記属性は、前記データサンプルと前記予測データとの時間的な差に基づいて前記重みを設定する
 前記(3)に記載の情報処理方法。
(5)
 前記情報処理システムは、
 前記学習データの複数の異なる範囲の部分データにそれぞれ基づいて、複数の前記予測モデルの学習を行い、
 前記学習データの一部を仮想の予測データとして用いて、各前記予測モデルの予測精度を計算し、
 各前記予測モデルの予測精度に基づいて、前記予測モデルの学習に用いる前記学習データの範囲を設定する
 前記(1)乃至(4)のいずれかに記載の情報処理方法。
(6)
 前記情報処理システムは、
 前記学習データの複数の異なる期間の前記部分データにそれぞれ基づいて、各前記予測モデルの学習を行い、
 各前記予測モデルの予測精度に基づいて、前記予測モデルの学習に用いる前記学習データの期間を設定する
 前記(5)に記載の情報処理方法。
(7)
 前記情報処理システムは、
 前記学習データを複数の部分データに分割し、
 各前記部分データと前記予測データとの類似度を計算し、
 前記類似度に基づいて各前記部分データに対する重みを設定し、
 各前記部分データ、及び、各前記部分データに対する重みに基づいて、前記予測モデルの学習を行う
 前記(1)乃至(4)のいずれかに記載の情報処理方法。
(8)
 前記情報処理システムは、
 前記学習データを複数の異なる期間の前記部分データに分割する
 前記(7)に記載の情報処理方法。
(9)
 前記情報処理システムは、
 前記予測データに基づいて、前記学習データを生成し、
 生成した前記学習データに基づいて、前記予測モデルの学習を行う
 前記(1)乃至(8)のいずれかに記載の情報処理方法。
(10)
 前記情報処理システムは、
 前記予測データに基づいて、前記学習データに用いる特徴量を設定する
 前記(9)に記載の情報処理方法。
(11)
 前記情報処理システムは、
 前記学習データと前記予測データとの類似度に基づいて、前記学習データ及び前記予測データに基づく学習方法、又は、前記学習データに基づく学習方法を選択して、前記予測モデルの学習を行う
 前記(1)乃至(10)のいずれかに記載の情報処理方法。
(12)
 前記情報処理システムは、
 前記学習データの複数の異なる範囲の部分データ間の類似度に基づいて、前記学習データ及び前記予測データに基づく学習方法、又は、前記学習データに基づく学習方法を選択して、前記予測モデルの学習を行う
 前記(1)乃至(10)のいずれかに記載の情報処理方法。
(13)
 前記情報処理システムは、
 前記学習データの複数の異なる期間の前記部分データ間の類似度の時系列の変化に基づいて、前記学習方法を選択する
 前記(12)に記載の情報処理方法。
(14)
 前記情報処理システムは、
 前記学習データの一部を仮想の予測データとして用いて、前記学習データ及び前記予測データに基づく学習方法による第1の予測モデルの予測精度、並びに、前記学習データのみに基づく学習方法による第2の予測モデルの予測精度を計算し、
 前記第1の予測モデルの予測精度及び前記第2の予測モデルの予測精度に基づいて、前記学習方法を選択して、前記予測モデルの学習を行う
 前記(1)乃至(10)のいずれかに記載の情報処理方法。
(15)
 前記情報処理システムは、
 さらに前記第1の予測モデルの学習に要した時間及び前記第2の予測モデルの学習に要した時間に基づいて、前記学習方法を選択する
 前記(14)に記載の情報処理方法。
(16)
 予測モデルを用いた予測分析に用いられる予測データ、及び、学習データに基づいて、前記予測モデルの学習を行う学習部を
 備える情報処理装置。
(17)
 予測モデルを用いた予測分析に用いられる予測データ、及び、学習データに基づいて、前記予測モデルの学習を行う
 処理をコンピュータに実行させるためのプログラム。
(18)
 1以上の情報処理装置を備える情報処理システムが、
 学習データ及び予測データに基づいて学習された予測モデルと、前記予測データとに基づいて、予測分析を行う
 情報処理方法。
(19)
 学習データ及び予測データに基づいて学習された予測モデルと、前記予測データとに基づいて、予測分析を行う予測部を
 備える情報処理装置。
(20)
 学習データ及び予測データに基づいて学習された予測モデルと、前記予測データとに基づいて、予測分析を行う
 処理をコンピュータに実行させるためのプログラム。
(21)
 1以上の情報処理装置を備える情報処理システムが、
 学習データの複数の異なる範囲の部分データに基づいてそれぞれ学習された複数の予測モデルに対する重みを、各前記予測モデルに対応する前記部分データと予測データとの類似度に基づいてそれぞれ設定し、
 各前記予測モデル、各前記予測モデルに対する重み、及び、前記予測データに基づいて、予測分析を行う
 情報処理方法。
(22)
 各前記予測モデルは、前記学習データの複数の異なる期間の前記部分データに基づいてそれぞれ学習される
 前記(21)に記載の情報処理方法。
(23)
 学習データの複数の異なる範囲の部分データに基づいてそれぞれ学習された複数の予測モデルに対する重みを、各前記予測モデルに対応する前記部分データと予測データとの類似度に基づいてそれぞれ設定し、各前記予測モデル、各前記予測モデルに対する重み、及び、前記予測データに基づいて、予測分析を行う予測部を
 備える情報処理装置。
(24)
 学習データの複数の異なる範囲の部分データに基づいてそれぞれ学習された複数の予測モデルに対する重みを、各前記予測モデルに対応する前記部分データと予測データとの類似度に基づいてそれぞれ設定し、
 各前記予測モデル、各前記予測モデルに対する重み、及び、前記予測データに基づいて、予測分析を行う
 処理をコンピュータに実行させるためのプログラム。
(25)
 1以上の情報処理装置を備える情報処理システムが、
 学習データの複数の異なる範囲の部分データにそれぞれ基づいて、複数の予測モデルの学習を行う
 情報処理方法。
(26)
 前記情報処理システムは、
 前記学習データの複数の異なる期間の前記部分データにそれぞれ基づいて、各前記予測モデルの学習を行う
 前記(25)に記載の情報処理方法。
(27)
 学習データの複数の異なる範囲の部分データにそれぞれ基づいて、複数の予測モデルの学習を行う学習部を
 備える情報処理装置。
(28)
 学習データの複数の異なる範囲の部分データにそれぞれ基づいて、複数の予測モデルの学習を行う
 処理をコンピュータに実行させるためのプログラム。
 なお、本明細書に記載された効果はあくまで例示であって限定されるものではなく、他の効果があってもよい。
 11 情報処理システム, 21 顧客・契約データベース, 22 学習処理部, 23 予測部, 24 UI部, 31 データ生成部, 32 学習部, 41 学習データ生成部, 42 予測データ生成部

Claims (17)

  1.  1以上の情報処理装置を備える情報処理システムが、
     予測モデルを用いた予測分析に用いられる予測データ、及び、学習データに基づいて、前記予測モデルの学習を行う
     情報処理方法。
  2.  前記情報処理システムは、
     前記学習データに含まれる各データサンプルに対して、前記予測データとの関係に基づいて重みを設定し、
     各前記データサンプル、及び、各前記データサンプルに対する重みに基づいて、前記予測モデルの学習を行う
     請求項1に記載の情報処理方法。
  3.  前記情報処理システムは、
     前記データサンプルと前記予測データとの間の所定の属性の差に基づいて、前記重みを設定する
     請求項2に記載の情報処理方法。
  4.  前記属性は、前記データサンプルと前記予測データとの時間的な差に基づいて前記重みを設定する
     請求項3に記載の情報処理方法。
  5.  前記情報処理システムは、
     前記学習データの複数の異なる範囲の部分データにそれぞれ基づいて、複数の前記予測モデルの学習を行い、
     前記学習データの一部を仮想の予測データとして用いて、各前記予測モデルの予測精度を計算し、
     各前記予測モデルの予測精度に基づいて、前記予測モデルの学習に用いる前記学習データの範囲を設定する
     請求項1に記載の情報処理方法。
  6.  前記情報処理システムは、
     前記学習データの複数の異なる期間の前記部分データにそれぞれ基づいて、各前記予測モデルの学習を行い、
     各前記予測モデルの予測精度に基づいて、前記予測モデルの学習に用いる前記学習データの期間を設定する
     請求項5に記載の情報処理方法。
  7.  前記情報処理システムは、
     前記学習データを複数の部分データに分割し、
     各前記部分データと前記予測データとの類似度を計算し、
     前記類似度に基づいて各前記部分データに対する重みを設定し、
     各前記部分データ、及び、各前記部分データに対する重みに基づいて、前記予測モデルの学習を行う
     請求項1に記載の情報処理方法。
  8.  前記情報処理システムは、
     前記学習データを複数の異なる期間の前記部分データに分割する
     請求項7に記載の情報処理方法。
  9.  前記情報処理システムは、
     前記予測データに基づいて、前記学習データを生成し、
     生成した前記学習データに基づいて、前記予測モデルの学習を行う
     請求項1に記載の情報処理方法。
  10.  前記情報処理システムは、
     前記予測データに基づいて、前記学習データに用いる特徴量を設定する
     請求項9に記載の情報処理方法。
  11.  前記情報処理システムは、
     前記学習データと前記予測データとの類似度に基づいて、前記学習データ及び前記予測データに基づく学習方法、又は、前記学習データに基づく学習方法を選択して、前記予測モデルの学習を行う
     請求項1に記載の情報処理方法。
  12.  前記情報処理システムは、
     前記学習データの複数の異なる範囲の部分データ間の類似度に基づいて、前記学習データ及び前記予測データに基づく学習方法、又は、前記学習データに基づく学習方法を選択して、前記予測モデルの学習を行う
     請求項1に記載の情報処理方法。
  13.  前記情報処理システムは、
     前記学習データの複数の異なる期間の前記部分データ間の類似度の時系列の変化に基づいて、前記学習方法を選択する
     請求項12に記載の情報処理方法。
  14.  前記情報処理システムは、
     前記学習データの一部を仮想の予測データとして用いて、前記学習データ及び前記予測データに基づく学習方法による第1の予測モデルの予測精度、並びに、前記学習データのみに基づく学習方法による第2の予測モデルの予測精度を計算し、
     前記第1の予測モデルの予測精度及び前記第2の予測モデルの予測精度に基づいて、前記学習方法を選択して、前記予測モデルの学習を行う
     請求項1に記載の情報処理方法。
  15.  前記情報処理システムは、
     さらに前記第1の予測モデルの学習に要した時間及び前記第2の予測モデルの学習に要した時間に基づいて、前記学習方法を選択する
     請求項14に記載の情報処理方法。
  16.  予測モデルを用いた予測分析に用いられる予測データ、及び、学習データに基づいて、前記予測モデルの学習を行う学習部を
     備える情報処理装置。
  17.  予測モデルを用いた予測分析に用いられる予測データ、及び、学習データに基づいて、前記予測モデルの学習を行う
     処理をコンピュータに実行させるためのプログラム。
PCT/JP2020/021540 2019-06-11 2020-06-01 情報処理方法、情報処理装置、及び、プログラム WO2020250723A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US17/615,368 US20220230096A1 (en) 2019-06-11 2020-06-01 Information processing method, information processing device, and program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019-108722 2019-06-11
JP2019108722 2019-06-11

Publications (1)

Publication Number Publication Date
WO2020250723A1 true WO2020250723A1 (ja) 2020-12-17

Family

ID=73781977

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/021540 WO2020250723A1 (ja) 2019-06-11 2020-06-01 情報処理方法、情報処理装置、及び、プログラム

Country Status (2)

Country Link
US (1) US20220230096A1 (ja)
WO (1) WO2020250723A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022185810A1 (ja) * 2021-03-04 2022-09-09 株式会社日立ハイテク 検体採取の呼出時間予測システム及び方法

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220012641A1 (en) * 2020-07-09 2022-01-13 International Business Machines Corporation Determining and selecting prediction models over multiple points in time
US11568018B2 (en) * 2020-12-22 2023-01-31 Dropbox, Inc. Utilizing machine-learning models to generate identifier embeddings and determine digital connections between digital content items

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109472700A (zh) * 2018-11-20 2019-03-15 中山大学 股票价格的预测方法、服务器及存储介质

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109472700A (zh) * 2018-11-20 2019-03-15 中山大学 股票价格的预测方法、服务器及存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"3. Time series forecasting by machine learning", TIME SERIES FORECASTING BY MACHINE LEARNING, 26 July 2017 (2017-07-26), pages 7 - 10, Retrieved from the Internet <URL:https://web.archive.org/web/20170726210512/https://logics-of-blue.com/time-series-forecast-by-machine-learning> [retrieved on 20200817] *
SHIMODAIRA, HISASHI: "A Method for Selecting Similar Learning Data Based on Correlation Coefficients in the Prediction of Time Series Using Neural Networks", TRANSACTIONS OF INFORMATION PROCESSING SOCIETY OF JAPAN, vol. 36, no. 2, 15 February 1995 (1995-02-15), pages 266 - 274, 267-268 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022185810A1 (ja) * 2021-03-04 2022-09-09 株式会社日立ハイテク 検体採取の呼出時間予測システム及び方法

Also Published As

Publication number Publication date
US20220230096A1 (en) 2022-07-21

Similar Documents

Publication Publication Date Title
WO2020250723A1 (ja) 情報処理方法、情報処理装置、及び、プログラム
US11361342B2 (en) Methods and apparatus to incorporate saturation effects into marketing mix models
US9367820B2 (en) Online temporal difference learning from incomplete customer interaction histories
JP4596945B2 (ja) データセンタの需要予測システム、需要予測方法および需要予測プログラム
Marshall et al. A forecasting system for movie attendance
US7680746B2 (en) Prediction of click through rates using hybrid kalman filter-tree structured markov model classifiers
US20110153419A1 (en) System and method for intelligent modeling for insurance marketing
US7664671B2 (en) Methods and systems for profile-based forecasting with dynamic profile selection
WO2015129613A1 (ja) 電力需要予測装置、電力供給システム、電力需要予測方法及びプログラム
WO2019055083A1 (en) SYSTEMS AND METHODS FOR GENERATING A BAYESIAN BRAND HIERARCHICAL MODEL WITH A CATEGORY BAYESIAN HIERARCHICAL MODEL
US20160189175A1 (en) System and method of sensitivity-driven pricing service for non-stationary demand management
CN102165442A (zh) 对用于市场份额预测的选择预测系统进行定标
US20160140577A1 (en) Unified marketing model based on conduit variables
JP6692739B2 (ja) 抽出装置、抽出方法及び抽出プログラム
US20210304243A1 (en) Optimization of markdown schedules for clearance items at physical retail stores
US20170330221A1 (en) Systems and methods for integration of universal marketing activities
CN113159809A (zh) 对象处理方法、装置、电子设备及计算机可读存储介质
CN101473647A (zh) 进行适合定向广告发布的实时观众估计和商业广告选择的方法与装置
WO2016072474A1 (ja) 情報処理装置及び方法、並びにプログラム
CN115345635A (zh) 推荐内容的处理方法、装置、计算机设备和存储介质
Jiang et al. Adaptive riskaware bidding with budget constraint in display advertising
CN113128739A (zh) 用户触达时间的预测方法、预测模型训练方法及相关装置
Szántai et al. Inventory Control in Sales Periods
CN117349546A (zh) 用于生成信息的方法、装置和系统
Gündüç et al. Role of new ideas in the mobile phone market share

Legal Events

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

Ref document number: 20823595

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20823595

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP