(57)【要約】  処理装置と、前記処理装置に接続される記憶装置と、を有するデータ分析支援システムであって、前記記憶装置は、主キーの値と目的指標の値とを対応付ける目的指標情報と、前記主キーと共通する値と複数の項目の説明指標の値の組とを対応付ける説明指標情報と、を保持し、前記処理装置は、前記説明指標の一つ以上の項目を選択し、前記選択された一つ以上の項目の説明指標の値をクラスタリングし、クラスタリングによって得られた各クラスタの各項目の説明指標の値の範囲を特定し、特定された値の範囲を出力する。
2016170600.tif 000002
【特許請求の範囲】
【請求項１】
処理装置と、前記処理装置に接続される記憶装置と、を有するデータ分析支援システムであって、
前記記憶装置は、
主キーの値と目的指標の値とを対応付ける目的指標情報と、
前記主キーと共通する値と複数の項目の説明指標の値の組とを対応付ける説明指標情報と、を保持し、
前記処理装置は、
前記説明指標の一つ以上の項目を選択し、
前記選択された一つ以上の項目の説明指標の値をクラスタリングし、
クラスタリングによって得られた各クラスタの各項目の説明指標の値の範囲を特定し、特定された値の範囲を出力することを特徴とするデータ分析支援システム。
【請求項２】
請求項１に記載のデータ分析支援システムであって、
前記処理装置は、前記説明指標の各組について、前記選択された一つ以上の項目の説明指標の値が前記特定された説明指標の値の範囲内であるという条件を満たすか否かを判定し、前記主キーの値ごとに、前記条件を満たす前記説明指標の組の数を集計し、集計された前記説明指標の組の数を特徴量として出力することを特徴とするデータ分析支援システム。
【請求項３】
請求項２に記載のデータ分析支援システムであって、
前記処理装置は、前記各主キーの値に対応する前記特徴量と、前記各主キーの値に対応する前記目的指標の値との相関に基づいて、前記目的指標を説明するモデルを生成することを特徴とするデータ分析支援システム。
【請求項４】
請求項２に記載のデータ分析支援システムであって、
前記記憶装置は、前記説明指標情報に含まれる説明指標の各項目のデータ型を示す情報を保持し、
前記処理装置は、文字列型の項目及び文字列型以外のデータ型の項目を含む、前記説明指標の複数の項目が選択された場合、前記文字列型以外のデータ型の項目の説明指標の値をクラスタリングすることを特徴とするデータ分析支援システム。
【請求項５】
請求項１に記載のデータ分析支援システムであって、
前記処理装置は、前記選択された一つ以上の項目の説明指標の値と、前記選択された一つ以上の項目の説明指標の値に対応する前記主キーの値に対応する前記目的指標の値と、を含む値の組をクラスタリングすることを特徴とするデータ分析支援システム。
【請求項６】
請求項１に記載のデータ分析支援システムであって、
前記処理装置は、
所定の大きさの複数のグリッドに分割された空間に、前記選択された一つ以上の項目の説明指標の値の各組をプロットし、プロットされた前記値の組の密度が所定の閾値を超える複数のグリッドが隣接する場合、それらを一つのクラスタに含めるように、前記選択された一つ以上の項目の説明指標の値をクラスタリングし、
前記空間における前記各クラスタに含まれる複数のグリッドの範囲を前記各クラスタの各項目の説明指標の値の範囲として特定することを特徴とするデータ分析支援システム。
【請求項７】
請求項６に記載のデータ分析支援システムであって、
前記処理装置は、前記各クラスタを、前記プロットされた値の組の密度が前記所定の閾値を超えないグリッドを含まない長方形、直方体又は超直方体の複数のクラスタに分割することを特徴とするデータ分析支援システム。
【請求項８】
処理装置と、前記処理装置に接続される記憶装置と、を有する計算機システムが実行するデータ分析支援方法であって、
前記記憶装置は、
主キーの値と目的指標の値とを対応付ける目的指標情報と、
前記主キーと共通する値と複数の項目の説明指標の値の組とを対応付ける説明指標情報と、を保持し、
前記データ分析支援方法は、
前記処理装置が、前記説明指標の一つ以上の項目を選択する第１手順と、
前記処理装置が、前記選択された一つ以上の項目の説明指標の値をクラスタリングする第２手順と、
前記処理装置が、クラスタリングによって得られた各クラスタの各項目の説明指標の値の範囲を特定し、特定された値の範囲を出力する第３手順と、を含むことを特徴とするデータ分析支援方法。
【請求項９】
請求項８に記載のデータ分析支援方法であって、
前記処理装置が、前記説明指標の各組について、前記選択された一つ以上の項目の説明指標の値が前記特定された説明指標の値の範囲内であるという条件を満たすか否かを判定し、前記主キーの値ごとに、前記条件を満たす前記説明指標の組の数を集計し、集計された前記説明指標の組の数を特徴量として出力する第４手順をさらに含むことを特徴とするデータ分析支援方法。
【請求項１０】
請求項９に記載のデータ分析支援方法であって、
前記処理装置が、前記各主キーの値に対応する前記特徴量と、前記各主キーの値に対応する前記目的指標の値との相関に基づいて、前記目的指標を説明するモデルを生成する第５手順をさらに含むことを特徴とするデータ分析支援方法。
【請求項１１】
請求項９に記載のデータ分析支援方法であって、
前記記憶装置は、前記説明指標情報に含まれる説明指標の各項目のデータ型を示す情報を保持し、
前記第２手順において、前記処理装置は、文字列型の項目及び文字列型以外のデータ型の項目を含む、前記説明指標の複数の項目が選択された場合、前記文字列型以外のデータ型の項目の説明指標の値をクラスタリングすることを特徴とするデータ分析支援方法。
【請求項１２】
請求項８に記載のデータ分析支援方法であって、
前記第２手順において、前記処理装置は、前記選択された一つ以上の項目の説明指標の値と、前記選択された一つ以上の項目の説明指標の値に対応する前記主キーの値に対応する前記目的指標の値と、を含む値の組をクラスタリングすることを特徴とするデータ分析支援方法。
【請求項１３】
請求項８に記載のデータ分析支援方法であって、
前記第２手順において、前記処理装置は、所定の大きさの複数のグリッドに分割された空間に、前記選択された一つ以上の項目の説明指標の値の各組をプロットし、プロットされた前記値の組の密度が所定の閾値を超える複数のグリッドが隣接する場合、それらを一つのクラスタに含めるように、前記選択された一つ以上の項目の説明指標の値をクラスタリングし、
前記第３手順において、前記処理装置は、前記空間における前記各クラスタに含まれる複数のグリッドの範囲を前記各クラスタの各項目の説明指標の値の範囲として特定することを特徴とするデータ分析支援方法。
【請求項１４】
請求項１３に記載のデータ分析支援方法であって、
前記第２手順において、前記処理装置は、前記各クラスタを、前記プロットされた値の組の密度が前記所定の閾値を超えないグリッドを含まない長方形、直方体又は超直方体の複数のクラスタに分割することを特徴とするデータ分析支援方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データの分析を支援する技術に関する。
【背景技術】
【０００２】
データの分析を支援する技術として、特開２０００−２３７１４６号公報（特許文献１）に記載の技術がある。この公報には、複数の指標について求められた複数の相関係数に基づいて複数の被験者を群分けすることが記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０００−２３７１４６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
近年、企業で蓄積されてきた業績に関するビッグデータを活用し、業績向上に繋がる要因を分析するシステムの開発が盛んに行われている。分析者は、様々な情報を含む大量のデータに対して、どのような条件が業績向上の要因となり得るか調べる。このとき分析者は、業績と関係する可能性のある項目を組み合わせて特徴量を生成し、立てた仮説を元にモデルに当てはめて検証を繰り返すことが一般的である。しかし分析するデータのサイズが大きくなるにつれ、このようなデータの加工及び関係性の発見を分析者が人手で行うことは困難になってきた。そこで、大規模なデータに対して分析を支援するシステムの開発が求められている。【０００５】
具体的には、従来分析者が人手で行ってきた、分析対象の要因候補となる特徴量の生成を自動化することで分析を支援するシステムの開発が求められている。このような技術を実現するために特許文献１では、複数の被験者を対象として入力された複数の指標（入力テーブル中の各カラム）について求められた相関係数を使って被験者を複数の群に類別する。しかし特許文献１では、入力されたカラムは固定であり、カラム自体を特徴量として使用しているため、目的指標と相関の高い特徴量を生成することはできない。
【課題を解決するための手段】
【０００６】
上記の課題を解決するために、本発明の一態様は、処理装置と、前記処理装置に接続される記憶装置と、を有するデータ分析支援システムであって、前記記憶装置は、主キーの値と目的指標の値とを対応付ける目的指標情報と、前記主キーと共通する値と複数の項目の説明指標の値の組とを対応付ける説明指標情報と、を保持し、前記処理装置は、前記説明指標の一つ以上の項目を選択し、前記選択された一つ以上の項目の説明指標の値をクラスタリングし、クラスタリングによって得られた各クラスタの各項目の説明指標の値の範囲を特定し、特定された値の範囲を出力することを特徴とする。
【発明の効果】
【０００７】
本発明の一形態によれば、入力した分析対象テーブルから人間に解釈容易な特徴量の候補を自動生成できる。生成された特徴量は、様々な分析を容易に行うために用いることができる。上記以外の課題、構成及び効果は、以下の実施形態の説明によって明らかにされる。
【図面の簡単な説明】
【０００８】
【図１】本発明の実施例１のデータ分析支援システムのハードウェア構成を示すブロック図である。
【図２】本発明の実施例１の特徴量生成部に入力される入力テーブルの具体例を示す説明図である。
【図３】本発明の実施例１の説明指標テーブル及び目的指標テーブルの各カラムに関する情報を格納したカラム情報テーブルの具体例の説明図である。
【図４】本発明の実施例１の各テーブルのカラムの型名に関する分類の一例を示す説明図である。
【図５】本発明の実施例１の特徴量生成部の詳細なフロー図である。
【図６】本発明の実施例１の尺度判定部の詳細なフロー図である。
【図７】本発明の実施例１の粒度調整処理部の詳細なフロー図である。
【図８】本発明の実施例１の粒度調整処理部の処理の具体例の説明図である。
【図９】本発明の実施例１のクラスタリング処理部の詳細なフロー図である。
【図１０】Grid-based Clusteringによるクラスタリング例を示す説明図である。
【図１１】本発明の実施例１のクラスタ再分割処理部の詳細なフロー図である。
【図１２】本発明の実施例１のクラスタ再分割処理部におけるクラスタ再分割処理の具体例の説明図である。
【図１３】本発明の実施例１のクラスタの範囲抽出処理部の詳細なフロー図である。
【図１４】本発明の実施例１の特徴量集計部の詳細なフロー図である。
【図１５】本発明の実施例１のサンプル集計処理部の詳細なフロー図である。
【図１６】本発明の実施例２の特徴量生成部の詳細なフロー図である。
【図１７】本発明の実施例２のモデル生成部の詳細なフロー図である。
【発明を実施するための形態】
【実施例１】
【０００９】
以下、本発明の一実施形態を、図面を参照して説明する。【００１０】
図１は、本発明の実施例１のデータ分析支援システムのハードウェア構成を示すブロック図である。【００１１】
本実施例のデータ分析支援システムは、中央処理装置００１、二次記憶装置００２、主記憶装置００３、入力装置００４及び出力装置００５を有し、中央処理装置００１、二次記憶装置００２、主記憶装置００３、入力装置００４及び出力装置００５がバス００６で接続された計算機である。【００１２】
中央処理装置００１は、二次記憶装置００２及び主記憶装置００３に格納されたプログラムを実行するプロセッサである。【００１３】
二次記憶装置００２は、例えば磁気記憶装置又はフラッシュメモリ等の大容量かつ不揮発性の記憶装置であり、プログラム実行時に中央処理装置００１によって計算される特徴量生成部００７を格納する。なお、特徴量生成部００７は、中央処理装置００１によって計算されるときに、必要に応じてその一部又は全部が主記憶装置００３にコピーされてもよい。【００１４】
主記憶装置００３は、例えばＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）のような高速かつ揮発性の記憶装置であり、オペレーティングシステム（ＯＳ）及びアプリケーションプログラムを格納する。中央処理装置００１がオペレーティングシステムを実行することによって、計算機の基本機能が実現され、アプリケーションプログラムを実行することによって、計算機が提供する機能が実現される。具体的には主記憶装置００３は、入力テーブル００８及び出力テーブル００９を格納する。【００１５】
入力装置００４は、キーボード及びマウスなどのユーザインターフェースである。出力装置００５は、ディスプレイ装置及びプリンタなどのユーザインターフェースである。【００１６】
なお、本システムは、ネットワークに接続し、他の装置との通信を制御する通信インターフェース（図示省略）を有してもよい。この場合、本システムが通信インターフェースを介して端末（図示省略）と接続されており、該端末が入力装置００４及び出力装置００５を有し、該端末からの要求に従って中央処理装置００１がテーブルを処理し、通信インターフェースを介して処理結果を該端末に出力する。【００１７】
本システムは物理的に一つの計算機上に構築されても、物理的には一つ又は複数の計算機上に構成された論理区画上に構築されてもよい。【００１８】
次に、特徴量生成部００７に入力される入力テーブル００８ついて詳細を説明する。【００１９】
このシステムによって生成された特徴量を用いることで、分析者は大規模なデータに対して様々な分析を行うことができる。【００２０】
図２は、本発明の実施例１の特徴量生成部００７に入力される入力テーブル００８の具体例を示す説明図である。【００２１】
図２には、具体例として、小売店における売上と、収集された顧客データとを含む入力テーブル００８を挙げている。【００２２】
本システムでは、収集された顧客データを含む説明指標テーブル１０１（図２（ａ））、分析目的である売上を含む目的指標テーブル２０１（図２（ｂ））、これらの二つのテーブルのカラム情報に関するカラム情報テーブル３０１（図３（ａ））及びカラム情報テーブル４０１（図３（ｂ））が入力される。【００２３】
説明指標テーブル１０１は、店舗名１０２、顧客ＩＤ１０３、年齢１０４、入店時刻１０５、及び購入商品１０６といった説明指標のカラムを含むテーブルである。店舗名１０２は、データを集計した単位である店舗を識別する。顧客ＩＤ１０３は、店舗で商品を購入した顧客を識別する。年齢１０４は、顧客の年齢を示す。入店時刻１０５及び購入商品１０６は、それぞれ顧客が店舗に入店した時刻及びその店舗で購入した商品を示す。【００２４】
目的指標テーブル２０１は、データを集計した単位である店舗を識別する店舗名２０２カラムと、分析目的であるそれぞれの店舗の売上高を示す売上２０３カラムと、を含むテーブルである。【００２５】
図３は、本発明の実施例１の説明指標テーブル１０１及び目的指標テーブル２０１の各カラムに関する情報を格納したカラム情報テーブルの具体例の説明図である。【００２６】
説明指標テーブルのカラム情報３０１は、説明指標テーブル１０１の各カラムを識別するカラム名３０２及び各カラム中のデータの型を示す型名３０３を含む。この例において、店舗名１０２、顧客ＩＤ１０３及び購入商品１０６には文字列型のデータが含まれ、年齢１０４及び入店時刻１０５にはそれぞれ数値型及び時刻型のデータが含まれる。【００２７】
目的指標テーブルのカラム情報４０１は、目的指標テーブル２０１の各カラムを識別するカラム名４０２、各カラム中のデータの型を示す型名４０３、各カラムが、集計した単位である主キーであるかどうかを示す主キーカラム情報４０４、及び、各カラムが目的指標カラムであるかどうかを示す目的指標カラム情報４０５を含む。図３の例は、目的指標テーブル２０１の店舗名２０２が主キーであり、売上２０３が目的指標であることを示す。また、この例において、店舗名２０２には店舗名１０２と同様に文字列型のデータが含まれ、売上２０３には数値型のデータが含まれる。【００２８】
なお、目的指標（目的変数）とは、予測をしたい指標であり、説明指標（説明変数）とは、目的指標を説明する（すなわちそれに基づいて目的指標を予測しようとする）指標である。本実施例では、年齢、入店時刻、購入商品等に基づいて、店舗ごとの売上高を予測しようとするため、年齢、入店時刻、購入商品等が説明指標、売上高が目的指標となる。図２に示すように、説明指標テーブル１０１では、目的指標テーブル２０１の主キーと共通する店舗名と、年齢、入店時刻、購入商品といった複数の項目の説明指標の値の組とが対応付けられる。【００２９】
図４は、本発明の実施例１の各テーブルのカラムの型名に関する分類の一例を示す説明図である。【００３０】
本システムでは、データの型を、大きく時刻型、数値型、文字列型に分類する。ＳＱＬ（Ｓｔｒｕｃｔｕｒｅｄ  Ｑｕｅｒｙ  Ｌａｎｇｕａｇｅ）などの一般的なリレーショナルデータベースにおける型を一例に、型の対応をテーブル５０１に示す。【００３１】
図５は、本発明の実施例１の特徴量生成部００７の詳細なフロー図である。【００３２】
この処理では、入力されたテーブルから、特徴量が生成される。ここで、特徴量とは、一つ以上の説明指標カラムと、分析目的である目的指標カラムとの関係性を示す値である。図５に示すカラム選択部６０１以下の各ステップの処理は、中央処理装置００１が、主記憶装置００３に格納されたアプリケーションプログラムである特徴量生成部００７に記述された命令に従って実行する。【００３３】
本システムでは、初めにユーザーから説明指標テーブル１０１、目的指標テーブル２０１、カラム情報テーブル３０１及びカラム情報テーブル４０１が入力される。中央処理装置００１は、カラム選択部６０１において、説明指標テーブル１０１から特徴量を生成するカラムを一つ、又は複数選択する。次に、中央処理装置００１は、尺度判定部６０２において、選択されたカラム中のデータの型を判定し、変換が必要なカラムに対してはデータの型を変換する。この処理の詳細については図６を参照して後述する。【００３４】
次に、中央処理装置００１は、粒度調整処理部６０３において、目的指標テーブル２０１中の目的指標カラム（図２の例では売上２０３）の集計単位を、説明指標テーブル１０１の集計単位に合わせる。この処理の詳細については図７及び図８を参照して後述する。次に、中央処理装置００１は、クラスタリング処理部６０４において、目的指標カラムと説明指標カラムを合わせたデータをクラスタリングによって分類する。カラム選択部６０１において文字列型のカラムとそれ以外のデータ型のカラム（例えば数値型のカラム又は時刻型から数値型に変換されたカラム）とを含む複数のカラムが選択された場合には、それらのうち文字列型以外のデータ型のカラムがクラスタリングの対象となる。この処理の詳細については図９及び図１０を参照して後述する。【００３５】
次に、中央処理装置００１は、クラスタ再分割処理部６０５において、生成された各クラスタを、その幾何的な構造に基づいて再分割する。この処理の詳細については図１１及び図１２を参照して後述する。次に、中央処理装置００１は、クラスタの範囲抽出処理部６０６において、再分割された各クラスタにおける各カラムの（すなわち各説明指標の）値の範囲を抽出することで特徴量算出条件カラムを生成する。この処理の詳細については図１３を参照して後述する。【００３６】
次に、中央処理装置００１は、特徴量集計部６０７において、生成された各特徴量の算出条件を満たすサンプル数を説明指標テーブル１０１から集計し、集計された値を特徴量として特徴量情報テーブル６０９に記録する。この処理の詳細については図１４を参照して後述する。次に、中央処理装置００１は、判定部６０８において、説明指標テーブル１０１中の全てのカラムの全組み合わせが探索されたかどうかを判定し、まだ探索されていない組合せがある場合にはその組合せについてカラム選択部６０１以降の処理を実行する。最終的に特徴量生成部００７からは、生成した特徴量情報テーブル６０９が出力される。【００３７】
図６は、本発明の実施例１の尺度判定部６０２の詳細なフロー図である。【００３８】
この処理では、選択されたカラムごとに型が判定され、変換が必要な型に対しては変換してカラム情報が更新される。【００３９】
選択カラム７０１及びカラム情報３０１が入力されると、中央処理装置００１は、カラムの尺度判定部７０２においてカラム情報３０１からカラムの型名を抽出し、時刻型とそれ以外の型に分類する。時刻型のデータは、数値変換部７０３へ入力され、中央処理装置００１は時刻型のデータを数値型に変換する。中央処理装置００１は、変換後の各カラムのデータ型の情報を含む変換後カラム情報７０４を出力する。【００４０】
例えば図３に示すカラム情報テーブル３０１が入力された場合、カラム名３０２の値「入店時刻」に対応する型名が「時刻型」から「数値型」に変換され、変換後のテーブルが変換後カラム情報７０４として出力される。これによって、入店時刻をクラスタリングの対象として（すなわち、クラスタリングを行う空間中の一つの座標軸に対応する値として）扱うことが可能になる。このように、尺度判定部６０２は、時刻型のデータをクラスタリングの対象とするために実行される処理であり、時刻型のデータをクラスタリング可能とする上記以外の方法がある場合にはそれを採用してもよいし、時刻型のデータをそのままクラスタリングできる場合には尺度判定部６０２を省略してもよい。【００４１】
図７は、本発明の実施例１の粒度調整処理部６０３の詳細なフロー図である。【００４２】
この処理では、目的指標と説明指標の集計単位を説明指標の集計単位に合わせた目的指標テーブルが生成される。【００４３】
目的指標テーブル２０１、カラム情報３０１及びカラム情報４０１が入力されると、中央処理装置００１は、共通主キー抽出処理部８０１において、カラム情報４０１から集計単位情報を示す主キーカラム情報４０４を抽出する。中央処理装置００１は、主キー情報を元に、説明指標テーブル１０１から共通のカラムを抽出する。次に、中央処理装置００１は、粒度拡張処理部８０２において、抽出したカラムの各要素と、目的指標テーブルにおける主キーカラムの各要素とを対応させたテーブルを新しく生成する。説明指標テーブル１０１のカラム中に存在する要素に対応する要素が、目的指標テーブルにおける主キーカラムには存在しない場合、中央処理装置００１は、生成したテーブルの当該要素をｎｕｌｌとする。これによって、説明指標テーブル１０１の集計単位に拡張された目的指標テーブルである粒度調整済みカラム情報８０３が得られる。【００４４】
図８は、本発明の実施例１の粒度調整処理部６０３の処理の具体例の説明図である。【００４５】
図８の具体例では、目的指標テーブル２０１における店舗名カラム２０２が主キーカラムとして認識され、説明指標テーブル１０１における店舗名カラム１０２が共通キーとして抽出される。中央処理装置００１は、店舗名カラム１０２の各要素を基準として、目的指標テーブル２０１における対応する要素を拡張する。図８に粒度拡張処理部８０２による目的指標テーブル拡張の様子を示す。粒度調整処理部６０３によって、粒度調整済みカラム情報１００１が得られる。このようにして拡張された目的指標テーブルは、クラスタリング処理部６０４において、目的指標の値を含むクラスタリングを行う場合に参照される。【００４６】
なお、上記の粒度調整処理部６０３の処理は、説明指標テーブル１０１に格納された年齢、入店時刻といった説明指標の値の各組と、目的指標テーブル２０１に格納された売上高の値とを、店舗名を介して対応付けるための処理の一例であり、中央処理装置００１はそのような対応付けを別の方法で実現してもよい。【００４７】
図９は、本発明の実施例１のクラスタリング処理部６０４の詳細なフロー図である。【００４８】
この処理では、入力されたカラムを各軸とした空間上において、データサンプルがクラスタリングされる。【００４９】
尺度判定部６０２によって得られた変換後カラム情報７０４と、粒度調整処理部６０３によって得られた粒度調整済みカラム情報８０３が入力されると、中央処理装置００１は、Ｎｕｌｌデータ削除処理部１１０１において、ｎｕｌｌデータを一つでも含むレコードを削除する。次に、中央処理装置００１は、クラスタリング処理部１１０２において、粒度調整済みカラム情報８０３と変換後カラム情報７０４とを合わせたカラムの集合に対して、各カラムを軸とした空間上に、説明指標テーブル１０１の全レコードをプロットし、クラスタリング手法によってデータを分類する。カラム選択部６０１においてｎ個のカラムが選択された場合には、ｎ次元の空間上に各レコードの選択されたｎ個のカラムの数値がプロットされる。クラスタリング処理部１１０２では例えばk-means、DBSCAN、Grid-based Clusteringなどいかなるクラスタリング手法を用いてもよいが、一例として図１０にGrid-based Clusteringによる分類を示す。クラスタリング処理部１１０２によって、粒度調整済みカラム情報８０３と変換後カラム情報７０４のカラムを用いたクラスタリング結果であるクラスタリング結果情報１１０３が得られる。【００５０】
図１０は、Grid-based Clusteringによるクラスタリング例を示す説明図である。【００５１】
図１０は、あるテーブルの二つのカラム、すなわち年齢及び給料についてクラスタリングする場合を表す。Grid-based Clusteringでは、初めにクラスタリングする対象の空間に対して、格子数が決められ、空間が分割される。図１０の例では、横軸に年齢、縦軸に給料が割り当てられ、それぞれを所定の間隔で分割することによって複数の格子が生成される。そして、分割された各格子に対して、データサンプルの密度が計算され、密度がある閾値以上であった格子を重要度が高い格子と判定され、それがクラスタの種として扱われる。すなわち、一つの格子が最小のクラスタ（例えば格子ｕ）になり得る。さらに、複数のクラスタの種が互いに隣接する場合、それらが一つのクラスタにまとめられる。このようにしてデータサンプルが密な領域を基準にデータをクラスタリングすることができる。図１０の例では、それぞれ網掛け及び太線の枠で表示された領域Ａ及びＢを合わせた領域が一つのクラスタとしてクラスタリングされている。このようなクラスタリングは、例えば、Rakesh Agrawal, Johannes Gehrke, Dimitrios Gunopulos, Prabhakar Raghavan, “Automatic Subspace Clustering of High Dimensional Data for Data Mining Applications” に記載されている。図１０は、上記文献のＰ３、Ｆｉｇ．１から引用したものである。【００５２】
例えば、カラム選択部６０１で年齢１０４及び入店時刻１０５が選択された場合、中央処理装置００１は、クラスタリング処理部６０４において、各レコードの年齢１０４と入店時刻１０５の値の組を、例えばＸ軸に入店時刻、Ｙ軸に年齢を割り当てた２次元の空間にプロットすることによって、クラスタリングを行ってもよい。あるいは、中央処理装置００１は、年齢１０４及び入店時刻１０５の値に、粒度調整処理部６０３で対応付けられた目的指標（すなわち売上）の値を加えた値の組を、Ｘ軸に入店時刻、Ｙ軸に年齢、Ｚ軸に売上を割り当てた３次元の空間にプロットすることによって、クラスタリングを行ってもよい。目的指標の値を加えた値の組をクラスタリングすることによって、目的指標の値との相関が高い説明指標の値の範囲の特定が容易になることが期待できる。【００５３】
図１１は、本発明の実施例１のクラスタ再分割処理部６０５の詳細なフロー図である。【００５４】
この処理では、クラスタリング処理部６０４において得られたクラスタを、その幾何的な構造を元に分割することで、新たなクラスタが生成される。【００５５】
クラスタリング結果情報９０３が入力されると、中央処理装置００１は、幾何構造抽出処理部１２０１において、各クラスタに対して、クラスタリングされた空間上における幾何構造を抽出する。抽出される幾何構造としては、直線構造、球構造、又は超直方体構造などが考えられる。次に、中央処理装置００１は、クラスタ再分割処理部１２０２において、抽出した構造を元に各クラスタを再分割したクラスタを生成する。クラスタ再分割処理部１２０２からは、分割後クラスタリング結果情報１２０３が出力される。【００５６】
図１２は、本発明の実施例１のクラスタ再分割処理部１２０２におけるクラスタ再分割処理の具体例の説明図である。【００５７】
図１２には、クラスタリング処理部６０４において、説明指標テーブル１０１における入店時刻カラム及び年齢カラムが選択されており、図１０で説明したGrid-based Clusteringを用いてクラスタリングした場合の分割の例を示している。【００５８】
図１２（ａ）は、分割される前のクラスタの例を示す。この例では、１個の格子に２個以上のデータサンプルが含まれる場合、その格子がクラスタの種と判定され、隣接するクラスタの種をまとめることによって、６個の格子からなる領域Ｃが一つのクラスタとしてクラスタリングされている。【００５９】
図１２（ｂ）は、図１２（ａ）のクラスタの分割の例を示す。中央処理装置００１は、対象空間中において、クラスタリング処理部６０４で得られたクラスタである領域Ｃの中に、幾何的に長方形構造を持つ（それぞれ太線で表示された）領域Ｄ、Ｅ及びＦを抽出し、抽出した長方形構造ごとにクラスタを分離する。最終的にクラスタ再分割処理部６０５からは、幾何的に長方形の形状をしたクラスタのみで構成されたクラスタ群（上記の例では領域Ｄ、Ｅ及びＦ）が出力される。【００６０】
この例ではカラム選択部６０１でクラスタリング対象カラムとして入店時刻と年齢の２個が選択されているため、図１２に示すように２次元の空間中で長方形のクラスタが抽出されるが、３個のカラムが選択された場合には、３次元の空間中で直方体のクラスタが抽出される。同様に、４以上のｎ個のカラムが選択された場合には、ｎ次元の空間中で超直方体形状のクラスタが抽出される。【００６１】
図１３は、本発明の実施例１のクラスタの範囲抽出処理部６０６の詳細なフロー図である。【００６２】
この処理では、各クラスタの各カラムにおける範囲が抽出され、それに基づいて特徴量が生成される。【００６３】
分割後クラスタリング結果情報１２０３が入力されると、中央処理装置００１は、クラスタ選択部１３０１において、各クラスタを順に選択する。選択されたクラスタに対して、カラム選択部１３０２では、中央処理装置００１が各カラムを順に選択する。選択されたカラムについて、最小値・最大値導出部１３０３では、中央処理装置００１がカラムの範囲として最小値及び最大値を求め、それらをクラスタリング結果情報に格納する。次に、中央処理装置００１は、判定部１３０４において、対象の全カラムの範囲を求めたかを判定し、さらに判定部１３０５において全クラスタに対して対象の全カラムの範囲を求めたかを判定する。全クラスタに対して対象の全カラムの範囲が求められた場合、最終的にクラスタの範囲抽出処理部６０６から、範囲情報を追加したクラスタリング結果情報１３０６が出力される。【００６４】
図１４は、本発明の実施例１の特徴量集計部６０７の詳細なフロー図である。【００６５】
この処理では、クラスタリング結果から新しい特徴量が生成され、集計した情報を格納した特徴量情報が出力される。【００６６】
範囲情報を追加したクラスタリング結果情報１３０６が入力されると、中央処理装置００１は、クラスタ選択部１４０１において、各クラスタを順に選択し、選択されたクラスタ情報１４０２を出力する。次に、中央処理装置００１は、選択されたクラスタ情報１４０２を入力として、サンプル集計処理部１４０３を実行し、対象クラスタから生成される特徴量について集計した結果である集計結果を追加したクラスタ情報１４０４を出力する。サンプル集計処理部１４０３の詳細については図１５を参照して後述する。次に、中央処理装置００１は、判定部１４０５において、全てのクラスタから特徴量情報を生成したかを判定する。全てのクラスタから特徴量情報を生成したと判定された場合、最終的に特徴量集計部６０７からは、クラスタリング結果から生成された特徴量及び集計結果が格納された特徴量情報テーブル６０９が出力される。【００６７】
出力される特徴量情報テーブル６０９は、主キーの値ごとに、クラスタリングによって得られた特徴量の算出条件に基づいて算出された特徴量を含む。例えば、クラスタリングによって得られたあるクラスタに対応する算出条件として、年齢の範囲「１５〜３５歳」及び入店時刻の範囲「１２：００〜１６：００」が得られた場合、中央処理装置００１は、説明指標テーブル１０１の各サンプル（すなわち各レコード）について、年齢１０４及び入店時刻１０５の値が上記の条件を満たすか否か（すなわち上記の範囲内であるか否か）を判定する。そして、中央処理装置００１は、主キー（すなわち店舗名２０２）の値ごとに、上記の条件を満たすサンプル数を集計し、その結果を特徴量として特徴量情報テーブル６０９に格納する。【００６８】
図１５は、本発明の実施例１のサンプル集計処理部１４０３の詳細なフロー図である。【００６９】
この処理では、各クラスタから生成された特徴量が集計される。【００７０】
選択されたクラスタ情報１４０２と説明指標テーブル１０１が入力されると、中央処理装置００１は、初期化処理部１５０１において変数Ｚを０に初期化する。次に、中央処理装置００１は、サンプル選択部１５０２において、説明指標テーブル１０１から各サンプルを順に選択する。次に、中央処理装置００１は、対象カラム選択部１５０３において、選択されたサンプルにおける各カラムを順に選択する。【００７１】
選択されたカラムが数値型、又は時刻型である場合、中央処理装置００１は、判定部１５０４において、対象カラムの値が、選択されたクラスタ情報１４０２に対応するカラムの範囲を満たすかどうかを判定する。選択されたカラムが文字列型である場合、中央処理装置００１は、判定部１５０５において、対象カラムの値が、選択されたクラスタ情報１４０２に対応するカラムと一致するかどうかを判定する。判定部１５０４又は１５０５の判定結果がＮｏである場合、処理はサンプル選択部１５０２に戻り、次のサンプルが選択される。【００７２】
判定部１５０４又は１５０５の判定結果がＹｅｓである場合、中央処理装置００１は、判定部１５０６において、全対象カラムに対して計算が終了したかを判定する。判定部１５０６の判定結果がＮｏである場合、処理は対象カラム選択部１５０３に戻り、次のカラムが選択される。判定部１５０６の判定結果がＹｅｓである場合、中央処理装置００１は、集計部１５０７において集計変数Ｚの値を加算する。次に、中央処理装置００１は、判定部１５０８において、全サンプルの集計が終了したかを判定し、その判定結果がＮｏである場合、処理はサンプル選択部１５０２に戻り、残りのサンプルに対して処理が続行される。判定部１５０８の判定結果がＹｅｓである場合、中央処理装置００１は、全クラスタに対して集計した結果である集計結果を追加したクラスタ情報１４０４を出力する。【００７３】
ここで、具体例を示しながら、本実施例の効果を説明する。例えば、図１２（ａ）に示す領域Ｃがクラスタとして抽出された場合、クラスタの範囲抽出処理部６０６によって、クラスタに含まれる複数のグリッドの最小値から最大値までの範囲、すなわち入店時刻１０：００〜１６：００かつ年齢５歳〜３５歳という説明指標の値の範囲が特徴量の算出条件として抽出される。この範囲に基づいて主キー（本実施例では店舗）ごとに算出された特徴量と目的指標の値（本実施例では売上高）との相関が十分に高い場合、この範囲は、目的指標の値の大きさと相関の高い頻度で出現する説明指標の値の範囲である（すなわち、この範囲の説明指標の値の出現頻度又は出現回数が、目的指標の値をよく説明する要因である）と言える。これによって、単なるGrid-based Clusteringでは抽出できなかった、目的指標の値を説明する要因の境界を、例えば上記の入店時刻１０：００〜１６：００かつ年齢５歳〜３５歳のように人間に解釈容易な範囲として抽出できる。なお、特徴量と目的指標との相関に基づく目的指標の予測については、実施例２に具体的に記載する。【００７４】
ただし、上記の範囲には、データサンプルの密度が低い範囲（例えば、データサンプルを一つも含まない、年齢が０歳から１５歳かつ入店時刻が１０：００から１２：００の範囲）も含まれる。これに対して、分割後の領域Ｅのクラスタから抽出される入店時刻１２：００〜１６：００かつ年齢１５歳〜３５歳という範囲には、データサンプルの密度が低い格子が含まれない。領域Ｄ、Ｆから抽出される範囲も同様である。【００７５】
このように、抽出されたクラスタを、データサンプルの密度が低い格子を含まない複数の長方形のクラスタに分割することによって、データサンプルの少ない説明指標の値の範囲が特徴量の算出条件から排除される。これによって、目的指標の値をよりよく説明する説明指標の値の範囲を特定できることが期待される。【００７６】
なお、上記のように、分割される前のクラスタから抽出された説明指標の値の範囲によって十分に目的指標を説明できる場合には、そのような値の範囲も人間による解釈に有用と考えられる。また、分割のパターンは一通りではなく、例えば図１２（ａ）の領域Ｃを、入店時刻１０：００〜１６：００かつ年齢２５歳〜３５歳のクラスタ、入店時刻１２：００〜１４：００かつ年齢５歳〜２５歳のクラスタ、及び入店時刻１４：００〜１６：００かつ年齢１５歳〜２５歳のクラスタに分割することも可能である。このため、中央処理装置００１は、クラスタ選択部１３０１において、分割前のクラスタ、及び、種々のパターンに分割されたそれぞれのクラスタを順次選択し、カラム選択部１３０２〜判定部１３０４においてそれぞれのクラスタの説明指標の値の範囲を計算し、計算されたそれぞれの範囲を特徴量の算出条件として保持してもよい。
【実施例２】
【００７７】
次に、本発明の実施例２について図面を参照して説明する。以下に説明する相違点を除き、実施例２のデータ分析支援システムの各部は、図１〜図１５に示された実施例１の同一の符号を付された各部と同一の機能を有するため、それらの説明は省略する。【００７８】
実施例２のデータ分析支援システムは、二次記憶装置００２に特徴量生成部００７の代わりに特徴量生成部２＿１６０１が格納される点を除いて、実施例１のデータ分析支援システムと同じである。【００７９】
図１６は、本発明の実施例２の特徴量生成部２＿１６０１の詳細なフロー図である。【００８０】
図１６のカラム選択部１６０２から判定部１６０９までの処理は、それぞれ、図５のカラム選択部６０１から判定部６０８までの処理と同様であるため、説明を省略する。入力される説明指標テーブル１０１、目的指標テーブル２０１、カラム情報テーブル３０１、カラム情報テーブル４０１及び生成される特徴量情報テーブル６０９は、いずれも実施例１と同様である。【００８１】
判定部１６０９の判定結果がＹｅｓの場合、中央処理装置００１は、生成された特徴量情報テーブル６０９を入力として、モデル生成部１６１０の処理を実行し、モデル情報１６１１を生成する。この処理の詳細は、図１７を参照して後述する。これによって、生成した特徴量を使って目的指標を予測するモデル情報が新たに得られる。生成されたモデルを用いることで、従来分析者が人手で行ってきた、分析対象の要因候補となる特徴量を生成してモデルの検証を繰り返すステップを自動化することができ、分析者の分析を支援できる。【００８２】
図１７は、本発明の実施例２のモデル生成部１６１０の詳細なフロー図である。【００８３】
この処理では、生成された特徴量情報テーブル６０９から、目的指標を予測するモデルが生成される。【００８４】
特徴量情報テーブル６０９と目的指標テーブル２０１が入力されると、中央処理装置００１は、相関係数計算処理部１７０１において各特徴量と目的指標の相関係数を計算する。計算された相関係数を元に、中央処理装置００１は、特徴量選択部１７０２において、モデルに使用する代表特徴量を選択する。モデル計算処理部１７０３において、中央処理装置００１は、選択された代表特徴量を用いてモデルを導出する。モデル計算処理部１７０３において導出されるモデルとしては、重回帰分析による線形回帰モデル、対数モデル、ベキ乗モデルなどが考えられる。モデル計算処理部１７０３からは、生成された特徴量と導出されたモデル式を含むモデル情報１６１１が出力される。【００８５】
なお、本発明は上述した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施形態の構成の一部を他の実施形態の構成に置き換えることが可能であり、また、ある実施形態の構成に他の実施形態の構成を加えることも可能である。また、各実施形態の構成の一部について、他の構成の追加・削除・置換をすることが可能である。【００８６】
上記の各構成、機能、処理部、処理手段等は、それらの一部または全部を、例えば集積回路で設計する等によってハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによってソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリ、ハードディスクドライブ、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の記憶装置、または、ＩＣカード、ＳＤカード、ＤＶＤ等の計算機読み取り可能な非一時的データ記憶媒体に格納することができる。【００８７】
また、図面には、実施例を説明するために必要と考えられる制御線及び情報線を示しており、必ずしも、本発明が適用された実際の製品に含まれる全ての制御線及び情報線を示しているとは限らない。実際にはほとんど全ての構成が相互に接続されていると考えてもよい。
【図１】
2016170600.tif 000003
【図２】
2016170600.tif 000004
【図３】
2016170600.tif 000005
【図４】
2016170600.tif 000006
【図５】
2016170600.tif 000007
【図６】
2016170600.tif 000008
【図７】
2016170600.tif 000009
【図８】
2016170600.tif 000010
【図９】
2016170600.tif 000011
【図１０】
2016170600.tif 000012
【図１１】
2016170600.tif 000013
【図１２】
2016170600.tif 000014
【図１３】
2016170600.tif 000015
【図１４】
2016170600.tif 000016
【図１５】
2016170600.tif 000017
【図１６】
2016170600.tif 000018
【図１７】
2016170600.tif 000019
【国際調査報告】
2016170600.tif 000020
2016170600.tif 000021
2016170600.tif 000022
2016170600.tif 000023