JP5104496B2 - Diffusion prediction system, method and program, and impact estimation system, method and program - Google Patents
Diffusion prediction system, method and program, and impact estimation system, method and program Download PDFInfo
- Publication number
- JP5104496B2 JP5104496B2 JP2008101872A JP2008101872A JP5104496B2 JP 5104496 B2 JP5104496 B2 JP 5104496B2 JP 2008101872 A JP2008101872 A JP 2008101872A JP 2008101872 A JP2008101872 A JP 2008101872A JP 5104496 B2 JP5104496 B2 JP 5104496B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- label
- time
- customer
- current time
- Prior art date
- Legal status (The legal status 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 status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims description 109
- 238000009792 diffusion process Methods 0.000 title claims description 25
- 238000012360 testing method Methods 0.000 claims description 215
- 230000006870 function Effects 0.000 claims description 149
- 238000002372 labelling Methods 0.000 claims description 100
- 238000004364 calculation method Methods 0.000 claims description 93
- 230000008569 process Effects 0.000 claims description 86
- 230000035515 penetration Effects 0.000 claims description 65
- 238000012545 processing Methods 0.000 claims description 25
- 238000003066 decision tree Methods 0.000 description 59
- 230000004048 modification Effects 0.000 description 25
- 238000012986 modification Methods 0.000 description 25
- 238000010586 diagram Methods 0.000 description 23
- 238000011156 evaluation Methods 0.000 description 21
- 230000001419 dependent effect Effects 0.000 description 12
- 125000000205 L-threonino group Chemical group [H]OC(=O)[C@@]([H])(N([H])[*])[C@](C([H])([H])[H])([H])O[H] 0.000 description 11
- 238000013138 pruning Methods 0.000 description 11
- 230000000694 effects Effects 0.000 description 7
- 230000007704 transition Effects 0.000 description 6
- 238000000611 regression analysis Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 239000000284 extract Substances 0.000 description 4
- 238000013528 artificial neural network Methods 0.000 description 3
- 238000007418 data mining Methods 0.000 description 3
- 230000007423 decrease Effects 0.000 description 3
- 238000012706 support-vector machine Methods 0.000 description 3
- 239000000470 constituent Substances 0.000 description 2
- 238000012804 iterative process Methods 0.000 description 2
- 229930091051 Arenine Natural products 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000008450 motivation Effects 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Description
本発明は、商品またはサービスの普及に関する予測を行う普及予測システム、普及予測方法および普及予測プログラムと、ある期間の中で商品またはサービスの顧客が他の者にその商品またはサービスの利用を喚起させる度合いを推定する影響度推定システム、影響度推定方法および影響度推定プログラムに関する。 The present invention relates to a spread prediction system, a spread prediction method, and a spread prediction program that make predictions regarding the spread of a product or service, and a customer of the product or service in a certain period causes other people to use the product or service. The present invention relates to an influence degree estimation system, an influence degree estimation method, and an influence degree estimation program for estimating a degree.
顧客に商品またはサービスを提供する場合、商品またはサービスの費用対効果や資源を調達すべき時期や量を推定するため、普及の推移を予測することが必要である。ここで、商品とは、製品などの完成品のみならず、製品の機能を維持するための最小単位も含む。商品やサービスの普及の推移は、時間に対する普及率(または販売数)で示すことができる。 When providing goods or services to customers, it is necessary to predict the transition of diffusion in order to estimate the cost-effectiveness of goods or services and the timing and amount of resources to be procured. Here, the product includes not only a finished product such as a product but also a minimum unit for maintaining the function of the product. The transition of the spread of products and services can be shown by the spread rate (or the number of sales) with respect to time.
このような普及予測に適用可能な予測装置の一例が、特許文献1に記載されている。特許文献1に記載された予測装置は、入力部と、事象内容記憶部と、累積件数集計部と、予測条件記憶部と、回帰分析部と、分布推定部と、出力部とを備えている。入力部は、注目する現象で予測対象となる事象が発生した期日やその発生件数などの過去の履歴、およびその予測対象となる事象において予測すべき事象の上限や下限などの値の範囲や予測時点などに代表される予測条件を入力する入力手段である。回帰分析部は、ロジスティック曲線モデル(あるいは別の曲線モデル)を用いて、実績となる普及の推移に当てはまるように注目する現象を記述するパラメタを推定するとともに、推定したパラメタに基づいて、普及の推移である予測曲線を得る。
An example of a prediction device applicable to such a spread prediction is described in
また、特許文献2には、決定木学習用データを生成する時系列データ分類・予測装置が記載されている。特許文献2に記載の時系列データ分類・予測装置は、複数の時刻の情報を含む決定木学習用データを生成する。
また、特許文献3には、顧客属性データをマスタ・データとする分析装置が記載されている。
Further,
顧客が商品やサービスを利用し始める時期は、顧客の特徴によって異なる。例えば、顧客は、イノベータ、アーリーアダプタ、アーリーマジョリティ等のカテゴリに分類することができる。 The time when a customer starts using a product or service depends on the customer's characteristics. For example, customers can be categorized into categories such as innovators, early adapters, early majority.
上記のように、顧客が商品やサービスを利用し始める時期は顧客の特徴によって異なるので、個々の顧客毎に商品やサービスの利用開始時期を予測しようとしても、ロジスティック曲線等の曲線モデルを用いてパラメータフィッティングを行う予測手法では、個々の顧客の特徴が反映されず、顧客毎の商品やサービスの利用開始時期を予測することはできなかった。 As described above, the time when a customer starts using a product or service varies depending on the characteristics of the customer, so even when trying to predict the start of use of a product or service for each individual customer, a logistic model such as a logistic curve is used. In the prediction method that performs parameter fitting, the characteristics of individual customers are not reflected, and it is impossible to predict the use start time of products and services for each customer.
また、商品やサービスの提供者にとって、既に商品やサービスを利用している者が他の者に商品やサービスの利用を喚起させる度合いを知ることは好ましい。例えば、広告活動や販売促進活動などにより、いわゆる口コミが活発化し、既に商品やサービスの利用を開始している者からの影響によりどの程度、未利用者の利用開始意欲が喚起されたかを知ることができることが好ましい。ここで、ある期間の中で商品またはサービスの顧客が他の者にその商品またはサービスの利用を喚起させる度合いを影響度と呼ぶ。影響度は、ある期間において、商品やサービスを利用していなかった者が既に利用を開始した者からの影響でその商品を受け入れる受容性の程度と言うこともできる。 In addition, it is preferable for a provider of a product or service to know the degree to which a person who already uses the product or service urges others to use the product or service. For example, knowing how much the so-called word-of-mouth has been activated by advertising activities and sales promotion activities, and the degree of motivation for non-users to start using the products and services. It is preferable that Here, the degree to which a customer of a product or service urges others to use the product or service within a certain period is called an influence level. The degree of influence can also be said to be the degree of acceptability for accepting a product due to the influence from a person who has not started using the product or service in a certain period.
そこで、本発明は、顧客が商品やサービスを利用し始める時期を顧客毎に予測することができる普及予測システム、普及予測方法および普及予測プログラムを提供することを目的とする。また、本発明は、時期に応じて商品やサービスの影響度を推定することができる影響度推定システム、影響度推定方法および影響度推定プログラムを提供することを目的とする。 Therefore, an object of the present invention is to provide a spread prediction system, a spread prediction method, and a spread prediction program capable of predicting for each customer when a customer starts using a product or service. It is another object of the present invention to provide an influence degree estimation system, an influence degree estimation method, and an influence degree estimation program that can estimate the influence degree of a product or service according to time.
本発明の普及予測システムは、顧客が商品またはサービスを利用し始めている場合には前記商品またはサービスの利用開始時期を表し、前記商品またはサービスを未利用の場合には未利用である旨を表す利用開始情報と、前記利用開始情報以外の顧客の属性を表す一つ以上の項目とを含む顧客毎の個別データの集合である顧客データを記憶する顧客データベースと、前記顧客データベースを用いて、判定対象時刻を定める現時刻で商品またはサービスの利用を開始していない顧客の個別データを含むデータであるテストデータを生成するテストデータ生成部と、前記現時刻で前記商品またはサービスの利用を開始している顧客の個別データに第1ラベルをラベル付け、前記商品またはサービスの利用を開始していない顧客の個別データに第2ラベルをラベル付け、第1ラベルをラベル付けた個別データ数を、ある期間の中で商品またはサービスの顧客が他の者にその商品またはサービスの利用を喚起させる度合いである影響度に応じて変動させたデータである学習データを生成する学習データ生成部と、前記顧客の属性を表す項目から当該顧客の個別データに第1ラベルと第2ラベルのいずれをラベル付けるかを判定するルールである分類器を、前記学習データに基づいて生成する分類器生成部と、前記分類器と前記テストデータ内の各個別データの項目とから、前記テストデータ内の各個別データに対するラベルを判定するテストデータラベル判定部とを備えることを特徴とする。 The spread prediction system of the present invention indicates that the customer or service starts when the product or service is started, and indicates that the product or service is not used when the product or service is not used. Using a customer database that stores customer data that is a set of individual data for each customer including use start information and one or more items representing customer attributes other than the use start information, and determination using the customer database A test data generation unit that generates test data that includes individual data of customers who have not started using the product or service at the current time that defines the target time; and the use of the product or service is started at the current time Label each customer's individual data with a first label, and second customer individual data that has not started using the goods or services. The number of individual data labeled with the first label and the first label varies depending on the degree of influence, which is the degree to which the customer of the product or service will encourage others to use the product or service within a certain period of time Classification that is a rule for determining which of the first label and the second label to label the individual data of the customer from the item representing the attribute of the customer, and the learning data generation unit that generates the learning data that is the processed data A test data label for determining a label for each individual data in the test data from a classifier generating unit that generates a classifier based on the learning data, and each individual data item in the classifier and the test data And a determination unit.
また、本発明の影響度推定システムは、顧客が商品またはサービスを利用し始めている場合には前記商品またはサービスの利用開始時期を表し、前記商品またはサービスを未利用の場合には未利用である旨を表す利用開始情報と、前記利用開始情報以外の顧客の属性を表す一つ以上の項目とを含む顧客毎の個別データの集合である顧客データを記憶する顧客データベースと、ある期間の中で商品またはサービスの顧客が他の者にその商品またはサービスの利用を喚起させる度合いである影響度の推定対象時刻として用いられる現時刻と、前記現時刻の一定時間前を指定するための時刻間隔と、影響度の候補である複数の仮影響度とが入力され、前記現時刻から前記時刻間隔前の時刻である前時刻を計算し、前記顧客データベースを用いて、前記現時刻で前記商品またはサービスの利用を開始している顧客の個別データに第1ラベルをラベル付け、前記商品またはサービスの利用を開始していない顧客の個別データに第2ラベルをラベル付けた現時刻データを生成する現時刻データ生成部と、個々の仮影響度毎に、前時刻で前記商品またはサービスの利用を開始している顧客の個別データに第1ラベルをラベル付け、前記商品またはサービスの利用を開始していない顧客の個別データに第2ラベルをラベル付け、第1ラベルをラベル付けた個別データ数を前記仮影響度に応じて変動させたデータである前時刻データを生成する前時刻データ群生成部と、個々の前時刻データ毎に、前記顧客の属性を表す項目から当該顧客の個別データに第1ラベルと第2ラベルのいずれをラベル付けるかを判定するルールである分類器を前記前時刻に基づいて生成する前時刻分類器群生成部と、前時刻データ毎に生成された個々の分類器毎に、当該分類器と前記現時刻データ内の各個別データの項目とから前記現時刻データ内の個別データにラベル付けられるラベルを予測し、予測結果と前記現時刻データとの誤差を算出する誤差群算出部と、個々の分類器毎に算出された誤差のうち、最小の誤差を特定し、最小の誤差に対応する仮影響度が1つである場合には、当該仮影響度を影響度として定め、最小の誤差に対応する仮影響度が複数個存在する場合には、前記複数の仮影響度に基づいて影響度を定める影響度算出部とを備えることを特徴とする。 The influence estimation system of the present invention represents the use start time of the product or service when the customer starts using the product or service, and is not used when the product or service is not used. A customer database that stores customer data, which is a set of individual data for each customer, including usage start information representing the effect and one or more items representing customer attributes other than the usage start information; A current time used as an estimation target time of the degree of influence, which is a degree that a customer of the product or service urges others to use the product or service, and a time interval for designating a predetermined time before the current time A plurality of provisional influence degrees that are candidates for influence degree are input, a previous time that is a time before the time interval from the current time is calculated, and the customer database is used to The first label is labeled on the individual data of the customer who has started using the product or service at the current time, and the second label is labeled on the individual data of the customer who has not started using the product or service. A current time data generating unit that generates time data, and for each temporary influence degree, the first label is labeled on individual data of a customer who has started using the product or service at the previous time, and the product or service Before generating the previous time data, which is data obtained by labeling the individual data of customers who have not started using the second label with the second label, and changing the number of individual data labeled with the first label according to the temporary influence degree For each time data group generation unit and each previous time data, the customer's individual data is labeled with either the first label or the second label from the item representing the customer's attribute. A time classifier group generating unit that generates a classifier that is a rule for determining the time based on the previous time, and for each individual classifier generated for each previous time data, the classifier and the current time data For each individual data item, an error group calculation unit that predicts a label to be labeled on the individual data in the current time data, calculates an error between the prediction result and the current time data, and for each classifier Among the calculated errors, the minimum error is identified, and when there is one temporary influence level corresponding to the minimum error, the temporary influence level is determined as the influence level, and the temporary influence corresponding to the minimum error is determined. When there are a plurality of degrees, an influence degree calculation unit that determines the influence degree based on the plurality of provisional influence degrees is provided.
また、本発明の普及予測システムは、顧客が商品またはサービスを利用し始めている場合には商品またはサービスの利用開始時期を表し、商品またはサービスを未利用の場合には未利用である旨を表す利用開始情報と、利用開始情報以外の顧客の属性を表す一つ以上の項目とを含む顧客毎の個別データの集合である顧客データを記憶する顧客データベースと、顧客データベースを用いて、判定対象時刻を定める現時刻で商品またはサービスの利用を開始していない顧客の個別データを含むデータであるテストデータを生成するテストデータ生成部と、現時刻で商品またはサービスの利用を開始している顧客の個別データに第1ラベルをラベル付け、商品またはサービスの利用を開始していない顧客の個別データに第2ラベルをラベル付けたラベル付けデータを生成し、ラベル付けデータ中の第1ラベルでラベル付けられた個別データ数の割合を商品またはサービスの普及率として計算するラベル付けデータ生成部と、顧客の属性を表す項目から顧客の個別データに第1ラベルがラベル付けられる確からしさのスコアを定めるルールである分類器を、ラベル付けデータに基づいて生成する分類器生成部と、普及率に対するスコアの閾値の関数である閾値関数にラベル付けデータ生成部が計算した普及率を代入して閾値を算出し、分類器とテストデータ内の各個別データの項目とから、テストデータ内の各個別データに第1ラベルがラベル付けられる確からしさのスコアを定め、テストデータ内の個別データのうちスコアが閾値以上である個別データに対するラベルが第1ラベルであると判定し、スコアが閾値未満の個別データに対するラベルが第2ラベルであると判定するテストデータラベル判定部とを備えることを特徴とする。 Further, the spread prediction system of the present invention indicates that the customer or service starts when the customer starts using the product or service, and indicates that the product or service is unused when the product or service is not used. Using a customer database that stores customer data that is a set of individual data for each customer including usage start information and one or more items representing customer attributes other than the usage start information, and a determination target time using the customer database A test data generation unit that generates test data that includes individual data of customers who have not started using products or services at the current time, and customers who have started using products or services at the current time Labels with the first label on the individual data and labels with the second label on the individual data of customers who have not started using goods or services A labeling data generation unit that generates a labeling data and calculates a ratio of the number of individual data labeled with the first label in the labeling data as a penetration rate of goods or services, and an item representing customer attributes from the customer A classifier that generates a classifier, which is a rule that determines the probability score that the first label is labeled on the individual data, and a threshold function that is a function of a threshold value of the score with respect to the penetration rate The threshold is calculated by substituting the penetration rate calculated by the labeling data generation unit into the first label for each individual data in the test data from the classifier and each individual data item in the test data. A probability score is defined, and the label for the individual data whose score is equal to or greater than the threshold among the individual data in the test data is the first label Determined, characterized in that the labels for the individual data below score threshold and a determining test data label determining unit that the second label.
また、本発明の普及予測方法は、顧客が商品またはサービスを利用し始めている場合には前記商品またはサービスの利用開始時期を表し、前記商品またはサービスを未利用の場合には未利用である旨を表す利用開始情報と、前記利用開始情報以外の顧客の属性を表す一つ以上の項目とを含む顧客毎の個別データの集合である顧客データを記憶する顧客データベースを用いて、判定対象時刻を定める現時刻で商品またはサービスの利用を開始していない顧客の個別データを含むデータであるテストデータを生成し、前記現時刻で前記商品またはサービスの利用を開始している顧客の個別データに第1ラベルをラベル付け、前記商品またはサービスの利用を開始していない顧客の個別データに第2ラベルをラベル付け、第1ラベルをラベル付けた個別データ数を、ある期間の中で商品またはサービスの顧客が他の者にその商品またはサービスの利用を喚起させる度合いである影響度に応じて変動させたデータである学習データを生成し、前記顧客の属性を表す項目から当該顧客の個別データに第1ラベルと第2ラベルのいずれをラベル付けるかを判定するルールである分類器を、前記学習データに基づいて生成し、前記分類器と前記テストデータ内の各個別データの項目とから、前記テストデータ内の各個別データに対するラベルを判定することを特徴とする。 Further, the spread prediction method of the present invention indicates that the use start time of the product or service is indicated when a customer starts using the product or service, and is not used when the product or service is not used. And using a customer database that stores customer data that is a set of individual data for each customer including use start information that represents and one or more items that represent customer attributes other than the use start information. Test data that includes individual data of customers who have not started using the product or service at the specified current time is generated, and the individual data of customers who have started using the product or service at the current time Label one label, label the second label on individual data of customers who have not started using the goods or services, and label the first label Generating learning data that is data obtained by changing the number of different data according to the degree of influence that is a degree that a customer of a product or service urges others to use the product or service within a certain period, Based on the learning data, a classifier that is a rule for determining which one of the first label and the second label is to be labeled on the individual data of the customer from the item representing the attribute of the customer, the classifier and the A label for each individual data in the test data is determined from an item of each individual data in the test data.
また、本発明の普及予測方法は、顧客が商品またはサービスを利用し始めている場合には商品またはサービスの利用開始時期を表し、商品またはサービスを未利用の場合には未利用である旨を表す利用開始情報と、利用開始情報以外の顧客の属性を表す一つ以上の項目とを含む顧客毎の個別データの集合である顧客データを記憶する顧客データベースを用いて、判定対象時刻を定める現時刻で商品またはサービスの利用を開始していない顧客の個別データを含むデータであるテストデータを生成し、現時刻で商品またはサービスの利用を開始している顧客の個別データに第1ラベルをラベル付け、商品またはサービスの利用を開始していない顧客の個別データに第2ラベルをラベル付けたラベル付けデータを生成し、ラベル付けデータ中の第1ラベルでラベル付けられた個別データ数の割合を商品またはサービスの普及率として計算し、顧客の属性を表す項目から顧客の個別データに第1ラベルがラベル付けられる確からしさのスコアを定めるルールである分類器を、ラベル付けデータに基づいて生成し、普及率に対するスコアの閾値の関数である閾値関数に計算した普及率を代入して閾値を算出し、分類器とテストデータ内の各個別データの項目とから、テストデータ内の各個別データに第1ラベルがラベル付けられる確からしさのスコアを定め、テストデータ内の個別データのうちスコアが閾値以上である個別データに対するラベルが第1ラベルであると判定し、スコアが閾値未満の個別データに対するラベルが第2ラベルであると判定することを特徴とする。 Further, the spread prediction method of the present invention indicates that the customer or service starts when the customer starts using the product or service, and indicates that the product or service is unused when the product or service is not used. Current time for determining the determination target time using a customer database that stores customer data that is a collection of individual data for each customer including use start information and one or more items representing customer attributes other than use start information Generate test data that includes individual data of customers who have not started using products or services in, and label the first data to individual data of customers who have started using products or services at the current time , Generate the labeling data by labeling the second label on the individual data of customers who have not started using the goods or services. This is a rule that calculates the ratio of the number of individual data labeled with a label as the penetration rate of goods or services, and determines the probability score that the first label is labeled on the customer's individual data from the item representing the customer's attribute. A classifier is generated based on the labeling data, and the threshold value is calculated by substituting the penetration rate calculated in the threshold function, which is a function of the score threshold with respect to the penetration rate, for each individual data in the classifier and test data. The probability score that the first label is labeled to each individual data in the test data is determined from the item, and the label for the individual data in which the score is equal to or greater than the threshold among the individual data in the test data is the first label And determining that the label for the individual data having a score lower than the threshold is the second label.
また、本発明の普及予測プログラムは、顧客が商品またはサービスを利用し始めている場合には前記商品またはサービスの利用開始時期を表し、前記商品またはサービスを未利用の場合には未利用である旨を表す利用開始情報と、前記利用開始情報以外の顧客の属性を表す一つ以上の項目とを含む顧客毎の個別データの集合である顧客データを記憶する顧客データベースを備えるコンピュータに搭載される普及予測プログラムであって、前記コンピュータに、前記顧客データベースを用いて、判定対象時刻を定める現時刻で商品またはサービスの利用を開始していない顧客の個別データを含むデータであるテストデータを生成するテストデータ生成処理、前記現時刻で前記商品またはサービスの利用を開始している顧客の個別データに第1ラベルをラベル付け、前記商品またはサービスの利用を開始していない顧客の個別データに第2ラベルをラベル付け、第1ラベルをラベル付けた個別データ数を、ある期間の中で商品またはサービスの顧客が他の者にその商品またはサービスの利用を喚起させる度合いである影響度に応じて変動させたデータである学習データを生成する学習データ生成処理、前記顧客の属性を表す項目から当該顧客の個別データに第1ラベルと第2ラベルのいずれをラベル付けるかを判定するルールである分類器を、前記学習データに基づいて生成する分類器生成処理、および、前記分類器と前記テストデータ内の各個別データの項目とから、前記テストデータ内の各個別データに対するラベルを判定するテストデータラベル判定処理を実行させることを特徴とする。 Further, the spread prediction program of the present invention represents the use start time of the product or service when a customer starts using the product or service, and is unused when the product or service is not used. Popularization installed in a computer having a customer database that stores customer data that is a set of individual data for each customer including use start information that represents customer attributes and one or more items that represent customer attributes other than the use start information A test program for generating test data in the computer using the customer database, the test data being data including individual data of customers who have not started using goods or services at the current time for determining the determination target time Data generation processing, the first data is added to the individual data of customers who have started using the goods or services at the current time. The second label to the individual data of customers who have not started using the product or service, and the number of individual data labeled with the first label is the customer of the product or service within a certain period. Learning data generation processing for generating learning data, which is data that is varied according to the degree of influence that is the degree to which the other person is encouraged to use the product or service, and the individual of the customer from the item representing the attribute of the customer A classifier generating process for generating a classifier, which is a rule for determining whether the data is labeled with a first label or a second label, based on the learning data, and each of the classifier and the test data A test data label determination process for determining a label for each individual data in the test data from the individual data item is performed. To.
また、本発明の普及予測プログラムは、顧客が商品またはサービスを利用し始めている場合には前記商品またはサービスの利用開始時期を表し、前記商品またはサービスを未利用の場合には未利用である旨を表す利用開始情報と、前記利用開始情報以外の顧客の属性を表す一つ以上の項目とを含む顧客毎の個別データの集合である顧客データを記憶する顧客データベースを備えるコンピュータに搭載される普及予測プログラムであって、前記コンピュータに、前記顧客データベースを用いて、判定対象時刻を定める現時刻で商品またはサービスの利用を開始していない顧客の個別データを含むデータであるテストデータを生成するテストデータ生成処理、前記現時刻で前記商品またはサービスの利用を開始している顧客の個別データに第1ラベルをラベル付け、前記商品またはサービスの利用を開始していない顧客の個別データに第2ラベルをラベル付けたラベル付けデータを生成し、前記ラベル付けデータ中の第1ラベルでラベル付けられた個別データ数の割合を前記商品またはサービスの普及率として計算するラベル付けデータ生成処理、前記顧客の属性を表す項目から当該顧客の個別データに第1ラベルがラベル付けられる確からしさのスコアを定めるルールである分類器を、前記ラベル付けデータに基づいて生成する分類器生成処理、普及率に対するスコアの閾値の関数である閾値関数にラベル付けデータ生成処理で計算した普及率を代入して閾値を算出し、前記分類器と前記テストデータ内の各個別データの項目とから、前記テストデータ内の各個別データに第1ラベルがラベル付けられる確からしさのスコアを定め、前記テストデータ内の個別データのうちスコアが前記閾値以上である個別データに対するラベルが第1ラベルであると判定し、スコアが前記閾値未満の個別データに対するラベルが第2ラベルであると判定するテストデータラベル判定処理を実行させることを特徴とする。 Further, the spread prediction program of the present invention represents the use start time of the product or service when a customer starts using the product or service, and is unused when the product or service is not used. Popularization installed in a computer having a customer database that stores customer data that is a set of individual data for each customer including use start information that represents customer attributes and one or more items that represent customer attributes other than the use start information A test program for generating test data in the computer using the customer database, the test data being data including individual data of customers who have not started using goods or services at the current time for determining the determination target time Data generation processing, the first data is added to the individual data of customers who have started using the goods or services at the current time. Labeling data, generating labeling data in which the second label is labeled on individual data of customers who have not started using the goods or services, and are labeled with the first label in the labeling data A labeling data generation process for calculating a ratio of the number of data as the diffusion rate of the product or service, and a rule for determining a probability score that the first label is labeled on the individual data of the customer from the item representing the attribute of the customer A classifier is generated based on the labeling data, and a threshold is calculated by substituting the penetration rate calculated in the labeling data generation processing into a threshold function that is a function of the threshold value of the score with respect to the penetration rate. A first label for each individual data in the test data from the classifier and each individual data item in the test data. A probability score to be labeled is determined, and among the individual data in the test data, it is determined that the label for the individual data whose score is equal to or greater than the threshold is the first label, and the label for the individual data whose score is less than the threshold A test data label determination process for determining that is a second label is executed.
また、本発明の影響度推定方法は、ある期間の中で商品またはサービスの顧客が他の者にその商品またはサービスの利用を喚起させる度合いである影響度の推定対象時刻として用いられる現時刻と、前記現時刻の一定時間前を指定するための時刻間隔と、影響度の候補である複数の仮影響度とが入力され、前記現時刻から前記時刻間隔前の時刻である前時刻を計算し、顧客が商品またはサービスを利用し始めている場合には前記商品またはサービスの利用開始時期を表し、前記商品またはサービスを未利用の場合には未利用である旨を表す利用開始情報と、前記利用開始情報以外の顧客の属性を表す一つ以上の項目とを含む顧客毎の個別データの集合である顧客データを記憶する顧客データベースを用いて、前記現時刻で前記商品またはサービスの利用を開始している顧客の個別データに第1ラベルをラベル付け、前記商品またはサービスの利用を開始していない顧客の個別データに第2ラベルをラベル付けた現時刻データを生成し、個々の仮影響度毎に、前時刻で前記商品またはサービスの利用を開始している顧客の個別データに第1ラベルをラベル付け、前記商品またはサービスの利用を開始していない顧客の個別データに第2ラベルをラベル付け、第1ラベルをラベル付けた個別データ数を前記仮影響度に応じて変動させたデータである前時刻データを生成し、個々の前時刻データ毎に、前記顧客の属性を表す項目から当該顧客の個別データに第1ラベルと第2ラベルのいずれをラベル付けるかを判定するルールである分類器を前記前時刻に基づいて生成し、前時刻データ毎に生成された個々の分類器毎に、当該分類器と前記現時刻データ内の各個別データの項目とから前記現時刻データ内の個別データにラベル付けられるラベルを予測し、予測結果と前記現時刻データとの誤差を算出し、個々の分類器毎に算出された誤差のうち、最小の誤差を特定し、最小の誤差に対応する仮影響度が1つである場合には、当該仮影響度を影響度として定め、最小の誤差に対応する仮影響度が複数個存在する場合には、前記複数の仮影響度に基づいて影響度を定めることを特徴とする。 Further, the influence degree estimation method of the present invention includes a current time used as an influence degree estimation target time, which is a degree that a customer of a product or service urges others to use the product or service in a certain period. A time interval for designating a predetermined time before the current time and a plurality of temporary influence levels that are candidates for the influence level are input, and a previous time that is a time before the time interval is calculated from the current time. When the customer starts to use the product or service, the use start information represents the use start time of the product or service, and when the product or service is not used, the use start information indicating that the product or service is not used, and the use Using a customer database storing customer data that is a set of individual data for each customer including one or more items representing customer attributes other than start information, the product or service at the current time is stored. Generating the current time data by labeling the first label on the individual data of the customer who has started using the service, and labeling the second label on the individual data of the customer who has not started using the product or service, For each temporary influence degree, the first label is labeled on the individual data of the customer who has started using the product or service at the previous time, and the individual data of the customer who has not started using the product or service The second label is labeled, the previous time data that is the data in which the number of individual data labeled with the first label is changed according to the temporary influence degree is generated, and the attribute of the customer is generated for each previous time data. Based on the previous time, a classifier that is a rule for determining which of the first label and the second label to label the individual data of the customer from the item representing the For each generated classifier, a label to be labeled on the individual data in the current time data is predicted from the classifier and the individual data items in the current time data, and the prediction result and the current time When the error with the data is calculated, the smallest error among the errors calculated for each classifier is specified, and there is one provisional influence corresponding to the smallest error, the provisional influence degree Is determined as an influence degree, and when there are a plurality of temporary influence degrees corresponding to the minimum error, the influence degree is determined based on the plurality of temporary influence degrees.
また、本発明の影響度推定プログラムは、顧客が商品またはサービスを利用し始めている場合には前記商品またはサービスの利用開始時期を表し、前記商品またはサービスを未利用の場合には未利用である旨を表す利用開始情報と、前記利用開始情報以外の顧客の属性を表す一つ以上の項目とを含む顧客毎の個別データの集合である顧客データ記憶する顧客データベースを備えるコンピュータに搭載される影響度推定プログラムであって、影響度推定対象時刻として用いられる現時刻と、前記現時刻の一定時間前を指定するための時刻間隔と、影響度の候補である複数の仮影響度とが入力され、前記現時刻から前記時刻間隔前の時刻である前時刻を計算し、前記顧客データベースを用いて、前記現時刻で前記商品またはサービスの利用を開始している顧客の個別データに第1ラベルをラベル付け、前記商品またはサービスの利用を開始していない顧客の個別データに第2ラベルをラベル付けた現時刻データを生成する現時刻データ生成処理、個々の仮影響度毎に、前時刻で前記商品またはサービスの利用を開始している顧客の個別データに第1ラベルをラベル付け、前記商品またはサービスの利用を開始していない顧客の個別データに第2ラベルをラベル付け、第1ラベルをラベル付けた個別データ数を前記仮影響度に応じて変動させたデータである前時刻データを生成する前時刻データ群生成処理、個々の前時刻データ毎に、前記顧客の属性を表す項目から当該顧客の個別データに第1ラベルと第2ラベルのいずれをラベル付けるかを判定するルールである分類器を前記前時刻に基づいて生成する前時刻分類器群生成処理、前時刻データ毎に生成された個々の分類器毎に、当該分類器と前記現時刻データ内の各個別データの項目とから前記現時刻データ内の個別データにラベル付けられるラベルを予測し、予測結果と前記現時刻データとの誤差を算出する誤差群算出処理、および、個々の分類器毎に算出された誤差のうち、最小の誤差を特定し、最小の誤差に対応する仮影響度が1つである場合には、当該仮影響度を影響度として定め、最小の誤差に対応する仮影響度が複数個存在する場合には、前記複数の仮影響度に基づいて影響度を定める影響度算出処理を実行させることを特徴とする。 The influence estimation program of the present invention represents the use start time of the product or service when the customer starts using the product or service, and is not used when the product or service is not used. Impact of mounting on a computer having a customer database that stores customer data that is a set of individual data for each customer, including usage start information representing the effect and one or more items representing customer attributes other than the usage start information Is a degree estimation program, in which a current time used as an influence degree estimation target time, a time interval for designating a predetermined time before the current time, and a plurality of temporary influence degrees as influence degree candidates are input. , Calculate the previous time that is the time before the time interval from the current time, and start using the goods or services at the current time using the customer database Current time data generation processing for generating current time data by labeling individual data of a customer who has a first label and labeling a second label to individual data of a customer who has not started using the product or service, For each temporary impact level, the first label is labeled on the individual data of the customer who has started using the product or service at the previous time, and the individual data of the customer who has not started using the product or service is The previous time data group generation processing for generating the previous time data which is the data obtained by changing the number of individual data labeled with two labels and the first label according to the temporary influence degree, for each previous time data , A classifier that is a rule for determining which of the customer's individual data is labeled with the first label or the second label from the item representing the customer's attribute at the previous time For each individual classifier generated for each previous time data, for each classifier generated for each previous time data, from the classifier and each individual data item in the current time data, An error group calculation process for calculating an error between a prediction result and the current time data is predicted, and a minimum error is specified among errors calculated for each classifier. When there is one temporary influence degree corresponding to the minimum error, the temporary influence degree is determined as the influence degree. When there are a plurality of temporary influence degrees corresponding to the minimum error, the plurality of temporary influence degrees are determined. An influence degree calculation process for determining the influence degree based on the temporary influence degree is executed.
本発明によれば、顧客が商品やサービスを利用し始める時期を顧客毎に予測することができる。また、本発明によれば、時期に応じて商品やサービスの影響度を推定することができる。 ADVANTAGE OF THE INVENTION According to this invention, the time when a customer starts using goods and service can be estimated for every customer. Moreover, according to this invention, the influence degree of goods or a service can be estimated according to time.
以下、本発明の実施形態を図面を参照して説明する。 Hereinafter, embodiments of the present invention will be described with reference to the drawings.
なお、有料で商品やサービスを利用する者だけでなく、無料で商品やサービスを利用する者も顧客と呼ぶ。 Not only those who use products and services for a fee, but also those who use products and services for free are called customers.
また、以下に説明する影響度推定システムおよび普及予測システムは、一つの商品またはサービスに関して影響度推定や普及予測を行う。 In addition, the influence degree estimation system and the spread prediction system described below perform influence degree estimation and spread prediction for one product or service.
実施形態1.
図1は、本発明の影響度推定システムの例を示すブロック図である。本発明の影響度推定システムは、影響度(ある期間の中で商品またはサービスの顧客が他の者にその商品またはサービスの利用を喚起させる度合い)を推定する影響度推定装置3と、顧客データベース(以下、顧客DBと記す)2とを備える。製品などの完成品だけでなく、製品の機能を維持するための最小単位も商品の概念に含まれる。
FIG. 1 is a block diagram showing an example of an influence estimation system of the present invention. The influence degree estimation system of the present invention includes an influence
顧客DB2は、顧客データを記憶する記憶手段であり、顧客データ記憶手段と呼ぶことができる。顧客データは、個々の顧客毎に定められたデータの集合であり、以下、個々の顧客毎のデータを個別データと呼ぶ。顧客DB2において、各顧客毎の個別データは、利用開始情報と、利用開始情報以外の顧客の属性を表す一つ以上の項目とを含む。利用開始情報とは、顧客が商品またはサービスを利用し始めている場合には、その商品またはサービスを利用し始めた時期を表し、顧客が商品またはサービスを未利用である(すなわち、まだ利用開始していない)場合には未利用である旨を表す情報である。利用開始情報以外の顧客の属性を表す項目として、例えば、性別、年齢、住所の地域区分、勤務地の地域区分、他の商品の利用履歴、様々な嗜好性などの特徴を用いることができるが、これらに限定されるわけではない。個々の個別情報は、これらの項目を一つ以上含む。顧客の属性を表す項目は、例えば、店頭での店員による入力、商品を利用開始時点での登録、顧客会員カード、アンケートなど、様々な方法で収集することができる。
The
影響度推定装置3は、現時刻データ生成部31と、前時刻データ群生成部32と、前時刻分類器群生成部33と、誤差群算出部34と、影響度算出部35とを備える。
The influence
現時刻データ群生成部31は、現時刻と、その現時刻の一定時間前を指定するための時刻間隔と、複数の仮影響度とが入力される。後述するように、キーボード等の入力装置を介して、現時刻データ群生成部31に、現時刻、時刻間隔、および複数の仮影響度が入力されてもよい。本実施形態における現時刻とは、影響度の推定対象時刻(影響度推定対象時刻)として用いられる時刻であり、時刻間隔は、影響度を推定しようとする期間である。そして、本実施形態では、過去のある時点を影響度推定対象時刻として、その時点から時刻間隔分遡った時刻からその影響度推定対象時刻までの期間における影響度を推定する。従って、過去のある時点での時刻が現時刻として入力される。現時刻から時刻間隔前の時刻(現時刻から時刻間隔分遡った時刻)を、前時刻と記す。現時刻データ群生成部31は、現時刻から時刻間隔を減算して前時刻を計算する。
The current time data
また、入力される仮影響度は、求めようとしている影響度の候補であり、影響度推定装置3は、複数の仮影響度から影響度を求める。仮影響度として現時刻データ群生成部31に入力される数値は、0以上の数値である。例えば、影響度推定システムのユーザが、0以上から50程度までの値の中から影響度の候補を複数選択し、仮影響度として入力する。候補として仮影響度を多く入力すれば、影響度の推定精度が高くなる。
The input temporary influence degree is a candidate of the influence degree to be obtained, and the influence
また、現時刻データ群生成部31は、現時刻と顧客DB2とに基づいて、1つの現時刻データを生成する。現時刻データは、現時刻で商品またはサービスの利用を開始している顧客の個別データに第1ラベルをラベル付け、現時刻で商品またはサービスの利用を開始していない顧客の個別データに第2ラベルをラベル付けたデータである。第1ラベルは、商品またはサービスの利用を開始している状態を示す情報であり、第2ラベルは、商品またはサービスの利用を開始していない状態を示す情報である。以下、第1ラベルを正(または+)と記し、第2ラベルを負(または−)と記す。現時刻データ群生成部31は、顧客DB2を用いて(すなわち、顧客データDB2に記憶された顧客データに基づいて)、現時刻データを生成する。
The current time data
前時刻データ群生成部32は、前時刻と複数の仮影響度と顧客DB2に記憶されている顧客データとに基づいて、複数の前時刻データを生成する。前時刻データは、前時刻で商品またはサービスの利用を開始している顧客の個別データに第1ラベル(正)をラベル付け、前時刻で商品またはサービスの利用を開始していない顧客の個別データに第2ラベル(負)をラベル付け、仮影響度に応じて重み付けを行ったデータである。重み付けとは、第2ラベルをラベル付けた個別データ数に対して、第1ラベルをラベル付けた個別データ数を相対的に変動させることである。前時刻データ群生成部32は、仮影響度毎に前時刻データを生成する。仮影響度は複数あるので、複数の前時刻データを生成することになる。
The previous time data
前時刻分類器群生成部33は、前時刻データ群生成部32によって生成された各前時刻データ毎に1つずつ分類器を生成する。従って、前時刻分類器群生成部33は、複数の分類器を生成することになる。分類器は、顧客の属性を表す項目からその顧客の個別データに正(第1ラベル)と負(第2ラベル)のいずれをラベル付けるかを判定するルールである。換言すれば、顧客の属性を表す項目を独立変数として、従属変数のとり得る値を正または負とし、その独立変数から従属変数を定めるルールである。
The previous time classifier
誤差群算出部34は、前時刻分類器群生成部33で生成された各分類器を用いて、現時刻データのラベルを予測する。すなわち、誤差群算出部34は、分類器と、現時刻データ内の各個別データの項目(顧客の属性を示す項目)と照合し、現時刻データ内の各個別データ毎に、その個別データにラベル付けられるラベルを予測する。また、その現時刻データ内の各個別データには既に実際にラベル付けが行われている。誤差群算出部34は、分類器と項目とから予測したラベルと、実際に現時刻データでラベル付けられているラベルとの誤差を算出する。誤差群算出部34は、この処理を分類器毎に行う。したがって、誤差群算出部34は複数の誤差を算出する。
The error
影響度算出部35は、個々の分類器毎に算出された誤差のうちの最小の誤差を特定し、最小の誤差に対応する仮影響度を影響度として定める。具体的には、最小の誤差に対応する仮影響度の数が一つである場合、影響度算出部35は、その仮影響度を影響度として定める。また、最小の誤差に対応する仮影響度が複数個存在する場合には、その複数の仮影響度に基づいて影響度を定める。例えば、最小の誤差に対応する仮影響度が複数個存在する場合、その複数の仮影響度の平均値を計算し、その平均値を影響度として定める。以下、最小の誤差に対応する仮影響度が複数個存在する場合、その仮影響度の平均値を影響度と定める場合を例にして説明する。
The influence
影響度推定装置3が備える現時刻データ生成部31、前時刻データ群生成部32、前時刻分類器群生成部33、誤差群算出部34、および影響度算出部35は、例えば、影響度推定プログラムに従って動作するCPUによって実現される。すなわち、影響度推定システムに設けられた記憶装置から影響度推定プログラムを読み込んだCPUが現時刻データ生成部31、前時刻データ群生成部32、前時刻分類器群生成部33、誤差群算出部34、および影響度算出部35として動作してもよい。
The current time
なお、キーボード等の入力装置を介して、現時刻データ群生成部31に現時刻、時刻間隔、および複数の仮影響度が入力されてもよい。また、影響度算出部35が求めた影響度を出力するための出力装置が設けられていてもよい。図2は、入力装置および出力装置を備えた影響度推定システムの例を示すブロック図である。図1に示す構成要素と同様の構成要素については、図1と同一の符号を付して説明を省略する。
Note that the current time, the time interval, and a plurality of temporary influence levels may be input to the current time data
入力装置1は、例えばキーボードなどの入力装置である。このような入力装置1を介して現時刻、時刻間隔、および複数の仮影響度が入力されてもよい。ただし、他の態様で現時刻、時刻間隔、および複数の仮影響度が現時刻データ群生成部31に入力されてもよい。
The
また、出力装置4は、例えばディスプレイ装置などの出力装置である。影響度算出部35は、求めた影響度を出力装置4に出力してもよい。例えば、出力装置4がディスプレイ装置である場合、出力装置4に影響度を表示させてもよい。また、出力装置4が印刷装置であってもよい。
The
次に、動作について説明する。
図3は、本発明の影響度推定システムの処理経過の例を示すフローチャートである。例えば入力装置1(図2参照)を介して、現時刻データ生成部31に現時刻、時刻間隔、および複数の仮影響度が入力されると、影響度推定システムは以下のように動作する。
Next, the operation will be described.
FIG. 3 is a flowchart showing an example of processing progress of the influence degree estimation system of the present invention. For example, when the current time, time interval, and a plurality of temporary influence levels are input to the current time
まず、現時刻データ生成部31は、前時刻を計算し、現時刻データを作成する(ステップA1)。さらに、ステップA1において、現時刻データ生成部31は、誤差群算出部34が計算する誤差のうちの最小値を示す変数(ErrorMinとする。)の初期値を設定し、変数i,pに対して、i=1,p=0という初期値を設定する。ErrorMinの初期値は、誤差群算出部34が計算する誤差のとり得る値の最大値、あるいは、その誤差のとり得る値に比べて十分に大きな値であればよい。変数iは、入力された複数の仮影響度を順番に指定するための変数である。例えば、i=1であれば、1番目の仮影響度を指定していることを意味する。また、pは、最小の誤差に対応する仮影響度を指定するための変数である。例えば、最小の誤差に対応する仮影響度がp個あったとすると、その最小誤差に対応する仮影響度の1番目からp番目までをそれぞれ、Imp[1],・・・,Imp[p]とする。
First, the current time
ステップA1において、現時刻データ生成部31は、前時刻を、現時刻−時刻間隔と設定する。すなわち、現時刻から時刻間隔を減算した時刻を前時刻とする。
In step A1, the current time
また、ステップA1において、現時刻データ生成部31は、顧客DB2に記憶された顧客データを読み込む。そして、現時刻で商品またはサービスの利用を開始している顧客の個別データ(利用開始情報が現時刻以前の時刻を表している個別データ)に正をラベル付け、現時刻で商品またはサービスの利用を開始していない顧客の個別データに負をラベル付けることによって、現時刻データを生成する。
In step A1, the current time
このとき、現時刻データ生成部31は、顧客DB2に記憶されている顧客データに属する個別データのうち、前時刻で商品またはサービスの利用を開始していた顧客の個別データを除外した個別データの集合から現時刻データを生成してもよい。すなわち、利用開始情報が前時刻以前の時刻となっている個別データを除外し、残りの個別データに対して正または負のラベル付けを行ってもよい。以下、このように、利用開始情報が前時刻以前の時刻となっている個別データが現時刻データに含まれないように除外する場合を例にして説明するが、現時刻データ生成部31は、顧客データに属する各個別データに対して正または負のラベル付けを行ってもよい。
At this time, the current time
顧客データから現時刻データを生成する動作を具体的に示す。図4は、顧客DB2される顧客データの例を示す説明図である。図4に示す各行はそれぞれ一人の顧客の個別データとなっていて、その個別データの集合が顧客データである。図4示す例では、個々の個別データの識別情報(ID)が付与されている場合を示している。図4では、顧客が商品またはサービスの利用を開始した月を利用開始時期としている場合を例示しているが、利用開始時期を日単位や時間単位などで表してもよい。また、利用開始情報が“?”で表されている場合、その“?”は、「未利用(すなわち、利用開始していない状態)」を意味しているが、他の記号で「未利用」を表してもよい。また、図4では、それぞれの個別データが、利用開始情報以外の顧客の属性を表すN個の項目を含んでいる場合を例示している。本例では、項目1が性別である。各項目に関し、不明である場合は欠損値を示す記号で表せばよい。本例では、欠損値を表す記号として“?”を用いている。
The operation | movement which produces | generates present time data from customer data is shown concretely. FIG. 4 is an explanatory diagram illustrating an example of customer data stored in the
現時刻が2007年4月であり、計算した前時刻が2007年2月であるとする。現時刻データ生成部31は、各項目の項目値はそのままとして、利用開始情報を無くし、代わりに利用を開始しているか否かを示すクラスを作成し、個別データに正または負をラベル付ける。なお、後の分類器を作成するステップで必要となるならば、男性/女性を0,1等の数値に変換してもよい。また、現時刻データ生成部31は、図4に示す顧客データ内の個別データのうち、利用開始情報が前時刻(2007年2月)以前の時刻となっている個別データ(ID=1の個別データ)を除外し、他の個別データに対して、現時刻(2007年4月)で商品またはサービスを利用開始しているならば正をラベル付け、そうでなければ負をラベル付ける。例えば、ID=2の個別データでは、2007年3月から利用開始となっているので、正とする。また、ID=3の個別データでは、2007年5月から利用開始となっていて、2007年4月では商品またはサービスの利用を開始していないので、負とする。また、利用開始情報が“?(未利用)”となっている個別データについても負とする。図5は、このようにして図2に示す顧客データから生成された現時刻データの例を示す説明図である。前時刻以前の2007年1月から利用を開始していた顧客の顧客データ(ID=1)は、現時刻データでは除かれ、2007年4月以前に利用開始した顧客の顧客データ(ID=2)は正(+)とラベル付けられ、他の顧客データは負(−)とラベル付けられている。なお、図5では、分かりやすさのためにIDを残した現時刻データを示しているが、分類に無関係な項目は予め削除してもよい。
It is assumed that the current time is April 2007 and the calculated previous time is February 2007. The current time
ステップA1の後、前時刻データ群生成部32は、i番目の仮影響度(以下、False[i]と記す。)を用いて、仮影響度False[i]に対応する前時刻データを生成する(ステップA2)。前時刻データ群生成部32は、顧客DB2に記憶された顧客データを読み込み、前時刻以前で商品またはサービスの利用を開始している顧客の個別データに正をラベル付け、前時刻で商品またはサービスの利用を開始していない顧客の個別データに負をラベル付ける。すなわち、利用開始情報(図4参照)が前時刻以前の時刻となっている個別データに正をラベル付け、利用開始情報が前時刻以前の時刻でない個別データに負をラベル付ける。この時点では、また仮影響度[i]に応じた重み付けは行っていない。図6は、前時刻データ生成過程において重み付けが行われる前のデータの例を示す説明図である。ID=1の個別データでは2007年1月から利用開始となっていて、前時刻(2007年2月)では利用が開始されているので、正(+)をラベル付けている。また、ID=2以降の個別データでは、利用開始の時期が前時刻(2007年2月)よりも後であり、前時刻では利用開始されていなかったので、ID=2以降の個別データにはいずれも負(−)をラベル付ける(図4、図6参照)。なお、前時刻データを生成する際には、個別データを除外しない。
After step A1, the previous time data
そして、前時刻データ群生成部32は、仮影響度False[i]に応じた重み付けを行う。すなわち、仮影響度False[i]に応じて、正とした個別データの数を、負とした個別データの数に対して相対的に変動させる。本例では、仮影響度False[i]の関数の関数値を計算し、正をラベル付けた個別データをその関数値倍に増加させる場合を例にする。
Then, the previous time data
仮影響度False[i]の関数として、例えば、前時刻で商品またはサービスの利用を開始している顧客数と前時刻で未だその商品またはサービスの利用を開始していない顧客数との比率を仮影響度の係数とする関数を用いてもよい。すなわち、以下に例示する関数を用いてもよい。 As a function of the provisional influence level False [i], for example, the ratio of the number of customers who have started using the product or service at the previous time and the number of customers who have not started using the product or service at the previous time You may use the function used as a coefficient of a temporary influence degree. That is, the functions exemplified below may be used.
False[i]×(前時刻の未利用者数)/(前時刻の利用者数) False [i] x (number of unused users at the previous time) / (number of users at the previous time)
上記の関数において、「前時刻の未利用者数」は、前時刻で未だ商品またはサービスの利用を開始していない顧客の数である。すなわち、顧客データにおいて、利用開始情報が前時刻以前ではない個別データの数である。また、「前時刻の利用者数」は、前時刻で商品またはサービスの利用を開始している顧客の数である。すなわち、顧客データにおいて、利用開始情報が前時刻以前となっている個別データの数である。このように、「前時刻の未利用者数」を「前時刻の利用者数」で除算して得た比率をFalse[i]の係数とする関数を用いてもよい。 In the above function, the “number of unused users at the previous time” is the number of customers who have not yet started using the product or service at the previous time. That is, in the customer data, the number of individual data whose usage start information is not before the previous time. Further, the “number of users at the previous time” is the number of customers who have started using the product or service at the previous time. That is, in the customer data, the number of individual data whose use start information is before the previous time. In this way, a function may be used in which the ratio obtained by dividing the “number of unused users at the previous time” by the “number of users at the previous time” is the coefficient of False [i].
また、仮影響度False[i]の関数として、例えば、前時刻で商品またはサービスの利用を開始している顧客数と全顧客数との比率を仮影響度の係数とする関数を用いてもよい。すなわち、以下に例示する関数を用いてもよい。 Further, as a function of the temporary influence degree False [i], for example, a function using a ratio between the number of customers who have started using the product or service at the previous time and the total number of customers as a coefficient of the temporary influence degree may be used. Good. That is, the functions exemplified below may be used.
False[i]×(顧客人数)/(前時刻の利用者数) False [i] x (number of customers) / (number of users at the previous time)
上記の関数において、「顧客人数」は、全顧客数(顧客データ内の全個別データ数)であり、前時刻で利用を開始している顧客の数と、前時刻で未だ利用を開始していない顧客の数の和である。「前時刻の利用者数」は、上述の関数の場合と同様である。このように、「顧客人数」を「前時刻の利用者数」で除算して得た比率をFalse[i]の係数とする関数を用いてもよい。 In the above function, the “number of customers” is the total number of customers (the total number of individual data in the customer data). The number of customers who have started using the previous time and the number of customers who have already started using the previous time. There is no sum of the number of customers. The “number of users at the previous time” is the same as in the case of the above function. In this way, a function may be used in which a ratio obtained by dividing “number of customers” by “number of users at the previous time” is a coefficient of False [i].
前時刻データ群生成部32は、このような関数の関数値倍に、正をラベル付けた個別データを増加させる。例えば、仮影響度がFalse[i]のときの関数値が5であるとする。この場合、正をラベル付けた個別データの数が5倍になるように、正をラベル付けた個別データの複製を生成すればよい。この結果得られるデータが前時刻データである。図7は、重み付けを行って得た前時刻データの例を示す説明図である。図6に示す例では、ID=1の個別データが正となっていて、他の個別データが負となっている。従って、前時刻データ群生成部32は、ID=1の個別データと同内容のデータを5つ生成する。ただし、IDはそれぞれ1’,1’’等として、区別している。
The previous time data
なお、正とラベル付けた個別データのコピーだけを生成する場合には、正とラベル付けた個別データに対する重み付けを行ってから、他の個別データに対して負のラベル付けを行ってもよい。 If only a copy of the individual data labeled positive is generated, the individual data labeled positive may be weighted, and then the other individual data may be negatively labeled.
また、例示した2つの関数における仮影響度の係数の値は、いずれも時間が経過して利用者数が増えるに従って減少する。仮影響度の係数は、このような係数に限定されない。また、仮影響度False[i]の値をそのまま関数値として用いてもよい。この場合係数を1としていることになる。 In addition, the value of the coefficient of the temporary influence degree in the two exemplified functions decreases as time passes and the number of users increases. The coefficient of the temporary influence degree is not limited to such a coefficient. Further, the value of the temporary influence degree False [i] may be used as a function value as it is. In this case, the coefficient is 1.
また、上記の例では、正とラベル付けた個別データを関数値倍に増加させる場合を示しているが、重み付けでは、正とラベル付けた個別データ数を、負とラベル付けた個別データ数に対して相対的に変化させればよい。例えば、重み(関数値)が5で、正とラベル付けた個別データ数を10倍とするならば、負とラベル付けた個別データ数(未利用者数)を2倍にすればよい。また、重みが0.5で、正とラベル付けた個別データ数を1倍とするならば、負とラベル付けた個別データ数を2倍にすればよい。なお、ここでは、個別データ数を10倍とする等の例を挙げたが、このように、個別データ数をk倍にする等の条件を定める場合、そのk等は予め外部から入力しておけばよい。 In the above example, the case where the individual data labeled positive is increased by a multiple of the function value, but in weighting, the number of individual data labeled positive is changed to the number of individual data labeled negative. What is necessary is just to change relatively with respect to it. For example, if the weight (function value) is 5 and the number of individual data labeled as positive is 10 times, the number of individual data labeled as negative (the number of unused users) may be doubled. Further, if the weight is 0.5 and the number of individual data labeled positive is to be doubled, the number of individual data labeled negative is to be doubled. Here, an example is given in which the number of individual data is increased by 10 times. However, when conditions such as increasing the number of individual data by k times are determined in this way, the k is input from the outside in advance. Just keep it.
また、ここでは、実際に個別データの複製を作成することで個別データを増加させていたが、次のステップで分類器を作成する際に、仮影響度False[i]の関数値を重み付けパラメタとして用いてもよい。すなわち、正とラベル付けた個別データを何倍に増やすかということを決めておき、その結果をパラメータとして分類器を生成してもよい。 Here, the individual data is actually increased by creating a copy of the individual data. However, when the classifier is created in the next step, the function value of the temporary influence level False [i] is used as the weighting parameter. It may be used as That is, it is possible to determine how many times the individual data labeled as positive is increased, and generate a classifier using the result as a parameter.
ステップA2で前時刻データ群生成部32がFalse[i]に応じた前時刻データを生成した後、前時刻分類器群生成部33は、その前時刻データを用いて、その前時刻データに対応する分類器(前時刻分類器iと記す。)を生成する(ステップA3)。IDは分類器作成に不要であり、前時刻分類器群生成部33は、IDを削除してよい。前時刻分類器群生成部33は、データマイニングの様々な手法により分類器を生成すればよい。例えば、重回帰分析、決定木、ニューラルネットワーク、サポートベクタマシン、ベイジアンネットワークなどの手法のいずれかあるいはその組合せなどにより分類器を生成すればよい。
After the previous time data
以下、分類器として決定木を用いる場合を例にして、分類器の具体例を説明する。本例では、「ゴルフをするか否か」を従属変数とし、「天気」、「天候」、「湿度」、「風が強いか否か」を独立変数とする場合を例にして説明する。図8は、既知の独立変数および従属変数の組み合わせの例を示す説明図である。図9は、分類器の例を示し、ここでは、決定木を分類器としている。図10は、分類器から予測される従属変数の例を示す説明図である。図8に示すように、既知の独立変数および従属変数の組み合わせがあれば、その既知の独立変数および従属変数から決定木を生成することができる。そして、その決定木と既知の独立変数から従属変数を予測することができる。例えば、図9に示す決定木が得られていれば、図10に例示する独立変数から、図10に例示する従属変数を予測することができる。項目の項目値に応じて枝分かれさせることを分割という。 Hereinafter, a specific example of the classifier will be described by taking a case where a decision tree is used as the classifier as an example. In this example, “whether or not to play golf” is a dependent variable, and “weather”, “weather”, “humidity”, and “whether wind is strong” are independent variables. FIG. 8 is an explanatory diagram showing an example of a combination of known independent variables and dependent variables. FIG. 9 shows an example of a classifier, where a decision tree is used as a classifier. FIG. 10 is an explanatory diagram illustrating an example of a dependent variable predicted from a classifier. As shown in FIG. 8, if there is a combination of a known independent variable and dependent variable, a decision tree can be generated from the known independent variable and dependent variable. The dependent variable can be predicted from the decision tree and the known independent variable. For example, if the decision tree shown in FIG. 9 is obtained, the dependent variable exemplified in FIG. 10 can be predicted from the independent variable exemplified in FIG. Branching according to the item value of an item is called division.
図8に示す例では、各行が、「ゴルフをする/しない」とラベル付けられた個別データに相当する。以下、図8に示す各行を個別データとして説明する。また、「ゴルフをする」は、正(+)のラベルに相当し、「ゴルフをしない」は、負(−)のラベルに相当する。決定木では、従属変数のとり得るラベル毎(例えば、「する(正)」、「しない(負)」というラベル毎)に個別データ数をまとめた情報をノードとする。例えば、図8に示すルートのノードでは、「する:9,しない:5」という情報をノードとしている。 In the example shown in FIG. 8, each row corresponds to individual data labeled “go / do not play golf”. Hereinafter, each row shown in FIG. 8 will be described as individual data. Further, “go golf” corresponds to a positive (+) label, and “do not play golf” corresponds to a negative (−) label. In the decision tree, information that summarizes the number of individual data for each label that can be taken by the dependent variable (for example, for each label of “Yes (positive)” and “No (negative)”) is used as a node. For example, in the node of the route shown in FIG. 8, the information “Yes: 9, No: 5” is used as the node.
前時刻分類器群生成部33は、前時刻データが与えられると、どの項目で最初に分割させるかを決定する。このとき、前時刻分類器群生成部33は、項目1〜Nの各項目について、分割時の評価値を計算し、その評価値が最大の項目を、分割に最も適した項目として選択する。ここでは、分割前のノードのエントロピーと、分割後のエントロピーの差を評価値とする場合を例にするが、他の計算方法で評価値を求めてもよい。ノードのエントロピーは、ラベルが正(+)の個別データの割合をqとし、ラベルが負(−)の個別データの割合を1−qとすると、−qlogq−(1−q)log(1−q)で表される。分割後のノードのエントロピーは、分割後の各ノードのエントロピーの加重平均である。
When the previous time data is given, the previous time classifier
例えば、前時刻データにおいて、「正」が9データあり、「負」が5データあるとするとルートのノードは「正:9,負:5」となる。この場合、正(+)のデータが9データあり、負(−)のデータが5データあるので、ルートのノードのエントロピーは、−(9/14)×log(9/14)−(5/14)×(5/14)=0.940となる。 For example, in the previous time data, if “positive” has 9 data and “negative” has 5 data, the root node is “positive: 9, negative: 5”. In this case, since there are nine positive (+) data and five negative (-) data, the entropy of the root node is-(9/14) * log (9/14)-(5 / 14) × (5/14) = 0.940.
前時刻分類器群生成部33は、一つの項目でルートのノードを分割して得られるノードを求める。すなわち、その項目の項目値毎に、正および負の個別データ数を表す情報(ノード)を生成する。例えば、その項目1のとり得る値が「0」または「1」であり、項目1の値が「0」のときには、正が5データあり、負が2データあるとし、項目1の値が「1」のときには、正が0データあり、負が7データあるとする。この場合、項目1の値が「0」か「1」かで分岐するノードとして、「正:5,負:2」というノードと、「正:0,負:7」というノードとを生成する。前時刻分類器群生成部33は、分割後の各ノードのエントロピーを計算し、分割後の各ノードにおける正または負としてカウントされる個別データ数に応じて各ノードのエントロピーの加重平均を求める。上記の例では「正:5,負:2」というノードにおいても、「正:0,負:7」というノードにおいても個別データの総数は7であるので、加重平均を行う際の重み付け係数は各ノードでいずれも(7/14)となる。従って、本例の場合、前時刻分類器群生成部33は、分割後のエントロピーを以下のように計算する。
The previous time classifier
(7/14)×{−(5/7)×log(5/7)−(2/7)×log(2/7)}
+(7/14)×{−(0/7)×log(0/7)−(7/7)×log(7/7)}
=0.432
(7/14) × {− (5/7) × log (5/7) − (2/7) × log (2/7)}
+ (7/14) × {− (0/7) × log (0/7) − (7/7) × log (7/7)}
= 0.432
従って、本例の場合、前時刻分類器群生成部33は、項目1で分割した場合の評価値を、0.940−0.432=0.508と計算する。
Therefore, in the case of this example, the previous time classifier
前時刻分類器群生成部33は、項目1だけでなく、他の項目についても同様に、その項目で分割したときの評価値を計算し、評価値が最大となる項目で分割すると決定する。このようにして、ルートのノードを分割する項目を決定する。
The previous time classifier
なお、上記の項目1の例では、項目1のとり得る値が「0」または「1」の二つだけである場合を示した。項目値が年齢であり、その値が20,21,22のように連続する値の場合には、どこで項目値で分割させるのかも決める。この場合、前時刻分類器群生成部33は、各項目値間の中間値をしきい値とし、各しきい値毎に、その「しきい値以下」および「そのしきい値より大」とに分割させた場合の評価値を求める。そして、評価値が最大となる場合を選択することによって、どの項目値で分割させるのかも決定する。例えば、項目値が20,21,22,・・・と連続する場合では、「20.5以下」および「20.5より大」で分割した場合の評価値、「21.5以下」および「21.5より大」で分割した場合の評価値等をそれぞれ計算し、評価値が最も高くなるように分割すればよい。
In the
前時刻分類器群生成部33は、分割後の各ノードについても、上記と同様の処理を行い、次にどの項目で分割するのかを決定する処理を順次、繰り返す。また、前時刻分類器群生成部33は、所定の条件が満たされたときには、ノードの分割を停止する。所定の条件とは、例えば、「ノードにおける個別データのクラスが全て同じになる」という条件や、「ノードにおける正または負としてカウントされる個別データ数が所定数(例えば2)以下になる」という条件を用いてよい。前者の条件を採用すると、ノードにおける個別データが全て正または負になると、そのノードの分割を継続しない。このように、前時刻分類器群生成部33は、ルートのノードから順次、分割を繰り返し、木構造の決定木を生成する。
The previous time classifier
また、前時刻分類器群生成部33は、上記のように、木構造の決定木を生成した後、その決定木に対する枝刈りを行う。決定木において、分割されて生成された最終的なノードを葉と呼ぶ。ある葉に分類されたデータ数がNであるとする(すなわち、正または負としてカウントされる個別データ数がNであるとする)。この葉に分類されたNデータ中、Eデータが誤りであるとする。この仮定では、N回の試行中、誤りという事象をE回観測したとみなし、大きさNの標本で、誤りという事象が起きる確率がrである二項分布と考えることができる。予め与えられた信頼度CFに対して、rの上限をU_CF(E,N)と表すことにすると、Nデータでの誤りの発生する期待値は、N×U_CF(E,N)となる。前時刻分類器群生成部33は、子のノードが全て葉である親のノードに対し、親における誤りの期待値(誤りの発生する期待値)と、子である葉の誤りの期待値の合計とを比較する。そして、子での期待値の合計の方が親の誤りの期待値よりも大きければ、前時刻分類器群生成部33は、葉を縮退して、その親を葉とする。前時刻分類器群生成部33は、この処理を順次繰り返すことで、決定木全体の葉の枝刈りを行う。
Further, as described above, the previous time classifier
葉を縮退する場合、前時刻分類器群生成部33は、葉を削除して、その削除した葉の親のノードを葉とすればよい。例えば、図9に例示する決定木において、「湿度」という項目の値に応じて分割したノードを縮退する場合、前時刻分類器群生成部33は、湿度の項目値が70%以下となっている個別データ数を表すノード「する:2,しない:0」と、湿度の項目値が70%より高くなっている個別データ数を表すノード「する:0,しない:3」とを削除して、その2つののノードの親ノード「する:2,しない:3」を葉とすればよい。
When degenerating a leaf, the previous time classifier
分類器として決定木を生成する場合、例えば、上記のように、決定木を定めて枝刈りを行うことで、決定木を生成すればよい。 When generating a decision tree as a classifier, for example, a decision tree may be generated by determining and pruning a decision tree as described above.
ステップA3でFalse[i]に応じた前時刻データから分類器(前時刻分類器i)を生成すると、誤差群算出部34は、その前時刻分類器iを用いて、現時刻データのラベルを予測する(ステップA4)。すなわち、誤差群算出部34は、現時刻データ内の各個別データ毎に、その個別データにおける顧客の属性を示す項目と、前時刻分類器iとを照合し、その個別データにラベル付けられるラベルを予測する。
When the classifier (previous time classifier i) is generated from the previous time data corresponding to False [i] in step A3, the error
例えば、分類器が決定木である場合、誤差群算出部34は、そのルートのノードの項目に関して現時刻データ内の個別データの項目値を参照し、その項目値に応じて子ノードを辿る。誤差群算出部34は、葉のノードまで辿ったならば、葉のノードでカウント数の多い方のラベルを予測結果とすればよい。例えば、葉のノードで、「正:3,負:0」となっていれば、「正」と予測すればよい。
For example, when the classifier is a decision tree, the error
ステップA4の後、誤差群算出部34は、現時刻データ内の各個別データにラベル付けられるラベルの予測結果と、現時刻データとの誤差を算出する(ステップA5)。すなわち、現時刻データ内の各個別データには、現時刻データ生成時に正または負のラベルがラベル付けられているので、ステップA4での予測結果と、実際の現時刻データでラベル付けされているラベルとの誤差を予測する。この誤差をErr[i]と記す。
After step A4, the error
誤差群算出部34は、ステップA5において、例えば、現時刻データ内の個別データ毎に予測したラベルと、実際に現時刻データの各個別データにラベル付けられているラベルとを比較し、両者が異なっている個別データ数をカウントして、そのカウント値をErr[i]として求めてもよい。
In step A5, for example, the error
あるいは、誤差群算出部34は、現時刻データ内の個別データ毎に予測したラベルのうち、正がラベル付けられると予測した個別データの数と、現時刻データの中で実際に正がラベル付けられた個別データの数との差を計算して、その差をErr[i]として求めてもよい。すなわち、正のラベルの予測数と、実際に現時刻データの中で正がラベル付けられた個別データ数(実際の利用者数)との差の絶対値をErr[i]としてもよい。
Alternatively, the error
ステップA5の後、影響度算出部35は、誤差Err[i]と最小誤差値ErrorMinとを比較し、Err[i]がErrorMin未満であるか否かを判定する(ステップA6)。Err[i]がErrorMin未満であるならば(ステップA6におけるYes)、影響度算出部35は、pを0に初期化し、ErrorMinにErr[i]を代入する(ステップA11)。Err[i]がErrorMin未満ということは、これまで最小としていた誤差よりもさらに小さい最小値が見つかったことを意味する。この場合、ステップA11において、その最小値でErrorMinを更新し、また、その誤差に対応する仮影響度が複数ある場合に各仮影響度を個別に指定するための変数pを初期化している。
After step A5, the
ステップA11の後、影響度算出部35は、pの値を1インクリメントし、Imp[p]にFalse[i]を代入する(ステップA12)。また、ステップA6において、Err[i]がErrorMin以上であると判定した場合(ステップA6におけるNo)、影響度算出部35は、Err[i]がErrorMinと等しいか否かを判定する(ステップA7)。ここで等しいと判定した場合(ステップA7におけるYes)にも、影響度算出部35は、pの値を1インクリメントし、Imp[p]にFalse[i]を代入する(ステップA12)。
After step A11, the
ステップA11からステップA12に移行した場合、p=1であり、現在着目している仮影響度False[i]を、誤差が最小となる1番目の仮影響度とする。また、ステップA7において、着目しているFalse[i]に対応するErr[i]がErrorMinと等しく、ステップA12に移行した場合、pは2以上の値になる。この場合、既に最小の誤差に対応する仮影響度は1つ以上見つかっていて、影響度算出部35は、現在着目している仮影響度False[i]を、誤差が最小となるp番目の仮影響度と定めることになる。
When the process proceeds from step A11 to step A12, p = 1, and the temporary influence degree False [i] currently focused on is set as the first temporary influence degree that minimizes the error. In Step A7, when Err [i] corresponding to the focused False [i] is equal to ErrorMin and the process proceeds to Step A12, p becomes a value of 2 or more. In this case, at least one temporary influence degree corresponding to the minimum error has already been found, and the influence
ステップA12の後、あるいは、ステップA7でErr[i]がErrorMinと等しくないと判定した場合(ステップA7におけるNo)、影響度算出部35は、iの値をインクリメントする(ステップA8)。次に、影響度算出部35は、iの値が、最初に入力された仮影響度の個数(Mとする。)以下であるか否かを判定する(ステップA9)。iが仮影響度数M以下であるならば(ステップA9におけるYes)、ステップA8でインクリメントされたiによって定まる仮影響度False[i]に関してステップA2以降の処理を行う。すなわち、着目する仮影響度を変更してステップA2以降の処理を行う。
After step A12 or when it is determined in step A7 that Err [i] is not equal to ErrorMin (No in step A7), the influence
iの値が仮影響度数Mよりも大きければ(ステップA9におけるNo)、ステップA10に移行する。ここで、iは、誤差算出が終了した仮影響度の数を表している。ステップA10において、影響度算出部35は、最小誤差に対応する各仮影響度の平均値を計算し、その平均値を影響度として出力する(ステップA10)。最小誤差に対応する仮影響度が1つしかなければ、p=1となっている。このとき、影響度算出部35は、Imp[1]を影響度として出力すればよい。また、最小誤差に対応する仮影響度が複数ある場合、pは2以上の値となっている。このとき、影響度算出部35は、Imp[1]からImp[p]までの各影響度の平均値を計算し、その平均値を影響度として出力すればよい。
If the value of i is larger than the temporary influence frequency M (No in step A9), the process proceeds to step A10. Here, i represents the number of temporary influences for which error calculation has been completed. In step A10, the influence
影響度算出部35は、例えば、出力装置4に影響度を表示させる。あるいは、他の出力態様で影響度を出力してもよい。例えば、出力装置4が印刷装置であって、出力装置4に影響度を印刷させてもよい。
For example, the influence
次に、第1の実施形態の効果について説明する。
第1の実施の形態では、入力された複数の仮影響度のそれぞれに対し予測誤差を求め、その誤差が最小となる仮影響度の平均を影響度とする。従って、前時刻から現時刻までの期間における影響度を推定することができる。また、影響度を調べようとする期間にあわせて、入力する現時刻および時刻間隔を定めることにより、調べようとする期間における影響度を推定することができる。
Next, the effect of the first embodiment will be described.
In the first embodiment, a prediction error is obtained for each of a plurality of inputted temporary influence degrees, and an average of the temporary influence degrees that minimizes the error is set as the influence degree. Therefore, it is possible to estimate the degree of influence in the period from the previous time to the current time. In addition, by determining the input current time and time interval in accordance with the period for which the degree of influence is to be examined, the degree of influence in the period to be examined can be estimated.
また、誤差群算出部34が、予測したラベルと実際に現時刻データの各個別データにラベル付けられているラベルとを比較し、両者が異なっている個別データ数をカウントして、そのカウント値を誤差(Err[i])とする場合には、影響度の推定性能を高めることができる。
Further, the error
また、誤差群算出部34が、現時刻データ内の個別データ毎に予測したラベルのうち、正がラベル付けられると予測した個別データの数と、現時刻データの中で実際に正がラベル付けられた個別データの数との差を誤差(Err[i])とする場合には、現時刻で利用を開始すべき顧客が次の時刻で開始したり、次の時刻で利用を開始すべき顧客が現時刻で早めに利用を開始したりするといった細かな変動を均して影響度を推定することができる。
In addition, among the labels predicted by the error
また、上記の実施形態では、入力された1つの現時刻における影響度を推定する場合を説明したが、複数種類の現時刻が入力され、その各現時刻に対して、それぞれステップA1以降の処理を行い、各現時刻毎に影響度を求めてもよい。この場合、刻々と変動する影響度を推定することができる。 Further, in the above-described embodiment, the case where the influence level at one input current time is estimated has been described. However, a plurality of types of current time are input, and the processing after step A1 is performed for each current time. And the degree of influence may be obtained for each current time. In this case, it is possible to estimate the degree of influence that changes every moment.
また、例えば、複数の現時刻が入力され、各現時刻毎に影響度を求める場合、以下の様に動作してもよい。すなわち、影響度推定システムのユーザから各現時刻毎に影響度を求めるように指定された場合に、各現時刻毎にステップA1以降の処理を行って、各現時刻毎の影響度を求め、影響度算出部35は、それらの現時刻毎の影響度の平均値を影響度として求めてもよい。このように影響度を求めれば、広告・販売促進活動の影響を受けにくい期間で多くの時刻を用いると影響度の推定誤差を減少できると思われる場合に、推定誤差の少ない影響度を求めることができる。また、各現時刻毎の影響度の平均値を求めるときに、最近に近いほど(すなわち、現時刻が遅くなっているほうの影響度ほど)重みを付けて、重み付き平均の値を求め、その重み付き平均の値を影響度としてもよい。
Further, for example, when a plurality of current times are input and an influence degree is obtained for each current time, the following operation may be performed. That is, when it is specified by the user of the influence degree estimation system to obtain the influence degree for each current time, the process after step A1 is performed for each current time, and the influence degree for each current time is obtained. The influence
また、影響度推定システムのユーザが複数の現時刻を指定する場合、現時刻の最小値、最大値、および現時刻を変化させる間隔を現時刻データ生成部31に入力してもよい。現時刻データ生成部31は、現時刻の最小値、最大値、および現時刻を変化させる間隔が入力されると、その現時刻の最小値から最大値までの期間をその間隔毎に区切って、入力された最小値および最大値の他に、その境界の時刻を現時刻としてもよい。そして、それらの現時刻毎に影響度を求め、その移動平均あるいは移動重み付き平均を求めてもよい。
When the user of the influence level estimation system designates a plurality of current times, the current time minimum value, the maximum value, and an interval for changing the current time may be input to the current time
また、複数の現時刻が入力され、各現時刻毎に各仮影響度における誤差を計算し、その各現時刻における各仮影響度の誤差から影響度を定めてもよい。例えば、複数の現時刻T1〜Txが入力されているとする。本例では、影響度推定システムは、現時刻T1に関し、ステップA1〜A5を行い、Err[1]を求める。ステップA5の後に誤差算出部35は、ステップA8およびステップA9を行い、さらにi=2以上の場合の誤差Err[2]〜Err[M]を順次求める。同様に、他の現時刻に関してもErr[1]〜Err[M]を求める。図11は、このように現時刻毎に求めた各仮影響度における誤差を示している。各現時刻におけるErr[1]〜Err[M]を求めた後、誤差算出部35は、1〜Mまでの各i毎に、各現時刻におけるErr[i]の和を計算し、その和が最小となるiによって定められる仮影響度を影響度としてもよい。図11に示す例では、各行毎に、Err[i]の和を求め、その和が最小となるiによって定まるFalse[i]を影響度としてもよい。
Alternatively, a plurality of current times may be input, an error in each temporary influence degree may be calculated for each current time, and the influence degree may be determined from the error in each temporary influence degree at each current time. For example, assume that a plurality of current times T1 to Tx are input. In this example, the influence degree estimation system performs steps A1 to A5 with respect to the current time T1 to obtain Err [1]. After step A5, the
また、影響度推定システムのユーザが複数の仮影響度を指定する場合、仮影響度の最大値、最小値、および仮影響度を変化させる間隔を現時刻データ生成部31に入力してもよい。現時刻データ生成部31は、仮影響度の最大値、最小値、および仮影響度を変化させる間隔が入力されると、その仮影響度の最小値から最大値までの値の範囲をその期間毎に区切って、入力された最小値および最大値の他に、その境界の値を仮影響度として定めてもよい。
In addition, when the user of the influence degree estimation system designates a plurality of temporary influence degrees, the maximum value and the minimum value of the temporary influence degree and an interval for changing the temporary influence degree may be input to the current time
また、第1の実施の形態では、影響度を出力するよう記載したが、影響度の信頼性をユーザーが知るため、算出した誤差などを出力してもよい。例えば、影響度算出手段35が、影響度の他に、Err[i]を出力装置4に出力させてもよい。
Further, in the first embodiment, the influence degree is described to be output. However, in order for the user to know the reliability of the influence degree, a calculated error or the like may be output. For example, the influence degree calculation means 35 may cause Err [i] to be output to the
また、第1の実施形態では、影響度推定システムが顧客DB2を備える場合を説明したが、顧客DB2が影響度推定システムの外部に設けられ、影響度推定システムがその顧客DB2を参照して処理を行う構成であってもよい。
Further, in the first embodiment, the case where the influence degree estimation system includes the
実施形態2.
図12は、本発明の普及予測システムの例を示すブロック図である。第1の実施形態と同様の構成要素については、図1と同一の符号を付す。本発明の普及予測システムは、個々の顧客毎に、予測対象の時刻において商品またはサービスの利用を開始するか否かを判定する普及予測装置5と、顧客データベース(以下、顧客DBと記す)2とを備える。
FIG. 12 is a block diagram showing an example of a spread prediction system of the present invention. Components similar to those in the first embodiment are denoted by the same reference numerals as those in FIG. The spread prediction system of the present invention includes a
本実施形態の顧客DB2は、顧客データを記憶する記憶手段であり、第1の実施形態における顧客DB2(図1参照)と同様である。本実施形態の顧客DB2が記憶する顧客データも、第1の実施形態における顧客データと同様である。すなわち、顧客データは、図4に示すように、個々の顧客毎に定められた個別データの集合である。顧客DB2において、各個別データは、利用開始情報と、利用開始情報以外の顧客の属性を表す一つ以上の項目とを含む。顧客が商品またはサービスを利用し始めている場合には、その商品またはサービスを利用し始めた時期が利用開始情報となる。また、顧客が商品またはサービスを未利用である場合には、未利用である旨が利用開始情報となる。
The
普及予測装置5は、現時刻と影響度とが入力される。第2の実施形態における現時刻は、顧客が商品またはサービスを利用し始めたか否かの判定対象時刻を定める。また、影響度は、第1の実施形態の影響度推定システムが求めた影響度であることが好ましいが、普及予測システムのユーザが決めた影響度であってもよい。また、本実施形態における現時刻は、将来の時刻であってもよい。
The
普及予測装置5は、テストデータ生成部51と、学習データ生成部52と、分類器生成部53と、テストデータラベル判定部54とを備える。
The
テストデータ生成部51は、現時刻と顧客DB2とに基づいて、現時刻に利用を開始していない顧客の個別データを含むテストデータを生成する。
The test
テストデータは、現時刻において、商品またはサービスの利用を開始していない顧客の個別データを含むデータである。テストデータは、現時刻で商品またはサービスの利用を開始していない顧客の個別データのみを含むことが好ましいが、現時刻で商品またはサービスの利用を開始している顧客の個別データを含んでいてもよい。以下、テストデータが、現時刻で商品またはサービスの利用を開始していない顧客の個別データのみを含む場合を例にして説明する。 The test data is data including individual data of customers who have not started using goods or services at the current time. The test data preferably includes only individual data of customers who have not started using goods or services at the current time, but includes individual data of customers who have started using goods or services at the current time. Also good. Hereinafter, a case where the test data includes only individual data of customers who have not started using the product or service at the current time will be described as an example.
学習データ生成部52は、入力された現時刻および影響度と顧客DB2に記憶されている顧客データとに基づいて、学習データを生成する。学習データは、現時刻で商品またはサービスの利用を開始している顧客の個別データに第1ラベルをラベル付け、現時刻で商品またはサービスの利用を開始していない顧客の個別データに第2ラベルをラベル付け、入力された影響度に応じて重み付けを行ったデータである。第1の実施形態で述べたように、重み付けとは、第2ラベルをラベル付けた個別データ数に対して、第1ラベルをラベル付けた個別データ数を相対的に変動させることである。また、第1の実施形態と同様に、第1ラベルを正(または+)と記し、第2ラベルを負(または−)と記す。
The learning
分類器生成部53は、学習データ生成部52が生成した学習データを用いて分類器を生成する。
The
テストデータラベル判定部54は、テストデータ内の各個別データのラベルを分類器によって予測する。すなわち、テストデータ内の各個別データの項目と分類器とを照合して、正または負のいずれにラベル付けられるかという判定を行う。正と判定された個別データの顧客は、現時刻の次の時刻で商品またはサービスの利用を開始すると予測されることになる。負と判定された個別データの顧客は、現時刻の次の時刻ではまだ商品またはサービスの利用を開始しないと予測されることになる。なお、現時刻の次の時刻とは、現時刻に、定められた一定時間を加算した時刻である。
The test data label
なお、テストデータラベル判定部54は、テストデータ内の各個別データに対するラベルの予測結果(判定結果)を、出力装置(図12において図示せず。)に出力させてもよい。例えば、予測結果を、ディスプレイ装置などに表示させても、印刷装置などに印刷させてもよい。
The test data label
また、テストデータ生成部51および学習データ生成部52は、外部から現時刻を入力されてもよい。また、学習データ生成部52は、外部から影響度を入力されてもよい。このとき、例えば、キーボードなどの入力装置(図12において図示せず。)を介して現時刻および影響度が入力されてもよい。あるいは、第1の実施形態の影響度推定システムがある現時刻における影響度を求めた場合、例えば、第1の実施形態の影響度推定システムの影響度算出手段35が、現時刻をテストデータ生成部51および学習データ生成部52に渡し、影響度を学習データ生成部52に渡してもよい。
In addition, the test
普及予測装置5が備えるテストデータ生成部51、学習データ生成部52、分類器生成部53、およびテストデータラベル判定部54は、例えば普及予測プログラムに従って動作するCPUによって実現される。すなわち、普及予測装置5に設けられた記憶装置から普及予測プログラムを読み込んだCPUがテストデータ生成部51、学習データ生成部52、分類器生成部53、およびテストデータラベル判定部54として動作してもよい。
The test
次に、普及予測システムの動作について説明する。
図13は、本発明の普及予測システムの処理経過の例を示すフローチャートである。例えば、キーボートなどの入力装置(図13において図示せず。)を介して、普及予測装置5に現時刻および影響度が入力されると、普及予測システムは以下のように動作する。
Next, the operation of the spread prediction system will be described.
FIG. 13 is a flowchart showing an example of processing progress of the spread prediction system of the present invention. For example, when the current time and the degree of influence are input to the
まず、テストデータ生成部51は、テストデータを生成する(ステップB1)。テストデータ生成部51は、顧客データDB2に記憶されている顧客データの中から、現時刻で商品またはサービスの利用を開始していない顧客の個別データのみを抜き出して、その個別データの集合をテストデータとすればよい。具体的には、利用開始情報(図4参照)が現時刻以前の時刻となっていない個別データのみを抜き出して、その個別データの集合をテストデータとすればよい。ここでは、テストデータが、現時刻で利用を開始していない顧客の個別データのみを含む場合を例にしているが、現時刻で利用を開始している顧客の個別データをテストデータに含めるようにしてもよい。
First, the test
ステップB1の後、学習データ生成部52は、学習データを生成する(ステップB2)。学習データ生成部52は、顧客DB2に記憶された顧客データを読み込み、現時刻以前で商品またはサービスの利用を開始している顧客の個別データに正をラベル付け、現時刻で商品またはサービスの利用を開始していない顧客の個別データに負をラベル付ける。すなわち、利用開始情報が現時刻以前の時刻となっている個別データに正をラベル付け、利用開始情報が現時刻以前の時刻でない個別データに負をラベル付ける。そして、学習データ生成部52は、影響度に応じて、正とした個別データの数を、負とした個別データの数に対して相対的に変動させる。本例では、影響度の関数の関数値を計算し、その関数値倍に、正をラベル付けた個別データを増加させる場合を例にする。
After step B1, the learning
影響度の関数として、例えば、現時刻で商品またはサービスの利用を開始している顧客数と現時刻で未だその商品またはサービスの利用を開始していない顧客数との比率を影響度の係数とする関数を用いてもよい。すなわち、以下に例示する関数を用いてもよい。 As a function of the degree of influence, for example, the ratio of the number of customers who have started using the product or service at the current time and the number of customers who have not started using the product or service at the current time You may use the function to do. That is, the functions exemplified below may be used.
影響度×(現時刻の未利用者数)/(現時刻の利用者数) Impact x (Number of unused users at current time) / (Number of users at current time)
上記の関数において、「現時刻の未利用者数」は、現時刻で未だ商品またはサービスの利用を開始していない顧客の数(より具体的には個別データの数)である。すなわち、顧客データにおいて、利用開始情報が現時刻以前でない個別データの数である。また、「現時刻の利用者数」は、現時刻で商品またはサービスの利用を開始している顧客の数である。すなわち、顧客データにおいて、利用開始情報が現時刻以前となっている個別データの数である。このように、「現時刻の未利用者数」を「現時刻の利用者数」で除算して得た比率を影響度の係数とする関数を用いてもよい。 In the above function, “the number of unused users at the current time” is the number of customers who have not yet started using the product or service at the current time (more specifically, the number of individual data). That is, in the customer data, the number of individual data whose usage start information is not before the current time. The “number of users at the current time” is the number of customers who have started using goods or services at the current time. That is, in the customer data, the number of individual data whose use start information is before the current time. In this way, a function may be used in which a ratio obtained by dividing “the number of unused users at the current time” by “the number of users at the current time” is an influence coefficient.
また、影響度の関数として、例えば、現時刻で商品またはサービスの利用を開始している顧客数と全顧客数との比率を影響度の係数とする関数を用いてもよい。すなわち、以下に例示する関数を用いてもよい。 Further, as a function of the influence degree, for example, a function having a coefficient of the influence degree as a ratio of the number of customers who start using the product or service at the current time and the total number of customers may be used. That is, the functions exemplified below may be used.
影響度×(顧客人数)/(現時刻の利用者数) Impact x (number of customers) / (number of users at the current time)
上記の関数において、「顧客人数」は、全顧客数(顧客データ内の全個別データ数)である。「現時刻の未利用者数」は、上述の関数の場合と同様である。このように、「顧客人数」を「現時刻の利用者数」で除算して得た比率を影響度の係数とする関数を用いてもよい。 In the above function, “number of customers” is the total number of customers (the total number of individual data in the customer data). The “number of unused users at the current time” is the same as in the case of the above function. In this way, a function may be used in which a ratio obtained by dividing “number of customers” by “number of users at the current time” is an influence coefficient.
学習データ生成部52は、このような関数の関数値倍に、正をラベル付けた個別データを増加させる。例えば、入力された影響度を関数に代入して得た値がjであるとする。この場合、正をラベル付けた個別データの数がj倍になるように、正をラベル付けた個別データの複製を生成すればよい。
The learning
また、例示した2つの関数における影響度の係数の値は、いずれも時間が経過して利用者数が増えるに従って減少する。影響度の係数は、このような係数に限定されない。また、影響度の値をそのまま関数値として用いてもよい。この場合、係数を1としていることになる。 Also, the value of the coefficient of influence in the two exemplified functions decreases as the number of users increases with time. The coefficient of influence is not limited to such a coefficient. Further, the influence value may be used as a function value as it is. In this case, the coefficient is 1.
また、上記の例では、正とラベル付けた個別データを関数値倍に増加させる場合を示しているが、重み付けでは、正とラベル付けた個別データ数を、負とラベル付けた個別データ数に対して相対的に変化させればよい。この点は、第1の実施形態において前時刻データ群生成部32が行う重み付けと同様である。
In the above example, the case where the individual data labeled positive is increased by a multiple of the function value, but in weighting, the number of individual data labeled positive is changed to the number of individual data labeled negative. What is necessary is just to change relatively with respect to it. This point is the same as the weighting performed by the previous time data
ステップB2の後、分類器生成部53は、学習データを用いて分類器を生成する(ステップB3)。分類器生成部53は、重回帰分析、決定木、ニューラルネットワーク、サポートベクタマシン、ベイジアンネットワークなどのデータマイニングによる手法のいずれかあるいはその組合せにより分類器を生成すればよい。
After step B2, the
また、第1の実施形態において前時刻データ群生成部32の分類器生成動作として例示したように、分類器として決定木を生成してもよい。すなわち、分類器生成部53は、学習データが与えられると、どの項目で最初に分割させるかを決定する。このとき、分類器生成部53は、項目1〜Nの各項目について、分割時の評価値を計算し、その評価値が最大の項目を、分割に最も適した項目として選択すればよい。評価値として、例えば、分割前のノードのエントロピーと、分割後のエントロピーの差を用いればよい。分割前のノードのエントロピー、および分割後のエントロピーの計算方法は、第1の実施形態で既に説明した計算方法と同様であり、説明を省略する。分類器生成部53は、分割後の各ノードについても、上記と同様の処理を行い、次にどの項目で分割するのかを決定する処理を順次繰り返し、所定の条件が満たされたときには、ノードの分割を停止する。そして、分類器生成部53は、このようにして得た木構造の決定木に対して、枝刈りを行うことにより、分類器となる決定木を生成する。上記の所定の条件や枝刈りの処理も、第1の実施形態で示した所定の条件や枝刈り処理と同様であり、説明を省略する。このようにして生成した決定木(分類器)は、学習データ内で第1ラベルをラベル付けられた個別データの割合が高くなるほど、テストデータ内で第2ラベルをラベル付けられている個別データのうち、第1ラベルをラベル付けられた個別データの項目値と類似する項目値を持つ個別データに対して、第1ラベルをラベル付けると判定する頻度が高くなるという性質を有している。なお、分類器は決定木に限定されず、分類器生成部53は、上記以外の動作で分類器を生成してもよい。
Further, as exemplified in the classifier generation operation of the previous time data
ステップB3の後、テストデータラベル判定部54は、ステップB3で生成された分類器を用いて、テストデータのラベルを予測する(ステップB4)。すなわち、テストデータラベル判定部54は、テストデータ内の各個別データ毎に、その個別データにおける顧客の属性を示す項目と、ステップB3で生成された分類器とを照合し、その個別データに対するラベルが正であるか負であるかを判定する。例えば、分類器が決定木である場合、テストデータラベル判定部54は、そのルートのノードの項目に関してテストデータ内の個別データの項目値を参照し、その項目値に応じて子ノードを辿る。テストデータラベル判定部54は、葉のノードまで辿ったならば、葉のノードでカウント数の多い方のラベルを判定結果とすればよい。
After step B3, the test data
テストデータラベル判定部54は、テストデータ内の個別データ毎に判定した正または負のラベルを、例えば、ディスプレイ装置などに表示させてもよい。あるいは、印刷装置に印刷させてもよい。
The test data label
本実施形態によれば、顧客の属性を示す項目を含む個別データの集合に対してラベル付けを行い、さらに重み付けをして得た学習データから分類器を生成する。そして、テストデータラベル判定部54がテストデータ内の各個別データ毎に、その項目と分類器とを照合して、正または負のいずれかを判定する。すなわち、顧客の属性を示す項目を利用して分類器を生成し、利用を開始していない顧客の項目とその分類器とから、その顧客が現時刻の次の時刻で利用を開始するか否かを予測している。従って、顧客の属性を利用して、顧客が現時刻の次の時刻で利用を開始するか否かを判定することができる。
According to the present embodiment, labeling is performed on a set of individual data including items indicating customer attributes, and a classifier is generated from learning data obtained by weighting. Then, the test data
また、個別データ毎にラベルの予測を行うので、個々の顧客毎に現時刻の次の時刻で商品またはサービスを利用開始するか否かを予測することができる。また、指定する現時刻を変更すれば、所望の時刻で各顧客毎に商品またはサービスを利用開始するか否かを予測することができる。すなわち、個別の顧客がある時刻で商品やサービスの利用を開始するか否かを予測できる。従って、その予測結果を、商品やサービスの販売促進に活用することができる。 Further, since the label is predicted for each individual data, it is possible to predict whether or not to start using the product or service at the time next to the current time for each individual customer. In addition, if the current time to be designated is changed, it is possible to predict whether or not to start using a product or service for each customer at a desired time. That is, it is possible to predict whether or not an individual customer will start using a product or service at a certain time. Therefore, the prediction result can be used for sales promotion of goods and services.
また、ロジスティック曲線等にデータを当てはめて普及曲線を予測する場合には、立ち上がりからのデータ(すなわち、商品やサービスの提供開始時からの提供数データ)が必要であるが、本発明では、顧客データが一部の期間におけるデータである場合にも、現時刻の次の時刻で各顧客毎に商品またはサービスを利用開始するか否かを予測することができる。 In addition, when predicting a diffusion curve by applying data to a logistic curve or the like, data from the rising edge (that is, data provided from the start of the provision of goods or services) is required. Even when the data is data in a partial period, it is possible to predict whether or not to start using the product or service for each customer at the time next to the current time.
次に、第2の実施形態の変形例を示す。以下に示す第2の実施形態の変形例では、テストデータに対する予測結果を顧客DB2が記憶する顧客データに反映させる。そして、現時刻を更新してテストデータに対する予測を繰り返して、商品またはサービスの普及の程度を予測する。
Next, a modification of the second embodiment is shown. In the following modification of the second embodiment, the prediction result for the test data is reflected in the customer data stored in the
図14は、第2の実施形態の変形例を示すブロック図である。既に説明した構成要素と同様の構成要素は、図12と同一の符号を付し、説明を省略する。また、図12では、普及予測装置5に現時刻および影響度などを入力するための入力装置1と、予測結果を出力するための出力装置4とを備えている場合を例にして示している。入力装置1は、例えば、キーボードなどの入力装置であり、出力装置4は、例えば、ディスプレイ装置などの出力装置である。
FIG. 14 is a block diagram illustrating a modification of the second embodiment. Constituent elements similar to those already described are denoted by the same reference numerals as those in FIG. In addition, FIG. 12 shows an example in which the
普及予測装置5は、テストデータ生成部51と、学習データ生成部52と、分類器生成部53と、テストデータラベル判定部54と、現時刻更新部55とを備える。
The
本変形例では、テストデータラベル判定部54は、ステップB4での判定結果が実際の利用開始情報と異なっている個別データの利用開始情報を上書きして更新する。判定結果が実際の利用開始情報と異なっている場合とは、個別データの利用開始情報が未利用を示していて、判定結果が正である場合である。この場合、テストデータラベル判定部54は、顧客DB2に記憶されている顧客データ内におけるその個別データの利用開始情報を現時刻に一定の時間(Tとする。)分を加算した時刻に更新する。このように時刻を更新して、その個別データが、顧客がその時刻から商品またはサービスの利用を開始したことを表すようにする。
In this modification, the test data
現時刻更新部55は、テストデータラベル判定部54がテストデータに対する判定を行った後、現時刻を一定の時間(T)分増加した時刻を新たな現時刻とするように、現時刻を更新する。現時刻更新部55も、例えば、普及予測プログラムに従って動作するCPUによって実現される。
The current
テストデータ生成部51、学習データ生成部52、分類器生成部53、およびテストデータラベル判定部54は、更新後の現時刻が定められた期間内であることを条件に、更新後の顧客データおよび現時刻を用いて、第2の実施形態と同様の処理を繰り返す。
The test
次に、本変形例の動作について説明する。図15は、第2の実施形態の変形例における処理経過の例を示すフローチャートである。本変形例では、普及予測装置5に現時刻、影響度の他に、普及予測の対象とする期間(以下、予測期間と記す。)が入力される。予測期間として、例えば、普及予測の対象とする期間の最後の時刻が入力されてもよい。
Next, the operation of this modification will be described. FIG. 15 is a flowchart illustrating an example of processing progress in a modification of the second embodiment. In this modified example, in addition to the current time and the degree of influence, a period to be targeted for diffusion prediction (hereinafter referred to as a prediction period) is input to the
その後、ステップB1〜B4の処理を行う。ステップB1〜B4の処理は、第2の実施形態で既に説明したステップB1〜B4(図12参照)と同様の処理である。 Then, the process of step B1-B4 is performed. Steps B1 to B4 are the same as steps B1 to B4 (see FIG. 12) already described in the second embodiment.
ステップB4の後、テストデータラベル判定部54は、個別データの利用開始情報が未利用を示していて、ステップB4での判定結果として正がラベル付けられるという結果が得られた個別データの利用開始情報を更新する(ステップB5)。テストデータラベル判定部54は、顧客データ内のその個別データの利用開始情報を、現時刻に一定の時間Tを加算した時刻に更新する。
After step B4, the test data
次に、現時刻更新部55は、現時刻を更新する(ステップB6)。ステップB6において、現時刻更新部55は、現時刻に一定の時間Tを加算した時刻を新たな現時刻とする。
Next, the current
そして、現時刻更新部55は、更新後の現時刻が予測期間内であるか否かを判定する(ステップB7)。更新後の現時刻が予測期間内であると判定した場合(ステップB7におけるYes)、普及予測装置5はステップB1以降の処理を繰り返す。
Then, the current
また、更新後の現時刻が予測期間を越えると判定した場合(ステップB7におけるNo)、現時刻更新部55は、予測結果を出力装置4に出力させる(ステップB8)。例えば、各顧客毎の個別データにおける利用開示情報を、個々の顧客の予測される利用開始時期として出力装置4に出力させてもよい。また、商品またはサービスの普及曲線を出力装置4に出力させてもよい。普及予測システムが出力装置4としてディスプレイ装置などの表示装置を備えていて、現時刻更新部55が出力装置4に予測結果を表示させてもよい。あるいは、普及予測システムが出力装置4として印刷装置を備えていて、現時刻更新部55が出力装置4に予測結果を印刷させてもよい。
When it is determined that the updated current time exceeds the prediction period (No in step B7), the current
普及曲線を出力する場合、例えば、ステップB1に移行する毎に、現時刻更新部55(他の構成要素でもよい)が、現時刻において商品またはサービスの利用を開始している顧客の個別データ数を顧客DBの中からカウントし、そのカウント値と現時刻とを対応付けて記憶していけばよい。そして、ステップB8において、例えば、現時刻を横軸にとり、カウント値を縦軸にとって、現時刻の変化に伴うカウント値の推移を示すグラフを作成し、そのグラフを出力装置4に出力させてもよい。このカウント値は、利用を開始した顧客数に相当する。
When outputting a diffusion curve, for example, every time the process proceeds to step B1, the current time update unit 55 (which may be another component) counts the number of individual data of customers who have started using products or services at the current time May be counted from the customer DB, and the count value and the current time may be stored in association with each other. In step B8, for example, the current time is taken on the horizontal axis, the count value is taken on the vertical axis, a graph showing the transition of the count value accompanying the change in the current time is created, and the
第2の実施形態の変形例では、顧客の属性を示す項目を含む個別データの集合に対してラベル付けを行い、さらに重み付けをして得た学習データから分類器を生成し、その分類器でテストデータに対する予測を行うことを、現時刻を更新しながら繰り返す。従って、顧客の属性(特徴)の違いを考慮して、商品やサービスの普及の程度を高い精度で予測することができる。 In a modification of the second embodiment, a classifier is generated from learning data obtained by labeling a set of individual data including items indicating customer attributes and further weighting, and the classifier The prediction for the test data is repeated while updating the current time. Therefore, it is possible to predict the degree of the spread of products and services with high accuracy in consideration of differences in customer attributes (features).
また、顧客のデータを増やすほど普及の予測精度を向上させることができる。 Moreover, the prediction accuracy of the spread can be improved as the customer data is increased.
また、学習データ生成時に用いる関数として、現時刻で商品またはサービスの利用を開始している顧客数と現時刻で未だその商品またはサービスの利用を開始していない顧客数との比率や、あるいは、現時刻で商品またはサービスの利用を開始している顧客数と全顧客数との比率を、影響度の係数とする関数を用いることにより、影響度だけでなく商品やサービスの普及率に応じても関数値を定め、重み付けを行うことができる。その結果、予測の精度をより高めることができる。 In addition, as a function used when generating learning data, the ratio between the number of customers who have started using the product or service at the current time and the number of customers who have not started using the product or service at the current time, or By using a function that takes the ratio of the number of customers who have started using products or services at the current time and the total number of customers as a coefficient of influence, depending on not only the influence but also the penetration rate of the product or service The function value can also be determined and weighted. As a result, prediction accuracy can be further increased.
また、学習データ生成時に用いる関数として、影響度の係数として、顧客の属性に応じた係数も含む関数を用いてもよい。例えば、学習データ生成時に、以下のような関数を用いて重み付けを行ってもよい。 Further, as a function used at the time of generating learning data, a function including a coefficient corresponding to a customer attribute may be used as an influence coefficient. For example, weighting may be performed using the following function when generating learning data.
影響度×顧客係数×(現時刻の未利用者数)/(現時刻の利用者数) Impact x Customer factor x (Number of unused users at current time) / (Number of users at current time)
学習データ生成部52は、個別データにおける顧客の属性を示す項目の内容に応じて顧客係数を選択し、その顧客係数を用いて、例えば、上記のような関数により関数値を計算してもよい。このように、顧客毎に個別に重み付けを行ってもよい。
The learning
また、上記の変形例では、顧客DB2に記憶されている個別データの利用開始情報を上書きして更新する場合を例にして説明したが、個別データに当初から含まれている利用開始情報のコピーを利用開始時期予測情報としてコピーしておき、そのコピーを更新するようにしてもよい。この場合、実績と予測値とをそれぞれ保持しておくことができる。
Further, in the above-described modification example, the case of updating by overwriting the usage start information of the individual data stored in the
実施形態3.
本実施形態の普及予測システムは、影響度を算出し、その影響度を用いて、予測対象の時刻において各顧客が商品またはサービスの利用を開始するか否かを判定する。図16は、本実施形態の普及予測システムの例を示すブロック図である。本実施形態の普及予測システムは、顧客DB2と、影響度推定装置3と、普及予測装置5とを備える。また、入力装置1および出力装置4を備えていてもよい。影響度推定装置3は、第1の実施形態で説明した影響度推定装置3と同様に動作する。また、普及予測装置5は、第2の実施形態で説明した普及予測装置5と同様に動作する。顧客DB2、入力装置1、および出力装置4も、第1の実施形態および第2の実施形態で説明した顧客DB2、入力装置1、出力装置4と同様である。
The spread prediction system according to the present embodiment calculates the degree of influence, and uses the degree of influence to determine whether or not each customer starts using the product or service at the prediction target time. FIG. 16 is a block diagram illustrating an example of a spread prediction system according to the present embodiment. The spread prediction system of this embodiment includes a
顧客DB2は、顧客データを記憶する記憶手段であり、顧客DB2が記憶する顧客データも、第1の実施形態および第2の実施形態における顧客データと同様である。すなわち、顧客データは、利用開始情報と、利用開始情報以外の顧客の属性を表す一つ以上の項目とを含む顧客毎の個別データの集合である。
The
影響度推定装置3は、例えば入力装置1を介して、現時刻、時刻間隔、および複数の仮影響度を入力される。影響度推定装置3は、その現時刻、時刻間隔、および複数の仮影響度を用いて影響度を推定し、その影響度を普及予測装置5に渡す。
The influence
普及予測装置5は、例えば入力装置1を介して、現時刻を入力される。普及予測装置5は、その現時刻と、影響度推定装置3が定めた影響度とを用いて、テストデータに対する予測を行う。
The
本実施形態において、入力される現時刻は、影響度推定装置3において影響度の推定対象時刻としても用いられる。
In the present embodiment, the input current time is also used as an influence degree estimation target time in the influence
図17は、本実施形態の普及予測システムを詳細に示すブロック図である。ただし、入力装置1および出力装置4は省略している。
FIG. 17 is a block diagram showing in detail the spread prediction system of this embodiment. However, the
影響度推定装置3は、現時刻データ生成部31と、前時刻データ群生成部32と、前時刻分類器群生成部33と、誤差群算出部34と、影響度算出部35とを備える。普及予測装置5は、テストデータ生成部51と、学習データ生成部52と、分類器生成部53と、テストデータラベル判定部54とを備える。
The influence
現時刻データ生成部31、前時刻データ群生成部32、前時刻分類器群生成部33、誤差群算出部34、影響度算出部35は、第1の実施形態と同様に動作する。すなわち、ステップA1〜A10(図3参照。)を実行し、影響度を定める。影響度算出部35は、その影響度を学習データ生成部52に渡す。
The current time
テストデータ生成部51、学習データ生成部52、分類器生成部53、テストデータラベル判定部54は、第2の実施形態と同様に動作する。すなわち、ステップB1〜B4(図13参照)を実行し、個々の顧客毎に、商品またはサービスの利用が開始されるか否かを判定する。
The test
なお、影響度算出部35は、1つの影響度を定めて、普及予測装置5は、その影響度を用いて、ステップB1以降の処理を行えばよい。
In addition, the influence
第1の実施形態で説明した影響度推定装置3に関する種々の変形が本実施形態の影響度推定装置3に適用されてもよい。また、第2の実施形態で説明した普及予測装置5に関する種々の変形が本実施形態の普及予測装置5に適用されていてもよい。第2の実施形態の変形例(図14参照)と同様に、普及予測装置5が現時刻更新部55を備え、ステップB1〜B8を実行する構成であってもよい。例えば、普及曲線を出力装置4に出力させてもよい。
Various modifications relating to the influence
現時刻データ生成部31、前時刻データ群生成部32、前時刻分類器群生成部33、誤差群算出部34、影響度算出部35、テストデータ生成部51、学習データ生成部52、分類器生成部53、およびテストデータラベル判定部54は、例えば、普及予測プログラムに従って動作するCPUによって実現される。普及予測システムが現時刻更新部55を備える場合、現時刻更新部55もそのCPUによって実現されてよい。
Current time
本実施形態においても、第2の実施形態と同様の効果を得ることができる。特に、影響度推定装置3が影響度を用いて処理を行うので、予測精度をより高くすることができる。
Also in this embodiment, the same effect as that of the second embodiment can be obtained. In particular, since the
また、第2の実施形態および第3の実施形態では、普及予測システムが顧客DB2を備える場合を説明したが、顧客DB2が普及予測システムの外部に設けられ、普及予測システムがその顧客DB2を参照して処理を行う構成であってもよい。
In the second and third embodiments, the case where the spread prediction system includes the
実施形態4.
図18は、本発明の第4の実施形態の普及予測システムの例を示すブロック図である。第4の実施形態の普及予測システムは、顧客DB2と、閾値関数推定装置6と、普及予測装置7とを備える。また、第1の実施形態から第3の実施形態で説明した入力装置1および出力装置4と同様の入力装置および出力装置を備えていてもよい。顧客DB2は、第1の実施形態から第3の実施形態で説明した顧客DB2と同様である。
FIG. 18 is a block diagram illustrating an example of a spread prediction system according to the fourth embodiment of the present invention. The spread prediction system according to the fourth embodiment includes a
顧客DB2は、顧客データを記憶する記憶手段であり、顧客DB2が記憶する顧客データも、第1の実施形態から第3の実施形態における顧客データと同様である。すなわち、顧客データは、利用開始情報と、利用開始情報以外の顧客の属性を表す一つ以上の項目とを含む顧客毎の個別データの集合である。
The
本実施形態において、閾値関数推定装置6は、商品またはサービスの普及率と閾値との関係を示す閾値関数を推定する。閾値関数推定装置6は、複数の時刻において、普及率および閾値を求め、それぞれの時刻毎の普及率および閾値から閾値関数を推定する。この閾値とは、個別データに第1ラベルがラベル付けられるか否かを判定するための閾値である。普及予測装置7は、顧客DB2に記憶された顧客データからテストデータを生成し、テストデータ内の個別データに第1のラベルがラベル付けられる確からしさのスコアを計算する。また、普及予測装置7は、商品またはサービスの普及率も計算し、閾値関数推定装置6によって推定された閾値関数にその普及率を代入して閾値を算出する。普及予測装置7は、スコアがその閾値以上である個別データに対するラベルは第1ラベルであり、スコアがその閾値未満である個別データに対するラベルは第2ラベルであると判定する。以下、既に説明した実施形態と同様に、第1ラベルを正(または+)と記し、第2ラベルを負(または−)と記す。
In the present embodiment, the threshold
閾値関数推定装置6は、基準時刻データ群生成部61と、閾値推定前時刻データ群生成部62と、閾値推定前時刻分類器群生成部63と、誤差群算出部64と、関数推定部65とを備える。
The threshold
基準時刻データ群生成部61は、閾値の推定対象時刻を定めるための複数の基準時刻と、その各基準時刻の一定時間前を指定するための時刻間隔と、複数の仮閾値とが入力される。キーボード等の入力装置(図18において図示せず。)を介して基準時刻データ群生成部61に、複数の基準時刻、時刻間隔および複数の仮閾値が入力されてもよい。
The reference time data
本実施形態における基準時刻とは、閾値の推定対象時刻となる後述の閾値推定前時刻を定めるための基準時刻であり、後述の基準時刻データを用いて各閾値推定前時刻毎の閾値が決定される。なお、それぞれの閾値推定前時刻毎に普及率も計算され、それぞれの閾値推定前時刻における普及率と閾値との関係から閾値関数が推定される。 The reference time in the present embodiment is a reference time for determining a later-described threshold estimation time, which is a threshold estimation target time, and a threshold for each threshold estimation previous time is determined using later-described reference time data. The Note that a penetration rate is also calculated for each time before threshold estimation, and a threshold function is estimated from the relationship between the penetration rate and the threshold at each time before threshold estimation.
時刻間隔は、入力された基準時刻の一定時間前を指定するための時間である。入力される仮閾値は、閾値関数推定装置6で求めようとしている閾値の候補である。各仮閾値は、例えば、0以上1以下の数値である。
The time interval is a time for designating a certain time before the input reference time. The input temporary threshold is a threshold candidate to be obtained by the threshold
基準時刻データ群生成部61に入力される基準時刻の数をU個とし、仮閾値の数をV個とする。
The number of reference times input to the reference time data
基準時刻データ群生成部61は、1つの基準時刻に対して、1つの基準時刻データを生成する。従って、U個の基準時刻データが生成される。基準時刻データは、基準時刻で商品またはサービスの利用を介している顧客の個別データに正(第1ラベル)をラベル付け、基準時刻で商品またはサービスの資料を開始していない顧客の個別データに負(第2ラベル)をラベル付けたデータである。基準時刻データ群生成部61は、顧客DB2を用いて(すなわち、顧客DB2に記憶された顧客データに基づいて)、基準時刻データを生成する。個々の基準時刻データの生成処理は、第1の実施形態における現時刻データの生成処理と同様である。また、基準時刻データ群生成部61は、それぞれの基準時刻から時刻間隔前の時刻(基準時刻から時刻間隔分遡った時刻)を求める。この時刻を、閾値推定前時刻と記す。基準時刻データ群生成部61は、入力された各基準時刻毎に、基準時刻から時刻間隔を減算して閾値推定前時刻を計算する。従って、閾値推定前時刻もU個求められる。
The reference time data
閾値推定前時刻データ群生成部62は、1つの閾値推定前時刻に対して、1つの閾値推定前時刻データを生成する。従って、U個の閾値推定前時刻データが生成される。閾値推定前時刻データ群生成部62は、閾値推定前時刻毎に、閾値推定前時刻と顧客DB2に記憶されている顧客データとに基づいて、閾値推定前時刻データを生成する。閾値推定前時刻データは、閾値推定前時刻で商品またはサービスの利用を開始している顧客の個別データベースに正をラベル付け、閾値推定前時刻で商品またはサービスの利用を開始していない顧客の個別データに負をラベル付けたデータである。閾値推定前時刻データは、重み付けが行われていない点で、第1の実施形態で説明した前時刻データと異なる。
The pre-threshold time data
また、閾値推定前時刻データ群生成部62は、閾値推定前時刻データを用いて普及率を計算する。普及率は、顧客数に対する、閾値推定前時刻までに商品またはサービスの利用を開始した顧客数の割合である。閾値推定前時刻データ群生成部62は、閾値推定前時刻データ毎に普及率を計算する。よって、普及率もU個計算される。閾値推定前時刻データ群生成部62は、関数推定部65で用いるために閾値推定前時刻データ毎のU個の普及率を記憶しておいてもよい。
Further, the threshold value pre-estimation time data
閾値推定前時刻分類器群生成部63は、1つの閾値推定前時刻データに基づいて、1つの分類器を生成する。従って、U個の分類器が生成される。本実施形態における分類器は、顧客の個別データに第1ラベルがラベル付けられる確からしさのスコアを定めるルールである。
The pre-threshold time classifier
誤差群算出部64は、閾値推定前時刻分類器群生成部63で生成された分類器を用いて、基準時刻データ内の各個別データのスコアを計算し、スコアと仮閾値とを比較することで、各個別データのラベルを予測する。このスコアは、個別データに第1ラベルがラベル付けられる確からしさのスコアである。誤差群算出部64は、このラベル予測を分類器毎に行う。また、一つの分類器でのラベル予測では、入力されたV個の仮閾値毎にラベル予測を行う。誤差群算出部64は、ある分類器および仮閾値を用いてラベル予測を行う場合、その分類器で基準時刻データ内の各個別データのスコアを計算し、スコアがその仮閾値以上となっている個別データに対するラベルが正であり、スコアがその仮閾値未満となっている個別データに対するラベルが負であると予測する。また、その基準時刻データ内の各個別データには、既に実際にラベル付けが行われている。誤差群算出部64は、分類器および仮閾値を用いて予測したラベルと、実際に基準時刻データでラベル付けられているラベルとの誤差を算出する。この予測したラベルと実際のラベルとの誤差の算出は、第1の実施形態における誤差群算出部34が予測したラベルと実際のラベルとの誤差を算出する処理と同様である。U個の分類器が生成され、各分類器に関しそれぞれV個の仮閾値について誤差を算出するので、U×V個の誤差を算出することになる。
The error
関数推定部65は、U個の分類器それぞれに対し、V個の仮閾値毎に算出された誤差のうち、最小の誤差を特定し、最小の誤差に対応する仮閾値を分類器に対応する閾値(すなわち、閾値推定前時刻に対応する閾値)として定める。具体的には、最小の誤差に対応する仮閾値の数が一つである場合、関数推定部65は、その仮閾値を閾値として定める。また、最小の誤差に対応する仮閾値が複数個存在する場合には、その複数の仮閾値に基づいて、閾値推定前時刻に対応する閾値を定める。例えば、最小の誤差に対応する仮閾値が複数個存在する場合、その複数の仮閾値の平均値を計算し、その平均値を閾値推定前時刻に対応する閾値と定める。以下、最小の誤差に対応する仮閾値が複数個存在する場合、その仮閾値の平均値を閾値と定める場合を例にして説明する。
For each of the U classifiers, the
分類器毎に閾値を定めるので、各閾値推定前時刻に対応する閾値が定まる。また、閾値推定前時刻データ群生成部62によって、閾値推定前時刻毎の普及率が計算されている。よって、閾値推定前時刻毎の閾値および普及率の組がU組得られる。関数推定部65は、この閾値および普及率の組から閾値関数を推定する。
Since a threshold is determined for each classifier, a threshold corresponding to each time before threshold estimation is determined. Further, the prevalence estimation time data
閾値関数推定装置6が備える基準時刻データ群生成部61、閾値推定前時刻データ群生成部62、閾値推定前時刻分類器群生成部63、誤差群算出部64、および関数推定部65は、例えばプログラムに従って動作するCPUによって実現される。すなわち、閾値関数推定装置6に設けられた記憶装置からプログラムを読み込んだCPUが、基準時刻データ群生成部61、閾値推定前時刻データ群生成部62、閾値推定前時刻分類器群生成部63、誤差群算出部64、および関数推定部65として動作してもよい。
The reference time data
普及予測装置7は、テストデータ生成部71と、ラベル付けデータ生成部72と、分類器生成部73と、テストデータラベル判定部74とを備える。
The
普及予測装置7には現時刻が入力される。この現時刻は、第2の実施形態で説明した現時刻データと同様に、顧客が商品またはサービスを利用し始めたか否かの判定対象時刻を定める。入力装置(図18において図示略)を介して普及予測装置7に現時刻が入力されてもよい。
The current time is input to the
テストデータ生成部71は、現時刻と顧客DB2とに基づいて、現時刻に利用を開始していない顧客の個別データを含むテストデータを生成する。以下、テストデータが、現時刻で商品またはサービスの利用を開始していない顧客の個別データのみを含む場合を例にして説明する。
The test
ラベル付けデータ生成部72は、現時刻および顧客DB2に記憶されている顧客データに基づいて、ラベル付けデータを生成する。ラベル付けデータは、現時刻で商品またはサービスの利用を開始している顧客の個別データに正(第1ラベル)をラベル付け、現時刻で商品またはサービスの利用を開始していない顧客の個別データに負(第2ラベル)をラベル付けたデータである。ラベル付けデータは、重み付けが行われていない点で、第2の実施形態で説明した学習データと異なる。重み付けを行うか否かという点以外では、本実施形態におけるラベル付けデータ生成処理と、第2の実施形態における学習データ生成処理は同様である。
The labeling
また、ラベル付けデータ生成部72は、生成したラベル付けデータを用いて普及率を計算する。
Further, the labeling
分類器生成部73は、ラベル付けデータ生成部72が生成したラベル付けデータを用いて分類器を生成する。この分類器は、閾値推定前時刻分類器群生成部63が生成する分類器と同じく、顧客の個別データに第1ラベルがラベル付けられる確からしさのスコアを定めるルールである。
The
テストデータラベル判定部74は、分類器生成部73で生成された分類器を用いて、テストデータ内の各個別データのスコアを計算する。また、テストデータラベル判定部74は、関数推定部65で推定された閾値関数と、ラベル付けデータから計算された普及率とを用いて、閾値を計算する。すなわち、閾値関数に普及率を代入して閾値を計算する。そして、スコアとその閾値とを比較して、テストデータラベル内の各個別データのラベルを判定する。具体的には、テストデータラベル判定部74は、テストデータラベル内の各個別データのうち、スコアが閾値以上となっている個別データに対するラベルが正であると判定し、スコアが閾値未満の個別データに対するラベルが第2ラベルであると判定する。正と判定された個別データの顧客は、現時刻の次の時刻で商品またはサービスの利用を開始すると予測されることになる。負と判定された個別データの顧客は、現時刻の次の時刻ではまだ商品またはサービスの利用を開始しないと予測されることになる。なお、現時刻の次の時刻とは、現時刻に、定められた一定時間を加算した時刻である。
The test data label
テストデータラベル判定部74は、テストデータ内の各個別データに対するラベルの予測結果(判定結果)を、出力装置(図18において図示せず。)に出力させてもよい。
The test data label
普及予測装置7が備えるテストデータ生成部71、ラベル付けデータ生成部72、分類器生成部73、およびテストデータラベル判定部74は、例えば普及予測プログラムに従って動作するCPUによって実現される。すなわち、普及予測装置7に設けられた記憶装置から普及予測プログラムを読み込んだCPUがテストデータ生成部71、ラベル付けデータ生成部72、分類器生成部73、およびテストデータラベル判定部74として動作してもよい。
The test
また、閾値関数推定装置6および普及予測装置7が同一の情報処理装置によって実現されてもよい。そして、基準時刻データ群生成部61、閾値推定前時刻データ群生成部62、閾値推定前時刻分類器群生成部63、誤差群算出部64、関数推定部65、テストデータ生成部71、ラベル付けデータ生成部72、分類器生成部73、およびテストデータラベル判定部74が、普及予測プログラムに従って動作するCPUによって実現されていてもよい。
Further, the threshold
次に、動作について説明する。
図19および図20は、本実施形態における閾値関数推定装置6の処理経過の例を示すフローチャートである。例えば、入力装置(図18において図示せず。)を介して基準時刻データ群生成部61に複数の基準時刻、時刻間隔、および複数の仮閾値が入力されると、普及予測システムは以下のように動作する。なお、複数の基準時刻をCTime[t]と記す。変数tは、入力された複数の基準時刻を順番に指定するための変数であり、t=1,・・・,Uである。例えば、t=1であれば、1番目の基準時刻を指定していることを意味し、CTime[1]は1番目の基準時刻を表している。時刻間隔をΔtと記す。また、複数の仮閾値をFalseThr[i]と記す。ここで、変数iは、入力された複数の仮閾値を順番に指定するための変数であり、i=1,・・・,Vである。例えば、i=1であれば、1番目の仮閾値を指定していることを意味し、FalseThr[1]は1番目の仮閾値を表している。入力される基準時刻の数をU個とし、仮閾値の数をV個としている。
Next, the operation will be described.
FIG. 19 and FIG. 20 are flowcharts showing an example of processing progress of the threshold
基準時刻データ群生成部61は、基準時刻を指定する変数tを初期化してt=1とする。t=1であるので、1番目の基準時刻CTime[1]を選択していることになる。基準時刻データ群生成部61は、CTime[1]から時刻間隔Δtを減算して、閾値推定前時刻を求める。すなわち、閾値推定前時刻をCTime[1]−Δtに設定する(以上、ステップC1)。次に、基準時刻データ群生成部61は、t≦Uであるか否かを判定し(ステップC2)。t≦Uであれば(ステップC2におけるYes)、ステップC3に移行し、t>Uであれば(ステップC2におけるNo)、ステップC18に移行する。
The reference time data
ステップC2でt≦Uと判定した場合、基準時刻データ群生成部61は、tにより定まる基準時刻CTime[t]と、顧客DB2に記憶された顧客データとに基づいて、基準時刻データを生成する(ステップC3)。基準時刻データ群生成部61は、顧客DB2に記憶された顧客データを読み込み、基準時刻CTime[t]で商品またはサービスの利用を開始している顧客の個別データ(利用開始情報がCTime[t]以前の時刻を表している個別データ)に正をラベル付け、基準時刻CTime[t]で商品またはサービスの利用を開始していない顧客の個別データに負をラベル付けることによって、基準時刻データを生成する。このとき、基準時刻データ群生成部61は、例えば、顧客DB2に記憶されている顧客データに属する個別データのうち、CTime[t]に対応する閾値推定前時刻(CTime[t]−Δt)で商品またはサービスの利用を開始していた顧客の個別データを除外して基準時刻データを生成する。すなわち、利用開始情報が閾値推定前時刻以前の時刻となっている個別データを顧客データから除外し、残りの個別データに対して正または負のラベル付けを行って、基準時刻データを生成する。以下、閾値推定前時刻で利用開始していた顧客の個別データを除外して基準時刻データを生成する場合を例にして説明する。ステップC3の基準時刻データ生成処理は、第1の実施形態における現時刻データ生成処理と同様の処理である。
If it is determined in step C2 that t ≦ U, the reference time data
ステップC3の次に、閾値推定前時刻データ群62は、変数tにより定まる閾値推定前時刻(CTime[t]−Δt)と、顧客DB2に記憶された顧客データとに基づいて、閾値推定前時刻データを生成する(ステップC4)。閾値推定前時刻データ群62は、顧客DB2に記憶された顧客データを読み込み、閾値推定前時刻以前で商品またはサービスの利用を開始している顧客の個別データに正をラベル付け、閾値推定前時刻で商品またはサービスの利用を開始していない顧客の個別データに負をラベル付けることにより、閾値推定前時刻データを生成する。すなわち、使用開始情報が閾値推定前時刻以前の時刻となっている個別データに正をラベル付け、利用開始情報が前時刻以前の時刻でない個別データに負をラベル付けて、閾値推定前時刻データを生成する。
Next to step C3, the threshold pre-estimation
次に、閾値推定前時刻データ群62は、その閾値推定前時刻データを用いて普及率を計算する(ステップC5)。普及率は、顧客数に対する、閾値推定前時刻までに商品またはサービスの利用を開始した顧客数の割合であり、閾値推定前時刻データ中の各個別データは各顧客に対応している。従って、閾値推定前時刻データ中の全個別データ数に対する、閾値推定前時刻データ中の正がラベル付けられた個別データの数の割合が普及率となる。閾値推定前時刻データ群62は、閾値推定前時刻データ中の正がラベル付けられた個別データの数を、閾値推定前時刻データ中の全個別データ数で除算して普及率を求めればよい。この普及率を変数tを用いてD[t]と記す。閾値推定前時刻データ群62は、計算した普及率D[t]を記憶しておく。
Next, the threshold value pre-estimation
ステップC5の後、閾値推定前時刻分類器群生成部63は、閾値推定前時刻データを用いて、分類器を生成する(ステップC6)。例えば、分類器生成部63は、重回帰分析、回帰木、ニューラルネットワーク、サポートベクタマシン、ベイジアンネットワーク、決定木のアンサンブル学習などの出力が連続値であるデータマイニング手法のいずれかあるいはその組合せにより分類器を生成すればよい。
After Step C5, the threshold value pre-estimation time classifier
閾値推定前時刻分類器群生成部63は、例えば、アンサンブル学習の一種であるバギングを決定木に適用して、複数の決定木を生成し、その複数の決定木の組を分類器としてもよい。この場合の分類器作成処理の例を説明する。閾値推定前時刻分類器群生成部63は、閾値推定前時刻データから重複を許して一部の個別データを取り出して、その個別データの集合を用いて決定木を生成する。この処理を複数回繰り返すことにより、複数の決定木を生成し、その複数の決定木の組み合わせを一つの分類器とする。例えば、閾値推定前時刻データから取り出す個別データ数をK個とすると、閾値推定前時刻分類器群生成部63は、閾値推定前時刻データから重複を許してK個の個別データを取り出し、K個の個別データから決定木を生成することを繰り返せばよい。例えば、この繰り返し処理を500回行えば、500個の決定木が作成される。
For example, the threshold pre-estimation time classifier
以下の説明では、上記のようにバギングにより複数の決定木を生成し、その複数の決定木を分類器とする場合を例にする。 In the following description, a case where a plurality of decision trees are generated by bagging as described above and the plurality of decision trees are used as a classifier is taken as an example.
取り出した個別データから決定木を生成する処理は、第1の実施形態で前時刻データ群生成部32の分類器生成動作として例示した処理と同様である。すなわち、閾値推定前時刻分類器群生成部63は、どの項目(顧客の属性を表す項目)で最初に分割するのかを決定する。このとき、項目1〜Nの各項目について、分割時の評価値を計算し、その評価値が最大の項目を、分割に最も適した項目として選択すればよい。評価値として、例えば、分割前のノードのエントロピーと、分割後のエントロピーの差を用いればよい。閾値推定前時刻分類器群生成部63は、分割後の各ノードについても、上記と同様の処理を行い、次にどの項目で分割するのかを決定する処理を順次繰り返し、所定の条件が満たされたときには、ノードの分割を停止する。閾値推定前時刻分類器群生成部63は、このようにして得た木構造の決定木に対して、枝刈りを行うことにより、決定木を生成する。上記の所定の条件や枝刈りの処理も、第1の実施形態で示した所定の条件や枝刈り処理と同様である。
The process of generating a decision tree from the extracted individual data is the same as the process exemplified as the classifier generation operation of the previous time data
また、閾値推定前時刻データから取り出すK個の個別データの組み合わせが異なることにより、生成される決定木も異なる。個別データに対して上記のように得られた複数の決定木を適用し、その個別データのスコア(ラベルが正となる確からしさ)を求める場合、個々の決定木毎に、個別データに対するラベルの判定を行い、正(利用する)と判定された回数を、判定回数で除算することによってスコアを求める。例えば、分類器として500個の決定木を生成した場合、個別データに対して、それぞれの決定木を用いてラベル判定を行う。その結果、正と判定された回数をX回とすると、スコアとしてX/500を求める。 In addition, the decision tree generated differs depending on the combination of K pieces of individual data extracted from the time data before threshold estimation. When applying a plurality of decision trees obtained as described above to individual data and obtaining the score (probability that the label will be positive) of the individual data, the label of the individual data is determined for each individual decision tree. A score is determined by dividing the number of times determined to be positive (used) by the number of times of determination. For example, when 500 decision trees are generated as a classifier, label determination is performed on individual data using each decision tree. As a result, if the number of times determined to be positive is X, X / 500 is obtained as a score.
ステップC6において分類器が生成されると、誤差群算出部64は、誤差の最小値を示す変数ErrorMinの初期値を設定し、変数i,pに対して、i=1,p=0という初期値を設定する(ステップC7)。ErrorMinの初期値は、閾値算出部64が計算する誤差のとり得る値の最大値、あるいは、その誤差のとり得る値に比べて十分に大きな値であればよい。変数pは、最小の誤差に対応する仮閾値を指定するための変数である。例えば、最小語の誤差に対応する仮閾値がp個あったとすると、その最小誤差に対応する仮閾値の1番目からp番目までをそれぞれ、Thres[1],・・・,Thres[p]とする。
When the classifier is generated in step C6, the error
ステップC7の次に、誤差群算出部64は、仮閾値の番号iが仮閾値の数V以下であるか否かを判定する(ステップC8)。i≦Vならば(ステップC8のYes)、ステップC9に移行し、i>Vならば(ステップC8のNo)、ステップC16に移行する。
After step C7, the error
ステップC9では、誤差群算出部64は、ステップC6で生成された閾値推定前時刻分類器と、仮閾値FalseThr[i]とを用いて、ステップC3で生成された基準時刻データ内の各個別データのラベルを予測する(ステップC9)。本例では、誤差群算出部64は、基準時刻データ内の各個別データ毎に、その個別データにおける顧客の属性を示す項目と、分類器として生成されたそれぞれの決定木とを照合し、その個別データに対するラベルを判定する。決定木は複数存在するので、誤差群算出部64は、この判定を決定木毎に行い、その判定回数(決定木数)に対する正と判定された回数の割合を個別データのスコアとして求める。すなわち、誤差群算出部64は、一つの個別データに関し、「正と判定された回数/判定回数」を計算し、その値をスコアとする。さらに、誤差群算出部64は、変数iにより定まる仮閾値FalseThr[i]とそのスコアとを比較し、スコアがFalseThr[i]以上であれば、個別データに対するラベルが正であると予測し、スコアがFalseThr[i]未満であれば、個別データに対するラベルが負であると予測する。
In step C9, the error
次に、誤差群算出部64は、基準時刻データ内の各個別データにラベル付けられるラベルの予測結果と、基準時刻データとの誤差を算出する(ステップC10)。すなわち、基準時刻データ内の各個別データには、基準時刻データ生成時に正または負のラベルがラベル付けられているので、ステップC9での予測結果と、実際の基準時刻データでラベル付けられているラベルとの誤差を予測する。この誤差をErrorと記す。
Next, the error
誤差群算出部64は、ステップC10において、例えば、基準時刻データ内の個別データ毎に予測したラベルと、実際に基準時刻データの各個別データにラベル付けられているラベルとを比較し、両者が異なっている個別データ数をErrorとしてもよい。
In step C10, the error
あるいは、誤差群算出部64は、基準時刻データ内の個別データのうちステップC9で正がラベル付けられると予測した個別データの数と、ステップC3で生成された基準時刻データにおいて実際に正がラベル付けられた個別データの数との差の絶対値をErrorとしてもよい。
Alternatively, the error
ステップC10の後、関数推定部65は、ステップC10で計算された誤差Errorと最小誤差値ErrorMinとを比較し、ErrorがErrorMin未満であるか否かを判定する(ステップC11)。ErrorがErrorMin未満である場合(ステップC11におけるYes)、関数推定部65は、pを0に初期化し、ErrorMinにErrorを代入する(ステップC13)。また、ステップC13において、関数推定部65は、変数Sumを0に初期化する。なお、変数Sumは、誤差が最小となる仮閾値の和を格納するための変数であり、その仮閾値の平均値を計算するために用いられる。ErrorがErrorMin未満ということは、これまで最小としていた誤差よりもさらに小さい最小値が見つかったことを意味する。この場合、ステップC13において、その最小値でErrorMinを更新し、また、その誤差に対応する仮閾値が複数ある場合に各仮閾値を個別に指定するための変数pを初期化している。
After step C10, the
ステップC13の後、関数推定部65は、pの値を1インクリメントし、Sumの値に仮閾値FalseThr[i]を加算することによって、Sumを更新する(ステップC14)。すなわち、Sum+FalseThr[i]の値を新たなSumの値とするようにSumを更新する。また、ErrorがErrorMin以上であると判定した場合(ステップC11におけるNo)、関数推定部65は、ErrorがErrorMinと等しいか否かを判定する(ステップC12)。ここで等しいと判定した場合(ステップC12におけるYes)にも、関数推定部65は、pの値を1インクリメントし、Sumの値にFalseThr[i]を加算してSumを更新する(ステップC14)。
After step C13, the
ステップC13からステップC14に移行した場合、p=1であり、現在着目している仮閾値FalseThr[i]を、誤差が最小となる1番目の仮閾値とする。また、ステップC12でError=ErrorMinとなり、ステップC14に移行した場合、pは2以上の値となる。この場合、既に最小の誤差に対応する仮閾値は1つ以上見つかっていて、関数推定部65は、現在着目している仮閾値FlaseThr[i]を、誤差が最小となるp番目の仮閾値として定めることになる。
When the process proceeds from step C13 to step C14, p = 1, and the temporary threshold value FalseThr [i] currently focused on is set as the first temporary threshold value that minimizes the error. In Step C12, Error = ErrorMin, and when the process proceeds to Step C14, p becomes a value of 2 or more. In this case, one or more provisional threshold values corresponding to the minimum error have already been found, and the
ステップC14の後、あるいは、ステップC12でErrorがErrorMinと等しくないと判定した場合、関数推定部65は、仮閾値を示す変数iをインクリメントする(ステップC15)。その後、ステップC15でインクリメントされたiを用いて、ステップC8移行の処理を繰り返す。
After step C14 or when it is determined in step C12 that Error is not equal to ErrorMin, the
また、ステップC8でi>Vと判定された場合、関数推定部65は、tに対応する閾値(Thres[t]と記す。)の値を、Sum/pとする(ステップC16)。すなわち、最小誤差に対応する仮閾値の合計となるSumをその仮閾値の個数pで除算し、平均値を閾値とする。最小誤差に対応する仮閾値が1つしかなければ、Sumはその仮閾値の値となっているので、その仮閾値をThres[t]とすることになる。
If it is determined in step C8 that i> V, the
ステップC16の後、関数推定部65は、基準時刻を順番に指定するための変数tをインクリメントする(ステップC17)。ステップC17の後、インクリメントされたtを用いて、ステップC2以降の処理を繰り返す。
After step C16, the
ステップC2でt>Uと判定された場合、関数推定部65は、各閾値推定前時刻毎に求めた普及率D[t]および閾値Thres[t]から、普及率に対する閾値の関数である閾値関数を求める(ステップC18)。ステップC18に移行した時点で、各tにおける閾値推定間時刻が計算され、その閾値推定前時刻に対応する普及率D[t]および閾値Thres[t]が求められている。すなわち、普及率D[t]および閾値Thres[t]の組がU組求められている。関数推定部65は、この普及率D[t]および閾値Thres[t]の関係を曲線近似して、閾値関数を求めればよい。例えば、Thres[t]がD[t]を用いて、以下の式(1)で表されるとみなし、式(1)のパラメタa,bを推定すればよい。
When it is determined in step C2 that t> U, the
Thres[t]=a・D[t]+b 式(1) Thres [t] = a · D [t] + b Formula (1)
式(1)において、a,bは推定すべきパラメタである。普及率D[t]および閾値Thres[t]の組み合わせがU個求められており、関数推定部65は、例えば、そのU個の組み合わせ(閾値および普及率の組み合わせ)を用いて、最小二乗法によってパラメタa,bを計算してもよい。なお、パラメタaの値は、商品またはサービスの普及率が時間の経過と共に急激に上昇するなら低く、普及率の上昇が緩やかなら高くなる。aは、例えば、0.5などの値となる。パラメタbは、普及開始段階での普及率が急激に上昇するなら低く、普及率がほとんど上昇しないなら低くなる値であり、0以上1以下で、例えば0.05等の小さな値となる。
In equation (1), a and b are parameters to be estimated. U combinations of the penetration rate D [t] and the threshold value Thres [t] are obtained, and the
また、式(1)は、パラメタが定まっていない閾値関数の例であり、推定すべきパラメタを含む閾値関数は式(1)に限定されない。式(1)に例示する推定すべきパラメタを含む閾値関数は、普及予測システムのユーザに入力されてもよい。あるいは、予め定められていてもよい。 Moreover, Formula (1) is an example of a threshold function whose parameters are not determined, and the threshold function including the parameter to be estimated is not limited to Formula (1). The threshold function including the parameter to be estimated exemplified in Expression (1) may be input to the user of the spread prediction system. Alternatively, it may be determined in advance.
関数推定部65は、例えば最小二乗法などによりパラメタa,bを計算することによって、閾値関数を決定する。関数推定部65は、閾値関数を普及予測装置7(テストデータラベル判定部74)に入力する。
The
図21は、本実施形態における普及予測装置7の処理経過の例を示すフローチャートである。普及予測装置7は、例えば、関数推定部65から閾値関数が入力され、また、キーボードなどの入力装置を介して現時刻が入力されると、以下のように動作する。
FIG. 21 is a flowchart illustrating an example of processing progress of the
テストデータ生成部71は、テストデータを生成する(ステップD1)。この動作は、第2の実施形態におけるステップB1と同様である。ここでは、現時刻で商品またはサービスの利用を開始していない顧客の個別データのみを含むテストデータを生成する場合を例にして説明する。テストデータ生成部71は、顧客DB2に記憶されている顧客データの中から、現時刻で商品またはサービスの利用を開始していない顧客の個別データのみ(すなわち、利用開始情報が現時刻以前の時刻でない個別データのみ)を読み込み、その個別データの集合をテストデータとする。
The test
次に、ラベル付けデータ生成部72は、ラベル付けデータを生成する(ステップD2)。ラベル付けデータ生成部72は、顧客DB2に記憶された顧客データを読み込み、現時刻以前で商品またはサービスの利用を開始している顧客の個別データに正をラベル付け、現時刻で商品またはサービスの利用を開始していない顧客の個別データに負をラベル付けることにより、ラベル付けデータを生成する。
Next, the labeling
次に、ラベル付けデータ生成部72は、そのラベル付けデータから普及率を計算する(ステップD3)。ラベル付けデータ中の各個別データは各顧客に対応しているので、ラベル付けデータ中の全個別データに対する、ラベル付けデータ中の正がラベル付けられた個別データの数の割合が普及率となる。ラベル付けデータ生成部72は、ラベル付けデータ中の正がラベル付けられた個別データの数を、ラベル付けデータ中の全個別データ数で除算して普及率を求めればよい。
Next, the labeling
次に、分類器生成部73は、ラベル付けデータを用いて分類器を生成する(ステップD4)。この分類器は、閾値関数推定装置6の閾値推定前時刻分類器群生成部63が生成する分類器と同様である。本例では、バギングにより複数の決定木を生成し、その複数の決定木を分類器とするものとする。すなわち、分類器生成部73は、ラベル付けデータから重複を許して一部の個別データを取り出して、その個別データの集合を用いて決定木を生成する処理を繰り返して、複数の決定木を生成する。ラベル付けデータから取り出す個別データの数をK個とすると、分類器生成部73は、ラベル付けデータから重複を許してK個の個別データを取り出し、K個の個別データから決定木を生成することを繰り返せばよい。
Next, the
取り出した個別データから決定木を生成する処理は、第1の実施形態で前時刻データ群生成部32の分類器生成動作として例示した処理と同様である。分類器生成部73は、どの項目(顧客の属性を表す項目)で最初に分割するのかを決定する。このとき、項目1〜Nの各項目について、分割時の評価値を計算し、その評価値が最大の項目を、分割に最も適した項目として選択すればよい。評価値として、例えば、分割前のノードのエントロピーと、分割後のエントロピーの差を用いればよい。分類器生成部73は、分割後の各ノードについても、上記と同様の処理を行い、次にどの項目で分割するのかを決定する処理を順次繰り返し、所定の条件が満たされたときには、ノードの分割を停止する。また、分類器生成部73は、このようにして得た木構造の決定木に対して、枝刈りを行うことにより、決定木を生成する。上記の所定の条件や枝刈りの処理も、第1の実施形態で示した所定の条件や枝刈り処理と同様である。
The process of generating a decision tree from the extracted individual data is the same as the process exemplified as the classifier generation operation of the previous time data
テストデータラベル判定部74は、関数推定部65が推定した閾値関数に、ステップD3で算出した普及率を代入して、閾値を計算する(ステップD5)。
The test data label
次に、テストデータラベル判定部74は、ステップD4で生成された分類器およびステップD5で計算された閾値を用いてテストデータのラベルを予測する(ステップD6)。テストデータラベル判定部74は、ステップD6において、テストデータ中の各個別データ毎に以下の処理を行う。テストデータラベル判定部74は、個別データにおける顧客の属性を示す項目と、分類器として生成されたそれぞれの決定木とを照合し、その個別データに対するラベルを判定する。決定木は複数存在するので、テストデータラベル判定部74は、この判定を決定木毎に行い、その判定回数(決定木数)に対する正と判定された回数の割合を個別データのスコアとして求める。すなわち、テストデータラベル判定部74は、一つの個別データに関し、「正と判定された回数/判定回数」を計算し、その値をスコアとする。さらに、テストデータラベル判定部74は、ステップD5で計算された閾値とそのスコアとを比較し、スコアが閾値以上であれば、その個別データに対するラベルが正であると判定し、スコアが閾値未満であれば、その個別データに対するラベルが負であると判定する。
Next, the test data
テストデータラベル判定部74は、テストデータ内の個別データ毎に判定した正または負のラベルを、ディスプレイ装置などに表示させたり、印刷装置に印刷させたりしてもよい。
The test data label
本実施形態によれば、第2の実施形態と同様に、顧客が商品やサービスを利用し始める時期を顧客毎に予測することができる。また、本実施形態では、閾値関数を求めるときには、入力された複数の基準時刻毎に、また、複数の仮閾値毎にそれぞれ予測誤差(Error)を求め、誤差が最小となる閾値を求めて、閾値関数を推定するので、刻々と変動する受容性を閾値関数として推定することができる。また、重み付けを行う場合には、重み付けを行う毎に分類器を生成することになるが、本実施形態では、重み付けは行わないので、各仮閾値毎に誤差(Error)を算出するときに、仮閾値毎に分類器を生成する必要はなく、一つの分類器を用いてそれぞれの仮閾値における誤差を求めることができる。よって、分類器生成のための計算時間を短縮することができる。 According to the present embodiment, similarly to the second embodiment, it is possible to predict for each customer when the customer starts using the product or service. In the present embodiment, when obtaining a threshold function, a prediction error (Error) is obtained for each of a plurality of input reference times and for each of a plurality of temporary thresholds, and a threshold value that minimizes the error is obtained. Since the threshold function is estimated, the acceptability that changes every moment can be estimated as the threshold function. In addition, when performing weighting, a classifier is generated every time weighting is performed. However, in this embodiment, since weighting is not performed, when calculating an error (Error) for each provisional threshold, There is no need to generate a classifier for each temporary threshold, and an error in each temporary threshold can be obtained using one classifier. Therefore, the calculation time for generating the classifier can be shortened.
次に、第4の実施形態の変形例を示す。以下に示す第4の実施形態の変形例では、第2の実施形態の変形例(図14、図15参照)と同様に、現時刻を更新してテストデータに対する予測を繰り返す。 Next, a modification of the fourth embodiment is shown. In the following modification of the fourth embodiment, the current time is updated and prediction for test data is repeated, as in the modification of the second embodiment (see FIGS. 14 and 15).
図22は、第4の実施形態の変形例を示すブロック図である。既に説明した構成要素と同様の構成要素は、図18と同一の符号を付し、詳細な説明を省略する。普及予測装置7は、テストデータ生成部71と、ラベル付けデータ生成部72と、分類器生成部73と、テストデータラベル判定部74と、現時刻更新部75とを備える。現時刻更新部75は、第2の実施形態の変形例で示した現時刻更新部55と同様である。
FIG. 22 is a block diagram illustrating a modification of the fourth embodiment. The same components as those already described are denoted by the same reference numerals as those in FIG. 18, and detailed description thereof is omitted. The
本変形例では、テストデータラベル判定部74は、ステップD6での判定結果が実際の利用開始情報と異なっている個別データの利用開始情報を上書きして更新する。すなわち、個別データの利用開始情報が未利用を示していて、ステップD6で正と判定した場合、テストデータラベル判定部74は、顧客DB2に記憶されている顧客データ内におけるその個別データの利用開始情報を現時刻に一定の時間(Tとする。)分を加算した時刻に更新する。
In this modification, the test data
現時刻更新部75は、テストデータラベル判定部74がテストデータに対する判定を行った後、現時刻を一定の時間(T)分増加した時刻を新たな現時刻とするように、現時刻を更新する。現時刻更新部75も、例えば、普及予測プログラムに従って動作するCPUによって実現される。
The current
テストデータ生成部71、ラベル付けデータ生成部72、分類器生成部73、テストデータラベル判定部74は、現時刻が更新されると、更新後の現時刻および更新後の顧客データを用いて、ステップD1以降の処理を繰り返す。
When the current time is updated, the test
なお、この繰り返し処理の終了条件は、例えば、第2の実施形態の変形例と同様に、更新後の現時刻が、定められた期間(予測期間)を越えることとすればよい。現時刻更新部75は、更新後の現時刻が予測期間内であることを条件に現時刻の更新を行えばよい。予測期間は、例えば、普及予測システムのユーザによって予め入力されればよい。
Note that the condition for ending this iterative process may be, for example, that the updated current time exceeds a predetermined period (predicted period), as in the modification of the second embodiment. The current
現時刻更新部75は、更新後の現時刻が予測期間を越えると判定した場合、予測結果を出力装置(図22において図示せず。)に出力させてもよい。この出力態様は、図14に例示する第2の実施形態の変形例と同様である。例えば、普及曲線を出力してもよい。この場合、ステップD1に移行する毎に、現時刻更新部75(他の構成要素でもよい)が、現時刻において商品またはサービスの利用を開始している顧客の個別データ数を顧客DBの中からカウントし、そのカウント値と現時刻とを対応付けて記憶していけばよい。そして、現時刻更新部75は、現時刻を横軸にとり、カウント値を縦軸にとって、現時刻の変化に伴うカウント値の推移を示すグラフを作成して出力すればよい。
If the current
なお、本変形例において、顧客DB2に記憶されている個別データの利用開始情報を上書きするのではなく、個別データに当初から含まれている利用開始情報のコピーを利用開始時期予測情報としてコピーしておき、そのコピーを更新してもよい。
In this modification, instead of overwriting the use start information of the individual data stored in the
図23は、第4の実施形態の他の変形例を示すブロック図である。図18および図22では、普及予測システムが閾値関数推定装置6を備える場合を説明したが、図23に示すように、閾値関数推定装置6を備えていない構成であってもよい。図23に示すテストデータ生成部71、ラベル付けデータ生成部72、分類器生成部73、テストデータラベル判定部74の動作は、既に説明した動作と同様である。閾値関数推定装置6を備えない構成では、普及予測システムの外部から閾値関数が、テストデータラベル判定部74に入力されればよい。例えば、普及予測システムのユーザが、閾値関数を入力してもよい。本変形例においても、閾値関数推定装置6は現時刻更新部75を備えてよい。
FIG. 23 is a block diagram illustrating another modification of the fourth embodiment. 18 and 22, the case where the spread prediction system includes the threshold
本実施例では、性別、年齢、既存の製品の購買履歴、イノベータ特性、接触メディアを、顧客の特徴を示す項目とし、それらの項目とともに利用開始時期を含む顧客データを顧客DB2に予め記憶させた。特定製品の発売時期から4年間の間にその製品の利用を開始した顧客の個別データに関しては、顧客がその製品の利用開始時期を利用開始情報として定めた。その4年間の間にまだ製品の利用を開始していない顧客の個別データに関しては、利用開始情報として未利用を意味する「?」を定めた。利用開始情報として購買時期(利用開始時期)が記述された顧客は顧客DB2に記憶された顧客数全体の8.4%であり、利用開始情報として未利用を意味する「?」が記述された顧客は顧客DB2に記憶された顧客数全体の91.6%であった。また、各顧客毎に、顧客の特徴を示す上記の項目を定めた。項目の値が不明な場合には、その項目の値として、不明を意味する「?」を記述した。
In this embodiment, gender, age, purchase history of existing products, innovator characteristics, and contact media are items indicating customer characteristics, and customer data including use start time is stored in the
以上のような顧客データを顧客DB2に予め記憶させ、第1の実施形態の影響度推定システムに適用した。その結果、影響度推定システムが影響度を推定した結果、影響度は0.191であった。
The customer data as described above was previously stored in the
また、この影響度0.191を、第2の実施形態の普及予測システム(図14)に適用した。普及予測システムが出力した普及曲線の例を図24に示す。発売開始後4年目の普及率は8.4%であり、このときの関数値は、0.191×(100−8.4)/8.4≒2であり、4年目を現時刻とする予測では利用開始した顧客は未利用の顧客の2倍に重み付けた。以降の時刻を現時刻とするときにも影響度は0.191で一定としたが、関数値は普及率の増加に伴い減少し、重み付けも少なくした。 Moreover, this influence degree 0.191 was applied to the spread prediction system (FIG. 14) of 2nd Embodiment. An example of the diffusion curve output by the diffusion prediction system is shown in FIG. The penetration rate in the 4th year after the start of sales is 8.4%, and the function value at this time is 0.191 × (100−8.4) /8.4≈2, and the current time in the 4th year According to the prediction, the customers who have started to use are weighted twice as much as the unused customers. Even when the subsequent time is the current time, the influence level is constant at 0.191, but the function value decreases as the penetration rate increases and the weighting is also reduced.
また、普及予測システムによって得られた普及曲線を検証するため、製品発売後4年目から6年目までの2年間の普及実績も調査した。 In addition, in order to verify the penetration curve obtained by the penetration prediction system, we also investigated the penetration results for two years from the 4th year to the 6th year after product launch.
図24に示す実線は、普及予測システムが出力した普及曲線である。また、+でプロットした曲線は、製品発売後4年目までの普及の実績を示している。四角形でプロットした曲線は、製品発売後4年目から6年目までの2年間の普及の実績を示している。図24に示すように、普及予測システムが出力した普及曲線(図24に示す実線)は、普及の実績(図24に示す四角形のプロット)に、極めて近かった。 The solid line shown in FIG. 24 is a diffusion curve output by the diffusion prediction system. In addition, the curve plotted with + indicates the results of popularization up to the fourth year after product release. The curve plotted with a rectangle shows the results of popularization for 2 years from the 4th year to the 6th year after product launch. As shown in FIG. 24, the diffusion curve output by the diffusion prediction system (solid line shown in FIG. 24) was very close to the actual achievement of diffusion (rectangular plot shown in FIG. 24).
本発明は、例えば、個別の顧客毎に商品やサービスの利用開始時期を予測する普及予測システムに好適に適用される。また、指定した時点での影響度を推定する影響度推定システムに好適に適用される。 The present invention is preferably applied to, for example, a spread prediction system that predicts the use start time of goods and services for each individual customer. Further, the present invention is suitably applied to an influence degree estimation system that estimates an influence degree at a designated time.
2 顧客データベース
31 現時刻データ生成部
32 前時刻データ群生成部
33 前時刻分類器群生成部
34 誤差群算出部
35 影響度算出部
51 テストデータ生成部
52 学習データ生成部
53 分類器生成部
54 テストデータラベル判定部
55 現時刻更新部
61 基準時刻データ群生成部
62 閾値推定前時刻データ群生成部
63 閾値推定前時刻分類器群生成部
64 誤差群算出部
65 関数推定部
71 テストデータ生成部
72 ラベル付けデータ生成部
73 分類器生成部
74 テストデータラベル判定部
2
Claims (36)
前記顧客データベースを用いて、判定対象時刻を定める現時刻で商品またはサービスの利用を開始していない顧客の個別データを含むデータであるテストデータを生成するテストデータ生成部と、
前記現時刻で前記商品またはサービスの利用を開始している顧客の個別データに第1ラベルをラベル付け、前記商品またはサービスの利用を開始していない顧客の個別データに第2ラベルをラベル付け、第1ラベルをラベル付けた個別データ数を、ある期間の中で商品またはサービスの顧客が他の者にその商品またはサービスの利用を喚起させる度合いである影響度に応じて変動させたデータである学習データを生成する学習データ生成部と、
前記顧客の属性を表す項目から当該顧客の個別データに第1ラベルと第2ラベルのいずれをラベル付けるかを判定するルールである分類器を、前記学習データに基づいて生成する分類器生成部と、
前記分類器と前記テストデータ内の各個別データの項目とから、前記テストデータ内の各個別データに対するラベルを判定するテストデータラベル判定部とを備える
ことを特徴とする普及予測システム。 When the customer starts using the product or service, the use start information indicates the use start time of the product or service, and when the product or service is not used, the use start information indicating that the product or service is not used, and the use start A customer database that stores customer data that is a collection of individual data for each customer including one or more items representing customer attributes other than information;
Using the customer database, a test data generating unit that generates test data that is data including individual data of customers who have not started using goods or services at the current time for determining the determination target time;
Label individual data of customers who have started using the goods or services at the current time, label second data to individual data of customers who have not started using the goods or services, This is data in which the number of individual data labeled with the first label is changed according to the degree of influence, which is the degree that the customer of the product or service urges others to use the product or service within a certain period. A learning data generation unit for generating learning data;
A classifier generator that generates a classifier, which is a rule for determining which of the customer's individual data is labeled with the first label or the second label from the item representing the customer's attribute, based on the learning data; ,
A spread prediction system comprising: a test data label determination unit that determines a label for each individual data in the test data from the classifier and each individual data item in the test data.
テストデータラベル判定部は、第1ラベルがラベル付けられると判定した個別データに対して、利用開始時期を示す情報を付与し、
テストデータ生成部は、現時刻が更新された際に、更新後の現時刻におけるテストデータを生成し、
学習データ生成部は、現時刻が更新された際に、更新後の現時刻における学習データを生成し、
分類器生成部は、現時刻が更新されて新たに学習データが生成された際に、当該学習データに基づいて新たに分類器を生成し、
テストデータラベル判定部は、現時刻が更新されて新たにテストデータが生成された際に、前記分類器と前記テストデータ内の各個別データの項目とから、前記テストデータ内の各個別データに対するラベルを判定する
請求項1に記載の普及予測システム。 A current time update unit that sets a new current time as a time obtained by increasing the current time by a certain amount of time;
The test data label determination unit gives information indicating the use start time to the individual data determined to be labeled with the first label,
When the current time is updated, the test data generation unit generates test data at the current time after the update,
When the current time is updated, the learning data generation unit generates learning data at the current time after the update,
When the current time is updated and new learning data is generated, the classifier generator generates a new classifier based on the learning data,
When the current time is updated and new test data is generated, the test data label determination unit determines whether the individual data in the test data from the classifier and the individual data items in the test data. The spread prediction system according to claim 1, wherein a label is determined.
請求項1または請求項2に記載の普及予測システム。 The test data generation unit generates test data from customer data stored in the customer database, excluding individual data of customers who have started using goods or services at the current time. The spread prediction system described.
請求項1から請求項3のうちのいずれか1項に記載の普及予測システム。 The learning data generation unit is an individual data in which the first label is labeled as a function value multiple of a function having a ratio of the number of customers who have started using a product or service and the number of customers who have not started yet as a coefficient of influence. The spread prediction system according to any one of claims 1 to 3, wherein learning data is generated by increasing the number.
請求項1から請求項3のうちのいずれか1項に記載の普及予測システム。 The learning data generation unit increases the number of individual data labeled with the first label to a function value multiple of the function having the ratio of the number of customers who have started using the product or service and the total number of customers as a coefficient of influence. The diffusion prediction system according to any one of claims 1 to 3, wherein learning data is generated.
請求項1から請求項5のうちのいずれか1項に記載の普及予測システム。 The classifier generation unit labels the first label among the individual data labeled with the second label in the test data as the ratio of the individual data labeled with the first label in the learning data increases. 6. A classifier that generates a high frequency of determining that the first label is labeled with respect to individual data having an item value similar to the item value of the attached individual data is generated. The spread prediction system according to claim 1.
請求項1から請求項6のうちのいずれか1項に記載の普及予測システム。 The diffusion prediction system according to any one of claims 1 to 6, wherein the learning data generation unit generates learning data using an influence degree input from outside the diffusion prediction system.
個々の仮影響度毎に、前時刻で前記商品またはサービスの利用を開始している顧客の個別データに第1ラベルをラベル付け、前記商品またはサービスの利用を開始していない顧客の個別データに第2ラベルをラベル付け、第1ラベルをラベル付けた個別データ数を前記仮影響度に応じて変動させたデータである前時刻データを生成する前時刻データ群生成部と、
個々の前時刻データ毎に、前記顧客の属性を表す項目から当該顧客の個別データに第1ラベルと第2ラベルのいずれをラベル付けるかを判定するルールである分類器を前記前時刻に基づいて生成する前時刻分類器群生成部と、
前時刻データ毎に生成された個々の分類器毎に、当該分類器と前記現時刻データ内の各個別データの項目とから前記現時刻データ内の個別データにラベル付けられるラベルを予測し、予測結果と前記現時刻データとの誤差を算出する誤差群算出部と、
個々の分類器毎に算出された誤差のうち、最小の誤差を特定し、最小の誤差に対応する仮影響度が1つである場合には、当該仮影響度を影響度として定め、最小の誤差に対応する仮影響度が複数個存在する場合には、前記複数の仮影響度に基づいて影響度を定める影響度算出部とを備える
請求項1から請求項6のうちのいずれか1項に記載の普及予測システム。 The current time that is used as the target time for determining the determination target time and the degree of influence estimation, the time interval for designating a predetermined time before the current time, and a plurality of temporary influence degrees that are candidates for the influence degree are input. Calculating a previous time that is a time before the time interval from the current time, and using a customer database, a first label is added to individual data of a customer who has started using the product or service at the current time A current time data generation unit for generating current time data by labeling and labeling a second label on individual data of a customer who has not started using the product or service;
For each temporary influence degree, the first label is labeled on the individual data of the customer who has started using the product or service at the previous time, and the individual data of the customer who has not started using the product or service A previous time data group generation unit that generates the previous time data, which is data obtained by labeling the second label and changing the number of individual data labeled with the first label according to the temporary influence degree;
Based on the previous time, a classifier that is a rule for determining whether to label individual customer data from the item representing the customer attribute for each individual previous time data. A previous time classifier group generation unit to generate;
For each classifier generated for each previous time data, predict the label that is labeled on the individual data in the current time data from the classifier and the individual data items in the current time data, and predict An error group calculation unit for calculating an error between the result and the current time data;
Among the errors calculated for each classifier, the smallest error is specified, and when there is one temporary influence corresponding to the smallest error, the temporary influence is determined as the influence, 7. The apparatus according to claim 1, further comprising an influence degree calculation unit that determines an influence degree based on the plurality of temporary influence degrees when there are a plurality of temporary influence degrees corresponding to the errors. The spread prediction system described in 1.
請求項8に記載の普及予測システム。 The current time data generation unit generates current time data from a set of individual data excluding the individual data of the customer who started using the product or service at the previous time among the customer data stored in the customer database. The spread prediction system according to claim 8.
請求項8または請求項9に記載の普及予測システム。 The previous time data group generator is a function value multiple of the function that uses the ratio of the number of customers who have started using goods or services at the previous time and the number of customers who have not started at the previous time as a coefficient of temporary impact. The spread prediction system according to claim 8 or 9, wherein the previous time data is generated by increasing the number of individual data labeled with the first label.
請求項8または請求項9に記載の普及予測システム。 The previous time data group generation unit labels the first label as a function value multiple of a function having the ratio of the number of customers who have started using the product or service at the previous time and the total number of customers as a coefficient of temporary impact. The spread prediction system according to claim 8 or 9, wherein the previous time data is generated by increasing the number of attached individual data.
請求項8から請求項11のうちのいずれか1項に記載の普及予測システム。 For each classifier generated for each previous time data, the error group calculation unit labels the individual data in the current time data from the classifier and the individual data items in the current time data. 12. The label is predicted, and the number of individual data in which the predicted label and the label actually labeled with the current time data are different is calculated as an error. The spread prediction system described in 1.
請求項8から請求項11のうちのいずれか1項に記載の普及予測システム。 For each classifier generated for each previous time data, the error group calculation unit labels the individual data in the current time data from the classifier and the individual data items in the current time data. 9. The label is predicted, and the absolute value of the difference between the number of individual data predicted that the first label is labeled and the number of individual data labeled with the first label in the current time data is calculated as an error. The spread prediction system according to any one of claims 11 to 11.
ある期間の中で商品またはサービスの顧客が他の者にその商品またはサービスの利用を喚起させる度合いである影響度の推定対象時刻として用いられる現時刻と、前記現時刻の一定時間前を指定するための時刻間隔と、影響度の候補である複数の仮影響度とが入力され、前記現時刻から前記時刻間隔前の時刻である前時刻を計算し、前記顧客データベースを用いて、前記現時刻で前記商品またはサービスの利用を開始している顧客の個別データに第1ラベルをラベル付け、前記商品またはサービスの利用を開始していない顧客の個別データに第2ラベルをラベル付けた現時刻データを生成する現時刻データ生成部と、
個々の仮影響度毎に、前時刻で前記商品またはサービスの利用を開始している顧客の個別データに第1ラベルをラベル付け、前記商品またはサービスの利用を開始していない顧客の個別データに第2ラベルをラベル付け、第1ラベルをラベル付けた個別データ数を前記仮影響度に応じて変動させたデータである前時刻データを生成する前時刻データ群生成部と、
個々の前時刻データ毎に、前記顧客の属性を表す項目から当該顧客の個別データに第1ラベルと第2ラベルのいずれをラベル付けるかを判定するルールである分類器を前記前時刻に基づいて生成する前時刻分類器群生成部と、
前時刻データ毎に生成された個々の分類器毎に、当該分類器と前記現時刻データ内の各個別データの項目とから前記現時刻データ内の個別データにラベル付けられるラベルを予測し、予測結果と前記現時刻データとの誤差を算出する誤差群算出部と、
個々の分類器毎に算出された誤差のうち、最小の誤差を特定し、最小の誤差に対応する仮影響度が1つである場合には、当該仮影響度を影響度として定め、最小の誤差に対応する仮影響度が複数個存在する場合には、前記複数の仮影響度に基づいて影響度を定める影響度算出部とを備える
ことを特徴とする影響度推定システム。 When the customer starts using the product or service, the use start information indicates the use start time of the product or service, and when the product or service is not used, the use start information indicating that the product or service is not used, and the use start A customer database that stores customer data that is a collection of individual data for each customer including one or more items representing customer attributes other than information;
Specify the current time used as an estimation target time of the degree of influence, which is the degree to which the customer of the product or service urges others to use the product or service within a certain period, and a certain time before the current time Time interval and a plurality of temporary influence levels that are candidates for influence level are input, a previous time that is a time before the time interval is calculated from the current time, and the current time is calculated using the customer database. Current data is obtained by labeling individual data of customers who have started using the product or service with a first label and labeling individual data of customers who have not started using the product or service with a second label. A current time data generation unit for generating
For each temporary influence degree, the first label is labeled on the individual data of the customer who has started using the product or service at the previous time, and the individual data of the customer who has not started using the product or service A previous time data group generation unit that generates the previous time data, which is data obtained by labeling the second label and changing the number of individual data labeled with the first label according to the temporary influence degree;
Based on the previous time, a classifier that is a rule for determining whether to label individual customer data from the item representing the customer attribute for each individual previous time data. A previous time classifier group generation unit to generate;
For each classifier generated for each previous time data, predict the label that is labeled on the individual data in the current time data from the classifier and the individual data items in the current time data, and predict An error group calculation unit for calculating an error between the result and the current time data;
Among the errors calculated for each classifier, the smallest error is specified, and when there is one temporary influence corresponding to the smallest error, the temporary influence is determined as the influence, An influence degree estimation system comprising: an influence degree calculation unit that determines an influence degree based on the plurality of provisional influence degrees when there are a plurality of provisional influence degrees corresponding to errors.
請求項14に記載の影響度推定システム。 The current time data generation unit generates current time data from a set of individual data excluding the individual data of the customer who started using the product or service at the previous time among the customer data stored in the customer database. The influence estimation system according to claim 14.
請求項14または請求項15に記載の影響度推定システム。 The previous time data group generator is a function value multiple of the function that uses the ratio of the number of customers who have started using goods or services at the previous time and the number of customers who have not started at the previous time as a coefficient of temporary impact. The influence estimation system according to claim 14 or 15, wherein the previous time data is generated by increasing the number of individual data labeled with the first label.
請求項14または請求項15に記載の影響度推定システム。 The previous time data group generation unit labels the first label as a function value multiple of a function having the ratio of the number of customers who have started using the product or service at the previous time and the total number of customers as a coefficient of temporary impact. The influence estimation system according to claim 14 or 15, wherein the previous time data is generated by increasing the number of attached individual data.
請求項14から請求項17のうちのいずれか1項に記載の影響度推定システム。 For each classifier generated for each previous time data, the error group calculation unit labels the individual data in the current time data from the classifier and the individual data items in the current time data. 18. The label is predicted, and the number of individual data in which the predicted label and the label actually labeled with the current time data are different is calculated as an error. The impact estimation system described in.
請求項14から請求項17のうちのいずれか1項に記載の影響度推定システム。 For each classifier generated for each previous time data, the error group calculation unit labels the individual data in the current time data from the classifier and the individual data items in the current time data. The label is predicted, and the absolute value of the difference between the number of individual data predicted to be labeled with the first label and the number of individual data with the first label labeled with the current time data is calculated as an error. The influence degree estimation system according to claim 1.
前記顧客データベースを用いて、判定対象時刻を定める現時刻で商品またはサービスの利用を開始していない顧客の個別データを含むデータであるテストデータを生成するテストデータ生成部と、
前記現時刻で前記商品またはサービスの利用を開始している顧客の個別データに第1ラベルをラベル付け、前記商品またはサービスの利用を開始していない顧客の個別データに第2ラベルをラベル付けたラベル付けデータを生成し、前記ラベル付けデータ中の第1ラベルでラベル付けられた個別データ数の割合を前記商品またはサービスの普及率として計算するラベル付けデータ生成部と、
前記顧客の属性を表す項目から当該顧客の個別データに第1ラベルがラベル付けられる確からしさのスコアを定めるルールである分類器を、前記ラベル付けデータに基づいて生成する分類器生成部と、
普及率に対するスコアの閾値の関数である閾値関数にラベル付けデータ生成部が計算した普及率を代入して閾値を算出し、前記分類器と前記テストデータ内の各個別データの項目とから、前記テストデータ内の各個別データに第1ラベルがラベル付けられる確からしさのスコアを定め、前記テストデータ内の個別データのうちスコアが前記閾値以上である個別データに対するラベルが第1ラベルであると判定し、スコアが前記閾値未満の個別データに対するラベルが第2ラベルであると判定するテストデータラベル判定部とを備える
ことを特徴とする普及予測システム。 When the customer starts using the product or service, the use start information indicates the use start time of the product or service, and when the product or service is not used, the use start information indicating that the product or service is not used, and the use start A customer database that stores customer data that is a collection of individual data for each customer including one or more items representing customer attributes other than information;
Using the customer database, a test data generating unit that generates test data that is data including individual data of customers who have not started using goods or services at the current time for determining the determination target time;
The first label is labeled on individual data of customers who have started using the product or service at the current time, and the second label is labeled on individual data of customers who have not started using the product or service. A labeling data generating unit that generates labeling data and calculates a ratio of the number of individual data labeled with the first label in the labeling data as a penetration rate of the product or service;
A classifier generating unit that generates a classifier that is a rule for determining a probability score that the first label is labeled on the individual data of the customer from the item representing the attribute of the customer based on the labeling data;
By substituting the penetration rate calculated by the labeling data generation unit into a threshold function that is a function of the threshold value of the score for the penetration rate, the threshold value is calculated, and from the individual data items in the classifier and the test data, A score of the probability that the first label is labeled to each individual data in the test data is determined, and it is determined that the label for the individual data in which the score is equal to or higher than the threshold among the individual data in the test data is the first label And a test data label determination unit that determines that the label for the individual data having a score less than the threshold is the second label.
テストデータラベル判定部は、第1ラベルがラベル付けられると判定した個別データに対して、利用開始時期を示す情報を付与し、
テストデータ生成部は、現時刻が更新された際に、更新後の現時刻におけるテストデータを生成し、
ラベル付けデータ生成部は、現時刻が更新された際に、更新後の現時刻におけるラベル付けデータを生成し、当該ラベル付けデータにおける普及率を計算し、
分類器生成部は、現時刻が更新されて新たにラベル付けデータが生成された際に、当該ラベル付けデータに基づいて新たに分類器を生成し、
テストデータラベル判定部は、現時刻が更新されて新たにテストデータが生成された際に、前記分類器と前記テストデータ内の各個別データの項目とから、前記テストデータ内の各個別データに第1ラベルがラベル付けられる確からしさのスコアを定め、閾値関数にラベル付けデータ生成部が計算した普及率を代入して新たに閾値を算出し、前記テストデータ内の個別データのうちスコアが前記閾値以上である個別データに対するラベルが第1ラベルであると判定し、スコアが前記閾値未満の個別データに対するラベルが第2ラベルであると判定する
請求項20に記載の普及予測システム。 A current time update unit that sets a new current time as a time obtained by increasing the current time by a certain amount of time;
The test data label determination unit gives information indicating the use start time to the individual data determined to be labeled with the first label,
When the current time is updated, the test data generation unit generates test data at the current time after the update,
When the current time is updated, the labeling data generation unit generates the labeling data at the current time after the update, calculates the diffusion rate in the labeling data,
When the current time is updated and new labeling data is generated, the classifier generator generates a new classifier based on the labeling data,
When the current time is updated and new test data is generated, the test data label determination unit converts each individual data in the test data from the classifier and each individual data item in the test data. A score of the probability that the first label is labeled is determined, a threshold value is newly calculated by substituting the penetration rate calculated by the labeling data generation unit into the threshold function, and the score among the individual data in the test data is The spread prediction system according to claim 20, wherein a label for individual data that is equal to or greater than a threshold is determined to be a first label, and a label for individual data having a score less than the threshold is determined to be a second label.
請求項20または請求項21に記載の普及予測システム。 The test data generation unit generates test data excluding individual data of customers who have started using goods or services at the current time from customer data stored in a customer database. The spread prediction system described.
個々の閾値推定前時刻毎に、閾値推定前時刻で前記商品またはサービスの利用を開始している顧客の個別データに第1ラベルをラベル付け、前記商品またはサービスの利用を開始していない顧客の個別データに第2ラベルをラベル付けたデータである閾値推定前時刻データを生成し、前記閾値推定前時刻データ中の第1ラベルでラベル付けられた個別データ数の割合を前記商品またはサービスの普及率として計算する閾値推定前時刻データ群生成部と、
個々の閾値推定前時刻データ毎に、前記顧客の属性を表す項目から当該顧客の個別データに第1ラベルがラベル付けられる確からしさのスコアを定めるルールである分類器を、閾値推定前時刻データに基づいて生成する閾値推定前時刻分類器群生成部と、
閾値推定前時刻データ毎に生成された個々の分類器毎に、当該分類器と前記基準時刻データ内の各個別データの項目とから、前記基準時刻データ内の各個別データに第1ラベルがラベル付けられる確からしさのスコアを定め、個々の仮閾値について、スコアが仮閾値以上である個別データのラベルが第1ラベルであると予測し、スコアが閾値未満の個別データのラベルが第2ラベルであると予測し、予測結果と基準時刻データとの誤差を算出する誤差群算出部と、
個々の分類器毎に各仮閾値について算出された誤差のうちの最小の誤差を特定し、最小の誤差に対応する仮閾値が1つである場合には、当該仮閾値を分類器に対応する閾値推定前時刻での閾値とし、最小の誤差に対応する仮閾値が複数個存在する場合には前記複数の仮閾値に基づいて分類器に対応する閾値推定前時刻での閾値を定め、各閾値推定前時刻に対応する閾値および普及率から閾値関数を推定する関数推定部とを備える
請求項20から請求項22のうちのいずれか1項に記載の普及予測システム。 A plurality of reference times for determining a threshold estimation target time, a time interval for designating a predetermined time before each reference time, and a plurality of temporary thresholds that are threshold candidates are input, and for each reference time , Calculate the time before threshold estimation that is the time before the time interval from the reference time, and use the customer database to put the first label on the individual data of the customer who has started using the goods or services at the reference time A reference time data group generation unit for generating reference time data for labeling and labeling a second label on individual data of a customer who has not started using the product or service;
For each individual pre-threshold estimation time, a first label is labeled on the individual data of the customer who has started using the product or service at the pre-threshold estimation time. Generate time data before threshold estimation, which is data obtained by labeling individual data with a second label, and determine the ratio of the number of individual data labeled with the first label in the time data before threshold estimation. Time threshold value pre-estimation data group generation unit to calculate as a rate,
For each pre-threshold time estimation data, a classifier that is a rule for determining the probability score that the first label is labeled on the individual data of the customer from the item representing the customer attribute is used as the pre-threshold time data. A threshold value pre-estimation time classifier group generation unit to be generated based on:
For each classifier generated for each time data before threshold estimation, a first label is labeled on each individual data in the reference time data from the classifier and each individual data item in the reference time data. The probability score to be attached is determined, and for each temporary threshold, the label of the individual data whose score is equal to or higher than the temporary threshold is predicted to be the first label, and the label of the individual data whose score is less than the threshold is the second label An error group calculation unit that predicts that there is an error and calculates an error between the prediction result and the reference time data;
The minimum error among the errors calculated for each temporary threshold is specified for each individual classifier, and when there is one temporary threshold corresponding to the minimum error, the temporary threshold is associated with the classifier. When there are a plurality of temporary threshold values corresponding to the minimum error, the threshold value at the time before threshold estimation corresponding to the classifier is determined based on the plurality of temporary threshold values. The spread prediction system according to any one of claims 20 to 22, further comprising: a function estimation unit that estimates a threshold function from a threshold corresponding to a pre-estimation time and a spread rate.
請求項20から請求項22のうちのいずれか1項に記載の普及予測システム。 The spread prediction system according to any one of claims 20 to 22, wherein the test data label determination unit calculates a threshold using a threshold function input from outside the spread prediction system.
前記現時刻で前記商品またはサービスの利用を開始している顧客の個別データに第1ラベルをラベル付け、前記商品またはサービスの利用を開始していない顧客の個別データに第2ラベルをラベル付け、第1ラベルをラベル付けた個別データ数を、ある期間の中で商品またはサービスの顧客が他の者にその商品またはサービスの利用を喚起させる度合いである影響度に応じて変動させたデータである学習データを生成し、
前記顧客の属性を表す項目から当該顧客の個別データに第1ラベルと第2ラベルのいずれをラベル付けるかを判定するルールである分類器を、前記学習データに基づいて生成し、
前記分類器と前記テストデータ内の各個別データの項目とから、前記テストデータ内の各個別データに対するラベルを判定する
ことを特徴とする普及予測方法。 When the customer starts using the product or service, the use start information indicates the use start time of the product or service, and when the product or service is not used, the use start information indicating that the product or service is not used, and the use start Use a customer database that stores customer data, which is a set of individual data for each customer, including one or more items representing customer attributes other than information, and use the product or service at the current time that determines the time to be judged Generate test data that includes individual data for customers who have not started,
Label individual data of customers who have started using the goods or services at the current time, label second data to individual data of customers who have not started using the goods or services, This is data in which the number of individual data labeled with the first label is changed according to the degree of influence, which is the degree that the customer of the product or service urges others to use the product or service within a certain period. Generate learning data,
Based on the learning data, a classifier that is a rule for determining which one of the first label and the second label to label the individual data of the customer from the item representing the attribute of the customer,
A spread prediction method, wherein a label for each individual data in the test data is determined from the classifier and each individual data item in the test data.
前記現時刻を一定の時間分増加した時刻を新たな現時刻に更新し、
現時刻を更新した際に、更新後の現時刻におけるテストデータを生成し、
現時刻を更新した際に、更新後の現時刻における学習データを生成し、
現時刻を更新して新たに学習データを生成した際に、当該学習データに基づいて新たに分類器を生成し、
現時刻を更新して新たにテストデータを生成した際に、前記分類器と前記テストデータ内の各個別データの項目とから、前記テストデータ内の各個別データに対するラベルを判定する
請求項25に記載の普及予測方法。 For each piece of data that is determined to be labeled with the first label, information indicating the use start time is given,
Update the current time increased by a certain amount of time to a new current time,
When the current time is updated, test data at the current time after the update is generated,
When the current time is updated, learning data at the updated current time is generated,
When the current time is updated and new learning data is generated, a new classifier is generated based on the learning data,
The label for each individual data in the test data is determined from the classifier and each individual data item in the test data when the current time is updated and new test data is generated. The spread forecast method described.
前記現時刻で前記商品またはサービスの利用を開始している顧客の個別データに第1ラベルをラベル付け、前記商品またはサービスの利用を開始していない顧客の個別データに第2ラベルをラベル付けたラベル付けデータを生成し、前記ラベル付けデータ中の第1ラベルでラベル付けられた個別データ数の割合を前記商品またはサービスの普及率として計算し、
前記顧客の属性を表す項目から当該顧客の個別データに第1ラベルがラベル付けられる確からしさのスコアを定めるルールである分類器を、前記ラベル付けデータに基づいて生成し、
普及率に対するスコアの閾値の関数である閾値関数に計算した普及率を代入して閾値を算出し、前記分類器と前記テストデータ内の各個別データの項目とから、前記テストデータ内の各個別データに第1ラベルがラベル付けられる確からしさのスコアを定め、前記テストデータ内の個別データのうちスコアが前記閾値以上である個別データに対するラベルが第1ラベルであると判定し、スコアが前記閾値未満の個別データに対するラベルが第2ラベルであると判定する
ことを特徴とする普及予測方法。 When the customer starts using the product or service, the use start information indicates the use start time of the product or service, and when the product or service is not used, the use start information indicating that the product or service is not used, and the use start Use a customer database that stores customer data, which is a set of individual data for each customer, including one or more items representing customer attributes other than information, and use the product or service at the current time that determines the time to be judged Generate test data that includes individual data for customers who have not started,
The first label is labeled on individual data of customers who have started using the product or service at the current time, and the second label is labeled on individual data of customers who have not started using the product or service. Generating labeling data, calculating a ratio of the number of individual data labeled with the first label in the labeling data as a penetration rate of the product or service,
Based on the labeling data, a classifier that is a rule for determining a probability score that the first label is labeled on the individual data of the customer from the item representing the customer attribute,
The threshold value is calculated by substituting the calculated penetration rate into a threshold function that is a function of the threshold value of the score with respect to the penetration rate, and each individual item in the test data is calculated from the classifier and each individual data item in the test data. A score of probability that the first label is labeled on the data is determined, and among the individual data in the test data, it is determined that the label for the individual data having a score equal to or higher than the threshold is the first label, and the score is the threshold It determines that the label with respect to less than individual data is a 2nd label, The penetration prediction method characterized by the above-mentioned.
前記現時刻を一定の時間分増加した時刻を新たな現時刻に更新し、
現時刻を更新した際に、更新後の現時刻におけるテストデータを生成し、
現時刻を更新した際に、更新後の現時刻におけるラベル付けデータを生成し、当該ラベル付けデータにおける普及率を計算し、
現時刻を更新して新たにラベル付けデータを生成した際に、当該ラベル付けデータに基づいて新たに分類器を生成し、
現時刻を更新して新たにテストデータを生成した際に、前記分類器と前記テストデータ内の各個別データの項目とから、前記テストデータ内の各個別データに第1ラベルがラベル付けられる確からしさのスコアを定め、計算した普及率を代入して新たに閾値を算出し、前記テストデータ内の個別データのうちスコアが前記閾値以上である個別データに対するラベルが第1ラベルであると判定し、スコアが前記閾値未満の個別データに対するラベルが第2ラベルであると判定する
請求項27に記載の普及予測方法。 For each piece of data that is determined to be labeled with the first label, information indicating the use start time is given,
Update the current time increased by a certain amount of time to a new current time,
When the current time is updated, test data at the current time after the update is generated,
When updating the current time, generate the labeling data at the current time after the update, calculate the penetration rate in the labeling data,
When new labeling data is generated by updating the current time, a new classifier is generated based on the labeling data,
When the current time is updated and new test data is generated, it is confirmed that the first label is labeled on each individual data in the test data from the classifier and each individual data item in the test data. A uniqueness score is determined, a new threshold value is calculated by substituting the calculated penetration rate, and a label for individual data having a score equal to or higher than the threshold value among the individual data in the test data is determined to be the first label. The spread prediction method according to claim 27, wherein a label for individual data having a score less than the threshold is determined to be a second label.
前記コンピュータに、
前記顧客データベースを用いて、判定対象時刻を定める現時刻で商品またはサービスの利用を開始していない顧客の個別データを含むデータであるテストデータを生成するテストデータ生成処理、
前記現時刻で前記商品またはサービスの利用を開始している顧客の個別データに第1ラベルをラベル付け、前記商品またはサービスの利用を開始していない顧客の個別データに第2ラベルをラベル付け、第1ラベルをラベル付けた個別データ数を、ある期間の中で商品またはサービスの顧客が他の者にその商品またはサービスの利用を喚起させる度合いである影響度に応じて変動させたデータである学習データを生成する学習データ生成処理、
前記顧客の属性を表す項目から当該顧客の個別データに第1ラベルと第2ラベルのいずれをラベル付けるかを判定するルールである分類器を、前記学習データに基づいて生成する分類器生成処理、および、
前記分類器と前記テストデータ内の各個別データの項目とから、前記テストデータ内の各個別データに対するラベルを判定するテストデータラベル判定処理
を実行させるための普及予測プログラム。 When the customer starts using the product or service, the use start information indicates the use start time of the product or service, and when the product or service is not used, the use start information indicating that the product or service is not used, and the use start A spread prediction program installed in a computer including a customer database that stores customer data that is a set of individual data for each customer including one or more items representing customer attributes other than information,
In the computer,
Using the customer database, test data generation processing for generating test data that is data including individual data of customers who have not started using goods or services at the current time for determining the determination target time;
Label individual data of customers who have started using the goods or services at the current time, label second data to individual data of customers who have not started using the goods or services, This is data in which the number of individual data labeled with the first label is changed according to the degree of influence, which is the degree that the customer of the product or service urges others to use the product or service within a certain period. Learning data generation process for generating learning data,
A classifier generation process for generating a classifier that is a rule for determining which of the first label and the second label to label the individual data of the customer from the item representing the attribute of the customer based on the learning data; and,
The spread prediction program for performing the test data label determination process which determines the label with respect to each individual data in the said test data from the said classifier and the item of each individual data in the said test data.
テストデータラベル判定処理で、第1ラベルがラベル付けられると判定した個別データに対して、利用開始時期を示す情報を付与させ、
前記現時刻を一定の時間分増加した時刻を新たな現時刻とする現時刻更新処理を実行させ、
現時刻を更新した際に、テストデータ生成処理で、更新後の現時刻におけるテストデータを生成させ、
現時刻を更新した際に、学習データ生成処理で、更新後の現時刻における学習データを生成させ、
現時刻を更新して新たに学習データを生成した際に、分類器生成処理で、当該学習データに基づいて新たに分類器を生成させ、
現時刻を更新して新たにテストデータを生成した際に、テストデータラベル判定処理で、前記分類器と前記テストデータ内の各個別データの項目とから、前記テストデータ内の各個別データに対するラベルを判定させる
請求項29に記載の普及予測プログラム。 In the computer,
In the test data label determination process, information indicating the use start time is given to the individual data determined to be labeled with the first label,
Executing a current time update process in which the current time is increased by a certain amount of time and the new current time is set,
When the current time is updated, the test data generation process generates test data at the current time after the update,
When the current time is updated, the learning data generation process generates learning data at the updated current time,
When new learning data is generated by updating the current time, a new classifier is generated based on the learning data in the classifier generation process,
When new test data is generated by updating the current time, a label for each individual data in the test data from the classifier and each individual data item in the test data in the test data label determination process The spread prediction program according to claim 29.
前記コンピュータに、
前記顧客データベースを用いて、判定対象時刻を定める現時刻で商品またはサービスの利用を開始していない顧客の個別データを含むデータであるテストデータを生成するテストデータ生成処理、
前記現時刻で前記商品またはサービスの利用を開始している顧客の個別データに第1ラベルをラベル付け、前記商品またはサービスの利用を開始していない顧客の個別データに第2ラベルをラベル付けたラベル付けデータを生成し、前記ラベル付けデータ中の第1ラベルでラベル付けられた個別データ数の割合を前記商品またはサービスの普及率として計算するラベル付けデータ生成処理、
前記顧客の属性を表す項目から当該顧客の個別データに第1ラベルがラベル付けられる確からしさのスコアを定めるルールである分類器を、前記ラベル付けデータに基づいて生成する分類器生成処理、
普及率に対するスコアの閾値の関数である閾値関数にラベル付けデータ生成処理で計算した普及率を代入して閾値を算出し、前記分類器と前記テストデータ内の各個別データの項目とから、前記テストデータ内の各個別データに第1ラベルがラベル付けられる確からしさのスコアを定め、前記テストデータ内の個別データのうちスコアが前記閾値以上である個別データに対するラベルが第1ラベルであると判定し、スコアが前記閾値未満の個別データに対するラベルが第2ラベルであると判定するテストデータラベル判定処理
を実行させるための普及予測プログラム。 When the customer starts using the product or service, the use start information indicates the use start time of the product or service, and when the product or service is not used, the use start information indicating that the product or service is not used, and the use start A spread prediction program installed in a computer including a customer database that stores customer data that is a set of individual data for each customer including one or more items representing customer attributes other than information,
In the computer,
Using the customer database, test data generation processing for generating test data that is data including individual data of customers who have not started using goods or services at the current time for determining the determination target time;
The first label is labeled on individual data of customers who have started using the product or service at the current time, and the second label is labeled on individual data of customers who have not started using the product or service. Labeling data generation processing for generating labeling data and calculating a ratio of the number of individual data labeled with the first label in the labeling data as a penetration rate of the product or service;
A classifier generating process for generating a classifier that is a rule for determining a probability score that the first label is labeled on the individual data of the customer from the item representing the attribute of the customer based on the labeling data;
By substituting the penetration rate calculated in the labeling data generation process into a threshold function that is a function of the threshold value of the score with respect to the penetration rate, a threshold value is calculated, and from the individual data items in the classifier and the test data, the A score of the probability that the first label is labeled to each individual data in the test data is determined, and it is determined that the label for the individual data in which the score is equal to or higher than the threshold among the individual data in the test data is the first label And a spread prediction program for executing a test data label determination process for determining that a label for individual data having a score less than the threshold is the second label.
テストデータラベル判定処理で、第1ラベルがラベル付けられると判定した個別データに対して、利用開始時期を示す情報を付与させ、
前記現時刻を一定の時間分増加した時刻を新たな現時刻とする現時刻更新処理を実行させ、
現時刻を更新した際に、テストデータ生成処理で、更新後の現時刻におけるテストデータを生成させ、
現時刻を更新した際に、ラベル付けデータ生成処理で、更新後の現時刻におけるラベル付けデータを生成させ、当該ラベル付けデータにおける普及率を計算させ、
現時刻を更新して新たにラベル付けデータを生成した際に、分類器生成処理で、当該ラベル付けデータに基づいて新たに分類器を生成させ、
現時刻を更新して新たにテストデータを生成した際に、テストデータラベル判定処理で、前記分類器と前記テストデータ内の各個別データの項目とから、前記テストデータ内の各個別データに第1ラベルがラベル付けられる確からしさのスコアを定めさせ、閾値関数にラベル付けデータ生成処理で計算した普及率を代入して新たに閾値を算出させ、前記テストデータ内の個別データのうちスコアが前記閾値以上である個別データに対するラベルが第1ラベルであると判定し、スコアが前記閾値未満の個別データに対するラベルが第2ラベルであると判定させる
請求項31に記載の普及予測プログラム。 In the computer,
In the test data label determination process, information indicating the use start time is given to the individual data determined to be labeled with the first label,
Executing a current time update process in which the current time is increased by a certain amount of time and the new current time is set,
When the current time is updated, the test data generation process generates test data at the current time after the update,
When the current time is updated, the labeling data generation process generates labeling data at the current time after the update, and calculates the diffusion rate in the labeling data,
When new labeling data is generated by updating the current time, a new classifier is generated based on the labeling data in the classifier generation process,
When the current time is updated and new test data is generated, the test data label determination process changes the classifier and each individual data item in the test data to each individual data in the test data. A score of probability that one label is labeled is determined, a threshold value is newly calculated by substituting the penetration rate calculated in the labeling data generation process into the threshold function, and the score among the individual data in the test data is The spread prediction program according to claim 31, wherein a label for individual data that is equal to or greater than a threshold value is determined to be a first label, and a label for individual data having a score less than the threshold value is determined to be a second label.
顧客が商品またはサービスを利用し始めている場合には前記商品またはサービスの利用開始時期を表し、前記商品またはサービスを未利用の場合には未利用である旨を表す利用開始情報と、前記利用開始情報以外の顧客の属性を表す一つ以上の項目とを含む顧客毎の個別データの集合である顧客データを記憶する顧客データベースを用いて、前記現時刻で前記商品またはサービスの利用を開始している顧客の個別データに第1ラベルをラベル付け、前記商品またはサービスの利用を開始していない顧客の個別データに第2ラベルをラベル付けた現時刻データを生成し、
個々の仮影響度毎に、前時刻で前記商品またはサービスの利用を開始している顧客の個別データに第1ラベルをラベル付け、前記商品またはサービスの利用を開始していない顧客の個別データに第2ラベルをラベル付け、第1ラベルをラベル付けた個別データ数を前記仮影響度に応じて変動させたデータである前時刻データを生成し、
個々の前時刻データ毎に、前記顧客の属性を表す項目から当該顧客の個別データに第1ラベルと第2ラベルのいずれをラベル付けるかを判定するルールである分類器を前記前時刻に基づいて生成し、
前時刻データ毎に生成された個々の分類器毎に、当該分類器と前記現時刻データ内の各個別データの項目とから前記現時刻データ内の個別データにラベル付けられるラベルを予測し、予測結果と前記現時刻データとの誤差を算出し、
個々の分類器毎に算出された誤差のうち、最小の誤差を特定し、最小の誤差に対応する仮影響度が1つである場合には、当該仮影響度を影響度として定め、最小の誤差に対応する仮影響度が複数個存在する場合には、前記複数の仮影響度に基づいて影響度を定める
ことを特徴とする影響度推定方法。 Specify the current time used as an estimation target time of the degree of influence, which is the degree to which the customer of the product or service urges others to use the product or service within a certain period, and a certain time before the current time And a plurality of temporary influence levels that are candidates for influence level are input, and a previous time that is a time before the time interval is calculated from the current time,
When the customer starts using the product or service, the use start information indicates the use start time of the product or service, and when the product or service is not used, the use start information indicating that the product or service is not used, and the use start Using a customer database that stores customer data that is a set of individual data for each customer including one or more items representing customer attributes other than information, and starting to use the product or service at the current time Generating current time data by labeling individual data of existing customers with a first label and labeling individual data of customers who have not started using the goods or services with a second label;
For each temporary influence degree, the first label is labeled on the individual data of the customer who has started using the product or service at the previous time, and the individual data of the customer who has not started using the product or service Labeling the second label, generating the previous time data which is data obtained by changing the number of individual data labeled the first label according to the temporary influence degree,
Based on the previous time, a classifier that is a rule for determining whether to label individual customer data from the item representing the customer attribute for each individual previous time data. Generate
For each classifier generated for each previous time data, predict the label that is labeled on the individual data in the current time data from the classifier and the individual data items in the current time data, and predict Calculate the error between the result and the current time data,
Among the errors calculated for each classifier, the smallest error is specified, and when there is one temporary influence corresponding to the smallest error, the temporary influence is determined as the influence, An impact estimation method, wherein when a plurality of temporary impacts corresponding to an error exist, the impact is determined based on the plurality of temporary impacts.
請求項33に記載の影響度推定方法。 34. The current time data is generated from a set of individual data excluding individual data of customers who have started to use goods or services at the previous time among the customer data stored in the customer database. Degree estimation method.
影響度推定対象時刻として用いられる現時刻と、前記現時刻の一定時間前を指定するための時刻間隔と、影響度の候補である複数の仮影響度とが入力され、前記現時刻から前記時刻間隔前の時刻である前時刻を計算し、前記顧客データベースを用いて、前記現時刻で前記商品またはサービスの利用を開始している顧客の個別データに第1ラベルをラベル付け、前記商品またはサービスの利用を開始していない顧客の個別データに第2ラベルをラベル付けた現時刻データを生成する現時刻データ生成処理、
個々の仮影響度毎に、前時刻で前記商品またはサービスの利用を開始している顧客の個別データに第1ラベルをラベル付け、前記商品またはサービスの利用を開始していない顧客の個別データに第2ラベルをラベル付け、第1ラベルをラベル付けた個別データ数を前記仮影響度に応じて変動させたデータである前時刻データを生成する前時刻データ群生成処理、
個々の前時刻データ毎に、前記顧客の属性を表す項目から当該顧客の個別データに第1ラベルと第2ラベルのいずれをラベル付けるかを判定するルールである分類器を前記前時刻に基づいて生成する前時刻分類器群生成処理、
前時刻データ毎に生成された個々の分類器毎に、当該分類器と前記現時刻データ内の各個別データの項目とから前記現時刻データ内の個別データにラベル付けられるラベルを予測し、予測結果と前記現時刻データとの誤差を算出する誤差群算出処理、および、
個々の分類器毎に算出された誤差のうち、最小の誤差を特定し、最小の誤差に対応する仮影響度が1つである場合には、当該仮影響度を影響度として定め、最小の誤差に対応する仮影響度が複数個存在する場合には、前記複数の仮影響度に基づいて影響度を定める影響度算出処理
を実行させるための影響度推定プログラム。 When the customer starts using the product or service, the use start information indicates the use start time of the product or service, and when the product or service is not used, the use start information indicating that the product or service is not used, and the use start An impact estimation program installed in a computer including a customer database for storing customer data, which is a set of individual data for each customer including one or more items representing customer attributes other than information,
A current time used as an influence degree estimation target time, a time interval for designating a predetermined time before the current time, and a plurality of temporary influence degrees as influence degree candidates, are input from the current time to the time Calculating a previous time which is a time before the interval, and using the customer database, a first label is labeled on individual data of a customer who has started using the product or service at the current time, and the product or service Current time data generation processing for generating current time data in which the second label is labeled on individual data of customers who have not started using
For each temporary influence degree, the first label is labeled on the individual data of the customer who has started using the product or service at the previous time, and the individual data of the customer who has not started using the product or service A previous time data group generation process for generating the previous time data which is data obtained by labeling the second label and changing the number of individual data labeled with the first label according to the temporary influence degree;
Based on the previous time, a classifier that is a rule for determining whether to label individual customer data from the item representing the customer attribute for each individual previous time data. Generation process of the previous time classifier group to be generated,
For each classifier generated for each previous time data, predict the label that is labeled on the individual data in the current time data from the classifier and the individual data items in the current time data, and predict An error group calculation process for calculating an error between the result and the current time data; and
Among the errors calculated for each classifier, the smallest error is specified, and when there is one temporary influence corresponding to the smallest error, the temporary influence is determined as the influence, An influence degree estimation program for executing an influence degree calculation process for determining an influence degree based on the plurality of provisional influence degrees when there are a plurality of provisional influence degrees corresponding to errors.
現時刻データ生成処理で、顧客データベースに記憶されている顧客データのうち、前時刻で商品またはサービスの利用を開始していた顧客の個別データを除外した個別データの集合から現時刻データを生成させる
請求項35に記載の影響度推定プログラム。 In the computer,
In the current time data generation process, the current time data is generated from a set of individual data excluding the customer data stored in the customer database excluding the individual data of the customer who started using the product or service at the previous time. 36. The influence degree estimation program according to claim 35.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008101872A JP5104496B2 (en) | 2008-03-07 | 2008-04-09 | Diffusion prediction system, method and program, and impact estimation system, method and program |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008057281 | 2008-03-07 | ||
JP2008057281 | 2008-03-07 | ||
JP2008101872A JP5104496B2 (en) | 2008-03-07 | 2008-04-09 | Diffusion prediction system, method and program, and impact estimation system, method and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009238193A JP2009238193A (en) | 2009-10-15 |
JP5104496B2 true JP5104496B2 (en) | 2012-12-19 |
Family
ID=41252000
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008101872A Expired - Fee Related JP5104496B2 (en) | 2008-03-07 | 2008-04-09 | Diffusion prediction system, method and program, and impact estimation system, method and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5104496B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7207035B2 (en) | 2019-03-13 | 2023-01-18 | ブラザー工業株式会社 | Cutting device and printing device |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5304429B2 (en) * | 2008-08-19 | 2013-10-02 | 日本電気株式会社 | Customer state estimation system, customer state estimation method, and customer state estimation program |
JP6614030B2 (en) * | 2016-05-20 | 2019-12-04 | 日本電信電話株式会社 | Observer detection device, method, program, and computer-readable recording medium |
US11544554B2 (en) * | 2017-03-03 | 2023-01-03 | Panasonic Intellectual Property Management Co., Ltd. | Additional learning method for deterioration diagnosis system |
JP6768627B2 (en) * | 2017-12-05 | 2020-10-14 | 日本電信電話株式会社 | Estimator, estimation method, and program |
JP2020057290A (en) * | 2018-10-03 | 2020-04-09 | エヌ・ティ・ティ・コミュニケーションズ株式会社 | Monitoring apparatus, monitoring method, and monitoring program |
JP6748769B1 (en) * | 2019-09-06 | 2020-09-02 | 株式会社ビデオリサーチ | Customer estimation device and customer estimation method |
JP6826652B1 (en) * | 2019-12-27 | 2021-02-03 | 株式会社ビデオリサーチ | Customer estimation device and customer estimation method |
JP2021117757A (en) * | 2020-01-27 | 2021-08-10 | 株式会社ビデオリサーチ | Device and method for estimating customers |
JP6945019B2 (en) * | 2020-01-27 | 2021-10-06 | 株式会社ビデオリサーチ | Customer estimation device and customer estimation method |
CN115223271B (en) * | 2022-06-28 | 2024-05-07 | 东软睿驰汽车技术(沈阳)有限公司 | Attention degree obtaining method and related device for vehicle residual information errors |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004070525A (en) * | 2002-08-02 | 2004-03-04 | Ajinomoto Communications Inc | Method of measuring effect of sales promotion, and device therefor |
JP2005301389A (en) * | 2004-04-07 | 2005-10-27 | Ipb:Kk | Method, program, and device for determining technique/method development level |
JP2008299542A (en) * | 2007-05-30 | 2008-12-11 | Nippon Telegr & Teleph Corp <Ntt> | Content providing method, content providing device, content providing program, and content providing system |
-
2008
- 2008-04-09 JP JP2008101872A patent/JP5104496B2/en not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7207035B2 (en) | 2019-03-13 | 2023-01-18 | ブラザー工業株式会社 | Cutting device and printing device |
Also Published As
Publication number | Publication date |
---|---|
JP2009238193A (en) | 2009-10-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5104496B2 (en) | Diffusion prediction system, method and program, and impact estimation system, method and program | |
CN109831684A (en) | Video optimized recommended method, device and readable storage medium storing program for executing | |
CN103927675B (en) | Judge the method and device of age of user section | |
JP5078910B2 (en) | Estimating advertising quality from observed user behavior | |
US20150088606A1 (en) | Computer Implemented Tool and Method for Automating the Forecasting Process | |
US20020091875A1 (en) | Information-processing apparatus, information-processing method and storage medium | |
US20160232637A1 (en) | Shipment-Volume Prediction Device, Shipment-Volume Prediction Method, Recording Medium, and Shipment-Volume Prediction System | |
US20100082421A1 (en) | Click through rate prediction system and method | |
CN106803190A (en) | A kind of ad personalization supplying system and method | |
CN109255651A (en) | A kind of search advertisements conversion intelligent Forecasting based on big data | |
US7742939B1 (en) | Visibility index for quality assurance in software development | |
US20200057632A1 (en) | Automatically evaluating software project requirements | |
CN111738534A (en) | Training of multi-task prediction model, and prediction method and device of event type | |
US20230360071A1 (en) | Actionable kpi-driven segmentation | |
EP3608802A1 (en) | Model variable candidate generation device and method | |
US20210117828A1 (en) | Information processing apparatus, information processing method, and program | |
CN115147155A (en) | Railway freight customer loss prediction method based on ensemble learning | |
Siregar et al. | Forecasting of raw material needed for plastic products based in income data using ARIMA method | |
JP6365032B2 (en) | Data classification method, data classification program, and data classification apparatus | |
JP5391637B2 (en) | Data similarity calculation system, data similarity calculation method, and data similarity calculation program | |
US20200250691A1 (en) | Information processing apparatus, control method, and program | |
JP4386973B2 (en) | Hierarchical prediction model construction apparatus and method | |
EP2851851A1 (en) | A computer implemented tool and method for automating the forecasting process | |
JP5304429B2 (en) | Customer state estimation system, customer state estimation method, and customer state estimation program | |
JP5603678B2 (en) | Demand forecasting apparatus and demand forecasting method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110310 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20120904 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120917 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20151012 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |