(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024131388
(43)【公開日】2024-09-30
(54)【発明の名称】データ融合システム及びデータ融合方法
(51)【国際特許分類】
G06F 16/2458 20190101AFI20240920BHJP
【FI】
G06F16/2458
【審査請求】未請求
【請求項の数】12
【出願形態】OL
(21)【出願番号】P 2023041622
(22)【出願日】2023-03-16
(71)【出願人】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110000350
【氏名又は名称】ポレール弁理士法人
(72)【発明者】
【氏名】石坂 秀壮
(72)【発明者】
【氏名】長谷川 泰隆
(72)【発明者】
【氏名】大崎 高伸
(72)【発明者】
【氏名】竹内 渉
【テーマコード(参考)】
5B175
【Fターム(参考)】
5B175FB04
(57)【要約】 (修正有)
【課題】データ融合精度の向上や計算コストの低減を可能とし得るデータ融合システム及びデータ融合方法を提供する。
【解決手段】データ融合システム100において、演算装置101は、入力部102が受ける融合する2つのデータである第1のデータと第2のデータに共通して含まれる複数の共変量を取得する共変量取得部111と、第1のデータと第2のデータから複数の共変量の各共変量の値が一致するレコード数を算出する一致レコード数計算部113と、複数の共変量の各共変量の組合せ毎に前記一致レコード数を比較する一致レコード数比較部114と、一致レコード数比較結果に基づき、複数の共変量から少なくとも1つの共変量を選定する共変量選定部115と、共変量選定部115が選定した少なくとも1つの共変量を用いて、第1のデータと第2のデータの融合とそのデータの分析を行う融合後データ分析部117と、を有する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
2つのデータを連結するデータ融合システムであって、
所定の処理を実行する演算装置と、データが入力される入力部と、前記演算装置がアクセス可能な記憶装置とを備え、
前記入力部は、融合する2つのデータである第1のデータと第2のデータの入力を受け、
前記演算装置は、
前記第1のデータと前記第2のデータに共通して含まれる複数の共変量を取得する共変量取得部と、
前記第1のデータと前記第2のデータから前記複数の共変量の各共変量の値が一致するレコード数を算出する一致レコード数計算部と、
前記複数の共変量の各共変量の組合せ毎に前記一致レコード数を比較する一致レコード数比較部と、
前記一致レコード数比較結果に基づき、前記複数の共変量から少なくとも1つの共変量を選定する共変量選定部と、
前記共変量選定部が選定した少なくとも1つの共変量を用いて、前記第1のデータと前記第2のデータを融合するデータ融合実施部と、
データ融合実施後のデータの分析を行う融合後データ分析部と、
を有することを特徴とするデータ融合システム。
【請求項2】
請求項1に記載のデータ融合システムであって、
前記一致レコード数計算部は、前記第1のデータの各共変量の値と一致する前記第2のデータのレコード数を求め、その平均を算出することを特徴とするデータ融合システム。
【請求項3】
請求項1に記載のデータ融合システムであって、
前記一致レコード数比較部は、前記一致レコード数計算部で前記複数の共変量の一部のK個の共変量の組合せ毎に計算された前記一致レコード数の逆数の大小比較を行い、前記一致レコード数の逆数が最大となる前記共変量の組合せ、及び前記一致レコード数の逆数の最大値を取得することを特徴とするデータ融合システム。
【請求項4】
請求項1に記載のデータ融合システムであって、
前記一致レコード数比較部は、前記一致レコード数計算部で前記複数の共変量の一部のK個の共変量の組合せ毎に計算された前記一致レコード数の逆数の大小比較を行い、前記一致レコード数が最小となる前記共変量の組合せ、及び前記一致レコード数の最小値を取得することを特徴とするデータ融合システム。
【請求項5】
請求項3に記載のデータ融合システムであって、
前記共変量選定部は、共変量数がK-1個の場合とK個の場合に前記一致レコード数比較部で取得した前記一致レコード数の逆数の最大値の大小比較を行い、共変量数がK個の場合の前記一致レコード数の逆数の最大値の方が大きい場合は共変量数がK+1個の場合の前記一致レコード数の計算及び比較に移行し、それ以外の場合は共変量数がK個の場合に前記一致レコード数比較部で取得した前記共変量の組合せを出力することを特徴とするデータ融合システム。
【請求項6】
請求項4に記載のデータ融合システムであって、
前記共変量選定部は、共変量数がK-1個の場合とK個の場合に前記一致レコード数比較部で取得した前記一致レコード数の最小値の大小比較を行い、共変量数がK個の場合の前記一致レコード数の最小値の方が小さい場合は共変量数がK+1個の場合の前記一致レコード数の計算及び比較に移行し、それ以外の場合は共変量数がK個の場合に前記一致レコード数比較部で取得した前記共変量の組合せを出力することを特徴とするデータ融合システム。
【請求項7】
所定の処理を実行する演算装置と、データが入力される入力部と、前記演算装置がアクセス可能な記憶装置とを備え、2つのデータを連結するデータ融合方法であって、
前記演算装置の共変量取得部が、前記第1のデータと前記第2のデータに共通して含まれる複数の共変量を取得する工程と、
前記演算装置の一致レコード数計算部が、前記第1のデータと前記第2のデータから前記複数の共変量の各共変量の値が一致するレコード数を算出する工程と、
前記演算装置の一致レコード数比較部が、前記複数の共変量の各共変量の組合せ毎に前記一致レコード数を比較する工程と、
前記演算装置の共変量選定部が、前記一致レコード数比較結果に基づき、前記複数の共変量から少なくとも1つの共変量を選定する工程と、
前記演算装置のデータ融合実施部が、前記共変量選定部が選定した少なくとも1つの共変量を用いて、前記第1のデータと前記第2のデータを融合する工程と、
前記演算装置の融合後データ分析部が、データ融合実施後のデータの分析を行う工程と、
を有することを特徴とするデータ融合方法。
【請求項8】
請求項7に記載のデータ融合方法であって、
前記一致レコード数比較部が、前記第1のデータの各共変量の値と一致する前記第2のデータのレコード数を求め、その平均を算出することを特徴とするデータ融合方法。
【請求項9】
請求項7に記載のデータ融合方法であって、
前記一致レコード数比較部が、前記一致レコード数計算部で前記複数の共変量の一部のK個の共変量の組合せ毎に計算された前記一致レコード数の逆数の大小比較を行い、前記一致レコード数の逆数が最大となる前記共変量の組合せ、及び前記一致レコード数の逆数の最大値を取得することを特徴とするデータ融合方法。
【請求項10】
請求項7に記載のデータ融合方法であって、
前記一致レコード数比較部が、前記一致レコード数計算部で前記複数の共変量の一部のK個の共変量の組合せ毎に計算された前記一致レコード数の逆数の大小比較を行い、前記一致レコード数が最小となる前記共変量の組合せ、及び前記一致レコード数の最小値を取得することを特徴とするデータ融合方法。
【請求項11】
請求項9に記載のデータ融合方法であって、
前記共変量選定部が、共変量数がK-1個の場合とK個の場合に前記一致レコード数比較部で取得した前記一致レコード数の逆数の最大値の大小比較を行い、共変量数がK個の場合の前記一致レコード数の逆数の最大値の方が大きい場合は共変量数がK+1個の場合の前記一致レコード数の計算及び比較に移行し、それ以外の場合は共変量数がK個の場合に前記一致レコード数比較部で取得した前記共変量の組合せを出力することを特徴とするデータ融合方法。
【請求項12】
請求項10に記載のデータ融合方法であって、
前記共変量選定部が、共変量数がK-1個の場合とK個の場合に前記一致レコード数比較部で取得した前記一致レコード数の最小値の大小比較を行い、共変量数がK個の場合の前記一致レコード数の最小値の方が小さい場合は共変量数がK+1個の場合の前記一致レコード数の計算及び比較に移行し、それ以外の場合は共変量数がK個の場合に前記一致レコード数比較部で取得した前記共変量の組合せを出力することを特徴とするデータ融合方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数のデータを連結するデータ融合システム及びデータ融合方法に関する。
【背景技術】
【0002】
複数のデータを連結して分析することで、より多様な分析や精度の高い推測に基づく意思決定が可能である。連結するデータ間で共通の個人キー(個人毎に付与されるID)がある場合、その個人キーの値が同一のレコード同士を紐づけることでデータを連結することができる。しかし、個人キーが無い場合、データの連結は困難である。そこで、連結が困難なデータ間の複数の共通する変数(共変量)をのりしろとして利用することで、データ同士を連結するデータ融合技術が研究されている。
【0003】
データ融合技術を用いてデータを連結する従来例としては、特許文献1及び特許文献2がある。
特許文献1には、コンピュータが、互いに異なる調査者が互いに異なるモニタに対して実施した第1アンケート及び第2アンケートの各々のデータを、両アンケートに含まれる共通質問への回答内容の類似度合いをキーとして融合する。このとき、コンピュータは、類似度合いに基づいて設定された割り当てパターンにて、第1アンケートのモニタに対し、第2アンケートのみに含まれる質問に対するモニタの回答内容と同一の回答内容を割り当てる。割り当てパターンは、第1アンケートのみに含まれる質問に関する集計結果が融合前後で変化せず、かつ、第2アンケートのみに含まれる質問に関する集計結果が融合前後で変化しないように統計的解法に従って設定される。そして、コンピュータは、データ配信要求を発する端末に向けて融合データを配信する旨が開示されている。
【0004】
また、特許文献2には、第1調査データのうち新規の第1調査データを特定する。新規の第1調査データと第2調査データの双方の共通項目に関数を適用して距離計算用スコア群を算出する。距離計算用スコア群を比較して、新規の第1調査データの各モニタA’と第2調査データの各モニタBとの類似度合いを示す距離について距離計算を実行する。新規の第1調査データの各モニタA’について、総距離が近いモニタを第2調査データのモニタBの中から特定し、同一のモニタとみなして融合する。融合データを保存する旨が開示されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2015-32199号公報
【特許文献2】特開2018-156299号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
データ融合の精度を向上させるためには、利用できる全ての共変量の中から最適な共変量を選定する必要がある。また、共変量の選定により、データ融合に利用する共変量を削減することで、データ融合の計算時間を短縮することが可能である。
しかしながら、特許文献1及び特許文献2共に、共変量の選定は行っていない。従って以下の課題がある。
(1)データ融合精度の劣化
(2)大規模データや共変量が多いデータに適用する場合の計算コストの増加
そこで、本発明は、データ融合精度の向上や計算コストの低減を可能とし得るデータ融合システム及びデータ融合方法を提供する。
【課題を解決するための手段】
【0007】
上記課題を解決するため、本発明に係るデータ融合システムは、2つのデータを連結するデータ融合システムであって、所定の処理を実行する演算装置と、データが入力される入力部と、前記演算装置がアクセス可能な記憶装置とを備え、前記入力部は、融合する2つのデータである第1のデータと第2のデータの入力を受け、前記演算装置は、前記第1のデータと前記第2のデータに共通して含まれる複数の共変量を取得する共変量取得部と、前記第1のデータと前記第2のデータから前記複数の共変量の各共変量の値が一致するレコード数を算出する一致レコード数計算部と、前記複数の共変量の各共変量の組合せ毎に前記一致レコード数を比較する一致レコード数比較部と、前記一致レコード数比較結果に基づき、前記複数の共変量から少なくとも1つの共変量を選定する共変量選定部と、前記共変量選定部が選定した少なくとも1つの共変量を用いて、前記第1のデータと前記第2のデータを融合するデータ融合実施部と、データ融合実施後のデータの分析を行う融合後データ分析部と、を有することを特徴とする。
【0008】
また、本発明に係るデータ融合方法は、所定の処理を実行する演算装置と、データが入力される入力部と、前記演算装置がアクセス可能な記憶装置とを備え、2つのデータを連結するデータ融合方法であって、前記演算装置の共変量取得部が、前記第1のデータと前記第2のデータに共通して含まれる複数の共変量を取得する工程と、前記演算装置の一致レコード数計算部が、前記第1のデータと前記第2のデータから前記複数の共変量の各共変量の値が一致するレコード数を算出する工程と、前記演算装置の一致レコード数比較部が、前記複数の共変量の各共変量の組合せ毎に前記一致レコード数を比較する工程と、前記演算装置の共変量選定部が、前記一致レコード数比較結果に基づき、前記複数の共変量から少なくとも1つの共変量を選定する工程と、前記演算装置のデータ融合実施部が、前記共変量選定部が選定した少なくとも1つの共変量を用いて、前記第1のデータと前記第2のデータを融合する工程と、前記演算装置の融合後データ分析部が、データ融合実施後のデータの分析を行う工程と、を有することを特徴とする。
【発明の効果】
【0009】
本発明によれば、データ融合精度の向上や計算コストの低減を可能とし得るデータ融合システム及びデータ融合方法を提供することが可能となる。
上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】
【0010】
【
図1】本発明の実施例1に係るデータ融合システムの構成を示すブロック図である。
【
図2】データA(第1のデータ)の例を示す図である。
【
図3】データB(第2のデータ)の例を示す図である。
【
図10】データ融合結果表示・分析画面の例を示す図である。
【
図11】データ融合処理のフローチャートを示す図である。
【
図12】一致レコード数算出処理のフローチャートを示す図である。
【
図13】共変量数K=1の場合の一致レコード数算出例を示す図である。
【
図14】共変量数K=2の場合の一致レコード数算出例を示す図である。
【発明を実施するための形態】
【0011】
本明細書では、第1のデータをデータAと称し、第2のデータをデータBと称する。
また、本発明の実施例では、連結する2つデータ(データAとデータB)の共変量を選定し、選定された共変量を用いてデータを連結するデータ融合システムを説明する。
以下、図面を用いて本発明の実施例について説明する。
【実施例0012】
本実施例では、データA(第1のデータ)とデータB(第2のデータ)の共変量を取得し、一致レコード数に基づき共変量を選定し、選定された共変量を用いてデータを連結するデータ融合システムの例を説明する。
【0013】
図1は、本実施例に係るデータ融合システムの構成を示すブロック図である。
図1に示すように、本実施例に係るデータ融合システム100は、データ融合端末101及びデータベース120を有する。
【0014】
データ融合端末101は、入力部102、出力部103、プロセッサ(CPU)104、メモリ105及び記憶媒体106を有する計算機である。
【0015】
入力部102は、マウス、キーボードなどのヒューマンインターフェースであり、データ融合端末101への入力を受け付ける。出力部103は、データ融合端末101による演算結果を出力するディスプレイやプリンタである。記憶媒体106は、データ融合端末101によるデータ融合処理を実現する各種プログラム、及びデータ融合処理の実行結果等を格納する記憶装置であり、例えば、不揮発性記憶媒体(磁気ディスクドライブ、不揮発性メモリ等)で構成される。
【0016】
メモリ105は、不揮発性の記憶素子であるROM及び揮発性の記憶素子であるRAMを含む。ROMは、不変のプログラム(例えば、BIOS)などを格納する。RAMは、例えば、DRAM(Dynamic Random Access Memory)のような高速かつ揮発性の記憶素子であり、プロセッサ104が実行するプログラム及びプログラムの実行時に使用されるデータを一時的に格納する。すなわち、メモリ105には、記憶媒体106に格納されているプログラムが展開される。
【0017】
プロセッサ104は、メモリ105にロードされたプログラムを実行する演算装置であり、例えば、CPU、GPUなどである。以下に説明する処理及び演算は、プロセッサ104が実行する。なお、プロセッサ104がプログラムを実行して行う処理の一部を、他の演算装置(例えば、FPGA(Field Programmable Gate Array)、ASIC(Application Specific Integrated Circuit)などのハードウェア)で実行してもよい。
【0018】
本実施例に係るデータ融合システム100は、一つの計算機上で、又は、論理的又は物理的に構成された複数の計算機上で構成される計算機システムであり、同一の計算機上で別個のスレッドで動作してもよく、複数の物理的計算機資源上に構築された仮想計算機上で動作してもよい。
【0019】
プロセッサ104によって実行されるプログラムは、リムーバブルメディア(CD-ROM、フラッシュメモリなど)又はネットワークを介して各サーバに提供され、非一時的記憶媒体である不揮発性記憶装置に格納される。このため、計算機システムは、リムーバブルメディアを読み込むインターフェースを備えてもよい。
【0020】
記憶媒体106は、共変量取得部111、一致レコード数計算部112、一致レコード数比較部113、共変量追加部114、共変量選定部115、データ融合実施部116、融合後データ分析部117を実現するためのプログラムを格納する。
【0021】
共変量取得部111は、入力部102に入力されたデータA(
図2)とデータB(
図3)を取得後、データA(第1のデータ)とデータB(第2のデータ)で変数名が一致、若しくは変数名や変数内容が似た変数を共変量(
図4)として取得し、取得された共変量の変数名(共変量名)を出力部103に表示する(
図5)。
【0022】
共変量追加部112は、共変量取得部111で取得した共変量名のうち、共変量リスト(
図7)に含まれる共変量名に、共変量リストに含まれない共変量名を1つ追加した、共変量名の集合(
図6)を作成する。これを、共変量リストに含まれない全ての共変量名を用いて行う。ここで、共変量リストは選定された共変量を格納するリストであり、初期値は空である。
【0023】
一致レコード数計算部113は、共変量取得部111で取得した共変量のうち、共変量名が共変量追加部112で作成した共変量名の集合の各要素と一致する共変量を用いて、「一致レコード数」(
図7)を計算する。これを、共変量追加部112で作成した全ての集合に対して行う。ここで、一致レコード数は似た特徴を持つ人の識別程度を示す指標であり、データAの共変量の各レコードの値と一致するデータBの共変量のレコード数を求め、そのレコード数の平均値を算出することを特徴とする。詳細な計算方法は、
図12、
図13、
図14を用いて後述する。
【0024】
一致レコード数比較部114は、レコード数計算部113で算出された一致レコード数の比較を行い、一致レコード数の逆数が最大となる共変量名の集合(共変量の組合せ)、及び一致レコード数の逆数の最大値を取得する。なお、一致レコード数が最小となる共変量名の集合(共変量の組合せ)、及び一致レコード数の最小値を取得してもよい。
【0025】
共変量選定部115は、一致レコード数比較部114で取得した一致レコード数の逆数の最大値が、最大値格納変数に格納済みの値よりも大きい場合、一致レコード数比較部114で取得した共変量名の集合(共変量の組合せ)を共変量リストに、一致レコード数比較部114で取得した一致レコード数の逆数の最大値を最大値格納変数に格納し、共変量追加部112に移行する。それ以外の場合、共変量リストを取得し、共変量リストに格納済みの共変量名を出力部103に表示する(
図8)。ここで、最大値格納変数は一致レコード数の逆数の最大値を格納する変数であり、初期値は0である。換言すれば、共変量選定部115は、共変量数がK-1個の場合とK個の場合に前記一致レコード数比較部で取得した前記一致レコード数の逆数の最大値の大小比較を行い、共変量数がK個の場合の前記一致レコード数の逆数の最大値の方が大きい場合は共変量数がK+1個の場合の前記一致レコード数の計算及び比較に移行し、それ以外の場合は共変量数がK個の場合に前記一致レコード数比較部で取得した前記共変量の組合せを出力する(出力部103に表示する)。
なお、一致レコード数比較部114で一致レコード数の最小値を取得した場合、上記と逆の処理を行う。すなわち、取得した最小値が最小値格納変数よりも小さい場合、一致レコード数比較部114で取得した共変量名の集合(共変量の組合せ)を共変量リストに、一致レコード数比較部114で取得した一致レコード数の最小値を最小値格納変数に格納し、共変量追加部112に移行する。それ以外の場合、共変量リストを取得し、共変量リストに格納済みの共変量名を出力部103に表示する(
図8)。ここで、最小値格納変数は一致レコード数の最小値を格納する変数であり、初期値は非常に大きな値を設定する。換言すれば、共変量選定部115は、共変量数がK-1個の場合とK個の場合に前記一致レコード数比較部で取得した前記一致レコード数の最小値の大小比較を行い、共変量数がK個の場合の前記一致レコード数の最小値の方が小さい場合は共変量数がK+1個の場合の前記一致レコード数の計算及び比較に移行し、それ以外の場合は共変量数がK個の場合に前記一致レコード数比較部で取得した前記共変量の組合せを出力する(出力部103に表示する)。
【0026】
データ融合実施部116は、共変量取得部111で取得したデータAとデータBの全共変量のうち、共変量名が共変量選定部115で取得した共変量リストに含まれる共変量名と一致する共変量を用い、データAとデータBの共変量間の距離が最も小さいレコード同士をマッチングすることでデータ融合を実施し、データ融合後のデータ(
図9)を作成する。
【0027】
融合後データ分析部117は、データ融合実施部116で取得したデータ融合後のデータの分析を行う。また、データ融合後のデータとデータ融合後のデータの分析結果をデータ融合後のデータを出力部103に表示する(
図10)。
【0028】
図1に示すように、データベース120は、データA記憶部121、データB記憶部122、共変量記憶部123、一致レコード数記憶124、共変量選定結果記憶部125、データ融合結果記憶部126及び融合後データ分析結果記憶部125から構成される。
【0029】
データA記憶部121は、入力部102に入力された融合する2つのデータのうちの1つを格納する。
データB記憶部122は、入力部102に入力された融合する2つのデータのうち、データA記憶部に格納されていないデータを格納する。換言すれば、入力部102に入力された融合する2つのデータのうち、他方のデータを格納する。
【0030】
共変量記憶部123は、共変量取得部111で取得した共変量を格納する。
一致レコード数記憶部124は、共変量追加部112で作成された共変量名の集合と、共変量名の集合に対応する一致レコード数計算部113で計算される一致レコード数を格納する。
【0031】
共変量選定結果記憶部125は、共変量選定部115が取得した共変量リストを格納する。
データ融合結果記憶部126は、データ融合実施部116が作成したデータ融合後のデータを格納する。
融合後データ分析結果記憶部127は、融合後データ分析部117が作成したデータ融合後のデータの分析結果を格納する。
【0032】
図2は、データA記憶部121が格納するデータA200の例を示す図である。
データA200は、数値が格納された複数の変数を含む。図示する例では、データA200は変数1から変数10まで合計10個の変数を含む。
【0033】
図3は、データB記憶部122が格納するデータB300の例を示す図である。
データB300は、数値が格納された複数の変数を含む。図示する例では、データB300は変数3から変数12まで合計10個の変数を含む。
【0034】
図4は、共変量取得部111が取得する共変量400の例を示す図である。
図4に示すように、共変量400は、データAの共変量401とデータBの共変量402を含む。
【0035】
データAの共変量401は、共変量取得部111が取得した共変量400のうちデータAに含まれる共変量である。データBの共変量402は、共変量取得部111が取得した共変量400のうちデータBに含まれる共変量である。
【0036】
図5は、共変量取得部111が、出力部103に出力する共変量設定画面500の例を示す図である。
共変量設定画面500は、共変量取得方法設定欄510、共変量候補表示欄520、及び共変量表示欄530を含む。
【0037】
共変量取得方法設定欄510は、共変量の取得方法をユーザに選択させる欄である。図示する例では、共変量の取得方法として、「変数名が一致」が選択されている。この場合は、データA200とデータB300の変数のうち、変数名が同一なものを共変量として取得する。また、「手動」を選択した場合、以下で説明する共変量候補表示欄520にて手動で共変量を設定する。
【0038】
共変量候補表示欄520は、共変量とする変数の候補を表示する欄である。図示する例では、共変量取得方法設定欄510で「変数名が一致」を選択しているため、共変量候補表示欄520において、データA200とデータB300の変数のうち、変数名が同一のものを表示している。共変量候補表示欄520は、共変量候補選択解除ボタン521と共変量候補追加ボタン522を含み、共変量候補選択解除ボタン521が押された変数は、共変量候補から外す。また、共変量候補追加ボタン522により、手動で共変量候補を追加することができる。例えば、データAの「年齢」とデータBの「age」という変数を選択することで、データAの「年齢」とデータBの「age」を対応付けて、共変量候補表示欄520に表示する。
【0039】
共変量表示欄530は、共変量候補表示欄520で設定した共変量の共変量名を表示する。ここで、データAとデータBで異なる変数名の変数が共変量として設定された場合、データAの共変量名(上記の例では「年齢」)を表示する。
【0040】
図6は、共変量追加部112が作成する共変量名の集合600の例を示す図である。
【0041】
共変量名の集合600は、共変量リスト720に含まれる共変量名に、共変量リスト720に含まれない共変量名を1つ追加した集合である。図示する例では、ループ0回目、ループ1回目、及びループ3回目の共変量名の集合600を示す。ループ0回目では、共変量リスト720が空であるため、共変量名毎に要素数1の集合が作成される。ループ1回目では、共変量リスト720に“変数5”が含まれているため、“変数5”に“変数5”以外の共変量名を1つ追加した要素数2の集合が作成される。ループ2回目では、共変量リスト720に“変数5”と“変数3”が含まれているため、“変数5”と“変数3”に“変数5”と“変数3”以外の共変量名を1つ追加した要素数3の集合が作成される。ループ3、4、5…回目も同様に、共変量の集合600を作成する。
【0042】
図7は、一致レコード数計算部113が計算する一致レコード数710と共変量リスト720の例を示す図である。
一致レコード数710は、共変量追加部112(
図1)で作成された共変量名の集合600毎に計算される。図示する例では、ループ0回目では、{“変数5”}の一致レコード数が最も小さい(一致レコード数の逆数が最も大きい)ため、“変数5”を共変量リスト720に格納する。ループ1、2、3…回目でも同様に、共変量追加部112で作成された共変量名の集合600毎に一致レコード数710を計算し、一致レコード数710が最も小さい(一致レコード数の逆数が最も大きい)共変量名の集合600を共変量リスト720に格納する。なお、ループの前後で一致レコード数の最小値(一致レコード数の逆数の最大値)が変化しない場合、それ以降のループを停止し、共変量リスト720に格納済みの共変量名の集合600を取得する。
【0043】
図8は、共変量選定部115が、出力部103に出力する共変量選定画面800の例を示す図である。
図8に示すように、共変量選定画面800は、共変量選定結果表示欄810、一致レコード数計算結果表示欄820、及び選定済み共変量表示欄830を含む。
【0044】
共変量選定結果表示欄810は、共変量選定部115が取得する共変量リスト720に格納されている共変量名を表示する欄である。図示する例では、共変量リスト720に格納されている“変数5”、“変数3”、“変数7”、“変数4”の4つの共変量名を表示している。共変量選定結果表示欄810は、共変量選択解除ボタン811と共変量追加ボタン812を含み、共変量選択解除ボタン811が押された共変量は選定結果から除外し、データ融合に利用しない。また、共変量追加ボタン812により、共変量取得部111で取得された共変量名の中からデータ融合に利用する共変量を手動で追加できる。
【0045】
一致レコード数計算結果表示欄820は、一致レコード数比較部114で取得される、一致レコード数710の逆数が最大となる共変量名の集合600とそれに対応する一致レコード数の逆数(821~824)を表示する。また、一致レコード数710が最小となる共変量名の集合600とそれに対応する一致レコード数710を表示してもよい。
選定済み共変量表示欄830は、共変量選定結果表示欄810で設定した共変量の共変量名を表示する。
【0046】
図9は、データ融合結果記憶部126が格納するデータ融合後のデータ900の例を示す図である。
図9に示すように、データ融合後のデータ900は、選定された共変量901、データAにのみ含まれる変数902、及びデータBにのみ含まれる変数903を含む。
【0047】
選定された共変量901は、データAの共変量401のうち、共変量名が共変量選定部115で取得した共変量名と一致する共変量である。データAにのみ含まれる変数902は、データA200うち、データAの共変量401に含まれない変数である。データBにのみ含まれる変数903は、データB300のうち、データBの共変量402に含まれない変数であり、データ融合によって紐づけられた、選定された共変量901の各レコードに対応する値が格納されている。
【0048】
図10は、融合後データ分析部117が、出力部103に出力するデータ融合結果表示・分析画面1000の例を示す図である。
図10に示すように、データ融合結果表示・分析画面1000は、データ融合結果表示欄1010と融合後データ分析設定・結果表示欄1020を含む。
【0049】
データ融合結果表示欄1010は、データ融合後のデータ900の一部を表示する欄である。融合後データ分析設定・結果表示欄1020は、データ融合後のデータの分析結果を表示する欄であり、分析対象変数選択欄1021、分析対象変数選択欄1022、分析方法選択欄1023、及び分析結果表示欄1024を含む。分析対象変数選択欄1021では、データ融合後のデータ900のデータAにのみ含まれる変数902のうち、分析対象とする変数を選択する。分析対象変数選択欄1022では、データ融合後のデータ900のデータBにのみ含まれる変数903のうち、分析対象とする変数を選択する。分析方法選択欄1023では、データ融合後データ900の分析方法を選択する。図示する例では、選択している分析対象変数に対してクロス集計を行う“クロス集計”を選択している。他の分析方法として、選択している分析対象変数間の相関係数を算出する“相関係数”などがある。分析結果表示欄1024では、分析対象変数選択欄1021、分析対象変数選択欄1022、及び分析方法選択欄1023で設定された条件で、データ融合後のデータ900を分析した結果を表示する。図示する例では、分析対象として“変数1”と“変数11”を選んだ場合のデータ融合後のデータ900のクロス集計結果を表示している。具体的には、変数1の値が0でかつ変数11の値が0のものが2713個(レコード数)、変数1の値が0でかつ変数11の値が1のものが224個(レコード数)等と表示されている。
【0050】
次に、
図11のフローチャートを用いて、データ融合処理を説明する。
図11の処理を開始すると、まず、データ入力ステップ1101を実行する。データ入力ステップS1101では、データ融合端末101の入力部102が、データA200(
図2)及びデータB300(
図3)の入力を受ける。入力されたデータA200はデータA記憶部121に格納され、入力されたデータB300はデータB記憶部122に格納される。
【0051】
次に、共変量取得ステップS1102では、共変量取得部111が、データ入力ステップS1101で入力されたデータA200(
図2)及びデータB300(
図3)から、データAとデータBで変数名が一致、若しくは変数名や変数内容が似た変数を共変量400(
図4)として取得し、取得した共変量400の共変量名を出力部103に表示する。
図5に示したように、手動で共変量を取得することもできる。取得された共変量400は、共変量記憶部123に格納される。
【0052】
次に、初期化ステップS1103では、共変量追加部112が、一致レコード数710の逆数の最大値を格納する最大値格納変数maxの値を0に初期化する。また、選定された共変量の変数名(共変量名)を格納する共変量リストlist720を空に初期化する。
【0053】
次に、共変量追加ステップS1104では、共変量追加部112が、共変量取得ステップS1102で取得した共変量400の共変量名のうち、listに含まれる共変量名に、listに含まれない共変量名を1つ追加した、共変量名の集合600(
図6)を全通り作成する。
【0054】
次に、一致レコード数計算ステップ1105では、一致レコード数計算部113が、共変量取得ステップS1102で取得した共変量400のうち、共変量名が共変量追加ステップS1103で作成した共変量名の集合600の各要素と一致する共変量を用いて、一致レコード数710(
図7)を計算する。これを、共変量追加ステップS1103で作成した全ての集合に対して行う。共変量追加ステップS1104で作成された共変量名の集合と、それぞれに対応する一致レコード数710は一致レコード数記憶部124に格納される。一致レコード数の詳細な計算方法は、
図12、
図13、及び
図14を用いて後述する。
【0055】
次に、一致レコード数比較ステップS1106では、一致レコード数比較部114が、一致レコード数計算ステップS1105で計算された一致レコード数710の逆数の大小比較を行い、一致レコード数710の逆数が最大となる共変量名の集合、及び一致レコード数710の逆数の最大値を取得する。
【0056】
次に、最大値比較ステップS1107では、共変量選定部115が、maxと一致レコード数比較ステップS1106で取得した一致レコード数710の最大値を大小比較し、maxの方が小さい場合は共変量選定ステップS1108へ、それ以外の場合は共変量選定結果取得ステップS1109に移行する。
【0057】
共変量選定ステップS1108では、共変量選定部115が、maxに一致レコード数比較ステップS1106で取得した一致レコード数710の逆数の最大値を代入する。また、listに一致レコード数比較ステップS1106で取得した一致レコード数710の逆数が最大となる共変量名の集合を代入する。その後、共変量追加ステップS1104に移行する。
【0058】
共変量選定結果取得ステップS1109では、共変量選定部115が、共変量取得ステップS1102で取得した共変量400のうち、共変量名がlistに含まれる共変量名と一致する共変量を取得し、取得した共変量名を出力部103に表示する。listに含まれる共変量名は共変量選定結果記憶部125に格納される。
【0059】
次に、データ融合実施ステップS1110では、データ融合実施部116が、共変量選定結果取得ステップS1109で取得した共変量を用い、データAとデータBの共変量間の距離が最も小さいレコード同士をマッチングすることでデータ融合を実施し、データ融合後のデータ900(
図9)を作成する。データ融合後のデータ900はデータ融合結果記憶部126に格納される。
【0060】
最後に、融合後データ分析ステップS1111では、融合後データ分析部117が、データ融合実施ステップS1110で作成したデータ融合後のデータ900のデータAにのみ含まれる変数902、及びデータBにのみ含まれる変数903に対してクロス集計や相関係数の算出などデータ分析処理を施す。分析結果は出力部103に表示される。また、分析結果は融合後データ分析結果記憶部127に格納される。ユーザは分析結果に基づき、推測や意思決定を行う。
以上により、データ融合処理を終了する。
【0061】
次に、
図12のフローチャートを用いて、一致レコード数の算出処理を説明する。一致レコード数はデータAのレコードの値と一致するデータBのレコード数を求め、その平均を算出することを特徴とする。
【0062】
図12の処理を開始すると、まず、一致レコード数計算部113が、データ取得ステップS1201を実行する。データ取得ステップS1201では、共変量取得ステップS1102で取得した共変量400のうち、共変量名が共変量追加ステップS1103で作成した共変量名の集合600の各要素と一致する共変量K個を取得する。
【0063】
次に、初期化ステップS1202では、一致レコード数計算部113が、データAのレコードの値と一致するデータBのレコード数を格納する変数countを0に初期化する。また、データAのレコード番号を識別する変数iとデータBのレコード番号を識別する変数jをそれぞれ1に初期化する。
【0064】
次に、レコード値一致判定ステップS1203では、一致レコード数計算部113が、データAのレコードiのK個の共変量の値とデータBのレコードjのK個の共変量の値が一致しているかどうか判定する。一致している場合、変数countインクリメントステップS1204に移行し、一致していない場合、変数jインクリメントステップS1205に移行する。
【0065】
変数countインクリメントステップS1204では、一致レコード数計算部113が、変数countの値を1増やす処理を行う。
【0066】
変数jインクリメントステップS1205では、一致レコード数計算部113が、変数jの値を1増やす処理を行う。
【0067】
次に、変数j上限判定ステップS1206では、一致レコード数計算部113が、データBの全レコード数NBと変数jの大小を比較する。データBの全レコード数NBより変数jが大きい場合、変数iインクリメント及び変数j初期化ステップS1207に移行し、それ以外の場合、レコード値一致判定ステップS1203に移行する。
【0068】
変数iインクリメント及び変数j初期化ステップS1207では、一致レコード数計算部113が、変数iの値を1増やす処理と変数jを1に初期化する処理を行う。
【0069】
次に、変数i上限判定ステップS1208では、一致レコード数計算部113が、データAの全レコード数NAと変数iの大小を比較する。データAの全レコード数NAより変数iが大きい場合、一致レコード数算出ステップS1209に移行し、それ以外の場合、レコード値一致判定ステップS1203に移行する。
【0070】
一致レコード数算出ステップS1209では、一致レコード数計算部113が、変数countの値をデータAの全レコード数NAで割ることでデータAのデータBに対する平均の一致するレコード数を算出する。この値を一致レコード数と称する。
以上により、一致レコード数算出処理を終了する。
【0071】
次に、
図13と
図14を用いて、一致レコード数の算出例を説明する。
図13は共変量数K=1の場合の一致レコード数算出例1300、
図14は共変量数K=2の場合の一致レコード数算出例1400を示す。
まず、共変量数K=1の場合の一致レコード数算出例1300(
図13)を用いて、一致レコード数の算出例を説明する。
【0072】
図13に示すように、共変量数K=1の場合の一致レコード数算出例1300には、共変量を1つ含む、全レコード数が6のデータAとデータBが示されている。一致レコード数を算出するにあたり、まず、データAのレコード1の値10と一致するデータBのレコード数を算出する。図より、一致するデータBのレコードは3個と確認できる。次に、データAのレコード2の値20と一致するデータBのレコード数を計算する。図より、一致するレコードBのレコードは1個と確認できる。この処理をデータAのレコード6まで同様に行う。データAのレコード1から6まで一致するデータBのレコード数の算出が終えた後、それらの平均を計算する。すなわち、以下の式(1)を計算する。
【0073】
【0074】
この値が一致レコード数である。
【0075】
次に、共変量数K=2の場合の一致レコード数算出例1400(
図14)を用いて、一致レコード数の算出例を説明する。
図14に示すように、共変量K=2の場合の一致レコード数算出例1400には、共変量を2つ含む、全レコード数が6のデータAとデータBが示されている。一致レコード数を算出するにあたり、まず、データAのレコード1の共変量1の値10及び共変量2の値1と一致するデータBのレコード数を算出する。
図14より、一致するデータBのレコードは2個と確認できる。次に、データAのレコード2の共変量1の値20及び共変量2の値0と一致するデータBのレコード数を計算する。
図14より、一致するレコードBのレコードは1個と確認できる。この処理をデータAのレコード6まで同様に行う。データAのレコード1から6まで一致するデータBのレコード数の算出が終えた後、それらの平均を計算する。すなわち、式(1)を計算する。この値が一致レコード数である。
なお、データAのレコードの値と一致するデータBのレコード数の中央値や最頻値などの代表値を一致レコード数としてもよい。
【0076】
また、連続値を含んだ共変量を用いて一致レコード数を計算する場合、レコードの一致判定閾値εを設定し、距離がε未満のレコード同士を一致と判定してもよい。
【0077】
また、本実施例では、データ融合手法として共変量間の距離が最も小さいレコード同士を紐づけるマッチング手法を用いたが、融合するデータの値を回帰モデルによって推定する回帰手法など他のデータ融合手法を用いてもよい。
【0078】
以上に説明したように、実施例のデータ融合システムでは、連結に利用する共変量の選定アルゴリズムにより最適化された共変量を用いてデータを融合することができる。このため、従来の全共変量を利用するデータ融合手法に比べ高精度かつ低計算コストなデータ融合が可能になる。
【0079】
本実施例に係るのデータ融合システムであって、一致レコード数計算部113は、共変量取得部111で取得した共変量のうち、共変量名が共変量追加部112で作成した共変量名の集合の各要素と一致する共変量を用いて、「一致レコード数」を計算する(
図12、
図13、
図14)。このため、「一致レコード数」により、共変量の組合せ毎に似た特徴を持つ人の識別程度を測定でき、データ融合に利用する最適な共変量を選定できる。
【0080】
また、一致レコード数比較部114は、レコード数計算部113で算出された一致レコード数の比較を行い、一致レコード数の逆数が最大となる共変量名の集合、及び一致レコード数の逆数の最大値を取得する。そして、共変量選定部115は、一致レコード数比較部114で取得した一致レコード数の逆数の最大値を前回値と比較することで、一致レコード数の逆数が最大となる共変量を選定する。これにより、データ融合に利用する最適な共変量の組合せを選定できる。
【0081】
なお、本発明は前述した実施例に限定されるものではなく、添付した特許請求の範囲の趣旨内における様々な変形例及び同等の構成が含まれる。例えば、前述した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに本発明は限定されない。また、ある実施例の構成の一部を他の実施例の構成に置き換えてもよい。また、ある実施例の構成に他の実施例の構成を加えてもよい。
また、前述した各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等により、ハードウェアで実現してもよく、プロセッサがそれぞれの機能を実現するプログラムを解釈し実行することにより、ソフトウェアで実現してもよい。
【0082】
各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリ、ハードディスク、SSD(Solid State Drive)等の記憶装置、又は、ICカード、SDカード、DVD等の記録媒体に格納することができる。
【0083】
また、制御線や情報線は説明上必要と考えられるものを示しており、実装上必要な全ての制御線や情報線を示しているとは限らない。実際には、ほとんど全ての構成が相互に接続されていると考えてよい。