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

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

Info

Publication number
JPWO2017159403A1
JPWO2017159403A1 JP2018505812A JP2018505812A JPWO2017159403A1 JP WO2017159403 A1 JPWO2017159403 A1 JP WO2017159403A1 JP 2018505812 A JP2018505812 A JP 2018505812A JP 2018505812 A JP2018505812 A JP 2018505812A JP WO2017159403 A1 JPWO2017159403 A1 JP WO2017159403A1
Authority
JP
Japan
Prior art keywords
cluster
customer
prediction
master data
prediction model
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.)
Granted
Application number
JP2018505812A
Other languages
English (en)
Other versions
JP6414363B2 (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
Publication of JPWO2017159403A1 publication Critical patent/JPWO2017159403A1/ja
Application granted granted Critical
Publication of JP6414363B2 publication Critical patent/JP6414363B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

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

Landscapes

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

Abstract

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

Description

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

Claims (14)

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

Applications Claiming Priority (3)

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

Publications (2)

Publication Number Publication Date
JPWO2017159403A1 true JPWO2017159403A1 (ja) 2018-06-21
JP6414363B2 JP6414363B2 (ja) 2018-10-31

Family

ID=59850923

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018505812A Active JP6414363B2 (ja) 2016-03-16 2017-03-03 予測システム、方法およびプログラム

Country Status (3)

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

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10698874B2 (en) * 2015-03-30 2020-06-30 Nec Corporation System, method, and program for business intelligence using table operations in a relational database
US10423781B2 (en) * 2017-05-02 2019-09-24 Sap Se Providing differentially private data with causality preservation
US10922335B1 (en) 2018-01-29 2021-02-16 Facebook, Inc. User targeting using an unresolved graph
US10803094B1 (en) * 2018-01-29 2020-10-13 Facebook, Inc. Predicting reach of content using an unresolved graph
EP3779836A4 (en) * 2018-03-27 2022-01-19 Culture Convenience Club Co., Ltd. DEVICE, METHOD AND PROGRAM FOR MAKING RECOMMENDATIONS BASED ON CUSTOMER ATTRIBUTE INFORMATION
JP7198591B2 (ja) * 2018-03-27 2023-01-04 カルチュア・コンビニエンス・クラブ株式会社 顧客の属性情報を解析する装置、方法、およびプログラム
JP7310171B2 (ja) * 2019-02-28 2023-07-19 富士通株式会社 配分方法、抽出方法、配分プログラム、抽出プログラム、配分装置及び抽出装置
JP7155074B2 (ja) * 2019-07-03 2022-10-18 富士フイルム株式会社 情報提案システム、情報提案方法、プログラムおよび記録媒体
US11551024B1 (en) * 2019-11-22 2023-01-10 Mastercard International Incorporated Hybrid clustered prediction computer modeling
US11620542B2 (en) * 2019-12-05 2023-04-04 At&T Intellectual Property I, L.P. Bias scoring of machine learning project data
KR102501496B1 (ko) * 2020-06-11 2023-02-20 라인플러스 주식회사 개인화를 통한 연합 학습의 다중 모델 제공 방법, 시스템, 및 컴퓨터 프로그램

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007164346A (ja) * 2005-12-12 2007-06-28 Toshiba Corp 決定木変更方法、異常性判定方法およびプログラム
WO2014179724A1 (en) * 2013-05-02 2014-11-06 New York University System, method and computer-accessible medium for predicting user demographics of online items

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7953676B2 (en) * 2007-08-20 2011-05-31 Yahoo! Inc. Predictive discrete latent factor models for large scale dyadic data

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007164346A (ja) * 2005-12-12 2007-06-28 Toshiba Corp 決定木変更方法、異常性判定方法およびプログラム
WO2014179724A1 (en) * 2013-05-02 2014-11-06 New York University System, method and computer-accessible medium for predicting user demographics of online items
US20160110730A1 (en) * 2013-05-02 2016-04-21 New York University System, method and computer-accessible medium for predicting user demographics of online items

Also Published As

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

Similar Documents

Publication Publication Date Title
JP6414363B2 (ja) 予測システム、方法およびプログラム
JP6311851B2 (ja) 共クラスタリングシステム、方法およびプログラム
TWI718422B (zh) 對模型預測值進行融合的方法、裝置和設備
TWI631518B (zh) 具有一或多個計算裝置的電腦伺服系統及訓練事件分類器模型的電腦實作方法
US10984343B2 (en) Training and estimation of selection behavior of target
US8768866B2 (en) Computer-implemented systems and methods for forecasting and estimation using grid regression
US11869021B2 (en) Segment valuation in a digital medium environment
CN111966904A (zh) 基于多用户画像模型的信息推荐方法和相关装置
CN111966886A (zh) 对象推荐方法、对象推荐装置、电子设备及存储介质
WO2023103527A1 (zh) 一种访问频次的预测方法及装置
JP2017199355A (ja) レコメンデーション生成
US11301763B2 (en) Prediction model generation system, method, and program
KR20150122307A (ko) 광고 제공 방법 및 서버 장치
JP7139932B2 (ja) 需要予測方法、需要予測プログラムおよび需要予測装置
CN113591881A (zh) 基于模型融合的意图识别方法、装置、电子设备及介质
US11704598B2 (en) Machine-learning techniques for evaluating suitability of candidate datasets for target applications
JP6988817B2 (ja) 予測モデル生成システム、方法およびプログラム
US20210133853A1 (en) System and method for deep learning recommender
Kuznietsova et al. Business intelligence techniques for missing data imputation
JP7309673B2 (ja) 情報処理装置、情報処理方法、及びプログラム
CN114757723B (zh) 用于资源要素交易平台的数据分析模型构建系统及方法
Gandhe Restaurant recommendation system
Sharma Identifying Factors Contributing to Lead Conversion Using Machine Learning to Gain Business Insights
CN113469374B (zh) 数据预测方法、装置、设备及介质
JP7283548B2 (ja) 学習装置、予測システム、方法およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171110

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180703

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180820

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: 20180904

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180917

R150 Certificate of patent or registration of utility model

Ref document number: 6414363

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150