Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP5104496B2 - 普及予測システム、方法およびプログラム、並びに影響度推定システム、方法およびプログラム - Google Patents
[go: Go Back, main page]

JP5104496B2 - 普及予測システム、方法およびプログラム、並びに影響度推定システム、方法およびプログラム - Google Patents

普及予測システム、方法およびプログラム、並びに影響度推定システム、方法およびプログラム Download PDF

Info

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
Application number
JP2008101872A
Other languages
English (en)
Other versions
JP2009238193A (ja
Inventor
由希子 黒岩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2008101872A priority Critical patent/JP5104496B2/ja
Publication of JP2009238193A publication Critical patent/JP2009238193A/ja
Application granted granted Critical
Publication of JP5104496B2 publication Critical patent/JP5104496B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

本発明は、商品またはサービスの普及に関する予測を行う普及予測システム、普及予測方法および普及予測プログラムと、ある期間の中で商品またはサービスの顧客が他の者にその商品またはサービスの利用を喚起させる度合いを推定する影響度推定システム、影響度推定方法および影響度推定プログラムに関する。
顧客に商品またはサービスを提供する場合、商品またはサービスの費用対効果や資源を調達すべき時期や量を推定するため、普及の推移を予測することが必要である。ここで、商品とは、製品などの完成品のみならず、製品の機能を維持するための最小単位も含む。商品やサービスの普及の推移は、時間に対する普及率(または販売数)で示すことができる。
このような普及予測に適用可能な予測装置の一例が、特許文献1に記載されている。特許文献1に記載された予測装置は、入力部と、事象内容記憶部と、累積件数集計部と、予測条件記憶部と、回帰分析部と、分布推定部と、出力部とを備えている。入力部は、注目する現象で予測対象となる事象が発生した期日やその発生件数などの過去の履歴、およびその予測対象となる事象において予測すべき事象の上限や下限などの値の範囲や予測時点などに代表される予測条件を入力する入力手段である。回帰分析部は、ロジスティック曲線モデル(あるいは別の曲線モデル)を用いて、実績となる普及の推移に当てはまるように注目する現象を記述するパラメタを推定するとともに、推定したパラメタに基づいて、普及の推移である予測曲線を得る。
また、特許文献2には、決定木学習用データを生成する時系列データ分類・予測装置が記載されている。特許文献2に記載の時系列データ分類・予測装置は、複数の時刻の情報を含む決定木学習用データを生成する。
また、特許文献3には、顧客属性データをマスタ・データとする分析装置が記載されている。
特開2004−78780号公報 特開平6−96052号公報 特開2001−229150号公報
顧客が商品やサービスを利用し始める時期は、顧客の特徴によって異なる。例えば、顧客は、イノベータ、アーリーアダプタ、アーリーマジョリティ等のカテゴリに分類することができる。
上記のように、顧客が商品やサービスを利用し始める時期は顧客の特徴によって異なるので、個々の顧客毎に商品やサービスの利用開始時期を予測しようとしても、ロジスティック曲線等の曲線モデルを用いてパラメータフィッティングを行う予測手法では、個々の顧客の特徴が反映されず、顧客毎の商品やサービスの利用開始時期を予測することはできなかった。
また、商品やサービスの提供者にとって、既に商品やサービスを利用している者が他の者に商品やサービスの利用を喚起させる度合いを知ることは好ましい。例えば、広告活動や販売促進活動などにより、いわゆる口コミが活発化し、既に商品やサービスの利用を開始している者からの影響によりどの程度、未利用者の利用開始意欲が喚起されたかを知ることができることが好ましい。ここで、ある期間の中で商品またはサービスの顧客が他の者にその商品またはサービスの利用を喚起させる度合いを影響度と呼ぶ。影響度は、ある期間において、商品やサービスを利用していなかった者が既に利用を開始した者からの影響でその商品を受け入れる受容性の程度と言うこともできる。
そこで、本発明は、顧客が商品やサービスを利用し始める時期を顧客毎に予測することができる普及予測システム、普及予測方法および普及予測プログラムを提供することを目的とする。また、本発明は、時期に応じて商品やサービスの影響度を推定することができる影響度推定システム、影響度推定方法および影響度推定プログラムを提供することを目的とする。
本発明の普及予測システムは、顧客が商品またはサービスを利用し始めている場合には前記商品またはサービスの利用開始時期を表し、前記商品またはサービスを未利用の場合には未利用である旨を表す利用開始情報と、前記利用開始情報以外の顧客の属性を表す一つ以上の項目とを含む顧客毎の個別データの集合である顧客データを記憶する顧客データベースと、前記顧客データベースを用いて、判定対象時刻を定める現時刻で商品またはサービスの利用を開始していない顧客の個別データを含むデータであるテストデータを生成するテストデータ生成部と、前記現時刻で前記商品またはサービスの利用を開始している顧客の個別データに第1ラベルをラベル付け、前記商品またはサービスの利用を開始していない顧客の個別データに第2ラベルをラベル付け、第1ラベルをラベル付けた個別データ数を、ある期間の中で商品またはサービスの顧客が他の者にその商品またはサービスの利用を喚起させる度合いである影響度に応じて変動させたデータである学習データを生成する学習データ生成部と、前記顧客の属性を表す項目から当該顧客の個別データに第1ラベルと第2ラベルのいずれをラベル付けるかを判定するルールである分類器を、前記学習データに基づいて生成する分類器生成部と、前記分類器と前記テストデータ内の各個別データの項目とから、前記テストデータ内の各個別データに対するラベルを判定するテストデータラベル判定部とを備えることを特徴とする。
また、本発明の影響度推定システムは、顧客が商品またはサービスを利用し始めている場合には前記商品またはサービスの利用開始時期を表し、前記商品またはサービスを未利用の場合には未利用である旨を表す利用開始情報と、前記利用開始情報以外の顧客の属性を表す一つ以上の項目とを含む顧客毎の個別データの集合である顧客データを記憶する顧客データベースと、ある期間の中で商品またはサービスの顧客が他の者にその商品またはサービスの利用を喚起させる度合いである影響度の推定対象時刻として用いられる現時刻と、前記現時刻の一定時間前を指定するための時刻間隔と、影響度の候補である複数の仮影響度とが入力され、前記現時刻から前記時刻間隔前の時刻である前時刻を計算し、前記顧客データベースを用いて、前記現時刻で前記商品またはサービスの利用を開始している顧客の個別データに第1ラベルをラベル付け、前記商品またはサービスの利用を開始していない顧客の個別データに第2ラベルをラベル付けた現時刻データを生成する現時刻データ生成部と、個々の仮影響度毎に、前時刻で前記商品またはサービスの利用を開始している顧客の個別データに第1ラベルをラベル付け、前記商品またはサービスの利用を開始していない顧客の個別データに第2ラベルをラベル付け、第1ラベルをラベル付けた個別データ数を前記仮影響度に応じて変動させたデータである前時刻データを生成する前時刻データ群生成部と、個々の前時刻データ毎に、前記顧客の属性を表す項目から当該顧客の個別データに第1ラベルと第2ラベルのいずれをラベル付けるかを判定するルールである分類器を前記前時刻に基づいて生成する前時刻分類器群生成部と、前時刻データ毎に生成された個々の分類器毎に、当該分類器と前記現時刻データ内の各個別データの項目とから前記現時刻データ内の個別データにラベル付けられるラベルを予測し、予測結果と前記現時刻データとの誤差を算出する誤差群算出部と、個々の分類器毎に算出された誤差のうち、最小の誤差を特定し、最小の誤差に対応する仮影響度が1つである場合には、当該仮影響度を影響度として定め、最小の誤差に対応する仮影響度が複数個存在する場合には、前記複数の仮影響度に基づいて影響度を定める影響度算出部とを備えることを特徴とする。
また、本発明の普及予測システムは、顧客が商品またはサービスを利用し始めている場合には商品またはサービスの利用開始時期を表し、商品またはサービスを未利用の場合には未利用である旨を表す利用開始情報と、利用開始情報以外の顧客の属性を表す一つ以上の項目とを含む顧客毎の個別データの集合である顧客データを記憶する顧客データベースと、顧客データベースを用いて、判定対象時刻を定める現時刻で商品またはサービスの利用を開始していない顧客の個別データを含むデータであるテストデータを生成するテストデータ生成部と、現時刻で商品またはサービスの利用を開始している顧客の個別データに第1ラベルをラベル付け、商品またはサービスの利用を開始していない顧客の個別データに第2ラベルをラベル付けたラベル付けデータを生成し、ラベル付けデータ中の第1ラベルでラベル付けられた個別データ数の割合を商品またはサービスの普及率として計算するラベル付けデータ生成部と、顧客の属性を表す項目から顧客の個別データに第1ラベルがラベル付けられる確からしさのスコアを定めるルールである分類器を、ラベル付けデータに基づいて生成する分類器生成部と、普及率に対するスコアの閾値の関数である閾値関数にラベル付けデータ生成部が計算した普及率を代入して閾値を算出し、分類器とテストデータ内の各個別データの項目とから、テストデータ内の各個別データに第1ラベルがラベル付けられる確からしさのスコアを定め、テストデータ内の個別データのうちスコアが閾値以上である個別データに対するラベルが第1ラベルであると判定し、スコアが閾値未満の個別データに対するラベルが第2ラベルであると判定するテストデータラベル判定部とを備えることを特徴とする。
また、本発明の普及予測方法は、顧客が商品またはサービスを利用し始めている場合には前記商品またはサービスの利用開始時期を表し、前記商品またはサービスを未利用の場合には未利用である旨を表す利用開始情報と、前記利用開始情報以外の顧客の属性を表す一つ以上の項目とを含む顧客毎の個別データの集合である顧客データを記憶する顧客データベースを用いて、判定対象時刻を定める現時刻で商品またはサービスの利用を開始していない顧客の個別データを含むデータであるテストデータを生成し、前記現時刻で前記商品またはサービスの利用を開始している顧客の個別データに第1ラベルをラベル付け、前記商品またはサービスの利用を開始していない顧客の個別データに第2ラベルをラベル付け、第1ラベルをラベル付けた個別データ数を、ある期間の中で商品またはサービスの顧客が他の者にその商品またはサービスの利用を喚起させる度合いである影響度に応じて変動させたデータである学習データを生成し、前記顧客の属性を表す項目から当該顧客の個別データに第1ラベルと第2ラベルのいずれをラベル付けるかを判定するルールである分類器を、前記学習データに基づいて生成し、前記分類器と前記テストデータ内の各個別データの項目とから、前記テストデータ内の各個別データに対するラベルを判定することを特徴とする。
また、本発明の普及予測方法は、顧客が商品またはサービスを利用し始めている場合には商品またはサービスの利用開始時期を表し、商品またはサービスを未利用の場合には未利用である旨を表す利用開始情報と、利用開始情報以外の顧客の属性を表す一つ以上の項目とを含む顧客毎の個別データの集合である顧客データを記憶する顧客データベースを用いて、判定対象時刻を定める現時刻で商品またはサービスの利用を開始していない顧客の個別データを含むデータであるテストデータを生成し、現時刻で商品またはサービスの利用を開始している顧客の個別データに第1ラベルをラベル付け、商品またはサービスの利用を開始していない顧客の個別データに第2ラベルをラベル付けたラベル付けデータを生成し、ラベル付けデータ中の第1ラベルでラベル付けられた個別データ数の割合を商品またはサービスの普及率として計算し、顧客の属性を表す項目から顧客の個別データに第1ラベルがラベル付けられる確からしさのスコアを定めるルールである分類器を、ラベル付けデータに基づいて生成し、普及率に対するスコアの閾値の関数である閾値関数に計算した普及率を代入して閾値を算出し、分類器とテストデータ内の各個別データの項目とから、テストデータ内の各個別データに第1ラベルがラベル付けられる確からしさのスコアを定め、テストデータ内の個別データのうちスコアが閾値以上である個別データに対するラベルが第1ラベルであると判定し、スコアが閾値未満の個別データに対するラベルが第2ラベルであると判定することを特徴とする。
また、本発明の普及予測プログラムは、顧客が商品またはサービスを利用し始めている場合には前記商品またはサービスの利用開始時期を表し、前記商品またはサービスを未利用の場合には未利用である旨を表す利用開始情報と、前記利用開始情報以外の顧客の属性を表す一つ以上の項目とを含む顧客毎の個別データの集合である顧客データを記憶する顧客データベースを備えるコンピュータに搭載される普及予測プログラムであって、前記コンピュータに、前記顧客データベースを用いて、判定対象時刻を定める現時刻で商品またはサービスの利用を開始していない顧客の個別データを含むデータであるテストデータを生成するテストデータ生成処理、前記現時刻で前記商品またはサービスの利用を開始している顧客の個別データに第1ラベルをラベル付け、前記商品またはサービスの利用を開始していない顧客の個別データに第2ラベルをラベル付け、第1ラベルをラベル付けた個別データ数を、ある期間の中で商品またはサービスの顧客が他の者にその商品またはサービスの利用を喚起させる度合いである影響度に応じて変動させたデータである学習データを生成する学習データ生成処理、前記顧客の属性を表す項目から当該顧客の個別データに第1ラベルと第2ラベルのいずれをラベル付けるかを判定するルールである分類器を、前記学習データに基づいて生成する分類器生成処理、および、前記分類器と前記テストデータ内の各個別データの項目とから、前記テストデータ内の各個別データに対するラベルを判定するテストデータラベル判定処理を実行させることを特徴とする。
また、本発明の普及予測プログラムは、顧客が商品またはサービスを利用し始めている場合には前記商品またはサービスの利用開始時期を表し、前記商品またはサービスを未利用の場合には未利用である旨を表す利用開始情報と、前記利用開始情報以外の顧客の属性を表す一つ以上の項目とを含む顧客毎の個別データの集合である顧客データを記憶する顧客データベースを備えるコンピュータに搭載される普及予測プログラムであって、前記コンピュータに、前記顧客データベースを用いて、判定対象時刻を定める現時刻で商品またはサービスの利用を開始していない顧客の個別データを含むデータであるテストデータを生成するテストデータ生成処理、前記現時刻で前記商品またはサービスの利用を開始している顧客の個別データに第1ラベルをラベル付け、前記商品またはサービスの利用を開始していない顧客の個別データに第2ラベルをラベル付けたラベル付けデータを生成し、前記ラベル付けデータ中の第1ラベルでラベル付けられた個別データ数の割合を前記商品またはサービスの普及率として計算するラベル付けデータ生成処理、前記顧客の属性を表す項目から当該顧客の個別データに第1ラベルがラベル付けられる確からしさのスコアを定めるルールである分類器を、前記ラベル付けデータに基づいて生成する分類器生成処理、普及率に対するスコアの閾値の関数である閾値関数にラベル付けデータ生成処理で計算した普及率を代入して閾値を算出し、前記分類器と前記テストデータ内の各個別データの項目とから、前記テストデータ内の各個別データに第1ラベルがラベル付けられる確からしさのスコアを定め、前記テストデータ内の個別データのうちスコアが前記閾値以上である個別データに対するラベルが第1ラベルであると判定し、スコアが前記閾値未満の個別データに対するラベルが第2ラベルであると判定するテストデータラベル判定処理を実行させることを特徴とする。
また、本発明の影響度推定方法は、ある期間の中で商品またはサービスの顧客が他の者にその商品またはサービスの利用を喚起させる度合いである影響度の推定対象時刻として用いられる現時刻と、前記現時刻の一定時間前を指定するための時刻間隔と、影響度の候補である複数の仮影響度とが入力され、前記現時刻から前記時刻間隔前の時刻である前時刻を計算し、顧客が商品またはサービスを利用し始めている場合には前記商品またはサービスの利用開始時期を表し、前記商品またはサービスを未利用の場合には未利用である旨を表す利用開始情報と、前記利用開始情報以外の顧客の属性を表す一つ以上の項目とを含む顧客毎の個別データの集合である顧客データを記憶する顧客データベースを用いて、前記現時刻で前記商品またはサービスの利用を開始している顧客の個別データに第1ラベルをラベル付け、前記商品またはサービスの利用を開始していない顧客の個別データに第2ラベルをラベル付けた現時刻データを生成し、個々の仮影響度毎に、前時刻で前記商品またはサービスの利用を開始している顧客の個別データに第1ラベルをラベル付け、前記商品またはサービスの利用を開始していない顧客の個別データに第2ラベルをラベル付け、第1ラベルをラベル付けた個別データ数を前記仮影響度に応じて変動させたデータである前時刻データを生成し、個々の前時刻データ毎に、前記顧客の属性を表す項目から当該顧客の個別データに第1ラベルと第2ラベルのいずれをラベル付けるかを判定するルールである分類器を前記前時刻に基づいて生成し、前時刻データ毎に生成された個々の分類器毎に、当該分類器と前記現時刻データ内の各個別データの項目とから前記現時刻データ内の個別データにラベル付けられるラベルを予測し、予測結果と前記現時刻データとの誤差を算出し、個々の分類器毎に算出された誤差のうち、最小の誤差を特定し、最小の誤差に対応する仮影響度が1つである場合には、当該仮影響度を影響度として定め、最小の誤差に対応する仮影響度が複数個存在する場合には、前記複数の仮影響度に基づいて影響度を定めることを特徴とする。
また、本発明の影響度推定プログラムは、顧客が商品またはサービスを利用し始めている場合には前記商品またはサービスの利用開始時期を表し、前記商品またはサービスを未利用の場合には未利用である旨を表す利用開始情報と、前記利用開始情報以外の顧客の属性を表す一つ以上の項目とを含む顧客毎の個別データの集合である顧客データ記憶する顧客データベースを備えるコンピュータに搭載される影響度推定プログラムであって、影響度推定対象時刻として用いられる現時刻と、前記現時刻の一定時間前を指定するための時刻間隔と、影響度の候補である複数の仮影響度とが入力され、前記現時刻から前記時刻間隔前の時刻である前時刻を計算し、前記顧客データベースを用いて、前記現時刻で前記商品またはサービスの利用を開始している顧客の個別データに第1ラベルをラベル付け、前記商品またはサービスの利用を開始していない顧客の個別データに第2ラベルをラベル付けた現時刻データを生成する現時刻データ生成処理、個々の仮影響度毎に、前時刻で前記商品またはサービスの利用を開始している顧客の個別データに第1ラベルをラベル付け、前記商品またはサービスの利用を開始していない顧客の個別データに第2ラベルをラベル付け、第1ラベルをラベル付けた個別データ数を前記仮影響度に応じて変動させたデータである前時刻データを生成する前時刻データ群生成処理、個々の前時刻データ毎に、前記顧客の属性を表す項目から当該顧客の個別データに第1ラベルと第2ラベルのいずれをラベル付けるかを判定するルールである分類器を前記前時刻に基づいて生成する前時刻分類器群生成処理、前時刻データ毎に生成された個々の分類器毎に、当該分類器と前記現時刻データ内の各個別データの項目とから前記現時刻データ内の個別データにラベル付けられるラベルを予測し、予測結果と前記現時刻データとの誤差を算出する誤差群算出処理、および、個々の分類器毎に算出された誤差のうち、最小の誤差を特定し、最小の誤差に対応する仮影響度が1つである場合には、当該仮影響度を影響度として定め、最小の誤差に対応する仮影響度が複数個存在する場合には、前記複数の仮影響度に基づいて影響度を定める影響度算出処理を実行させることを特徴とする。
本発明によれば、顧客が商品やサービスを利用し始める時期を顧客毎に予測することができる。また、本発明によれば、時期に応じて商品やサービスの影響度を推定することができる。
以下、本発明の実施形態を図面を参照して説明する。
なお、有料で商品やサービスを利用する者だけでなく、無料で商品やサービスを利用する者も顧客と呼ぶ。
また、以下に説明する影響度推定システムおよび普及予測システムは、一つの商品またはサービスに関して影響度推定や普及予測を行う。
実施形態1.
図1は、本発明の影響度推定システムの例を示すブロック図である。本発明の影響度推定システムは、影響度(ある期間の中で商品またはサービスの顧客が他の者にその商品またはサービスの利用を喚起させる度合い)を推定する影響度推定装置3と、顧客データベース(以下、顧客DBと記す)2とを備える。製品などの完成品だけでなく、製品の機能を維持するための最小単位も商品の概念に含まれる。
顧客DB2は、顧客データを記憶する記憶手段であり、顧客データ記憶手段と呼ぶことができる。顧客データは、個々の顧客毎に定められたデータの集合であり、以下、個々の顧客毎のデータを個別データと呼ぶ。顧客DB2において、各顧客毎の個別データは、利用開始情報と、利用開始情報以外の顧客の属性を表す一つ以上の項目とを含む。利用開始情報とは、顧客が商品またはサービスを利用し始めている場合には、その商品またはサービスを利用し始めた時期を表し、顧客が商品またはサービスを未利用である(すなわち、まだ利用開始していない)場合には未利用である旨を表す情報である。利用開始情報以外の顧客の属性を表す項目として、例えば、性別、年齢、住所の地域区分、勤務地の地域区分、他の商品の利用履歴、様々な嗜好性などの特徴を用いることができるが、これらに限定されるわけではない。個々の個別情報は、これらの項目を一つ以上含む。顧客の属性を表す項目は、例えば、店頭での店員による入力、商品を利用開始時点での登録、顧客会員カード、アンケートなど、様々な方法で収集することができる。
影響度推定装置3は、現時刻データ生成部31と、前時刻データ群生成部32と、前時刻分類器群生成部33と、誤差群算出部34と、影響度算出部35とを備える。
現時刻データ群生成部31は、現時刻と、その現時刻の一定時間前を指定するための時刻間隔と、複数の仮影響度とが入力される。後述するように、キーボード等の入力装置を介して、現時刻データ群生成部31に、現時刻、時刻間隔、および複数の仮影響度が入力されてもよい。本実施形態における現時刻とは、影響度の推定対象時刻(影響度推定対象時刻)として用いられる時刻であり、時刻間隔は、影響度を推定しようとする期間である。そして、本実施形態では、過去のある時点を影響度推定対象時刻として、その時点から時刻間隔分遡った時刻からその影響度推定対象時刻までの期間における影響度を推定する。従って、過去のある時点での時刻が現時刻として入力される。現時刻から時刻間隔前の時刻(現時刻から時刻間隔分遡った時刻)を、前時刻と記す。現時刻データ群生成部31は、現時刻から時刻間隔を減算して前時刻を計算する。
また、入力される仮影響度は、求めようとしている影響度の候補であり、影響度推定装置3は、複数の仮影響度から影響度を求める。仮影響度として現時刻データ群生成部31に入力される数値は、0以上の数値である。例えば、影響度推定システムのユーザが、0以上から50程度までの値の中から影響度の候補を複数選択し、仮影響度として入力する。候補として仮影響度を多く入力すれば、影響度の推定精度が高くなる。
また、現時刻データ群生成部31は、現時刻と顧客DB2とに基づいて、1つの現時刻データを生成する。現時刻データは、現時刻で商品またはサービスの利用を開始している顧客の個別データに第1ラベルをラベル付け、現時刻で商品またはサービスの利用を開始していない顧客の個別データに第2ラベルをラベル付けたデータである。第1ラベルは、商品またはサービスの利用を開始している状態を示す情報であり、第2ラベルは、商品またはサービスの利用を開始していない状態を示す情報である。以下、第1ラベルを正(または+)と記し、第2ラベルを負(または−)と記す。現時刻データ群生成部31は、顧客DB2を用いて(すなわち、顧客データDB2に記憶された顧客データに基づいて)、現時刻データを生成する。
前時刻データ群生成部32は、前時刻と複数の仮影響度と顧客DB2に記憶されている顧客データとに基づいて、複数の前時刻データを生成する。前時刻データは、前時刻で商品またはサービスの利用を開始している顧客の個別データに第1ラベル(正)をラベル付け、前時刻で商品またはサービスの利用を開始していない顧客の個別データに第2ラベル(負)をラベル付け、仮影響度に応じて重み付けを行ったデータである。重み付けとは、第2ラベルをラベル付けた個別データ数に対して、第1ラベルをラベル付けた個別データ数を相対的に変動させることである。前時刻データ群生成部32は、仮影響度毎に前時刻データを生成する。仮影響度は複数あるので、複数の前時刻データを生成することになる。
前時刻分類器群生成部33は、前時刻データ群生成部32によって生成された各前時刻データ毎に1つずつ分類器を生成する。従って、前時刻分類器群生成部33は、複数の分類器を生成することになる。分類器は、顧客の属性を表す項目からその顧客の個別データに正(第1ラベル)と負(第2ラベル)のいずれをラベル付けるかを判定するルールである。換言すれば、顧客の属性を表す項目を独立変数として、従属変数のとり得る値を正または負とし、その独立変数から従属変数を定めるルールである。
誤差群算出部34は、前時刻分類器群生成部33で生成された各分類器を用いて、現時刻データのラベルを予測する。すなわち、誤差群算出部34は、分類器と、現時刻データ内の各個別データの項目(顧客の属性を示す項目)と照合し、現時刻データ内の各個別データ毎に、その個別データにラベル付けられるラベルを予測する。また、その現時刻データ内の各個別データには既に実際にラベル付けが行われている。誤差群算出部34は、分類器と項目とから予測したラベルと、実際に現時刻データでラベル付けられているラベルとの誤差を算出する。誤差群算出部34は、この処理を分類器毎に行う。したがって、誤差群算出部34は複数の誤差を算出する。
影響度算出部35は、個々の分類器毎に算出された誤差のうちの最小の誤差を特定し、最小の誤差に対応する仮影響度を影響度として定める。具体的には、最小の誤差に対応する仮影響度の数が一つである場合、影響度算出部35は、その仮影響度を影響度として定める。また、最小の誤差に対応する仮影響度が複数個存在する場合には、その複数の仮影響度に基づいて影響度を定める。例えば、最小の誤差に対応する仮影響度が複数個存在する場合、その複数の仮影響度の平均値を計算し、その平均値を影響度として定める。以下、最小の誤差に対応する仮影響度が複数個存在する場合、その仮影響度の平均値を影響度と定める場合を例にして説明する。
影響度推定装置3が備える現時刻データ生成部31、前時刻データ群生成部32、前時刻分類器群生成部33、誤差群算出部34、および影響度算出部35は、例えば、影響度推定プログラムに従って動作するCPUによって実現される。すなわち、影響度推定システムに設けられた記憶装置から影響度推定プログラムを読み込んだCPUが現時刻データ生成部31、前時刻データ群生成部32、前時刻分類器群生成部33、誤差群算出部34、および影響度算出部35として動作してもよい。
なお、キーボード等の入力装置を介して、現時刻データ群生成部31に現時刻、時刻間隔、および複数の仮影響度が入力されてもよい。また、影響度算出部35が求めた影響度を出力するための出力装置が設けられていてもよい。図2は、入力装置および出力装置を備えた影響度推定システムの例を示すブロック図である。図1に示す構成要素と同様の構成要素については、図1と同一の符号を付して説明を省略する。
入力装置1は、例えばキーボードなどの入力装置である。このような入力装置1を介して現時刻、時刻間隔、および複数の仮影響度が入力されてもよい。ただし、他の態様で現時刻、時刻間隔、および複数の仮影響度が現時刻データ群生成部31に入力されてもよい。
また、出力装置4は、例えばディスプレイ装置などの出力装置である。影響度算出部35は、求めた影響度を出力装置4に出力してもよい。例えば、出力装置4がディスプレイ装置である場合、出力装置4に影響度を表示させてもよい。また、出力装置4が印刷装置であってもよい。
次に、動作について説明する。
図3は、本発明の影響度推定システムの処理経過の例を示すフローチャートである。例えば入力装置1(図2参照)を介して、現時刻データ生成部31に現時刻、時刻間隔、および複数の仮影響度が入力されると、影響度推定システムは以下のように動作する。
まず、現時刻データ生成部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]とする。
ステップA1において、現時刻データ生成部31は、前時刻を、現時刻−時刻間隔と設定する。すなわち、現時刻から時刻間隔を減算した時刻を前時刻とする。
また、ステップA1において、現時刻データ生成部31は、顧客DB2に記憶された顧客データを読み込む。そして、現時刻で商品またはサービスの利用を開始している顧客の個別データ(利用開始情報が現時刻以前の時刻を表している個別データ)に正をラベル付け、現時刻で商品またはサービスの利用を開始していない顧客の個別データに負をラベル付けることによって、現時刻データを生成する。
このとき、現時刻データ生成部31は、顧客DB2に記憶されている顧客データに属する個別データのうち、前時刻で商品またはサービスの利用を開始していた顧客の個別データを除外した個別データの集合から現時刻データを生成してもよい。すなわち、利用開始情報が前時刻以前の時刻となっている個別データを除外し、残りの個別データに対して正または負のラベル付けを行ってもよい。以下、このように、利用開始情報が前時刻以前の時刻となっている個別データが現時刻データに含まれないように除外する場合を例にして説明するが、現時刻データ生成部31は、顧客データに属する各個別データに対して正または負のラベル付けを行ってもよい。
顧客データから現時刻データを生成する動作を具体的に示す。図4は、顧客DB2される顧客データの例を示す説明図である。図4に示す各行はそれぞれ一人の顧客の個別データとなっていて、その個別データの集合が顧客データである。図4示す例では、個々の個別データの識別情報(ID)が付与されている場合を示している。図4では、顧客が商品またはサービスの利用を開始した月を利用開始時期としている場合を例示しているが、利用開始時期を日単位や時間単位などで表してもよい。また、利用開始情報が“?”で表されている場合、その“?”は、「未利用(すなわち、利用開始していない状態)」を意味しているが、他の記号で「未利用」を表してもよい。また、図4では、それぞれの個別データが、利用開始情報以外の顧客の属性を表すN個の項目を含んでいる場合を例示している。本例では、項目1が性別である。各項目に関し、不明である場合は欠損値を示す記号で表せばよい。本例では、欠損値を表す記号として“?”を用いている。
現時刻が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を残した現時刻データを示しているが、分類に無関係な項目は予め削除してもよい。
ステップ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参照)。なお、前時刻データを生成する際には、個別データを除外しない。
そして、前時刻データ群生成部32は、仮影響度False[i]に応じた重み付けを行う。すなわち、仮影響度False[i]に応じて、正とした個別データの数を、負とした個別データの数に対して相対的に変動させる。本例では、仮影響度False[i]の関数の関数値を計算し、正をラベル付けた個別データをその関数値倍に増加させる場合を例にする。
仮影響度False[i]の関数として、例えば、前時刻で商品またはサービスの利用を開始している顧客数と前時刻で未だその商品またはサービスの利用を開始していない顧客数との比率を仮影響度の係数とする関数を用いてもよい。すなわち、以下に例示する関数を用いてもよい。
False[i]×(前時刻の未利用者数)/(前時刻の利用者数)
上記の関数において、「前時刻の未利用者数」は、前時刻で未だ商品またはサービスの利用を開始していない顧客の数である。すなわち、顧客データにおいて、利用開始情報が前時刻以前ではない個別データの数である。また、「前時刻の利用者数」は、前時刻で商品またはサービスの利用を開始している顧客の数である。すなわち、顧客データにおいて、利用開始情報が前時刻以前となっている個別データの数である。このように、「前時刻の未利用者数」を「前時刻の利用者数」で除算して得た比率をFalse[i]の係数とする関数を用いてもよい。
また、仮影響度False[i]の関数として、例えば、前時刻で商品またはサービスの利用を開始している顧客数と全顧客数との比率を仮影響度の係数とする関数を用いてもよい。すなわち、以下に例示する関数を用いてもよい。
False[i]×(顧客人数)/(前時刻の利用者数)
上記の関数において、「顧客人数」は、全顧客数(顧客データ内の全個別データ数)であり、前時刻で利用を開始している顧客の数と、前時刻で未だ利用を開始していない顧客の数の和である。「前時刻の利用者数」は、上述の関数の場合と同様である。このように、「顧客人数」を「前時刻の利用者数」で除算して得た比率をFalse[i]の係数とする関数を用いてもよい。
前時刻データ群生成部32は、このような関数の関数値倍に、正をラベル付けた個別データを増加させる。例えば、仮影響度がFalse[i]のときの関数値が5であるとする。この場合、正をラベル付けた個別データの数が5倍になるように、正をラベル付けた個別データの複製を生成すればよい。この結果得られるデータが前時刻データである。図7は、重み付けを行って得た前時刻データの例を示す説明図である。図6に示す例では、ID=1の個別データが正となっていて、他の個別データが負となっている。従って、前時刻データ群生成部32は、ID=1の個別データと同内容のデータを5つ生成する。ただし、IDはそれぞれ1’,1’’等として、区別している。
なお、正とラベル付けた個別データのコピーだけを生成する場合には、正とラベル付けた個別データに対する重み付けを行ってから、他の個別データに対して負のラベル付けを行ってもよい。
また、例示した2つの関数における仮影響度の係数の値は、いずれも時間が経過して利用者数が増えるに従って減少する。仮影響度の係数は、このような係数に限定されない。また、仮影響度False[i]の値をそのまま関数値として用いてもよい。この場合係数を1としていることになる。
また、上記の例では、正とラベル付けた個別データを関数値倍に増加させる場合を示しているが、重み付けでは、正とラベル付けた個別データ数を、負とラベル付けた個別データ数に対して相対的に変化させればよい。例えば、重み(関数値)が5で、正とラベル付けた個別データ数を10倍とするならば、負とラベル付けた個別データ数(未利用者数)を2倍にすればよい。また、重みが0.5で、正とラベル付けた個別データ数を1倍とするならば、負とラベル付けた個別データ数を2倍にすればよい。なお、ここでは、個別データ数を10倍とする等の例を挙げたが、このように、個別データ数をk倍にする等の条件を定める場合、そのk等は予め外部から入力しておけばよい。
また、ここでは、実際に個別データの複製を作成することで個別データを増加させていたが、次のステップで分類器を作成する際に、仮影響度False[i]の関数値を重み付けパラメタとして用いてもよい。すなわち、正とラベル付けた個別データを何倍に増やすかということを決めておき、その結果をパラメータとして分類器を生成してもよい。
ステップA2で前時刻データ群生成部32がFalse[i]に応じた前時刻データを生成した後、前時刻分類器群生成部33は、その前時刻データを用いて、その前時刻データに対応する分類器(前時刻分類器iと記す。)を生成する(ステップA3)。IDは分類器作成に不要であり、前時刻分類器群生成部33は、IDを削除してよい。前時刻分類器群生成部33は、データマイニングの様々な手法により分類器を生成すればよい。例えば、重回帰分析、決定木、ニューラルネットワーク、サポートベクタマシン、ベイジアンネットワークなどの手法のいずれかあるいはその組合せなどにより分類器を生成すればよい。
以下、分類器として決定木を用いる場合を例にして、分類器の具体例を説明する。本例では、「ゴルフをするか否か」を従属変数とし、「天気」、「天候」、「湿度」、「風が強いか否か」を独立変数とする場合を例にして説明する。図8は、既知の独立変数および従属変数の組み合わせの例を示す説明図である。図9は、分類器の例を示し、ここでは、決定木を分類器としている。図10は、分類器から予測される従属変数の例を示す説明図である。図8に示すように、既知の独立変数および従属変数の組み合わせがあれば、その既知の独立変数および従属変数から決定木を生成することができる。そして、その決定木と既知の独立変数から従属変数を予測することができる。例えば、図9に示す決定木が得られていれば、図10に例示する独立変数から、図10に例示する従属変数を予測することができる。項目の項目値に応じて枝分かれさせることを分割という。
図8に示す例では、各行が、「ゴルフをする/しない」とラベル付けられた個別データに相当する。以下、図8に示す各行を個別データとして説明する。また、「ゴルフをする」は、正(+)のラベルに相当し、「ゴルフをしない」は、負(−)のラベルに相当する。決定木では、従属変数のとり得るラベル毎(例えば、「する(正)」、「しない(負)」というラベル毎)に個別データ数をまとめた情報をノードとする。例えば、図8に示すルートのノードでは、「する:9,しない:5」という情報をノードとしている。
前時刻分類器群生成部33は、前時刻データが与えられると、どの項目で最初に分割させるかを決定する。このとき、前時刻分類器群生成部33は、項目1〜Nの各項目について、分割時の評価値を計算し、その評価値が最大の項目を、分割に最も適した項目として選択する。ここでは、分割前のノードのエントロピーと、分割後のエントロピーの差を評価値とする場合を例にするが、他の計算方法で評価値を求めてもよい。ノードのエントロピーは、ラベルが正(+)の個別データの割合をqとし、ラベルが負(−)の個別データの割合を1−qとすると、−qlogq−(1−q)log(1−q)で表される。分割後のノードのエントロピーは、分割後の各ノードのエントロピーの加重平均である。
例えば、前時刻データにおいて、「正」が9データあり、「負」が5データあるとするとルートのノードは「正:9,負:5」となる。この場合、正(+)のデータが9データあり、負(−)のデータが5データあるので、ルートのノードのエントロピーは、−(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は、分割後のエントロピーを以下のように計算する。
(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と計算する。
前時刻分類器群生成部33は、項目1だけでなく、他の項目についても同様に、その項目で分割したときの評価値を計算し、評価値が最大となる項目で分割すると決定する。このようにして、ルートのノードを分割する項目を決定する。
なお、上記の項目1の例では、項目1のとり得る値が「0」または「1」の二つだけである場合を示した。項目値が年齢であり、その値が20,21,22のように連続する値の場合には、どこで項目値で分割させるのかも決める。この場合、前時刻分類器群生成部33は、各項目値間の中間値をしきい値とし、各しきい値毎に、その「しきい値以下」および「そのしきい値より大」とに分割させた場合の評価値を求める。そして、評価値が最大となる場合を選択することによって、どの項目値で分割させるのかも決定する。例えば、項目値が20,21,22,・・・と連続する場合では、「20.5以下」および「20.5より大」で分割した場合の評価値、「21.5以下」および「21.5より大」で分割した場合の評価値等をそれぞれ計算し、評価値が最も高くなるように分割すればよい。
前時刻分類器群生成部33は、分割後の各ノードについても、上記と同様の処理を行い、次にどの項目で分割するのかを決定する処理を順次、繰り返す。また、前時刻分類器群生成部33は、所定の条件が満たされたときには、ノードの分割を停止する。所定の条件とは、例えば、「ノードにおける個別データのクラスが全て同じになる」という条件や、「ノードにおける正または負としてカウントされる個別データ数が所定数(例えば2)以下になる」という条件を用いてよい。前者の条件を採用すると、ノードにおける個別データが全て正または負になると、そのノードの分割を継続しない。このように、前時刻分類器群生成部33は、ルートのノードから順次、分割を繰り返し、木構造の決定木を生成する。
また、前時刻分類器群生成部33は、上記のように、木構造の決定木を生成した後、その決定木に対する枝刈りを行う。決定木において、分割されて生成された最終的なノードを葉と呼ぶ。ある葉に分類されたデータ数がNであるとする(すなわち、正または負としてカウントされる個別データ数がNであるとする)。この葉に分類されたNデータ中、Eデータが誤りであるとする。この仮定では、N回の試行中、誤りという事象をE回観測したとみなし、大きさNの標本で、誤りという事象が起きる確率がrである二項分布と考えることができる。予め与えられた信頼度CFに対して、rの上限をU_CF(E,N)と表すことにすると、Nデータでの誤りの発生する期待値は、N×U_CF(E,N)となる。前時刻分類器群生成部33は、子のノードが全て葉である親のノードに対し、親における誤りの期待値(誤りの発生する期待値)と、子である葉の誤りの期待値の合計とを比較する。そして、子での期待値の合計の方が親の誤りの期待値よりも大きければ、前時刻分類器群生成部33は、葉を縮退して、その親を葉とする。前時刻分類器群生成部33は、この処理を順次繰り返すことで、決定木全体の葉の枝刈りを行う。
葉を縮退する場合、前時刻分類器群生成部33は、葉を削除して、その削除した葉の親のノードを葉とすればよい。例えば、図9に例示する決定木において、「湿度」という項目の値に応じて分割したノードを縮退する場合、前時刻分類器群生成部33は、湿度の項目値が70%以下となっている個別データ数を表すノード「する:2,しない:0」と、湿度の項目値が70%より高くなっている個別データ数を表すノード「する:0,しない:3」とを削除して、その2つののノードの親ノード「する:2,しない:3」を葉とすればよい。
分類器として決定木を生成する場合、例えば、上記のように、決定木を定めて枝刈りを行うことで、決定木を生成すればよい。
ステップA3でFalse[i]に応じた前時刻データから分類器(前時刻分類器i)を生成すると、誤差群算出部34は、その前時刻分類器iを用いて、現時刻データのラベルを予測する(ステップA4)。すなわち、誤差群算出部34は、現時刻データ内の各個別データ毎に、その個別データにおける顧客の属性を示す項目と、前時刻分類器iとを照合し、その個別データにラベル付けられるラベルを予測する。
例えば、分類器が決定木である場合、誤差群算出部34は、そのルートのノードの項目に関して現時刻データ内の個別データの項目値を参照し、その項目値に応じて子ノードを辿る。誤差群算出部34は、葉のノードまで辿ったならば、葉のノードでカウント数の多い方のラベルを予測結果とすればよい。例えば、葉のノードで、「正:3,負:0」となっていれば、「正」と予測すればよい。
ステップA4の後、誤差群算出部34は、現時刻データ内の各個別データにラベル付けられるラベルの予測結果と、現時刻データとの誤差を算出する(ステップA5)。すなわち、現時刻データ内の各個別データには、現時刻データ生成時に正または負のラベルがラベル付けられているので、ステップA4での予測結果と、実際の現時刻データでラベル付けされているラベルとの誤差を予測する。この誤差をErr[i]と記す。
誤差群算出部34は、ステップA5において、例えば、現時刻データ内の個別データ毎に予測したラベルと、実際に現時刻データの各個別データにラベル付けられているラベルとを比較し、両者が異なっている個別データ数をカウントして、そのカウント値をErr[i]として求めてもよい。
あるいは、誤差群算出部34は、現時刻データ内の個別データ毎に予測したラベルのうち、正がラベル付けられると予測した個別データの数と、現時刻データの中で実際に正がラベル付けられた個別データの数との差を計算して、その差をErr[i]として求めてもよい。すなわち、正のラベルの予測数と、実際に現時刻データの中で正がラベル付けられた個別データ数(実際の利用者数)との差の絶対値をErr[i]としてもよい。
ステップ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を初期化している。
ステップ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)。
ステップA11からステップA12に移行した場合、p=1であり、現在着目している仮影響度False[i]を、誤差が最小となる1番目の仮影響度とする。また、ステップA7において、着目しているFalse[i]に対応するErr[i]がErrorMinと等しく、ステップA12に移行した場合、pは2以上の値になる。この場合、既に最小の誤差に対応する仮影響度は1つ以上見つかっていて、影響度算出部35は、現在着目している仮影響度False[i]を、誤差が最小となるp番目の仮影響度と定めることになる。
ステップA12の後、あるいは、ステップA7でErr[i]がErrorMinと等しくないと判定した場合(ステップA7におけるNo)、影響度算出部35は、iの値をインクリメントする(ステップA8)。次に、影響度算出部35は、iの値が、最初に入力された仮影響度の個数(Mとする。)以下であるか否かを判定する(ステップA9)。iが仮影響度数M以下であるならば(ステップA9におけるYes)、ステップA8でインクリメントされたiによって定まる仮影響度False[i]に関してステップA2以降の処理を行う。すなわち、着目する仮影響度を変更してステップA2以降の処理を行う。
iの値が仮影響度数Mよりも大きければ(ステップA9におけるNo)、ステップA10に移行する。ここで、iは、誤差算出が終了した仮影響度の数を表している。ステップA10において、影響度算出部35は、最小誤差に対応する各仮影響度の平均値を計算し、その平均値を影響度として出力する(ステップA10)。最小誤差に対応する仮影響度が1つしかなければ、p=1となっている。このとき、影響度算出部35は、Imp[1]を影響度として出力すればよい。また、最小誤差に対応する仮影響度が複数ある場合、pは2以上の値となっている。このとき、影響度算出部35は、Imp[1]からImp[p]までの各影響度の平均値を計算し、その平均値を影響度として出力すればよい。
影響度算出部35は、例えば、出力装置4に影響度を表示させる。あるいは、他の出力態様で影響度を出力してもよい。例えば、出力装置4が印刷装置であって、出力装置4に影響度を印刷させてもよい。
次に、第1の実施形態の効果について説明する。
第1の実施の形態では、入力された複数の仮影響度のそれぞれに対し予測誤差を求め、その誤差が最小となる仮影響度の平均を影響度とする。従って、前時刻から現時刻までの期間における影響度を推定することができる。また、影響度を調べようとする期間にあわせて、入力する現時刻および時刻間隔を定めることにより、調べようとする期間における影響度を推定することができる。
また、誤差群算出部34が、予測したラベルと実際に現時刻データの各個別データにラベル付けられているラベルとを比較し、両者が異なっている個別データ数をカウントして、そのカウント値を誤差(Err[i])とする場合には、影響度の推定性能を高めることができる。
また、誤差群算出部34が、現時刻データ内の個別データ毎に予測したラベルのうち、正がラベル付けられると予測した個別データの数と、現時刻データの中で実際に正がラベル付けられた個別データの数との差を誤差(Err[i])とする場合には、現時刻で利用を開始すべき顧客が次の時刻で開始したり、次の時刻で利用を開始すべき顧客が現時刻で早めに利用を開始したりするといった細かな変動を均して影響度を推定することができる。
また、上記の実施形態では、入力された1つの現時刻における影響度を推定する場合を説明したが、複数種類の現時刻が入力され、その各現時刻に対して、それぞれステップA1以降の処理を行い、各現時刻毎に影響度を求めてもよい。この場合、刻々と変動する影響度を推定することができる。
また、例えば、複数の現時刻が入力され、各現時刻毎に影響度を求める場合、以下の様に動作してもよい。すなわち、影響度推定システムのユーザから各現時刻毎に影響度を求めるように指定された場合に、各現時刻毎にステップA1以降の処理を行って、各現時刻毎の影響度を求め、影響度算出部35は、それらの現時刻毎の影響度の平均値を影響度として求めてもよい。このように影響度を求めれば、広告・販売促進活動の影響を受けにくい期間で多くの時刻を用いると影響度の推定誤差を減少できると思われる場合に、推定誤差の少ない影響度を求めることができる。また、各現時刻毎の影響度の平均値を求めるときに、最近に近いほど(すなわち、現時刻が遅くなっているほうの影響度ほど)重みを付けて、重み付き平均の値を求め、その重み付き平均の値を影響度としてもよい。
また、影響度推定システムのユーザが複数の現時刻を指定する場合、現時刻の最小値、最大値、および現時刻を変化させる間隔を現時刻データ生成部31に入力してもよい。現時刻データ生成部31は、現時刻の最小値、最大値、および現時刻を変化させる間隔が入力されると、その現時刻の最小値から最大値までの期間をその間隔毎に区切って、入力された最小値および最大値の他に、その境界の時刻を現時刻としてもよい。そして、それらの現時刻毎に影響度を求め、その移動平均あるいは移動重み付き平均を求めてもよい。
また、複数の現時刻が入力され、各現時刻毎に各仮影響度における誤差を計算し、その各現時刻における各仮影響度の誤差から影響度を定めてもよい。例えば、複数の現時刻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]を影響度としてもよい。
また、影響度推定システムのユーザが複数の仮影響度を指定する場合、仮影響度の最大値、最小値、および仮影響度を変化させる間隔を現時刻データ生成部31に入力してもよい。現時刻データ生成部31は、仮影響度の最大値、最小値、および仮影響度を変化させる間隔が入力されると、その仮影響度の最小値から最大値までの値の範囲をその期間毎に区切って、入力された最小値および最大値の他に、その境界の値を仮影響度として定めてもよい。
また、第1の実施の形態では、影響度を出力するよう記載したが、影響度の信頼性をユーザーが知るため、算出した誤差などを出力してもよい。例えば、影響度算出手段35が、影響度の他に、Err[i]を出力装置4に出力させてもよい。
また、第1の実施形態では、影響度推定システムが顧客DB2を備える場合を説明したが、顧客DB2が影響度推定システムの外部に設けられ、影響度推定システムがその顧客DB2を参照して処理を行う構成であってもよい。
実施形態2.
図12は、本発明の普及予測システムの例を示すブロック図である。第1の実施形態と同様の構成要素については、図1と同一の符号を付す。本発明の普及予測システムは、個々の顧客毎に、予測対象の時刻において商品またはサービスの利用を開始するか否かを判定する普及予測装置5と、顧客データベース(以下、顧客DBと記す)2とを備える。
本実施形態の顧客DB2は、顧客データを記憶する記憶手段であり、第1の実施形態における顧客DB2(図1参照)と同様である。本実施形態の顧客DB2が記憶する顧客データも、第1の実施形態における顧客データと同様である。すなわち、顧客データは、図4に示すように、個々の顧客毎に定められた個別データの集合である。顧客DB2において、各個別データは、利用開始情報と、利用開始情報以外の顧客の属性を表す一つ以上の項目とを含む。顧客が商品またはサービスを利用し始めている場合には、その商品またはサービスを利用し始めた時期が利用開始情報となる。また、顧客が商品またはサービスを未利用である場合には、未利用である旨が利用開始情報となる。
普及予測装置5は、現時刻と影響度とが入力される。第2の実施形態における現時刻は、顧客が商品またはサービスを利用し始めたか否かの判定対象時刻を定める。また、影響度は、第1の実施形態の影響度推定システムが求めた影響度であることが好ましいが、普及予測システムのユーザが決めた影響度であってもよい。また、本実施形態における現時刻は、将来の時刻であってもよい。
普及予測装置5は、テストデータ生成部51と、学習データ生成部52と、分類器生成部53と、テストデータラベル判定部54とを備える。
テストデータ生成部51は、現時刻と顧客DB2とに基づいて、現時刻に利用を開始していない顧客の個別データを含むテストデータを生成する。
テストデータは、現時刻において、商品またはサービスの利用を開始していない顧客の個別データを含むデータである。テストデータは、現時刻で商品またはサービスの利用を開始していない顧客の個別データのみを含むことが好ましいが、現時刻で商品またはサービスの利用を開始している顧客の個別データを含んでいてもよい。以下、テストデータが、現時刻で商品またはサービスの利用を開始していない顧客の個別データのみを含む場合を例にして説明する。
学習データ生成部52は、入力された現時刻および影響度と顧客DB2に記憶されている顧客データとに基づいて、学習データを生成する。学習データは、現時刻で商品またはサービスの利用を開始している顧客の個別データに第1ラベルをラベル付け、現時刻で商品またはサービスの利用を開始していない顧客の個別データに第2ラベルをラベル付け、入力された影響度に応じて重み付けを行ったデータである。第1の実施形態で述べたように、重み付けとは、第2ラベルをラベル付けた個別データ数に対して、第1ラベルをラベル付けた個別データ数を相対的に変動させることである。また、第1の実施形態と同様に、第1ラベルを正(または+)と記し、第2ラベルを負(または−)と記す。
分類器生成部53は、学習データ生成部52が生成した学習データを用いて分類器を生成する。
テストデータラベル判定部54は、テストデータ内の各個別データのラベルを分類器によって予測する。すなわち、テストデータ内の各個別データの項目と分類器とを照合して、正または負のいずれにラベル付けられるかという判定を行う。正と判定された個別データの顧客は、現時刻の次の時刻で商品またはサービスの利用を開始すると予測されることになる。負と判定された個別データの顧客は、現時刻の次の時刻ではまだ商品またはサービスの利用を開始しないと予測されることになる。なお、現時刻の次の時刻とは、現時刻に、定められた一定時間を加算した時刻である。
なお、テストデータラベル判定部54は、テストデータ内の各個別データに対するラベルの予測結果(判定結果)を、出力装置(図12において図示せず。)に出力させてもよい。例えば、予測結果を、ディスプレイ装置などに表示させても、印刷装置などに印刷させてもよい。
また、テストデータ生成部51および学習データ生成部52は、外部から現時刻を入力されてもよい。また、学習データ生成部52は、外部から影響度を入力されてもよい。このとき、例えば、キーボードなどの入力装置(図12において図示せず。)を介して現時刻および影響度が入力されてもよい。あるいは、第1の実施形態の影響度推定システムがある現時刻における影響度を求めた場合、例えば、第1の実施形態の影響度推定システムの影響度算出手段35が、現時刻をテストデータ生成部51および学習データ生成部52に渡し、影響度を学習データ生成部52に渡してもよい。
普及予測装置5が備えるテストデータ生成部51、学習データ生成部52、分類器生成部53、およびテストデータラベル判定部54は、例えば普及予測プログラムに従って動作するCPUによって実現される。すなわち、普及予測装置5に設けられた記憶装置から普及予測プログラムを読み込んだCPUがテストデータ生成部51、学習データ生成部52、分類器生成部53、およびテストデータラベル判定部54として動作してもよい。
次に、普及予測システムの動作について説明する。
図13は、本発明の普及予測システムの処理経過の例を示すフローチャートである。例えば、キーボートなどの入力装置(図13において図示せず。)を介して、普及予測装置5に現時刻および影響度が入力されると、普及予測システムは以下のように動作する。
まず、テストデータ生成部51は、テストデータを生成する(ステップB1)。テストデータ生成部51は、顧客データDB2に記憶されている顧客データの中から、現時刻で商品またはサービスの利用を開始していない顧客の個別データのみを抜き出して、その個別データの集合をテストデータとすればよい。具体的には、利用開始情報(図4参照)が現時刻以前の時刻となっていない個別データのみを抜き出して、その個別データの集合をテストデータとすればよい。ここでは、テストデータが、現時刻で利用を開始していない顧客の個別データのみを含む場合を例にしているが、現時刻で利用を開始している顧客の個別データをテストデータに含めるようにしてもよい。
ステップB1の後、学習データ生成部52は、学習データを生成する(ステップB2)。学習データ生成部52は、顧客DB2に記憶された顧客データを読み込み、現時刻以前で商品またはサービスの利用を開始している顧客の個別データに正をラベル付け、現時刻で商品またはサービスの利用を開始していない顧客の個別データに負をラベル付ける。すなわち、利用開始情報が現時刻以前の時刻となっている個別データに正をラベル付け、利用開始情報が現時刻以前の時刻でない個別データに負をラベル付ける。そして、学習データ生成部52は、影響度に応じて、正とした個別データの数を、負とした個別データの数に対して相対的に変動させる。本例では、影響度の関数の関数値を計算し、その関数値倍に、正をラベル付けた個別データを増加させる場合を例にする。
影響度の関数として、例えば、現時刻で商品またはサービスの利用を開始している顧客数と現時刻で未だその商品またはサービスの利用を開始していない顧客数との比率を影響度の係数とする関数を用いてもよい。すなわち、以下に例示する関数を用いてもよい。
影響度×(現時刻の未利用者数)/(現時刻の利用者数)
上記の関数において、「現時刻の未利用者数」は、現時刻で未だ商品またはサービスの利用を開始していない顧客の数(より具体的には個別データの数)である。すなわち、顧客データにおいて、利用開始情報が現時刻以前でない個別データの数である。また、「現時刻の利用者数」は、現時刻で商品またはサービスの利用を開始している顧客の数である。すなわち、顧客データにおいて、利用開始情報が現時刻以前となっている個別データの数である。このように、「現時刻の未利用者数」を「現時刻の利用者数」で除算して得た比率を影響度の係数とする関数を用いてもよい。
また、影響度の関数として、例えば、現時刻で商品またはサービスの利用を開始している顧客数と全顧客数との比率を影響度の係数とする関数を用いてもよい。すなわち、以下に例示する関数を用いてもよい。
影響度×(顧客人数)/(現時刻の利用者数)
上記の関数において、「顧客人数」は、全顧客数(顧客データ内の全個別データ数)である。「現時刻の未利用者数」は、上述の関数の場合と同様である。このように、「顧客人数」を「現時刻の利用者数」で除算して得た比率を影響度の係数とする関数を用いてもよい。
学習データ生成部52は、このような関数の関数値倍に、正をラベル付けた個別データを増加させる。例えば、入力された影響度を関数に代入して得た値がjであるとする。この場合、正をラベル付けた個別データの数がj倍になるように、正をラベル付けた個別データの複製を生成すればよい。
また、例示した2つの関数における影響度の係数の値は、いずれも時間が経過して利用者数が増えるに従って減少する。影響度の係数は、このような係数に限定されない。また、影響度の値をそのまま関数値として用いてもよい。この場合、係数を1としていることになる。
また、上記の例では、正とラベル付けた個別データを関数値倍に増加させる場合を示しているが、重み付けでは、正とラベル付けた個別データ数を、負とラベル付けた個別データ数に対して相対的に変化させればよい。この点は、第1の実施形態において前時刻データ群生成部32が行う重み付けと同様である。
ステップB2の後、分類器生成部53は、学習データを用いて分類器を生成する(ステップB3)。分類器生成部53は、重回帰分析、決定木、ニューラルネットワーク、サポートベクタマシン、ベイジアンネットワークなどのデータマイニングによる手法のいずれかあるいはその組合せにより分類器を生成すればよい。
また、第1の実施形態において前時刻データ群生成部32の分類器生成動作として例示したように、分類器として決定木を生成してもよい。すなわち、分類器生成部53は、学習データが与えられると、どの項目で最初に分割させるかを決定する。このとき、分類器生成部53は、項目1〜Nの各項目について、分割時の評価値を計算し、その評価値が最大の項目を、分割に最も適した項目として選択すればよい。評価値として、例えば、分割前のノードのエントロピーと、分割後のエントロピーの差を用いればよい。分割前のノードのエントロピー、および分割後のエントロピーの計算方法は、第1の実施形態で既に説明した計算方法と同様であり、説明を省略する。分類器生成部53は、分割後の各ノードについても、上記と同様の処理を行い、次にどの項目で分割するのかを決定する処理を順次繰り返し、所定の条件が満たされたときには、ノードの分割を停止する。そして、分類器生成部53は、このようにして得た木構造の決定木に対して、枝刈りを行うことにより、分類器となる決定木を生成する。上記の所定の条件や枝刈りの処理も、第1の実施形態で示した所定の条件や枝刈り処理と同様であり、説明を省略する。このようにして生成した決定木(分類器)は、学習データ内で第1ラベルをラベル付けられた個別データの割合が高くなるほど、テストデータ内で第2ラベルをラベル付けられている個別データのうち、第1ラベルをラベル付けられた個別データの項目値と類似する項目値を持つ個別データに対して、第1ラベルをラベル付けると判定する頻度が高くなるという性質を有している。なお、分類器は決定木に限定されず、分類器生成部53は、上記以外の動作で分類器を生成してもよい。
ステップB3の後、テストデータラベル判定部54は、ステップB3で生成された分類器を用いて、テストデータのラベルを予測する(ステップB4)。すなわち、テストデータラベル判定部54は、テストデータ内の各個別データ毎に、その個別データにおける顧客の属性を示す項目と、ステップB3で生成された分類器とを照合し、その個別データに対するラベルが正であるか負であるかを判定する。例えば、分類器が決定木である場合、テストデータラベル判定部54は、そのルートのノードの項目に関してテストデータ内の個別データの項目値を参照し、その項目値に応じて子ノードを辿る。テストデータラベル判定部54は、葉のノードまで辿ったならば、葉のノードでカウント数の多い方のラベルを判定結果とすればよい。
テストデータラベル判定部54は、テストデータ内の個別データ毎に判定した正または負のラベルを、例えば、ディスプレイ装置などに表示させてもよい。あるいは、印刷装置に印刷させてもよい。
本実施形態によれば、顧客の属性を示す項目を含む個別データの集合に対してラベル付けを行い、さらに重み付けをして得た学習データから分類器を生成する。そして、テストデータラベル判定部54がテストデータ内の各個別データ毎に、その項目と分類器とを照合して、正または負のいずれかを判定する。すなわち、顧客の属性を示す項目を利用して分類器を生成し、利用を開始していない顧客の項目とその分類器とから、その顧客が現時刻の次の時刻で利用を開始するか否かを予測している。従って、顧客の属性を利用して、顧客が現時刻の次の時刻で利用を開始するか否かを判定することができる。
また、個別データ毎にラベルの予測を行うので、個々の顧客毎に現時刻の次の時刻で商品またはサービスを利用開始するか否かを予測することができる。また、指定する現時刻を変更すれば、所望の時刻で各顧客毎に商品またはサービスを利用開始するか否かを予測することができる。すなわち、個別の顧客がある時刻で商品やサービスの利用を開始するか否かを予測できる。従って、その予測結果を、商品やサービスの販売促進に活用することができる。
また、ロジスティック曲線等にデータを当てはめて普及曲線を予測する場合には、立ち上がりからのデータ(すなわち、商品やサービスの提供開始時からの提供数データ)が必要であるが、本発明では、顧客データが一部の期間におけるデータである場合にも、現時刻の次の時刻で各顧客毎に商品またはサービスを利用開始するか否かを予測することができる。
次に、第2の実施形態の変形例を示す。以下に示す第2の実施形態の変形例では、テストデータに対する予測結果を顧客DB2が記憶する顧客データに反映させる。そして、現時刻を更新してテストデータに対する予測を繰り返して、商品またはサービスの普及の程度を予測する。
図14は、第2の実施形態の変形例を示すブロック図である。既に説明した構成要素と同様の構成要素は、図12と同一の符号を付し、説明を省略する。また、図12では、普及予測装置5に現時刻および影響度などを入力するための入力装置1と、予測結果を出力するための出力装置4とを備えている場合を例にして示している。入力装置1は、例えば、キーボードなどの入力装置であり、出力装置4は、例えば、ディスプレイ装置などの出力装置である。
普及予測装置5は、テストデータ生成部51と、学習データ生成部52と、分類器生成部53と、テストデータラベル判定部54と、現時刻更新部55とを備える。
本変形例では、テストデータラベル判定部54は、ステップB4での判定結果が実際の利用開始情報と異なっている個別データの利用開始情報を上書きして更新する。判定結果が実際の利用開始情報と異なっている場合とは、個別データの利用開始情報が未利用を示していて、判定結果が正である場合である。この場合、テストデータラベル判定部54は、顧客DB2に記憶されている顧客データ内におけるその個別データの利用開始情報を現時刻に一定の時間(Tとする。)分を加算した時刻に更新する。このように時刻を更新して、その個別データが、顧客がその時刻から商品またはサービスの利用を開始したことを表すようにする。
現時刻更新部55は、テストデータラベル判定部54がテストデータに対する判定を行った後、現時刻を一定の時間(T)分増加した時刻を新たな現時刻とするように、現時刻を更新する。現時刻更新部55も、例えば、普及予測プログラムに従って動作するCPUによって実現される。
テストデータ生成部51、学習データ生成部52、分類器生成部53、およびテストデータラベル判定部54は、更新後の現時刻が定められた期間内であることを条件に、更新後の顧客データおよび現時刻を用いて、第2の実施形態と同様の処理を繰り返す。
次に、本変形例の動作について説明する。図15は、第2の実施形態の変形例における処理経過の例を示すフローチャートである。本変形例では、普及予測装置5に現時刻、影響度の他に、普及予測の対象とする期間(以下、予測期間と記す。)が入力される。予測期間として、例えば、普及予測の対象とする期間の最後の時刻が入力されてもよい。
その後、ステップB1〜B4の処理を行う。ステップB1〜B4の処理は、第2の実施形態で既に説明したステップB1〜B4(図12参照)と同様の処理である。
ステップB4の後、テストデータラベル判定部54は、個別データの利用開始情報が未利用を示していて、ステップB4での判定結果として正がラベル付けられるという結果が得られた個別データの利用開始情報を更新する(ステップB5)。テストデータラベル判定部54は、顧客データ内のその個別データの利用開始情報を、現時刻に一定の時間Tを加算した時刻に更新する。
次に、現時刻更新部55は、現時刻を更新する(ステップB6)。ステップB6において、現時刻更新部55は、現時刻に一定の時間Tを加算した時刻を新たな現時刻とする。
そして、現時刻更新部55は、更新後の現時刻が予測期間内であるか否かを判定する(ステップB7)。更新後の現時刻が予測期間内であると判定した場合(ステップB7におけるYes)、普及予測装置5はステップB1以降の処理を繰り返す。
また、更新後の現時刻が予測期間を越えると判定した場合(ステップB7におけるNo)、現時刻更新部55は、予測結果を出力装置4に出力させる(ステップB8)。例えば、各顧客毎の個別データにおける利用開示情報を、個々の顧客の予測される利用開始時期として出力装置4に出力させてもよい。また、商品またはサービスの普及曲線を出力装置4に出力させてもよい。普及予測システムが出力装置4としてディスプレイ装置などの表示装置を備えていて、現時刻更新部55が出力装置4に予測結果を表示させてもよい。あるいは、普及予測システムが出力装置4として印刷装置を備えていて、現時刻更新部55が出力装置4に予測結果を印刷させてもよい。
普及曲線を出力する場合、例えば、ステップB1に移行する毎に、現時刻更新部55(他の構成要素でもよい)が、現時刻において商品またはサービスの利用を開始している顧客の個別データ数を顧客DBの中からカウントし、そのカウント値と現時刻とを対応付けて記憶していけばよい。そして、ステップB8において、例えば、現時刻を横軸にとり、カウント値を縦軸にとって、現時刻の変化に伴うカウント値の推移を示すグラフを作成し、そのグラフを出力装置4に出力させてもよい。このカウント値は、利用を開始した顧客数に相当する。
第2の実施形態の変形例では、顧客の属性を示す項目を含む個別データの集合に対してラベル付けを行い、さらに重み付けをして得た学習データから分類器を生成し、その分類器でテストデータに対する予測を行うことを、現時刻を更新しながら繰り返す。従って、顧客の属性(特徴)の違いを考慮して、商品やサービスの普及の程度を高い精度で予測することができる。
また、顧客のデータを増やすほど普及の予測精度を向上させることができる。
また、学習データ生成時に用いる関数として、現時刻で商品またはサービスの利用を開始している顧客数と現時刻で未だその商品またはサービスの利用を開始していない顧客数との比率や、あるいは、現時刻で商品またはサービスの利用を開始している顧客数と全顧客数との比率を、影響度の係数とする関数を用いることにより、影響度だけでなく商品やサービスの普及率に応じても関数値を定め、重み付けを行うことができる。その結果、予測の精度をより高めることができる。
また、学習データ生成時に用いる関数として、影響度の係数として、顧客の属性に応じた係数も含む関数を用いてもよい。例えば、学習データ生成時に、以下のような関数を用いて重み付けを行ってもよい。
影響度×顧客係数×(現時刻の未利用者数)/(現時刻の利用者数)
学習データ生成部52は、個別データにおける顧客の属性を示す項目の内容に応じて顧客係数を選択し、その顧客係数を用いて、例えば、上記のような関数により関数値を計算してもよい。このように、顧客毎に個別に重み付けを行ってもよい。
また、上記の変形例では、顧客DB2に記憶されている個別データの利用開始情報を上書きして更新する場合を例にして説明したが、個別データに当初から含まれている利用開始情報のコピーを利用開始時期予測情報としてコピーしておき、そのコピーを更新するようにしてもよい。この場合、実績と予測値とをそれぞれ保持しておくことができる。
実施形態3.
本実施形態の普及予測システムは、影響度を算出し、その影響度を用いて、予測対象の時刻において各顧客が商品またはサービスの利用を開始するか否かを判定する。図16は、本実施形態の普及予測システムの例を示すブロック図である。本実施形態の普及予測システムは、顧客DB2と、影響度推定装置3と、普及予測装置5とを備える。また、入力装置1および出力装置4を備えていてもよい。影響度推定装置3は、第1の実施形態で説明した影響度推定装置3と同様に動作する。また、普及予測装置5は、第2の実施形態で説明した普及予測装置5と同様に動作する。顧客DB2、入力装置1、および出力装置4も、第1の実施形態および第2の実施形態で説明した顧客DB2、入力装置1、出力装置4と同様である。
顧客DB2は、顧客データを記憶する記憶手段であり、顧客DB2が記憶する顧客データも、第1の実施形態および第2の実施形態における顧客データと同様である。すなわち、顧客データは、利用開始情報と、利用開始情報以外の顧客の属性を表す一つ以上の項目とを含む顧客毎の個別データの集合である。
影響度推定装置3は、例えば入力装置1を介して、現時刻、時刻間隔、および複数の仮影響度を入力される。影響度推定装置3は、その現時刻、時刻間隔、および複数の仮影響度を用いて影響度を推定し、その影響度を普及予測装置5に渡す。
普及予測装置5は、例えば入力装置1を介して、現時刻を入力される。普及予測装置5は、その現時刻と、影響度推定装置3が定めた影響度とを用いて、テストデータに対する予測を行う。
本実施形態において、入力される現時刻は、影響度推定装置3において影響度の推定対象時刻としても用いられる。
図17は、本実施形態の普及予測システムを詳細に示すブロック図である。ただし、入力装置1および出力装置4は省略している。
影響度推定装置3は、現時刻データ生成部31と、前時刻データ群生成部32と、前時刻分類器群生成部33と、誤差群算出部34と、影響度算出部35とを備える。普及予測装置5は、テストデータ生成部51と、学習データ生成部52と、分類器生成部53と、テストデータラベル判定部54とを備える。
現時刻データ生成部31、前時刻データ群生成部32、前時刻分類器群生成部33、誤差群算出部34、影響度算出部35は、第1の実施形態と同様に動作する。すなわち、ステップA1〜A10(図3参照。)を実行し、影響度を定める。影響度算出部35は、その影響度を学習データ生成部52に渡す。
テストデータ生成部51、学習データ生成部52、分類器生成部53、テストデータラベル判定部54は、第2の実施形態と同様に動作する。すなわち、ステップB1〜B4(図13参照)を実行し、個々の顧客毎に、商品またはサービスの利用が開始されるか否かを判定する。
なお、影響度算出部35は、1つの影響度を定めて、普及予測装置5は、その影響度を用いて、ステップB1以降の処理を行えばよい。
第1の実施形態で説明した影響度推定装置3に関する種々の変形が本実施形態の影響度推定装置3に適用されてもよい。また、第2の実施形態で説明した普及予測装置5に関する種々の変形が本実施形態の普及予測装置5に適用されていてもよい。第2の実施形態の変形例(図14参照)と同様に、普及予測装置5が現時刻更新部55を備え、ステップB1〜B8を実行する構成であってもよい。例えば、普及曲線を出力装置4に出力させてもよい。
現時刻データ生成部31、前時刻データ群生成部32、前時刻分類器群生成部33、誤差群算出部34、影響度算出部35、テストデータ生成部51、学習データ生成部52、分類器生成部53、およびテストデータラベル判定部54は、例えば、普及予測プログラムに従って動作するCPUによって実現される。普及予測システムが現時刻更新部55を備える場合、現時刻更新部55もそのCPUによって実現されてよい。
本実施形態においても、第2の実施形態と同様の効果を得ることができる。特に、影響度推定装置3が影響度を用いて処理を行うので、予測精度をより高くすることができる。
また、第2の実施形態および第3の実施形態では、普及予測システムが顧客DB2を備える場合を説明したが、顧客DB2が普及予測システムの外部に設けられ、普及予測システムがその顧客DB2を参照して処理を行う構成であってもよい。
実施形態4.
図18は、本発明の第4の実施形態の普及予測システムの例を示すブロック図である。第4の実施形態の普及予測システムは、顧客DB2と、閾値関数推定装置6と、普及予測装置7とを備える。また、第1の実施形態から第3の実施形態で説明した入力装置1および出力装置4と同様の入力装置および出力装置を備えていてもよい。顧客DB2は、第1の実施形態から第3の実施形態で説明した顧客DB2と同様である。
顧客DB2は、顧客データを記憶する記憶手段であり、顧客DB2が記憶する顧客データも、第1の実施形態から第3の実施形態における顧客データと同様である。すなわち、顧客データは、利用開始情報と、利用開始情報以外の顧客の属性を表す一つ以上の項目とを含む顧客毎の個別データの集合である。
本実施形態において、閾値関数推定装置6は、商品またはサービスの普及率と閾値との関係を示す閾値関数を推定する。閾値関数推定装置6は、複数の時刻において、普及率および閾値を求め、それぞれの時刻毎の普及率および閾値から閾値関数を推定する。この閾値とは、個別データに第1ラベルがラベル付けられるか否かを判定するための閾値である。普及予測装置7は、顧客DB2に記憶された顧客データからテストデータを生成し、テストデータ内の個別データに第1のラベルがラベル付けられる確からしさのスコアを計算する。また、普及予測装置7は、商品またはサービスの普及率も計算し、閾値関数推定装置6によって推定された閾値関数にその普及率を代入して閾値を算出する。普及予測装置7は、スコアがその閾値以上である個別データに対するラベルは第1ラベルであり、スコアがその閾値未満である個別データに対するラベルは第2ラベルであると判定する。以下、既に説明した実施形態と同様に、第1ラベルを正(または+)と記し、第2ラベルを負(または−)と記す。
閾値関数推定装置6は、基準時刻データ群生成部61と、閾値推定前時刻データ群生成部62と、閾値推定前時刻分類器群生成部63と、誤差群算出部64と、関数推定部65とを備える。
基準時刻データ群生成部61は、閾値の推定対象時刻を定めるための複数の基準時刻と、その各基準時刻の一定時間前を指定するための時刻間隔と、複数の仮閾値とが入力される。キーボード等の入力装置(図18において図示せず。)を介して基準時刻データ群生成部61に、複数の基準時刻、時刻間隔および複数の仮閾値が入力されてもよい。
本実施形態における基準時刻とは、閾値の推定対象時刻となる後述の閾値推定前時刻を定めるための基準時刻であり、後述の基準時刻データを用いて各閾値推定前時刻毎の閾値が決定される。なお、それぞれの閾値推定前時刻毎に普及率も計算され、それぞれの閾値推定前時刻における普及率と閾値との関係から閾値関数が推定される。
時刻間隔は、入力された基準時刻の一定時間前を指定するための時間である。入力される仮閾値は、閾値関数推定装置6で求めようとしている閾値の候補である。各仮閾値は、例えば、0以上1以下の数値である。
基準時刻データ群生成部61に入力される基準時刻の数をU個とし、仮閾値の数をV個とする。
基準時刻データ群生成部61は、1つの基準時刻に対して、1つの基準時刻データを生成する。従って、U個の基準時刻データが生成される。基準時刻データは、基準時刻で商品またはサービスの利用を介している顧客の個別データに正(第1ラベル)をラベル付け、基準時刻で商品またはサービスの資料を開始していない顧客の個別データに負(第2ラベル)をラベル付けたデータである。基準時刻データ群生成部61は、顧客DB2を用いて(すなわち、顧客DB2に記憶された顧客データに基づいて)、基準時刻データを生成する。個々の基準時刻データの生成処理は、第1の実施形態における現時刻データの生成処理と同様である。また、基準時刻データ群生成部61は、それぞれの基準時刻から時刻間隔前の時刻(基準時刻から時刻間隔分遡った時刻)を求める。この時刻を、閾値推定前時刻と記す。基準時刻データ群生成部61は、入力された各基準時刻毎に、基準時刻から時刻間隔を減算して閾値推定前時刻を計算する。従って、閾値推定前時刻もU個求められる。
閾値推定前時刻データ群生成部62は、1つの閾値推定前時刻に対して、1つの閾値推定前時刻データを生成する。従って、U個の閾値推定前時刻データが生成される。閾値推定前時刻データ群生成部62は、閾値推定前時刻毎に、閾値推定前時刻と顧客DB2に記憶されている顧客データとに基づいて、閾値推定前時刻データを生成する。閾値推定前時刻データは、閾値推定前時刻で商品またはサービスの利用を開始している顧客の個別データベースに正をラベル付け、閾値推定前時刻で商品またはサービスの利用を開始していない顧客の個別データに負をラベル付けたデータである。閾値推定前時刻データは、重み付けが行われていない点で、第1の実施形態で説明した前時刻データと異なる。
また、閾値推定前時刻データ群生成部62は、閾値推定前時刻データを用いて普及率を計算する。普及率は、顧客数に対する、閾値推定前時刻までに商品またはサービスの利用を開始した顧客数の割合である。閾値推定前時刻データ群生成部62は、閾値推定前時刻データ毎に普及率を計算する。よって、普及率もU個計算される。閾値推定前時刻データ群生成部62は、関数推定部65で用いるために閾値推定前時刻データ毎のU個の普及率を記憶しておいてもよい。
閾値推定前時刻分類器群生成部63は、1つの閾値推定前時刻データに基づいて、1つの分類器を生成する。従って、U個の分類器が生成される。本実施形態における分類器は、顧客の個別データに第1ラベルがラベル付けられる確からしさのスコアを定めるルールである。
誤差群算出部64は、閾値推定前時刻分類器群生成部63で生成された分類器を用いて、基準時刻データ内の各個別データのスコアを計算し、スコアと仮閾値とを比較することで、各個別データのラベルを予測する。このスコアは、個別データに第1ラベルがラベル付けられる確からしさのスコアである。誤差群算出部64は、このラベル予測を分類器毎に行う。また、一つの分類器でのラベル予測では、入力されたV個の仮閾値毎にラベル予測を行う。誤差群算出部64は、ある分類器および仮閾値を用いてラベル予測を行う場合、その分類器で基準時刻データ内の各個別データのスコアを計算し、スコアがその仮閾値以上となっている個別データに対するラベルが正であり、スコアがその仮閾値未満となっている個別データに対するラベルが負であると予測する。また、その基準時刻データ内の各個別データには、既に実際にラベル付けが行われている。誤差群算出部64は、分類器および仮閾値を用いて予測したラベルと、実際に基準時刻データでラベル付けられているラベルとの誤差を算出する。この予測したラベルと実際のラベルとの誤差の算出は、第1の実施形態における誤差群算出部34が予測したラベルと実際のラベルとの誤差を算出する処理と同様である。U個の分類器が生成され、各分類器に関しそれぞれV個の仮閾値について誤差を算出するので、U×V個の誤差を算出することになる。
関数推定部65は、U個の分類器それぞれに対し、V個の仮閾値毎に算出された誤差のうち、最小の誤差を特定し、最小の誤差に対応する仮閾値を分類器に対応する閾値(すなわち、閾値推定前時刻に対応する閾値)として定める。具体的には、最小の誤差に対応する仮閾値の数が一つである場合、関数推定部65は、その仮閾値を閾値として定める。また、最小の誤差に対応する仮閾値が複数個存在する場合には、その複数の仮閾値に基づいて、閾値推定前時刻に対応する閾値を定める。例えば、最小の誤差に対応する仮閾値が複数個存在する場合、その複数の仮閾値の平均値を計算し、その平均値を閾値推定前時刻に対応する閾値と定める。以下、最小の誤差に対応する仮閾値が複数個存在する場合、その仮閾値の平均値を閾値と定める場合を例にして説明する。
分類器毎に閾値を定めるので、各閾値推定前時刻に対応する閾値が定まる。また、閾値推定前時刻データ群生成部62によって、閾値推定前時刻毎の普及率が計算されている。よって、閾値推定前時刻毎の閾値および普及率の組がU組得られる。関数推定部65は、この閾値および普及率の組から閾値関数を推定する。
閾値関数推定装置6が備える基準時刻データ群生成部61、閾値推定前時刻データ群生成部62、閾値推定前時刻分類器群生成部63、誤差群算出部64、および関数推定部65は、例えばプログラムに従って動作するCPUによって実現される。すなわち、閾値関数推定装置6に設けられた記憶装置からプログラムを読み込んだCPUが、基準時刻データ群生成部61、閾値推定前時刻データ群生成部62、閾値推定前時刻分類器群生成部63、誤差群算出部64、および関数推定部65として動作してもよい。
普及予測装置7は、テストデータ生成部71と、ラベル付けデータ生成部72と、分類器生成部73と、テストデータラベル判定部74とを備える。
普及予測装置7には現時刻が入力される。この現時刻は、第2の実施形態で説明した現時刻データと同様に、顧客が商品またはサービスを利用し始めたか否かの判定対象時刻を定める。入力装置(図18において図示略)を介して普及予測装置7に現時刻が入力されてもよい。
テストデータ生成部71は、現時刻と顧客DB2とに基づいて、現時刻に利用を開始していない顧客の個別データを含むテストデータを生成する。以下、テストデータが、現時刻で商品またはサービスの利用を開始していない顧客の個別データのみを含む場合を例にして説明する。
ラベル付けデータ生成部72は、現時刻および顧客DB2に記憶されている顧客データに基づいて、ラベル付けデータを生成する。ラベル付けデータは、現時刻で商品またはサービスの利用を開始している顧客の個別データに正(第1ラベル)をラベル付け、現時刻で商品またはサービスの利用を開始していない顧客の個別データに負(第2ラベル)をラベル付けたデータである。ラベル付けデータは、重み付けが行われていない点で、第2の実施形態で説明した学習データと異なる。重み付けを行うか否かという点以外では、本実施形態におけるラベル付けデータ生成処理と、第2の実施形態における学習データ生成処理は同様である。
また、ラベル付けデータ生成部72は、生成したラベル付けデータを用いて普及率を計算する。
分類器生成部73は、ラベル付けデータ生成部72が生成したラベル付けデータを用いて分類器を生成する。この分類器は、閾値推定前時刻分類器群生成部63が生成する分類器と同じく、顧客の個別データに第1ラベルがラベル付けられる確からしさのスコアを定めるルールである。
テストデータラベル判定部74は、分類器生成部73で生成された分類器を用いて、テストデータ内の各個別データのスコアを計算する。また、テストデータラベル判定部74は、関数推定部65で推定された閾値関数と、ラベル付けデータから計算された普及率とを用いて、閾値を計算する。すなわち、閾値関数に普及率を代入して閾値を計算する。そして、スコアとその閾値とを比較して、テストデータラベル内の各個別データのラベルを判定する。具体的には、テストデータラベル判定部74は、テストデータラベル内の各個別データのうち、スコアが閾値以上となっている個別データに対するラベルが正であると判定し、スコアが閾値未満の個別データに対するラベルが第2ラベルであると判定する。正と判定された個別データの顧客は、現時刻の次の時刻で商品またはサービスの利用を開始すると予測されることになる。負と判定された個別データの顧客は、現時刻の次の時刻ではまだ商品またはサービスの利用を開始しないと予測されることになる。なお、現時刻の次の時刻とは、現時刻に、定められた一定時間を加算した時刻である。
テストデータラベル判定部74は、テストデータ内の各個別データに対するラベルの予測結果(判定結果)を、出力装置(図18において図示せず。)に出力させてもよい。
普及予測装置7が備えるテストデータ生成部71、ラベル付けデータ生成部72、分類器生成部73、およびテストデータラベル判定部74は、例えば普及予測プログラムに従って動作するCPUによって実現される。すなわち、普及予測装置7に設けられた記憶装置から普及予測プログラムを読み込んだCPUがテストデータ生成部71、ラベル付けデータ生成部72、分類器生成部73、およびテストデータラベル判定部74として動作してもよい。
また、閾値関数推定装置6および普及予測装置7が同一の情報処理装置によって実現されてもよい。そして、基準時刻データ群生成部61、閾値推定前時刻データ群生成部62、閾値推定前時刻分類器群生成部63、誤差群算出部64、関数推定部65、テストデータ生成部71、ラベル付けデータ生成部72、分類器生成部73、およびテストデータラベル判定部74が、普及予測プログラムに従って動作するCPUによって実現されていてもよい。
次に、動作について説明する。
図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個としている。
基準時刻データ群生成部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に移行する。
ステップ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の実施形態における現時刻データ生成処理と同様の処理である。
ステップC3の次に、閾値推定前時刻データ群62は、変数tにより定まる閾値推定前時刻(CTime[t]−Δt)と、顧客DB2に記憶された顧客データとに基づいて、閾値推定前時刻データを生成する(ステップC4)。閾値推定前時刻データ群62は、顧客DB2に記憶された顧客データを読み込み、閾値推定前時刻以前で商品またはサービスの利用を開始している顧客の個別データに正をラベル付け、閾値推定前時刻で商品またはサービスの利用を開始していない顧客の個別データに負をラベル付けることにより、閾値推定前時刻データを生成する。すなわち、使用開始情報が閾値推定前時刻以前の時刻となっている個別データに正をラベル付け、利用開始情報が前時刻以前の時刻でない個別データに負をラベル付けて、閾値推定前時刻データを生成する。
次に、閾値推定前時刻データ群62は、その閾値推定前時刻データを用いて普及率を計算する(ステップC5)。普及率は、顧客数に対する、閾値推定前時刻までに商品またはサービスの利用を開始した顧客数の割合であり、閾値推定前時刻データ中の各個別データは各顧客に対応している。従って、閾値推定前時刻データ中の全個別データ数に対する、閾値推定前時刻データ中の正がラベル付けられた個別データの数の割合が普及率となる。閾値推定前時刻データ群62は、閾値推定前時刻データ中の正がラベル付けられた個別データの数を、閾値推定前時刻データ中の全個別データ数で除算して普及率を求めればよい。この普及率を変数tを用いてD[t]と記す。閾値推定前時刻データ群62は、計算した普及率D[t]を記憶しておく。
ステップC5の後、閾値推定前時刻分類器群生成部63は、閾値推定前時刻データを用いて、分類器を生成する(ステップC6)。例えば、分類器生成部63は、重回帰分析、回帰木、ニューラルネットワーク、サポートベクタマシン、ベイジアンネットワーク、決定木のアンサンブル学習などの出力が連続値であるデータマイニング手法のいずれかあるいはその組合せにより分類器を生成すればよい。
閾値推定前時刻分類器群生成部63は、例えば、アンサンブル学習の一種であるバギングを決定木に適用して、複数の決定木を生成し、その複数の決定木の組を分類器としてもよい。この場合の分類器作成処理の例を説明する。閾値推定前時刻分類器群生成部63は、閾値推定前時刻データから重複を許して一部の個別データを取り出して、その個別データの集合を用いて決定木を生成する。この処理を複数回繰り返すことにより、複数の決定木を生成し、その複数の決定木の組み合わせを一つの分類器とする。例えば、閾値推定前時刻データから取り出す個別データ数をK個とすると、閾値推定前時刻分類器群生成部63は、閾値推定前時刻データから重複を許してK個の個別データを取り出し、K個の個別データから決定木を生成することを繰り返せばよい。例えば、この繰り返し処理を500回行えば、500個の決定木が作成される。
以下の説明では、上記のようにバギングにより複数の決定木を生成し、その複数の決定木を分類器とする場合を例にする。
取り出した個別データから決定木を生成する処理は、第1の実施形態で前時刻データ群生成部32の分類器生成動作として例示した処理と同様である。すなわち、閾値推定前時刻分類器群生成部63は、どの項目(顧客の属性を表す項目)で最初に分割するのかを決定する。このとき、項目1〜Nの各項目について、分割時の評価値を計算し、その評価値が最大の項目を、分割に最も適した項目として選択すればよい。評価値として、例えば、分割前のノードのエントロピーと、分割後のエントロピーの差を用いればよい。閾値推定前時刻分類器群生成部63は、分割後の各ノードについても、上記と同様の処理を行い、次にどの項目で分割するのかを決定する処理を順次繰り返し、所定の条件が満たされたときには、ノードの分割を停止する。閾値推定前時刻分類器群生成部63は、このようにして得た木構造の決定木に対して、枝刈りを行うことにより、決定木を生成する。上記の所定の条件や枝刈りの処理も、第1の実施形態で示した所定の条件や枝刈り処理と同様である。
また、閾値推定前時刻データから取り出すK個の個別データの組み合わせが異なることにより、生成される決定木も異なる。個別データに対して上記のように得られた複数の決定木を適用し、その個別データのスコア(ラベルが正となる確からしさ)を求める場合、個々の決定木毎に、個別データに対するラベルの判定を行い、正(利用する)と判定された回数を、判定回数で除算することによってスコアを求める。例えば、分類器として500個の決定木を生成した場合、個別データに対して、それぞれの決定木を用いてラベル判定を行う。その結果、正と判定された回数をX回とすると、スコアとしてX/500を求める。
ステップC6において分類器が生成されると、誤差群算出部64は、誤差の最小値を示す変数ErrorMinの初期値を設定し、変数i,pに対して、i=1,p=0という初期値を設定する(ステップC7)。ErrorMinの初期値は、閾値算出部64が計算する誤差のとり得る値の最大値、あるいは、その誤差のとり得る値に比べて十分に大きな値であればよい。変数pは、最小の誤差に対応する仮閾値を指定するための変数である。例えば、最小語の誤差に対応する仮閾値がp個あったとすると、その最小誤差に対応する仮閾値の1番目からp番目までをそれぞれ、Thres[1],・・・,Thres[p]とする。
ステップC7の次に、誤差群算出部64は、仮閾値の番号iが仮閾値の数V以下であるか否かを判定する(ステップC8)。i≦Vならば(ステップC8のYes)、ステップC9に移行し、i>Vならば(ステップC8のNo)、ステップC16に移行する。
ステップC9では、誤差群算出部64は、ステップC6で生成された閾値推定前時刻分類器と、仮閾値FalseThr[i]とを用いて、ステップC3で生成された基準時刻データ内の各個別データのラベルを予測する(ステップC9)。本例では、誤差群算出部64は、基準時刻データ内の各個別データ毎に、その個別データにおける顧客の属性を示す項目と、分類器として生成されたそれぞれの決定木とを照合し、その個別データに対するラベルを判定する。決定木は複数存在するので、誤差群算出部64は、この判定を決定木毎に行い、その判定回数(決定木数)に対する正と判定された回数の割合を個別データのスコアとして求める。すなわち、誤差群算出部64は、一つの個別データに関し、「正と判定された回数/判定回数」を計算し、その値をスコアとする。さらに、誤差群算出部64は、変数iにより定まる仮閾値FalseThr[i]とそのスコアとを比較し、スコアがFalseThr[i]以上であれば、個別データに対するラベルが正であると予測し、スコアがFalseThr[i]未満であれば、個別データに対するラベルが負であると予測する。
次に、誤差群算出部64は、基準時刻データ内の各個別データにラベル付けられるラベルの予測結果と、基準時刻データとの誤差を算出する(ステップC10)。すなわち、基準時刻データ内の各個別データには、基準時刻データ生成時に正または負のラベルがラベル付けられているので、ステップC9での予測結果と、実際の基準時刻データでラベル付けられているラベルとの誤差を予測する。この誤差をErrorと記す。
誤差群算出部64は、ステップC10において、例えば、基準時刻データ内の個別データ毎に予測したラベルと、実際に基準時刻データの各個別データにラベル付けられているラベルとを比較し、両者が異なっている個別データ数をErrorとしてもよい。
あるいは、誤差群算出部64は、基準時刻データ内の個別データのうちステップC9で正がラベル付けられると予測した個別データの数と、ステップC3で生成された基準時刻データにおいて実際に正がラベル付けられた個別データの数との差の絶対値を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を初期化している。
ステップ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)。
ステップC13からステップC14に移行した場合、p=1であり、現在着目している仮閾値FalseThr[i]を、誤差が最小となる1番目の仮閾値とする。また、ステップC12でError=ErrorMinとなり、ステップC14に移行した場合、pは2以上の値となる。この場合、既に最小の誤差に対応する仮閾値は1つ以上見つかっていて、関数推定部65は、現在着目している仮閾値FlaseThr[i]を、誤差が最小となるp番目の仮閾値として定めることになる。
ステップC14の後、あるいは、ステップC12でErrorがErrorMinと等しくないと判定した場合、関数推定部65は、仮閾値を示す変数iをインクリメントする(ステップC15)。その後、ステップC15でインクリメントされたiを用いて、ステップC8移行の処理を繰り返す。
また、ステップC8でi>Vと判定された場合、関数推定部65は、tに対応する閾値(Thres[t]と記す。)の値を、Sum/pとする(ステップC16)。すなわち、最小誤差に対応する仮閾値の合計となるSumをその仮閾値の個数pで除算し、平均値を閾値とする。最小誤差に対応する仮閾値が1つしかなければ、Sumはその仮閾値の値となっているので、その仮閾値をThres[t]とすることになる。
ステップC16の後、関数推定部65は、基準時刻を順番に指定するための変数tをインクリメントする(ステップC17)。ステップC17の後、インクリメントされたtを用いて、ステップC2以降の処理を繰り返す。
ステップ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を推定すればよい。
Thres[t]=a・D[t]+b 式(1)
式(1)において、a,bは推定すべきパラメタである。普及率D[t]および閾値Thres[t]の組み合わせがU個求められており、関数推定部65は、例えば、そのU個の組み合わせ(閾値および普及率の組み合わせ)を用いて、最小二乗法によってパラメタa,bを計算してもよい。なお、パラメタaの値は、商品またはサービスの普及率が時間の経過と共に急激に上昇するなら低く、普及率の上昇が緩やかなら高くなる。aは、例えば、0.5などの値となる。パラメタbは、普及開始段階での普及率が急激に上昇するなら低く、普及率がほとんど上昇しないなら低くなる値であり、0以上1以下で、例えば0.05等の小さな値となる。
また、式(1)は、パラメタが定まっていない閾値関数の例であり、推定すべきパラメタを含む閾値関数は式(1)に限定されない。式(1)に例示する推定すべきパラメタを含む閾値関数は、普及予測システムのユーザに入力されてもよい。あるいは、予め定められていてもよい。
関数推定部65は、例えば最小二乗法などによりパラメタa,bを計算することによって、閾値関数を決定する。関数推定部65は、閾値関数を普及予測装置7(テストデータラベル判定部74)に入力する。
図21は、本実施形態における普及予測装置7の処理経過の例を示すフローチャートである。普及予測装置7は、例えば、関数推定部65から閾値関数が入力され、また、キーボードなどの入力装置を介して現時刻が入力されると、以下のように動作する。
テストデータ生成部71は、テストデータを生成する(ステップD1)。この動作は、第2の実施形態におけるステップB1と同様である。ここでは、現時刻で商品またはサービスの利用を開始していない顧客の個別データのみを含むテストデータを生成する場合を例にして説明する。テストデータ生成部71は、顧客DB2に記憶されている顧客データの中から、現時刻で商品またはサービスの利用を開始していない顧客の個別データのみ(すなわち、利用開始情報が現時刻以前の時刻でない個別データのみ)を読み込み、その個別データの集合をテストデータとする。
次に、ラベル付けデータ生成部72は、ラベル付けデータを生成する(ステップD2)。ラベル付けデータ生成部72は、顧客DB2に記憶された顧客データを読み込み、現時刻以前で商品またはサービスの利用を開始している顧客の個別データに正をラベル付け、現時刻で商品またはサービスの利用を開始していない顧客の個別データに負をラベル付けることにより、ラベル付けデータを生成する。
次に、ラベル付けデータ生成部72は、そのラベル付けデータから普及率を計算する(ステップD3)。ラベル付けデータ中の各個別データは各顧客に対応しているので、ラベル付けデータ中の全個別データに対する、ラベル付けデータ中の正がラベル付けられた個別データの数の割合が普及率となる。ラベル付けデータ生成部72は、ラベル付けデータ中の正がラベル付けられた個別データの数を、ラベル付けデータ中の全個別データ数で除算して普及率を求めればよい。
次に、分類器生成部73は、ラベル付けデータを用いて分類器を生成する(ステップD4)。この分類器は、閾値関数推定装置6の閾値推定前時刻分類器群生成部63が生成する分類器と同様である。本例では、バギングにより複数の決定木を生成し、その複数の決定木を分類器とするものとする。すなわち、分類器生成部73は、ラベル付けデータから重複を許して一部の個別データを取り出して、その個別データの集合を用いて決定木を生成する処理を繰り返して、複数の決定木を生成する。ラベル付けデータから取り出す個別データの数をK個とすると、分類器生成部73は、ラベル付けデータから重複を許してK個の個別データを取り出し、K個の個別データから決定木を生成することを繰り返せばよい。
取り出した個別データから決定木を生成する処理は、第1の実施形態で前時刻データ群生成部32の分類器生成動作として例示した処理と同様である。分類器生成部73は、どの項目(顧客の属性を表す項目)で最初に分割するのかを決定する。このとき、項目1〜Nの各項目について、分割時の評価値を計算し、その評価値が最大の項目を、分割に最も適した項目として選択すればよい。評価値として、例えば、分割前のノードのエントロピーと、分割後のエントロピーの差を用いればよい。分類器生成部73は、分割後の各ノードについても、上記と同様の処理を行い、次にどの項目で分割するのかを決定する処理を順次繰り返し、所定の条件が満たされたときには、ノードの分割を停止する。また、分類器生成部73は、このようにして得た木構造の決定木に対して、枝刈りを行うことにより、決定木を生成する。上記の所定の条件や枝刈りの処理も、第1の実施形態で示した所定の条件や枝刈り処理と同様である。
テストデータラベル判定部74は、関数推定部65が推定した閾値関数に、ステップD3で算出した普及率を代入して、閾値を計算する(ステップD5)。
次に、テストデータラベル判定部74は、ステップD4で生成された分類器およびステップD5で計算された閾値を用いてテストデータのラベルを予測する(ステップD6)。テストデータラベル判定部74は、ステップD6において、テストデータ中の各個別データ毎に以下の処理を行う。テストデータラベル判定部74は、個別データにおける顧客の属性を示す項目と、分類器として生成されたそれぞれの決定木とを照合し、その個別データに対するラベルを判定する。決定木は複数存在するので、テストデータラベル判定部74は、この判定を決定木毎に行い、その判定回数(決定木数)に対する正と判定された回数の割合を個別データのスコアとして求める。すなわち、テストデータラベル判定部74は、一つの個別データに関し、「正と判定された回数/判定回数」を計算し、その値をスコアとする。さらに、テストデータラベル判定部74は、ステップD5で計算された閾値とそのスコアとを比較し、スコアが閾値以上であれば、その個別データに対するラベルが正であると判定し、スコアが閾値未満であれば、その個別データに対するラベルが負であると判定する。
テストデータラベル判定部74は、テストデータ内の個別データ毎に判定した正または負のラベルを、ディスプレイ装置などに表示させたり、印刷装置に印刷させたりしてもよい。
本実施形態によれば、第2の実施形態と同様に、顧客が商品やサービスを利用し始める時期を顧客毎に予測することができる。また、本実施形態では、閾値関数を求めるときには、入力された複数の基準時刻毎に、また、複数の仮閾値毎にそれぞれ予測誤差(Error)を求め、誤差が最小となる閾値を求めて、閾値関数を推定するので、刻々と変動する受容性を閾値関数として推定することができる。また、重み付けを行う場合には、重み付けを行う毎に分類器を生成することになるが、本実施形態では、重み付けは行わないので、各仮閾値毎に誤差(Error)を算出するときに、仮閾値毎に分類器を生成する必要はなく、一つの分類器を用いてそれぞれの仮閾値における誤差を求めることができる。よって、分類器生成のための計算時間を短縮することができる。
次に、第4の実施形態の変形例を示す。以下に示す第4の実施形態の変形例では、第2の実施形態の変形例(図14、図15参照)と同様に、現時刻を更新してテストデータに対する予測を繰り返す。
図22は、第4の実施形態の変形例を示すブロック図である。既に説明した構成要素と同様の構成要素は、図18と同一の符号を付し、詳細な説明を省略する。普及予測装置7は、テストデータ生成部71と、ラベル付けデータ生成部72と、分類器生成部73と、テストデータラベル判定部74と、現時刻更新部75とを備える。現時刻更新部75は、第2の実施形態の変形例で示した現時刻更新部55と同様である。
本変形例では、テストデータラベル判定部74は、ステップD6での判定結果が実際の利用開始情報と異なっている個別データの利用開始情報を上書きして更新する。すなわち、個別データの利用開始情報が未利用を示していて、ステップD6で正と判定した場合、テストデータラベル判定部74は、顧客DB2に記憶されている顧客データ内におけるその個別データの利用開始情報を現時刻に一定の時間(Tとする。)分を加算した時刻に更新する。
現時刻更新部75は、テストデータラベル判定部74がテストデータに対する判定を行った後、現時刻を一定の時間(T)分増加した時刻を新たな現時刻とするように、現時刻を更新する。現時刻更新部75も、例えば、普及予測プログラムに従って動作するCPUによって実現される。
テストデータ生成部71、ラベル付けデータ生成部72、分類器生成部73、テストデータラベル判定部74は、現時刻が更新されると、更新後の現時刻および更新後の顧客データを用いて、ステップD1以降の処理を繰り返す。
なお、この繰り返し処理の終了条件は、例えば、第2の実施形態の変形例と同様に、更新後の現時刻が、定められた期間(予測期間)を越えることとすればよい。現時刻更新部75は、更新後の現時刻が予測期間内であることを条件に現時刻の更新を行えばよい。予測期間は、例えば、普及予測システムのユーザによって予め入力されればよい。
現時刻更新部75は、更新後の現時刻が予測期間を越えると判定した場合、予測結果を出力装置(図22において図示せず。)に出力させてもよい。この出力態様は、図14に例示する第2の実施形態の変形例と同様である。例えば、普及曲線を出力してもよい。この場合、ステップD1に移行する毎に、現時刻更新部75(他の構成要素でもよい)が、現時刻において商品またはサービスの利用を開始している顧客の個別データ数を顧客DBの中からカウントし、そのカウント値と現時刻とを対応付けて記憶していけばよい。そして、現時刻更新部75は、現時刻を横軸にとり、カウント値を縦軸にとって、現時刻の変化に伴うカウント値の推移を示すグラフを作成して出力すればよい。
なお、本変形例において、顧客DB2に記憶されている個別データの利用開始情報を上書きするのではなく、個別データに当初から含まれている利用開始情報のコピーを利用開始時期予測情報としてコピーしておき、そのコピーを更新してもよい。
図23は、第4の実施形態の他の変形例を示すブロック図である。図18および図22では、普及予測システムが閾値関数推定装置6を備える場合を説明したが、図23に示すように、閾値関数推定装置6を備えていない構成であってもよい。図23に示すテストデータ生成部71、ラベル付けデータ生成部72、分類器生成部73、テストデータラベル判定部74の動作は、既に説明した動作と同様である。閾値関数推定装置6を備えない構成では、普及予測システムの外部から閾値関数が、テストデータラベル判定部74に入力されればよい。例えば、普及予測システムのユーザが、閾値関数を入力してもよい。本変形例においても、閾値関数推定装置6は現時刻更新部75を備えてよい。
本実施例では、性別、年齢、既存の製品の購買履歴、イノベータ特性、接触メディアを、顧客の特徴を示す項目とし、それらの項目とともに利用開始時期を含む顧客データを顧客DB2に予め記憶させた。特定製品の発売時期から4年間の間にその製品の利用を開始した顧客の個別データに関しては、顧客がその製品の利用開始時期を利用開始情報として定めた。その4年間の間にまだ製品の利用を開始していない顧客の個別データに関しては、利用開始情報として未利用を意味する「?」を定めた。利用開始情報として購買時期(利用開始時期)が記述された顧客は顧客DB2に記憶された顧客数全体の8.4%であり、利用開始情報として未利用を意味する「?」が記述された顧客は顧客DB2に記憶された顧客数全体の91.6%であった。また、各顧客毎に、顧客の特徴を示す上記の項目を定めた。項目の値が不明な場合には、その項目の値として、不明を意味する「?」を記述した。
以上のような顧客データを顧客DB2に予め記憶させ、第1の実施形態の影響度推定システムに適用した。その結果、影響度推定システムが影響度を推定した結果、影響度は0.191であった。
また、この影響度0.191を、第2の実施形態の普及予測システム(図14)に適用した。普及予測システムが出力した普及曲線の例を図24に示す。発売開始後4年目の普及率は8.4%であり、このときの関数値は、0.191×(100−8.4)/8.4≒2であり、4年目を現時刻とする予測では利用開始した顧客は未利用の顧客の2倍に重み付けた。以降の時刻を現時刻とするときにも影響度は0.191で一定としたが、関数値は普及率の増加に伴い減少し、重み付けも少なくした。
また、普及予測システムによって得られた普及曲線を検証するため、製品発売後4年目から6年目までの2年間の普及実績も調査した。
図24に示す実線は、普及予測システムが出力した普及曲線である。また、+でプロットした曲線は、製品発売後4年目までの普及の実績を示している。四角形でプロットした曲線は、製品発売後4年目から6年目までの2年間の普及の実績を示している。図24に示すように、普及予測システムが出力した普及曲線(図24に示す実線)は、普及の実績(図24に示す四角形のプロット)に、極めて近かった。
本発明は、例えば、個別の顧客毎に商品やサービスの利用開始時期を予測する普及予測システムに好適に適用される。また、指定した時点での影響度を推定する影響度推定システムに好適に適用される。
本発明の影響度推定システムの例を示すブロック図である。 入力装置および出力装置を備えた影響度推定システムの例を示すブロック図である。 本発明の影響度推定システムの処理経過の例を示すフローチャートである。 顧客データの例を示す説明図である。 現時刻データの例を示す説明図である。 前時刻データ生成過程において重み付けが行われる前のデータの例を示す説明図である。 前時刻データの例を示す説明図である。 既知の独立変数および従属変数の組み合わせの例を示す説明図である。 分類器の例を示す説明図である。 分類器から予測される従属変数の例を示す説明図である。 現時刻毎に求めた各仮影響度における誤差を示す説明図である。 本発明の普及予測システムの例を示すブロック図である。 本発明の普及予測システムの処理経過の例を示すフローチャートである。 第2の実施形態の変形例を示すブロック図である。 第2の実施形態の変形例における処理経過の例を示すフローチャートである。 第3の実施形態の普及予測システムの例を示すブロック図である。 第3の実施形態の普及予測システムを詳細に示すブロック図である。 第4の実施形態の普及予測システムの例を示すブロック図である。 第4の実施形態における閾値関数推定装置の処理経過の例を示すフローチャートである。 第4の実施形態における閾値関数推定装置の処理経過の例を示すフローチャートである。 第4の実施形態における普及予測装置の処理経過の例を示すフローチャートである。 第4の実施形態の変形例を示すブロック図である。 第4の実施形態の他の変形例を示すブロック図である。 普及予測システムが出力した普及曲線の例を示すグラフである。
符号の説明
2 顧客データベース
31 現時刻データ生成部
32 前時刻データ群生成部
33 前時刻分類器群生成部
34 誤差群算出部
35 影響度算出部
51 テストデータ生成部
52 学習データ生成部
53 分類器生成部
54 テストデータラベル判定部
55 現時刻更新部
61 基準時刻データ群生成部
62 閾値推定前時刻データ群生成部
63 閾値推定前時刻分類器群生成部
64 誤差群算出部
65 関数推定部
71 テストデータ生成部
72 ラベル付けデータ生成部
73 分類器生成部
74 テストデータラベル判定部

Claims (36)

  1. 顧客が商品またはサービスを利用し始めている場合には前記商品またはサービスの利用開始時期を表し、前記商品またはサービスを未利用の場合には未利用である旨を表す利用開始情報と、前記利用開始情報以外の顧客の属性を表す一つ以上の項目とを含む顧客毎の個別データの集合である顧客データを記憶する顧客データベースと、
    前記顧客データベースを用いて、判定対象時刻を定める現時刻で商品またはサービスの利用を開始していない顧客の個別データを含むデータであるテストデータを生成するテストデータ生成部と、
    前記現時刻で前記商品またはサービスの利用を開始している顧客の個別データに第1ラベルをラベル付け、前記商品またはサービスの利用を開始していない顧客の個別データに第2ラベルをラベル付け、第1ラベルをラベル付けた個別データ数を、ある期間の中で商品またはサービスの顧客が他の者にその商品またはサービスの利用を喚起させる度合いである影響度に応じて変動させたデータである学習データを生成する学習データ生成部と、
    前記顧客の属性を表す項目から当該顧客の個別データに第1ラベルと第2ラベルのいずれをラベル付けるかを判定するルールである分類器を、前記学習データに基づいて生成する分類器生成部と、
    前記分類器と前記テストデータ内の各個別データの項目とから、前記テストデータ内の各個別データに対するラベルを判定するテストデータラベル判定部とを備える
    ことを特徴とする普及予測システム。
  2. 前記現時刻を一定の時間分増加した時刻を新たな現時刻とする現時刻更新部を備え、
    テストデータラベル判定部は、第1ラベルがラベル付けられると判定した個別データに対して、利用開始時期を示す情報を付与し、
    テストデータ生成部は、現時刻が更新された際に、更新後の現時刻におけるテストデータを生成し、
    学習データ生成部は、現時刻が更新された際に、更新後の現時刻における学習データを生成し、
    分類器生成部は、現時刻が更新されて新たに学習データが生成された際に、当該学習データに基づいて新たに分類器を生成し、
    テストデータラベル判定部は、現時刻が更新されて新たにテストデータが生成された際に、前記分類器と前記テストデータ内の各個別データの項目とから、前記テストデータ内の各個別データに対するラベルを判定する
    請求項1に記載の普及予測システム。
  3. テストデータ生成部は、顧客データベースに記憶されている顧客データから、現時刻で商品またはサービスの利用を開始している顧客の個別データを除外したテストデータを生成する
    請求項1または請求項2に記載の普及予測システム。
  4. 学習データ生成部は、商品またはサービスの利用を開始した顧客数と未だ開始していない顧客数との比率を影響度の係数とする関数の関数値倍に、第1ラベルをラベル付けた個別データ数を増加させて学習データを生成する
    請求項1から請求項3のうちのいずれか1項に記載の普及予測システム。
  5. 学習データ生成部は、商品またはサービスの利用を開始した顧客数と全顧客数との比率を影響度の係数とする関数の関数値倍に、第1ラベルをラベル付けた個別データ数を増加させて学習データを生成する
    請求項1から請求項3のうちのいずれか1項に記載の普及予測システム。
  6. 分類器生成部は、学習データ内で第1ラベルをラベル付けられた個別データの割合が高くなるほど、テストデータ内で第2ラベルをラベル付けられている個別データのうち、前記第1ラベルをラベル付けられた個別データの項目値と類似する項目値を持つ個別データに対して、第1ラベルをラベル付けると判定する頻度が高くなる分類器を生成する
    請求項1から請求項5のうちのいずれか1項に記載の普及予測システム。
  7. 学習データ生成部は、当該普及予測システムの外部から入力された影響度を用いて学習データを生成する
    請求項1から請求項6のうちのいずれか1項に記載の普及予測システム。
  8. 判定対象時刻を定めるとともに影響度の推定対象時刻としても用いられる現時刻と、前記現時刻の一定時間前を指定するための時刻間隔と、影響度の候補である複数の仮影響度とが入力され、前記現時刻から前記時刻間隔前の時刻である前時刻を計算し、顧客データベースを用いて、前記現時刻で前記商品またはサービスの利用を開始している顧客の個別データに第1ラベルをラベル付け、前記商品またはサービスの利用を開始していない顧客の個別データに第2ラベルをラベル付けた現時刻データを生成する現時刻データ生成部と、
    個々の仮影響度毎に、前時刻で前記商品またはサービスの利用を開始している顧客の個別データに第1ラベルをラベル付け、前記商品またはサービスの利用を開始していない顧客の個別データに第2ラベルをラベル付け、第1ラベルをラベル付けた個別データ数を前記仮影響度に応じて変動させたデータである前時刻データを生成する前時刻データ群生成部と、
    個々の前時刻データ毎に、前記顧客の属性を表す項目から当該顧客の個別データに第1ラベルと第2ラベルのいずれをラベル付けるかを判定するルールである分類器を前記前時刻に基づいて生成する前時刻分類器群生成部と、
    前時刻データ毎に生成された個々の分類器毎に、当該分類器と前記現時刻データ内の各個別データの項目とから前記現時刻データ内の個別データにラベル付けられるラベルを予測し、予測結果と前記現時刻データとの誤差を算出する誤差群算出部と、
    個々の分類器毎に算出された誤差のうち、最小の誤差を特定し、最小の誤差に対応する仮影響度が1つである場合には、当該仮影響度を影響度として定め、最小の誤差に対応する仮影響度が複数個存在する場合には、前記複数の仮影響度に基づいて影響度を定める影響度算出部とを備える
    請求項1から請求項6のうちのいずれか1項に記載の普及予測システム。
  9. 現時刻データ生成部は、顧客データベースに記憶されている顧客データのうち、前時刻で商品またはサービスの利用を開始していた顧客の個別データを除外した個別データの集合から現時刻データを生成する
    請求項8に記載の普及予測システム。
  10. 前時刻データ群生成部は、前時刻で商品またはサービスの利用を開始している顧客数と前時刻で未だ開始していない顧客数との比率を仮影響度の係数とする関数の関数値倍に、第1ラベルをラベル付けた個別データ数を増加させて前時刻データを生成する
    請求項8または請求項9に記載の普及予測システム。
  11. 前時刻データ群生成部は、前時刻で商品またはサービスの利用を開始している顧客数と全顧客数との比率を仮影響度の係数とする関数の関数値倍に、第1ラベルをラベル付けた個別データ数を増加させて前時刻データを生成する
    請求項8または請求項9に記載の普及予測システム。
  12. 誤差群算出部は、前時刻データ毎に生成された個々の分類器毎に、当該分類器と前記現時刻データ内の各個別データの項目とから前記現時刻データ内の個別データにラベル付けられるラベルを予測し、予測したラベルと、現時刻データで実際にラベル付けられているラベルとが異なっている個別データの数を誤差として算出する
    請求項8から請求項11のうちのいずれか1項に記載の普及予測システム。
  13. 誤差群算出部は、前時刻データ毎に生成された個々の分類器毎に、当該分類器と前記現時刻データ内の各個別データの項目とから前記現時刻データ内の個別データにラベル付けられるラベルを予測し、第1ラベルがラベル付けられると予測した個別データ数と、現時刻データで第1ラベルがラベル付けられている個別データ数との差の絶対値を誤差として算出する
    請求項8から請求項11のうちのいずれか1項に記載の普及予測システム。
  14. 顧客が商品またはサービスを利用し始めている場合には前記商品またはサービスの利用開始時期を表し、前記商品またはサービスを未利用の場合には未利用である旨を表す利用開始情報と、前記利用開始情報以外の顧客の属性を表す一つ以上の項目とを含む顧客毎の個別データの集合である顧客データを記憶する顧客データベースと、
    ある期間の中で商品またはサービスの顧客が他の者にその商品またはサービスの利用を喚起させる度合いである影響度の推定対象時刻として用いられる現時刻と、前記現時刻の一定時間前を指定するための時刻間隔と、影響度の候補である複数の仮影響度とが入力され、前記現時刻から前記時刻間隔前の時刻である前時刻を計算し、前記顧客データベースを用いて、前記現時刻で前記商品またはサービスの利用を開始している顧客の個別データに第1ラベルをラベル付け、前記商品またはサービスの利用を開始していない顧客の個別データに第2ラベルをラベル付けた現時刻データを生成する現時刻データ生成部と、
    個々の仮影響度毎に、前時刻で前記商品またはサービスの利用を開始している顧客の個別データに第1ラベルをラベル付け、前記商品またはサービスの利用を開始していない顧客の個別データに第2ラベルをラベル付け、第1ラベルをラベル付けた個別データ数を前記仮影響度に応じて変動させたデータである前時刻データを生成する前時刻データ群生成部と、
    個々の前時刻データ毎に、前記顧客の属性を表す項目から当該顧客の個別データに第1ラベルと第2ラベルのいずれをラベル付けるかを判定するルールである分類器を前記前時刻に基づいて生成する前時刻分類器群生成部と、
    前時刻データ毎に生成された個々の分類器毎に、当該分類器と前記現時刻データ内の各個別データの項目とから前記現時刻データ内の個別データにラベル付けられるラベルを予測し、予測結果と前記現時刻データとの誤差を算出する誤差群算出部と、
    個々の分類器毎に算出された誤差のうち、最小の誤差を特定し、最小の誤差に対応する仮影響度が1つである場合には、当該仮影響度を影響度として定め、最小の誤差に対応する仮影響度が複数個存在する場合には、前記複数の仮影響度に基づいて影響度を定める影響度算出部とを備える
    ことを特徴とする影響度推定システム。
  15. 現時刻データ生成部は、顧客データベースに記憶されている顧客データのうち、前時刻で商品またはサービスの利用を開始していた顧客の個別データを除外した個別データの集合から現時刻データを生成する
    請求項14に記載の影響度推定システム。
  16. 前時刻データ群生成部は、前時刻で商品またはサービスの利用を開始している顧客数と前時刻で未だ開始していない顧客数との比率を仮影響度の係数とする関数の関数値倍に、第1ラベルをラベル付けた個別データ数を増加させて前時刻データを生成する
    請求項14または請求項15に記載の影響度推定システム。
  17. 前時刻データ群生成部は、前時刻で商品またはサービスの利用を開始している顧客数と全顧客数との比率を仮影響度の係数とする関数の関数値倍に、第1ラベルをラベル付けた個別データ数を増加させて前時刻データを生成する
    請求項14または請求項15に記載の影響度推定システム。
  18. 誤差群算出部は、前時刻データ毎に生成された個々の分類器毎に、当該分類器と前記現時刻データ内の各個別データの項目とから前記現時刻データ内の個別データにラベル付けられるラベルを予測し、予測したラベルと、現時刻データで実際にラベル付けられているラベルとが異なっている個別データの数を誤差として算出する
    請求項14から請求項17のうちのいずれか1項に記載の影響度推定システム。
  19. 誤差群算出部は、前時刻データ毎に生成された個々の分類器毎に、当該分類器と前記現時刻データ内の各個別データの項目とから前記現時刻データ内の個別データにラベル付けられるラベルを予測し、第1ラベルがラベル付けられると予測した個別データ数と、現時刻データで第1ラベルがラベル付けられている個別データ数との差の絶対値を誤差として算出する
    請求項14から請求項17のうちのいずれか1項に記載の影響度推定システム。
  20. 顧客が商品またはサービスを利用し始めている場合には前記商品またはサービスの利用開始時期を表し、前記商品またはサービスを未利用の場合には未利用である旨を表す利用開始情報と、前記利用開始情報以外の顧客の属性を表す一つ以上の項目とを含む顧客毎の個別データの集合である顧客データを記憶する顧客データベースと、
    前記顧客データベースを用いて、判定対象時刻を定める現時刻で商品またはサービスの利用を開始していない顧客の個別データを含むデータであるテストデータを生成するテストデータ生成部と、
    前記現時刻で前記商品またはサービスの利用を開始している顧客の個別データに第1ラベルをラベル付け、前記商品またはサービスの利用を開始していない顧客の個別データに第2ラベルをラベル付けたラベル付けデータを生成し、前記ラベル付けデータ中の第1ラベルでラベル付けられた個別データ数の割合を前記商品またはサービスの普及率として計算するラベル付けデータ生成部と、
    前記顧客の属性を表す項目から当該顧客の個別データに第1ラベルがラベル付けられる確からしさのスコアを定めるルールである分類器を、前記ラベル付けデータに基づいて生成する分類器生成部と、
    普及率に対するスコアの閾値の関数である閾値関数にラベル付けデータ生成部が計算した普及率を代入して閾値を算出し、前記分類器と前記テストデータ内の各個別データの項目とから、前記テストデータ内の各個別データに第1ラベルがラベル付けられる確からしさのスコアを定め、前記テストデータ内の個別データのうちスコアが前記閾値以上である個別データに対するラベルが第1ラベルであると判定し、スコアが前記閾値未満の個別データに対するラベルが第2ラベルであると判定するテストデータラベル判定部とを備える
    ことを特徴とする普及予測システム。
  21. 前記現時刻を一定の時間分増加した時刻を新たな現時刻とする現時刻更新部を備え、
    テストデータラベル判定部は、第1ラベルがラベル付けられると判定した個別データに対して、利用開始時期を示す情報を付与し、
    テストデータ生成部は、現時刻が更新された際に、更新後の現時刻におけるテストデータを生成し、
    ラベル付けデータ生成部は、現時刻が更新された際に、更新後の現時刻におけるラベル付けデータを生成し、当該ラベル付けデータにおける普及率を計算し、
    分類器生成部は、現時刻が更新されて新たにラベル付けデータが生成された際に、当該ラベル付けデータに基づいて新たに分類器を生成し、
    テストデータラベル判定部は、現時刻が更新されて新たにテストデータが生成された際に、前記分類器と前記テストデータ内の各個別データの項目とから、前記テストデータ内の各個別データに第1ラベルがラベル付けられる確からしさのスコアを定め、閾値関数にラベル付けデータ生成部が計算した普及率を代入して新たに閾値を算出し、前記テストデータ内の個別データのうちスコアが前記閾値以上である個別データに対するラベルが第1ラベルであると判定し、スコアが前記閾値未満の個別データに対するラベルが第2ラベルであると判定する
    請求項20に記載の普及予測システム。
  22. テストデータ生成部は、顧客データベースに記憶されている顧客データから、現時刻で商品またはサービスの利用を開始している顧客の個別データを除外したテストデータを生成する
    請求項20または請求項21に記載の普及予測システム。
  23. 閾値の推定対象時刻を定めるための複数の基準時刻と、各基準時刻の一定時間前を指定するための時刻間隔と、閾値の候補である複数の仮閾値とが入力され、前記基準時刻毎に、基準時刻から前記時刻間隔前の時刻である閾値推定前時刻を計算し、顧客データベースを用いて、前記基準時刻で前記商品またはサービスの利用を開始している顧客の個別データに第1ラベルをラベル付け、前記商品またはサービスの利用を開始していない顧客の個別データに第2ラベルをラベル付けた基準時刻データを生成する基準時刻データ群生成部と、
    個々の閾値推定前時刻毎に、閾値推定前時刻で前記商品またはサービスの利用を開始している顧客の個別データに第1ラベルをラベル付け、前記商品またはサービスの利用を開始していない顧客の個別データに第2ラベルをラベル付けたデータである閾値推定前時刻データを生成し、前記閾値推定前時刻データ中の第1ラベルでラベル付けられた個別データ数の割合を前記商品またはサービスの普及率として計算する閾値推定前時刻データ群生成部と、
    個々の閾値推定前時刻データ毎に、前記顧客の属性を表す項目から当該顧客の個別データに第1ラベルがラベル付けられる確からしさのスコアを定めるルールである分類器を、閾値推定前時刻データに基づいて生成する閾値推定前時刻分類器群生成部と、
    閾値推定前時刻データ毎に生成された個々の分類器毎に、当該分類器と前記基準時刻データ内の各個別データの項目とから、前記基準時刻データ内の各個別データに第1ラベルがラベル付けられる確からしさのスコアを定め、個々の仮閾値について、スコアが仮閾値以上である個別データのラベルが第1ラベルであると予測し、スコアが閾値未満の個別データのラベルが第2ラベルであると予測し、予測結果と基準時刻データとの誤差を算出する誤差群算出部と、
    個々の分類器毎に各仮閾値について算出された誤差のうちの最小の誤差を特定し、最小の誤差に対応する仮閾値が1つである場合には、当該仮閾値を分類器に対応する閾値推定前時刻での閾値とし、最小の誤差に対応する仮閾値が複数個存在する場合には前記複数の仮閾値に基づいて分類器に対応する閾値推定前時刻での閾値を定め、各閾値推定前時刻に対応する閾値および普及率から閾値関数を推定する関数推定部とを備える
    請求項20から請求項22のうちのいずれか1項に記載の普及予測システム。
  24. テストデータラベル判定部は、当該普及予測システムの外部から入力された閾値関数を用いて閾値を算出する
    請求項20から請求項22のうちのいずれか1項に記載の普及予測システム。
  25. 顧客が商品またはサービスを利用し始めている場合には前記商品またはサービスの利用開始時期を表し、前記商品またはサービスを未利用の場合には未利用である旨を表す利用開始情報と、前記利用開始情報以外の顧客の属性を表す一つ以上の項目とを含む顧客毎の個別データの集合である顧客データを記憶する顧客データベースを用いて、判定対象時刻を定める現時刻で商品またはサービスの利用を開始していない顧客の個別データを含むデータであるテストデータを生成し、
    前記現時刻で前記商品またはサービスの利用を開始している顧客の個別データに第1ラベルをラベル付け、前記商品またはサービスの利用を開始していない顧客の個別データに第2ラベルをラベル付け、第1ラベルをラベル付けた個別データ数を、ある期間の中で商品またはサービスの顧客が他の者にその商品またはサービスの利用を喚起させる度合いである影響度に応じて変動させたデータである学習データを生成し、
    前記顧客の属性を表す項目から当該顧客の個別データに第1ラベルと第2ラベルのいずれをラベル付けるかを判定するルールである分類器を、前記学習データに基づいて生成し、
    前記分類器と前記テストデータ内の各個別データの項目とから、前記テストデータ内の各個別データに対するラベルを判定する
    ことを特徴とする普及予測方法。
  26. 第1ラベルがラベル付けられると判定した個別データに対して、利用開始時期を示す情報を付与し、
    前記現時刻を一定の時間分増加した時刻を新たな現時刻に更新し、
    現時刻を更新した際に、更新後の現時刻におけるテストデータを生成し、
    現時刻を更新した際に、更新後の現時刻における学習データを生成し、
    現時刻を更新して新たに学習データを生成した際に、当該学習データに基づいて新たに分類器を生成し、
    現時刻を更新して新たにテストデータを生成した際に、前記分類器と前記テストデータ内の各個別データの項目とから、前記テストデータ内の各個別データに対するラベルを判定する
    請求項25に記載の普及予測方法。
  27. 顧客が商品またはサービスを利用し始めている場合には前記商品またはサービスの利用開始時期を表し、前記商品またはサービスを未利用の場合には未利用である旨を表す利用開始情報と、前記利用開始情報以外の顧客の属性を表す一つ以上の項目とを含む顧客毎の個別データの集合である顧客データを記憶する顧客データベースを用いて、判定対象時刻を定める現時刻で商品またはサービスの利用を開始していない顧客の個別データを含むデータであるテストデータを生成し、
    前記現時刻で前記商品またはサービスの利用を開始している顧客の個別データに第1ラベルをラベル付け、前記商品またはサービスの利用を開始していない顧客の個別データに第2ラベルをラベル付けたラベル付けデータを生成し、前記ラベル付けデータ中の第1ラベルでラベル付けられた個別データ数の割合を前記商品またはサービスの普及率として計算し、
    前記顧客の属性を表す項目から当該顧客の個別データに第1ラベルがラベル付けられる確からしさのスコアを定めるルールである分類器を、前記ラベル付けデータに基づいて生成し、
    普及率に対するスコアの閾値の関数である閾値関数に計算した普及率を代入して閾値を算出し、前記分類器と前記テストデータ内の各個別データの項目とから、前記テストデータ内の各個別データに第1ラベルがラベル付けられる確からしさのスコアを定め、前記テストデータ内の個別データのうちスコアが前記閾値以上である個別データに対するラベルが第1ラベルであると判定し、スコアが前記閾値未満の個別データに対するラベルが第2ラベルであると判定する
    ことを特徴とする普及予測方法。
  28. 第1ラベルがラベル付けられると判定した個別データに対して、利用開始時期を示す情報を付与し、
    前記現時刻を一定の時間分増加した時刻を新たな現時刻に更新し、
    現時刻を更新した際に、更新後の現時刻におけるテストデータを生成し、
    現時刻を更新した際に、更新後の現時刻におけるラベル付けデータを生成し、当該ラベル付けデータにおける普及率を計算し、
    現時刻を更新して新たにラベル付けデータを生成した際に、当該ラベル付けデータに基づいて新たに分類器を生成し、
    現時刻を更新して新たにテストデータを生成した際に、前記分類器と前記テストデータ内の各個別データの項目とから、前記テストデータ内の各個別データに第1ラベルがラベル付けられる確からしさのスコアを定め、計算した普及率を代入して新たに閾値を算出し、前記テストデータ内の個別データのうちスコアが前記閾値以上である個別データに対するラベルが第1ラベルであると判定し、スコアが前記閾値未満の個別データに対するラベルが第2ラベルであると判定する
    請求項27に記載の普及予測方法。
  29. 顧客が商品またはサービスを利用し始めている場合には前記商品またはサービスの利用開始時期を表し、前記商品またはサービスを未利用の場合には未利用である旨を表す利用開始情報と、前記利用開始情報以外の顧客の属性を表す一つ以上の項目とを含む顧客毎の個別データの集合である顧客データを記憶する顧客データベースを備えるコンピュータに搭載される普及予測プログラムであって、
    前記コンピュータに、
    前記顧客データベースを用いて、判定対象時刻を定める現時刻で商品またはサービスの利用を開始していない顧客の個別データを含むデータであるテストデータを生成するテストデータ生成処理、
    前記現時刻で前記商品またはサービスの利用を開始している顧客の個別データに第1ラベルをラベル付け、前記商品またはサービスの利用を開始していない顧客の個別データに第2ラベルをラベル付け、第1ラベルをラベル付けた個別データ数を、ある期間の中で商品またはサービスの顧客が他の者にその商品またはサービスの利用を喚起させる度合いである影響度に応じて変動させたデータである学習データを生成する学習データ生成処理、
    前記顧客の属性を表す項目から当該顧客の個別データに第1ラベルと第2ラベルのいずれをラベル付けるかを判定するルールである分類器を、前記学習データに基づいて生成する分類器生成処理、および、
    前記分類器と前記テストデータ内の各個別データの項目とから、前記テストデータ内の各個別データに対するラベルを判定するテストデータラベル判定処理
    を実行させるための普及予測プログラム。
  30. 前記コンピュータに、
    テストデータラベル判定処理で、第1ラベルがラベル付けられると判定した個別データに対して、利用開始時期を示す情報を付与させ、
    前記現時刻を一定の時間分増加した時刻を新たな現時刻とする現時刻更新処理を実行させ、
    現時刻を更新した際に、テストデータ生成処理で、更新後の現時刻におけるテストデータを生成させ、
    現時刻を更新した際に、学習データ生成処理で、更新後の現時刻における学習データを生成させ、
    現時刻を更新して新たに学習データを生成した際に、分類器生成処理で、当該学習データに基づいて新たに分類器を生成させ、
    現時刻を更新して新たにテストデータを生成した際に、テストデータラベル判定処理で、前記分類器と前記テストデータ内の各個別データの項目とから、前記テストデータ内の各個別データに対するラベルを判定させる
    請求項29に記載の普及予測プログラム。
  31. 顧客が商品またはサービスを利用し始めている場合には前記商品またはサービスの利用開始時期を表し、前記商品またはサービスを未利用の場合には未利用である旨を表す利用開始情報と、前記利用開始情報以外の顧客の属性を表す一つ以上の項目とを含む顧客毎の個別データの集合である顧客データを記憶する顧客データベースを備えるコンピュータに搭載される普及予測プログラムであって、
    前記コンピュータに、
    前記顧客データベースを用いて、判定対象時刻を定める現時刻で商品またはサービスの利用を開始していない顧客の個別データを含むデータであるテストデータを生成するテストデータ生成処理、
    前記現時刻で前記商品またはサービスの利用を開始している顧客の個別データに第1ラベルをラベル付け、前記商品またはサービスの利用を開始していない顧客の個別データに第2ラベルをラベル付けたラベル付けデータを生成し、前記ラベル付けデータ中の第1ラベルでラベル付けられた個別データ数の割合を前記商品またはサービスの普及率として計算するラベル付けデータ生成処理、
    前記顧客の属性を表す項目から当該顧客の個別データに第1ラベルがラベル付けられる確からしさのスコアを定めるルールである分類器を、前記ラベル付けデータに基づいて生成する分類器生成処理、
    普及率に対するスコアの閾値の関数である閾値関数にラベル付けデータ生成処理で計算した普及率を代入して閾値を算出し、前記分類器と前記テストデータ内の各個別データの項目とから、前記テストデータ内の各個別データに第1ラベルがラベル付けられる確からしさのスコアを定め、前記テストデータ内の個別データのうちスコアが前記閾値以上である個別データに対するラベルが第1ラベルであると判定し、スコアが前記閾値未満の個別データに対するラベルが第2ラベルであると判定するテストデータラベル判定処理
    を実行させるための普及予測プログラム。
  32. 前記コンピュータに、
    テストデータラベル判定処理で、第1ラベルがラベル付けられると判定した個別データに対して、利用開始時期を示す情報を付与させ、
    前記現時刻を一定の時間分増加した時刻を新たな現時刻とする現時刻更新処理を実行させ、
    現時刻を更新した際に、テストデータ生成処理で、更新後の現時刻におけるテストデータを生成させ、
    現時刻を更新した際に、ラベル付けデータ生成処理で、更新後の現時刻におけるラベル付けデータを生成させ、当該ラベル付けデータにおける普及率を計算させ、
    現時刻を更新して新たにラベル付けデータを生成した際に、分類器生成処理で、当該ラベル付けデータに基づいて新たに分類器を生成させ、
    現時刻を更新して新たにテストデータを生成した際に、テストデータラベル判定処理で、前記分類器と前記テストデータ内の各個別データの項目とから、前記テストデータ内の各個別データに第1ラベルがラベル付けられる確からしさのスコアを定めさせ、閾値関数にラベル付けデータ生成処理で計算した普及率を代入して新たに閾値を算出させ、前記テストデータ内の個別データのうちスコアが前記閾値以上である個別データに対するラベルが第1ラベルであると判定し、スコアが前記閾値未満の個別データに対するラベルが第2ラベルであると判定させる
    請求項31に記載の普及予測プログラム。
  33. ある期間の中で商品またはサービスの顧客が他の者にその商品またはサービスの利用を喚起させる度合いである影響度の推定対象時刻として用いられる現時刻と、前記現時刻の一定時間前を指定するための時刻間隔と、影響度の候補である複数の仮影響度とが入力され、前記現時刻から前記時刻間隔前の時刻である前時刻を計算し、
    顧客が商品またはサービスを利用し始めている場合には前記商品またはサービスの利用開始時期を表し、前記商品またはサービスを未利用の場合には未利用である旨を表す利用開始情報と、前記利用開始情報以外の顧客の属性を表す一つ以上の項目とを含む顧客毎の個別データの集合である顧客データを記憶する顧客データベースを用いて、前記現時刻で前記商品またはサービスの利用を開始している顧客の個別データに第1ラベルをラベル付け、前記商品またはサービスの利用を開始していない顧客の個別データに第2ラベルをラベル付けた現時刻データを生成し、
    個々の仮影響度毎に、前時刻で前記商品またはサービスの利用を開始している顧客の個別データに第1ラベルをラベル付け、前記商品またはサービスの利用を開始していない顧客の個別データに第2ラベルをラベル付け、第1ラベルをラベル付けた個別データ数を前記仮影響度に応じて変動させたデータである前時刻データを生成し、
    個々の前時刻データ毎に、前記顧客の属性を表す項目から当該顧客の個別データに第1ラベルと第2ラベルのいずれをラベル付けるかを判定するルールである分類器を前記前時刻に基づいて生成し、
    前時刻データ毎に生成された個々の分類器毎に、当該分類器と前記現時刻データ内の各個別データの項目とから前記現時刻データ内の個別データにラベル付けられるラベルを予測し、予測結果と前記現時刻データとの誤差を算出し、
    個々の分類器毎に算出された誤差のうち、最小の誤差を特定し、最小の誤差に対応する仮影響度が1つである場合には、当該仮影響度を影響度として定め、最小の誤差に対応する仮影響度が複数個存在する場合には、前記複数の仮影響度に基づいて影響度を定める
    ことを特徴とする影響度推定方法。
  34. 顧客データベースに記憶されている顧客データのうち、前時刻で商品またはサービスの利用を開始していた顧客の個別データを除外した個別データの集合から現時刻データを生成する
    請求項33に記載の影響度推定方法。
  35. 顧客が商品またはサービスを利用し始めている場合には前記商品またはサービスの利用開始時期を表し、前記商品またはサービスを未利用の場合には未利用である旨を表す利用開始情報と、前記利用開始情報以外の顧客の属性を表す一つ以上の項目とを含む顧客毎の個別データの集合である顧客データ記憶する顧客データベースを備えるコンピュータに搭載される影響度推定プログラムであって、
    影響度推定対象時刻として用いられる現時刻と、前記現時刻の一定時間前を指定するための時刻間隔と、影響度の候補である複数の仮影響度とが入力され、前記現時刻から前記時刻間隔前の時刻である前時刻を計算し、前記顧客データベースを用いて、前記現時刻で前記商品またはサービスの利用を開始している顧客の個別データに第1ラベルをラベル付け、前記商品またはサービスの利用を開始していない顧客の個別データに第2ラベルをラベル付けた現時刻データを生成する現時刻データ生成処理、
    個々の仮影響度毎に、前時刻で前記商品またはサービスの利用を開始している顧客の個別データに第1ラベルをラベル付け、前記商品またはサービスの利用を開始していない顧客の個別データに第2ラベルをラベル付け、第1ラベルをラベル付けた個別データ数を前記仮影響度に応じて変動させたデータである前時刻データを生成する前時刻データ群生成処理、
    個々の前時刻データ毎に、前記顧客の属性を表す項目から当該顧客の個別データに第1ラベルと第2ラベルのいずれをラベル付けるかを判定するルールである分類器を前記前時刻に基づいて生成する前時刻分類器群生成処理、
    前時刻データ毎に生成された個々の分類器毎に、当該分類器と前記現時刻データ内の各個別データの項目とから前記現時刻データ内の個別データにラベル付けられるラベルを予測し、予測結果と前記現時刻データとの誤差を算出する誤差群算出処理、および、
    個々の分類器毎に算出された誤差のうち、最小の誤差を特定し、最小の誤差に対応する仮影響度が1つである場合には、当該仮影響度を影響度として定め、最小の誤差に対応する仮影響度が複数個存在する場合には、前記複数の仮影響度に基づいて影響度を定める影響度算出処理
    を実行させるための影響度推定プログラム。
  36. 前記コンピュータに、
    現時刻データ生成処理で、顧客データベースに記憶されている顧客データのうち、前時刻で商品またはサービスの利用を開始していた顧客の個別データを除外した個別データの集合から現時刻データを生成させる
    請求項35に記載の影響度推定プログラム。
JP2008101872A 2008-03-07 2008-04-09 普及予測システム、方法およびプログラム、並びに影響度推定システム、方法およびプログラム Expired - Fee Related JP5104496B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008101872A JP5104496B2 (ja) 2008-03-07 2008-04-09 普及予測システム、方法およびプログラム、並びに影響度推定システム、方法およびプログラム

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2008057281 2008-03-07
JP2008057281 2008-03-07
JP2008101872A JP5104496B2 (ja) 2008-03-07 2008-04-09 普及予測システム、方法およびプログラム、並びに影響度推定システム、方法およびプログラム

Publications (2)

Publication Number Publication Date
JP2009238193A JP2009238193A (ja) 2009-10-15
JP5104496B2 true JP5104496B2 (ja) 2012-12-19

Family

ID=41252000

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008101872A Expired - Fee Related JP5104496B2 (ja) 2008-03-07 2008-04-09 普及予測システム、方法およびプログラム、並びに影響度推定システム、方法およびプログラム

Country Status (1)

Country Link
JP (1) JP5104496B2 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5304429B2 (ja) * 2008-08-19 2013-10-02 日本電気株式会社 顧客状態推定システム、顧客状態推定方法および顧客状態推定プログラム
JP6614030B2 (ja) * 2016-05-20 2019-12-04 日本電信電話株式会社 観測者検出装置、方法、プログラム、及びコンピュータ読み取り可能な記録媒体
CN110268350B (zh) * 2017-03-03 2022-12-20 松下知识产权经营株式会社 劣化诊断系统追加学习方法
JP6768627B2 (ja) * 2017-12-05 2020-10-14 日本電信電話株式会社 推定装置、推定方法、およびプログラム
JP2020057290A (ja) * 2018-10-03 2020-04-09 エヌ・ティ・ティ・コミュニケーションズ株式会社 監視装置、監視方法および監視プログラム
JP6748769B1 (ja) * 2019-09-06 2020-09-02 株式会社ビデオリサーチ 顧客推定装置及び顧客推定方法
JP6826652B1 (ja) * 2019-12-27 2021-02-03 株式会社ビデオリサーチ 顧客推定装置及び顧客推定方法
JP6945019B2 (ja) * 2020-01-27 2021-10-06 株式会社ビデオリサーチ 顧客推定装置及び顧客推定方法
JP2021117757A (ja) * 2020-01-27 2021-08-10 株式会社ビデオリサーチ 顧客推定装置及び顧客推定方法
CN115223271B (zh) * 2022-06-28 2024-05-07 东软睿驰汽车技术(沈阳)有限公司 车辆剩余信息误差的关注度获得方法及相关装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004070525A (ja) * 2002-08-02 2004-03-04 Ajinomoto Communications Inc 販売促進の効果測定方法およびその装置
JP2005301389A (ja) * 2004-04-07 2005-10-27 Ipb:Kk 技術または方法の発達レベルを判定する方法、プログラム、装置
JP2008299542A (ja) * 2007-05-30 2008-12-11 Nippon Telegr & Teleph Corp <Ntt> コンテンツ提供方法、コンテンツ提供装置、コンテンツ提供プログラムおよびコンテンツ提供システム

Also Published As

Publication number Publication date
JP2009238193A (ja) 2009-10-15

Similar Documents

Publication Publication Date Title
JP5104496B2 (ja) 普及予測システム、方法およびプログラム、並びに影響度推定システム、方法およびプログラム
CN111652657A (zh) 商品销量预测方法、装置、电子设备及可读存储介质
JP5078910B2 (ja) 観察したユーザの行動からの広告品質の推定
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
US20140122370A1 (en) Systems and methods for model selection
CN108205766A (zh) 信息推送方法、装置及系统
US20100082421A1 (en) Click through rate prediction system and method
CN109583468A (zh) 训练样本获取方法,样本预测方法及对应装置
US12505462B2 (en) Actionable KPI-driven segmentation
US7742939B1 (en) Visibility index for quality assurance in software development
US20210117828A1 (en) Information processing apparatus, information processing method, and program
JP6365032B2 (ja) データ分類方法、データ分類プログラム、及び、データ分類装置
US20200250691A1 (en) Information processing apparatus, control method, and program
US20160224998A1 (en) Order-volume determination device, order-volume determination method, recording medium, and order-volume determination system
JP5251217B2 (ja) 販売数予測システム、販売数予測システムの動作方法および販売数予測プログラム
Jamalpur et al. Applications of deep learning in marketing analytics: predictive modeling and segmenting customers
EP2851851A1 (en) A computer implemented tool and method for automating the forecasting process
JP2024002569A (ja) 情報処理装置、情報処理システム、情報処理方法、及びプログラム
JP5304429B2 (ja) 顧客状態推定システム、顧客状態推定方法および顧客状態推定プログラム
KR102414960B1 (ko) 프로모션 대상 선별 방법 및 그 장치
WO2021140957A1 (ja) 情報処理装置、情報処理方法、及び、プログラム
CN113988922A (zh) 一种基于延迟时间采样的转化率模型流式更新方法
Ling et al. Maximum profit mining and its application in software development

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