(57)【要約】      （修正有）【課題】平行座標により多次元データを可視化する場合、データの次元数が多い、または、次元数およびサンプル数の両方が多いデータを対象に、データ転送および描画の処理負荷を低減させながら、インタラクティブな操作により高速なレスポンス性能を実現するデータ処理装置、表示制御システム、データ処理方法及びプログラムを提供する。【解決手段】データ処理装置２００は、生成部２０４を備える。生成部２０４は、Ｎ次元（Ｎは自然数）のうちユーザがインタラクティブな操作で指定したＭ次元（ＭはＮより小さい自然数）のデータを平行座標により表示するためのデータを生成する。生成部２０４は、Ｍ次元の指定が変更された場合は、変更後のＭ次元のデータを平行座標により表示するためのデータを生成する。【選択図】図１
2020149498.tif 000002
【特許請求の範囲】
【請求項１】
Ｎ次元（Ｎは自然数）のうち指定されたＭ次元（ＭはＮより小さい自然数）のデータを平行座標により表示するためのデータを生成する生成部を備え、
前記生成部は、Ｍ次元の指定が変更された場合は、変更後のＭ次元のデータを平行座標により表示するためのデータを生成する、
データ処理装置。
【請求項２】
Ｎ次元のデータの各次元を予め定められた規則に従った順序となるように並べ替えるソート部をさらに備え、
前記生成部は、
Ｎ次元のうち指定されたＭ次元（ＭはＮより小さい自然数）のデータを前記順序に従って並べて平行座標により表示するためのデータを生成し、
Ｍ次元の指定が変更された場合は、変更後のＭ次元のデータを前記順序に従って並べて平行座標により表示するためのデータを生成する、
請求項１に記載のデータ処理装置。
【請求項３】
前記ソート部は、Ｎ次元のうち指定された第１次元に対する感度が大きい順に各次元を並べ替える、
請求項２に記載のデータ処理装置。
【請求項４】
前記ソート部は、Ｎ次元のうち前記平行座標の折れ線の表示態様の決定に用いる第１次元に対する感度が大きい順に各次元を並べ替える、
請求項２に記載のデータ処理装置。
【請求項５】
前記ソート部は、Ｎ次元のうち１以上の次元に絞り込み条件が指定された場合、前記絞り込み条件に従い絞り込んでＮ次元のデータを更新し、更新後のＮ次元のデータの各次元を前記規則に従った順序で並べ替える、
請求項２に記載のデータ処理装置。
【請求項６】
前記生成部は、Ｎ次元のうち指定された第１次元、または１以上の絞り込み条件を指定された次元を、Ｍ次元に加えてを平行座標により表示するためのデータを生成する、
請求項４または請求項５に記載のデータ処理装置。
【請求項７】
前記生成部は、Ｎ次元のうち、次元の表示順が指定された場合、表示順が指定されたすべての次元を更新後のＭ次元に加えて、前記順序より指定された前記表示順を優先して保持するように、平行座標により表示するためのデータを生成する、
請求項４または請求項５に記載のデータ処理装置。
【請求項８】
前記生成部は、Ｎ次元のうち、次元の表示順が指定された場合、表示順が指定されたすべての次元をＭ次元のデータに加えて、前記表示順を保持するように、平行座標により表示するためのデータを生成する、
請求項１に記載のデータ処理装置。
【請求項９】
前記生成部は、Ｎ次元からＭ次元のデータを生成した後、各次元の複数のデータを、複数の前記データの個数より少ない個数の変換データに変換し、前記変換データを平行座標により表示するためのデータを生成する、
請求項１に記載のデータ処理装置。
【請求項１０】
データ処理装置と表示処理装置とを備える表示制御システムであって、
前記データ処理装置は、
Ｎ次元（Ｎは自然数）のうち指定されたＭ次元（ＭはＮより小さい自然数）のデータを平行座標により表示するためのデータを生成する生成部を備え、
前記生成部は、Ｍ次元の指定が変更された場合は、変更後のＭ次元のデータを平行座標により表示するためのデータを生成する、
前記表示処理装置は、
生成された前記データを表示装置に表示する表示制御部と、
Ｎ次元のうち表示するＭ次元の指定を受け付ける受付部と、を備える、
表示制御システム。
【請求項１１】
Ｎ次元（Ｎは自然数）のうち指定されたＭ次元（ＭはＮより小さい自然数）のデータを平行座標により表示するためのデータを生成するステップと、
Ｍ次元の指定が変更された場合は、変更後のＭ次元のデータを平行座標により表示するためのデータを生成するステップと、
を含むデータ処理方法。
【請求項１２】
コンピュータを、
Ｎ次元（Ｎは自然数）のうち指定されたＭ次元（ＭはＮより小さい自然数）のデータを平行座標により表示するためのデータを生成する生成部として機能させ、
前記生成部は、Ｍ次元の指定が変更された場合は、変更後のＭ次元のデータを平行座標により表示するためのデータを生成する、
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、データ処理装置、表示制御システム、データ処理方法およびプログラムに関する。
【背景技術】
【０００２】
例えばセンサーなどで収集したデータを記憶装置に転送し、記憶装置に記憶された多数のデータを表示装置（ディスプレイ）に可視化する技術が知られている。センサーの多様化およびストレージ技術の進化に伴い、データが容易に収集される一方、描画するデータ量が増えると、データの転送および描画の処理負荷が増大し、インタラクティブな可視化システムのボトルネックになっている。
【０００３】
収集するデータは、データの次元（項目、種類などに相当）を列とし、各次元のデータのサンプルを行とするテーブルデータとして解釈することができる。データ量の増大は、次元数の増加、および、データのサンプル数の増加の両方を含む。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】米国特許第５９１７５００号公報
【非特許文献】
【０００５】
【非特許文献１】Gregorio  Palmas  et  al.,  “An  Edge-Bundling  Layout  for  Interactive  Parallel  Coordinates”，  2014  IEEE  Pacific  Visualization  Symposium,  57-64.
【非特許文献２】Gurminder  Kaur  et  al.,  “Bifocal  Parallel  Coordinates  Plot  for  Multivariate  Data  Visualization”，Proceedings  of  the  13th  International  Joint  Conference  on  Computer  Vision,  Imaging  and  Computer  Graphics  Theory  and  Applications  -  Volume  3:  IVAPP,  pages  176-183．
【発明の概要】
【発明が解決しようとする課題】
【０００６】
データの次元数が多い、または、次元数およびサンプル数の両方が多いデータを対象に、データ転送および描画の処理負荷を低減させながら、インタラクティブな操作により高速なレスポンス性能を実現可能な平行座標可視化技術が求められている。
【課題を解決するための手段】
【０００７】
実施形態のデータ処理装置は、生成部を備える。生成部は、Ｎ次元（Ｎは自然数）のうちユーザがインタラクティブな操作で指定したＭ次元（ＭはＮより小さい自然数）のデータを平行座標により表示するためのデータを生成する。生成部は、Ｍ次元の指定が変更された場合は、変更後のＭ次元のデータを平行座標により表示するためのデータを生成する。
【図面の簡単な説明】
【０００８】
【図１】実施形態にかかる表示制御システムのブロック図。
【図２】実施形態におけるデータ可視化処理のフローチャート。
【図３】平行座標の表示領域の一例を示す図。
【図４】平行座標による表示画面の一例を示す図。
【図５】平行座標による表示画面の一例を示す図。
【図６】リサンプリングの一例を説明するための図。
【図７】平行座標による表示画面の他の例を示す図。
【図８】本実施形態にかかる装置のハードウェア構成図。
【発明を実施するための形態】
【０００９】
以下に添付図面を参照して、この発明にかかるデータ処理装置の好適な実施形態を詳細に説明する。
【００１０】
データの可視化技術としては、例えば、２次元（Ｘ軸＋Ｙ軸）の表示空間上に、１次元または２次元のデータを可視化する方法が比較的簡単である。３次元データの可視化は、Ｘ軸およびＹ軸にＺ軸を加えることで、視点を変えながら、２次元のディスプレイ平面上に可視化結果を表示する方法である。このような方法は、物理の実体解析の可視化、および、科学的シミュレーションデータの可視化などに使われる。
【００１１】
３次元以上の多次元データの可視化技術としては、例えば、平行座標（Parallel  Coordinates）および散布図行列（Scatter  Matrix）が使われる。平行座標は、複数の次元に対応する複数の平行軸を一定間隔に配置して、データのサンプルを折れ線で表現する。平行座標は、多次元データをわかりやすく表現できる。
【００１２】
平行座標による可視化では、主にサンプル数の増加による視認性の悪化、および、次元の増加による描画性能の低下が問題になる。一般的に、平行座標は、折れ線グラフ、散布図、および、バーチャートなどより描画性能が低い。例えば、ＳＶＧ（Scalable  Vector  Graphics）フォーマットで、汎用のコンピュータ等のブラウザ上に平行座標のグラフを描画する場合、２０〜３０次元でサンプル数が数百の多次元データであっても、操作レスポンスの遅延が顕著になる。
【００１３】
次元数が多い場合の対処方法として、データの次元を削減する方法がある。ただし、次元を削減すると、ヒントとなる重要な次元が可視化されなくなるおそれがある。特に、サンプル数と次元数の両方が多いデータを平行座標で可視化する場合、リサンプリングまたはクラスタリングでサンプルを一定量以下に限定してデータを削減する方法は、計算量が大きいほか、元のデータを忠実に可視化できるかが問題となる。
【００１４】
また、機械学習などの方法で重要な次元を探す方法もある。しかしこのような自動化方法は、ユーザのドメイン知識を入れ難く、ユーザにとって効率的なデータ分析が実現できないかもしれない。データの傾向を把握するような初期的なデータ分析を目的とする可視化は、データを加工して可視化するより、可能な限りデータをそのまま可視化し、俯瞰による確認および詳細の確認を共に実現可能とすることが重要である。
【００１５】
本実施形態にかかるデータ処理装置は、Ｎ次元（Ｎは自然数）のうち指定されたＭ次元（ＭはＮより小さい自然数）のデータを平行座標により表示するためのデータを生成し、Ｍ次元の指定が変更された場合は、変更後のＭ次元のデータを平行座標により表示するためのデータを生成する。これにより、次元数の多いデータ、または、次元数とサンプル数の両方が多いデータに対して、インタラクティブな平行座標の可視化を実現することが可能となる。
【００１６】
以下では、次元を列に対応させ、各次元のデータのサンプルを行に対応させたテーブルデータとして多次元データを扱う。また、Ｍ次元のデータの抽出元となるＮ次元の多次元データを高次元データと呼び、高次元データから抽出されたＭ次元のデータを低次元データと呼ぶ場合がある。多次元データを用いて機械学習を行うときに、次元が変数として扱われる場合がある。また、平行座標では、複数の軸それぞれが多次元のいずれかの次元に対応し、各軸では対応する次元のデータが表示される。
【００１７】
例えば、平行座標による可視化が可能な変数は、連続変数（continuous  variable）と順序変数（ordinal  variable）である。名義変数（nominal  variable）は、何らかの順序（例えば、データのインデックス順）を決めて順序変数として平行座標で可視化することができる。汎用のパーソナルコンピュータではインタラクティブな平行座標による可視化は、数十次元、かつ、数百サンプル数が限界になる。本実施形態によれば、この次元数およびサンプル数より大きい多次元データを対象として平行座標を可視化することが可能となる。
【００１８】
図１は、本実施形態にかかる表示制御システムの構成の一例を示すブロック図である。図１に示すように、本実施形態にかかる表示制御システムは、表示処理装置１００と、データ処理装置２００とが、インターネットおよびＬＡＮ（ローカルエリアネットワーク）等のネットワーク３００で接続された構成となっている。ネットワーク３００は、無線および有線などのどのような接続形態のネットワークであってもよい。
【００１９】
表示処理装置１００は、例えばパーソナルコンピュータなどのクライアント装置である。データ処理装置２００は、例えばサーバ装置である。表示処理装置１００およびデータ処理装置２００は、それぞれ物理的に１つの装置によって構成されてもよいし、物理的に複数の装置によって構成されてもよい。例えばデータ処理装置２００は、クラウド環境上のサーバ装置として構築されてもよい。
【００２０】
また、図１に示す表示制御システムの構成は一例であり、これに限られるものではない。例えば、表示処理装置１００の各部とデータ処理装置２００の各部とを１つの装置（例えばデータ処理装置２００）内に備える構成としてもよい。この場合、共通化できる機能（例えば、記憶部１２１と記憶部２２１）は共通化してもよい。
【００２１】
表示処理装置１００は、表示部１１１と、記憶部１２１と、受付部１０１と、通信制御部１０２と、表示制御部１０３と、を備えている。
【００２２】
表示部１１１は、データを表示する液晶ディスプレイなどの表示装置である。表示部１１１は、表示制御部１０３の制御に従い、例えば、データ処理装置２００から受信した多次元データを平行座標により表示する。
【００２３】
記憶部１２１は、表示処理装置１００による各種処理で用いられる各種データを記憶する。例えば記憶部１２１は、データ処理装置２００から受信した、表示部１１１に表示するためのデータを記憶する。記憶部１２１は、フラッシュメモリ、メモリカード、ＲＡＭ（Random  Access  Memory）、ＨＤＤ（Hard  Disk  Drive）、および、光ディスクなどの一般的に利用されているあらゆる記憶媒体により構成することができる。
【００２４】
受付部１０１は、ユーザ等による各種データの入力を受け付ける。例えば受付部１０１は、Ｎ次元のうち表示するＭ次元の指定、および、各次元の絞り込み条件の指定などのユーザ操作を受け付ける。ユーザ等によるデータの入力方法はどのような方法であってもよいが、例えば、マウス、キーボード、および、タッチパネルなどの入力装置により入力する方法を用いることができる。表示部１１１が、データを入力するためのタッチパネルを備えるように構成してもよい。
【００２５】
通信制御部１０２は、データ処理装置２００などの外部装置との間の通信を制御する。例えば通信制御部１０２は、受付部１０１により受け付けられた情報（指定されたＭ次元、絞り込み条件など）を、データ処理装置２００に送信する。また通信制御部１０２は、データ処理装置２００から、平行座標により表示するためのデータを受信する。
【００２６】
表示制御部１０３は、表示部１１１に対するデータの表示を制御する。例えば表示制御部１０３は、データ処理装置２００で生成された、平行座標により表示するためのデータを表示部１１１に表示させる。
【００２７】
上記各部（受付部１０１、通信制御部１０２、および、表示制御部１０３）は、例えば、１または複数のプロセッサにより実現される。例えば上記各部は、ＣＰＵ（Central  Processing  Unit）などのプロセッサにプログラムを実行させること、すなわちソフトウェアにより実現してもよい。上記各部は、専用のＩＣ（Integrated  Circuit）などのプロセッサ、すなわちハードウェアにより実現してもよい。上記各部は、ソフトウェアおよびハードウェアを併用して実現してもよい。複数のプロセッサを用いる場合、各プロセッサは、各部のうち１つを実現してもよいし、各部のうち２以上を実現してもよい。
【００２８】
次に、データ処理装置２００の構成例について説明する。図１に示しように、データ処理装置２００は、記憶部２２１と、通信制御部２０１と、算出部２０２と、ソート部２０３と、生成部２０４と、を備えている。
【００２９】
記憶部２２１は、データ処理装置２００による各種処理で用いられる各種データを記憶する。例えば記憶部２２１は、表示対象となる多次元データ、および、表示処理装置１００から送信されたデータ（指定されたＭ次元、絞り込み条件など）を記憶する。記憶部２２１は、フラッシュメモリ、メモリカード、ＲＡＭ、ＨＤＤ、および、光ディスクなどの一般的に利用されているあらゆる記憶媒体により構成することができる。
【００３０】
通信制御部２０１は、表示処理装置１００などの外部装置との間の通信を制御する。例えば通信制御部２０１は、表示処理装置１００から送信された情報（指定されたＭ次元、絞り込み条件など）を受信する。また通信制御部２０１は、平行座標により表示するためのデータを表示処理装置１００に送信する。
【００３１】
算出部２０２は、Ｎ次元のデータから表示するために抽出する次元（抽出次元）の個数を表す抽出次元数Ｍを算出する。例えば算出部２０２は、平行座標の表示領域の幅に基づいて、表示領域に表示したときにデータが視認しやすいような個数の次元数を抽出次元数Ｍとして算出する。
【００３２】
ソート部２０３は、Ｎ次元のデータの各次元を予め定められた規則に従った順序となるように並べ替えた次元リストを生成する（ソーティング）。予め定められた規則は、どのような規則であってもよいが、例えば、データ値の分散または欠損値に基づく規則、次元間の相関に基づく規則、および、機械学習により得られるモデルを用いる規則などを適用できる。
【００３３】
生成部２０４は、指定されたＭ次元のデータを平行座標により表示するためのデータを生成する。また生成部２０４は、Ｍ次元の指定が変更された場合は、変更後のＭ次元のデータを平行座標により表示するためのデータを生成する。さらに生成部２０４は、Ｍ次元の各次元の複数のデータを、より少ない個数の変換データに変換するリサンプリングを行ってもよい。リサンプリングを行った場合、生成部２０４は、変換データを平行座標により表示するためのデータを生成する。
【００３４】
上記各部（通信制御部２０１、算出部２０２、ソート部２０３、および、生成部２０４）は、例えば、１または複数のプロセッサにより実現される。例えば上記各部は、ＣＰＵなどのプロセッサにプログラムを実行させること、すなわちソフトウェアにより実現してもよい。上記各部は、専用のＩＣなどのプロセッサ、すなわちハードウェアにより実現してもよい。上記各部は、ソフトウェアおよびハードウェアを併用して実現してもよい。複数のプロセッサを用いる場合、各プロセッサは、各部のうち１つを実現してもよいし、各部のうち２以上を実現してもよい。
【００３５】
次に、このように構成された本実施形態にかかる表示制御システムによるデータ可視化処理についてさらに詳細に説明する。図２は、本実施形態におけるデータ可視化処理の一例を示すフローチャートである。
【００３６】
データ処理装置２００の算出部２０２は、平行座標の表示領域の幅から、抽出次元数Ｍを算出する（ステップＳ１０１）。表示領域の幅は、固定値であってもよいし、ユーザが指定可能としてもよい。
【００３７】
図３は、平行座標の表示領域の一例を示す図である。縦線が軸に相当する。各軸には、ラベル３０１が表示される。平行座標では、軸が多くなると、軸間の距離（軸間スペース）が小さくなり、軸間の折れ線の相関関係が見えにくくなる。表示する軸の数は、軸を垂直に描く場合は平行座標の表示領域の幅が上限となる。例えば、幅が１０００ピクセルの表示領域では、１０００個以上の軸を描画しても軸が重なり、平行座標の軸および折れ線が見えにくくなる。また、軸のラベル、および、隣接する複数の軸間の折れ線を見やすくするために、軸間スペースは軸の高さの３分の１以上にすることが望ましい。
【００３８】
このため、算出部２０２は、表示領域の幅から、同時に表示する軸の数、すなわち抽出次元数Ｍを算出する。算出部２０２は、例えば、表示領域の幅を、軸間スペース（軸間の距離）で除算した値（割り切れない場合は自然数に丸め込んだ値を用いてもよい）を、抽出次元数Ｍとして算出する。例えば、平行座標の表示領域の幅が１０００ピクセルであり、軸間スペースが５０ピクセルである場合、算出部２０２は、Ｍを２０（＝１０００／５０）と算出する。軸間スペースは、固定値であってもよいし、ユーザが指定可能としてもよい。例えばユーザの操作で表示領域の幅や高さの変動により軸間スペースの値が変更された場合は、ステップＳ１０１に戻り、算出部２０２はＭの値を再計算する。
【００３９】
図２に戻り、ソート部２０３は、予め定められた規則に従った順序となるように、すべての次元を並べ替える（ステップＳ１０２）。次元を並べ替えるのは、ユーザが所望の次元を効率的に探すことができるようにするためである。
【００４０】
図４は、平行座標による表示画面４００の一例を示す図である。表示画面４００は、フォーカス指定画面４１０とともに表示されてもよい。フォーカス指定画面４１０は、並べ替えられたすべての次元のうち抽出次元の位置（フォーカス位置）を指定するための画面である。なおフォーカス指定画面４１０は、表示処理装置１００とは別の装置上に表示されてもよい。図４のフォーカス指定画面４１０では、左から右に向けて、重要度に応じて並べ替えられたすべての次元がスライドバーにマッピングされる。ユーザは、すべての次元のうち、スライドバーのノブ４１１により抽出次元を指定することができる。
【００４１】
なお図４は、各サンプルに対応する折れ線の太さが相互に異なるように表示されているが、通常は、折れ線の色が相互に異なるように表示される。折れ線の色を割り当てる次元がカラーリング次元４０１である（詳細は後述）。図４では、カラーリング次元４０１の軸の色の変化がハッチングの変化で表現されている。
【００４２】
ノブ４１１の幅を変更することにより、抽出次元数Ｍをユーザが指定できるようにしてもよい。この場合、算出部２０２は、指定された抽出次元数Ｍを表示できるような軸間スペースの値を算出してもよい。例えば算出部２０２は、表示領域の幅を、指定された抽出次元数Ｍで除算した値を軸間スペースの値として算出してもよい。
【００４３】
次元の順序は、例えば、次元の重要度の降順とする。すなわち、ソート部２０３は、次元の重要度の順に並べ替えるという規則に従い、次元を並べ替える。これにより、ユーザは、重要度の高い次元から重要度の低い次元をスライドしながら確認可能となる。
【００４４】
次元ごとの重要度の算出方法はどのような方法であってもよい。簡単な方法として、例えば、次元ごとのデータ値の分散の大きさを重要度として算出する方法、および、次元ごとのデータ値の欠損値のカウント数を重要度として算出する方法などを用いることができる。分散（欠損値のカウント数）が大きい方、および、分散（欠損値のカウント数）が小さい方のいずれを重要度が高いとするかは、用途に応じて決定してよい。
【００４５】
複雑な方法としては、従属変数として指定された次元ｙ（第１次元の一例）に対する、説明変数としての他の次元ｘの相関度または感度を重要度として算出する方法を適応できる。例えば、従属変数である次元ｙと、説明変数である複数の次元ｘそれぞれとのペア相関の相関度を重要度として算出してもよい。
【００４６】
また、ソート部２０３は、相関ルール（Association  Rule）データマイニング、決定木、および、ランダムフォリストなどの機械学習モデルを用いてもよい。機械学習モデルは、指定された次元ｙに対する複数の次元ｘそれぞれの重要度を算出するように予め学習により構築される。ソート部２０３は、このような機械学習モデルを用いて、指定された次元ｙに対する各次元ｘの重要度を算出する。
【００４７】
ユーザが、ソート部２０３による並び替えの規則を変更可能としてもよい。規則が変更された場合は、ステップＳ１０２に戻り、ソート部２０３は、変更後の規則に従った並べ替えを実行する。これにより、ユーザの意図を反映した重要度の算出が可能となる。
【００４８】
図２に戻り、生成部２０４は、すべての次元から常時表示する次元（常時表示次元）を抽出する（ステップＳ１０３）。常時表示次元は、例えばユーザが興味を有する次元である。常時表示次元は、ユーザの意図が反映された重要な情報として、次元の順序に関わらず、平行座標で表示される。
【００４９】
常時表示次元は、ユーザが明示的に指定してもよいし、各種のユーザ操作から生成部２０４が推定してもよい。常時表示次元（第１次元の一例）は、少なくともカラーリング次元および絞り込み条件が設定された次元（絞り込み次元）を含む。
【００５０】
カラーリング次元は、平行座標のカラーリングに使われる次元である。カラーリング次元のデータの範囲（最小値〜最大値）が、指定された連続するカラー範囲にマッピングされる。すなわち、各サンプルについて、カラーリング次元の値が、あるカラー値に対応づけられる。カラーリング次元の設定により各サンプルに対応する折れ線の色が決められる。
【００５１】
なお、色以外の方法で折れ線の表示態様が決定されてもよい。例えば生成部２０４は、折れ線の太さ、形状、および、点滅の有無などの表示態様を、データの値に応じて決定してもよい。
【００５２】
絞り込み次元は、絞り込み条件が指定された次元である。絞り込み条件は、ある次元のデータの範囲を絞り込むために指定される条件である。絞り込み条件の指定方法はどのような方法であってもよいが、例えば表示画面上でデータの範囲を指定する方法などを適用できる。図４では、矩形４０４、４０５が、絞り込み条件として指定されたデータの範囲を示す。ユーザは、例えば矩形４０４、４０５の位置または高さを変更することで絞り込み条件を変更できる。また図４では、矩形４０４、４０５などのように絞り込み条件が指定された次元４０２が、絞り込み次元に相当する。
【００５３】
平行座標の各次元のデフォルトの表示範囲は、例えば各次元のデータの全範囲となる。すなわち、次元の絞り込み条件が設定される前は、データの全範囲が可視化対象である。絞り込み次元は、その次元の全範囲のデータのうち一部が絞り込み条件に応じて選択され、選択されたデータが可視化対象となる。なお、絞り込み条件は複数指定されてもよい。同一次元の複数の絞り込み条件は論理和が取られて適用される。異なる次元の絞り込み条件は論理積が取られて適用される。
【００５４】
絞り込み条件が変更された場合は、ステップＳ１０２に戻り、ソート部２０３は、変更後の絞り込み条件に従った並べ替えを実行する。
【００５５】
図２に戻り、生成部２０４は、平行座標に表示する次元（表示次元）を決定する（ステップＳ１０４）。表示次元は、常時表示次元と、抽出次元と、を含む。生成部２０４は、次元リストから、フォーカス指定画面４１０などにより指定されたフォーカス位置に基づきＭ個の抽出次元を決定することができる。常時表示次元の個数をＫとすると、生成部２０４は、Ｍ’個（Ｍ’＜＝Ｍ＋Ｋ）の表示次元を決定する。なお、生成部２０４は、常時表示次元と重複しないように、常時表示次元を除いた次元を抽出する。
【００５６】
ここで、フォーカス位置を指定するユーザインタフェースの例について説明する。フォーカス位置を指定するユーザインタフェースとしては、例えば、上述の図４のフォーカス指定画面４１０を用いる方法、および、図５に示す表示画面５００を用いる方法がある。
【００５７】
図４の例では、上述のように、フォーカス指定画面４１０によりフォーカス位置が指定される。なお図４に示すように、表示画面４００は、抽出次元４０３以外に、常時表示次元であるカラーリング次元４０１および絞り込み次元４０２を含む。抽出次元数Ｍは、表示領域の幅および軸間スペースに基づいて算出される。従って、表示次元の個数Ｍ’＜＝Ｍ＋Ｋの軸を表示するために必要な幅は、表示領域の幅より大きくなる。図４では、表示できない軸を確認可能とするためにスライドバーを用いる表示画面４００の例が示されている。スライドバーを用いる代わりに、Ｍ’＜＝Ｍ＋Ｋ個の表示次元（軸）を表示可能とするために軸間スペースを再計算するように構成してもよい。
【００５８】
図５に示す表示画面５００は、表示領域の幅の中に、Ｍ’＜＝Ｍ＋Ｋ個の表示次元のすべてを表示する画面の例である。ユーザは、下部のスクロールバーのノブ５０１により、表示領域に表示する抽出次元の位置（フォーカス位置）を指定することができる。図５では、折れ線の色が黒とされているが、通常は、カラーリング次元（例えば左端の次元）のデータの各サンプルに割り当てられた色の折れ線が表示される。また、下部のスライドバーは、高次元のすべての範囲を示しているが、上部の平行座標可視化表示は、Ｍ’次元のみが表示される。すなわち、図１の表示処理装置１００は、低次元（Ｍ’次元）データを取得して、平行座標を描画する。また、スライドバーが移動された場合は、表示処理装置１００は、移動後のスライドバーの位置に対応する低次元データ（および常時表示次元のデータ）を抽出し、平行座標表示を更新する。
【００５９】
また、上述の抽出次元および絞り込み次元以外にも、ユーザが順序とともに表示する次元を指定可能としてもよい。ユーザは、例えば平行座標の表示画面上で、次元Ａと次元Ｂの重要度の順序に関わらず、ある次元Ａを次元Ｂの前または後ろに配置することを指定する。例えば記憶部１２１は、指定された次元Ａと次元Ｂのペア（ペア次元）を記憶する。生成部２０４は、ペア次元の一方が表示次元に含まれれば、他方の次元を表示次元へ追加する。次元リスト内の次元の順序（重要度の順序）に関わらず、平行座標では、ペア次元で指定された各次元の前後の順序が優先して保持される。
【００６０】
図２に戻り、生成部２０４は、決定したＭ’＜＝（Ｍ＋Ｋ）個の表示次元のデータを、高次元（Ｎ次元）データから抽出する（ステップＳ１０５）。例えば高次元データの記憶方式として列指向データベースを用いれば、次元数およびサンプル数が多い大規模データであっても、低次元データを高速に抽出可能となる。
【００６１】
これまでの処理（ステップＳ１０１〜ステップＳ１０５）で、高次元データから低次元データが抽出される。しかし低次元データであっても、サンプル数（テーブルデータの行数）が多くなると、転送および描画コストが大きくなり、また、平行座標の折れ線のクラッター（Clutter）が生じる場合がある。
【００６２】
そこで、生成部２０４は、サンプル数が多いデータに対してリサンプリングを実行し、データ量を減らしてもよい（ステップＳ１０６）。データのリサンプリングは、全サンプル（レコード）から代表的なサンプルを抽出または算出する処理である。平行座標を効率的に可視化するためには、生成部２０４は、重なる折れ線を検出して代表的な折れ線のみを表示する。厳密に計算する方法は、計算量が増大するため、インタラクティブな平行座標の可視化に不向きである。
【００６３】
リサンプリングの１つの方法として、サンプル間の距離に応じて多次元データをグループに分けて、各グループの次元ごとの代表値（最大値、最小値、平均値、中間値、または、ランダムに抽出された値など）を求める方法がある。
【００６４】
リサンプリング後のサンプル数は、次元数の増加に対して大よそ指数的に増加する。従って、Ｎ次元データのリサンプリングと比較して、Ｍ’個の表示次元のデータのリサンプリングは、リサンプリング後のサンプル数が格段に少なくなる。
【００６５】
図６は、データキューブを用いたリサンプリングの一例を説明するための図である。図６は、説明の便宜上、３次元データをリサンプリングする例を示すが、本実施形態は、３次元より多い次元のデータを対象とすることができる。
【００６６】
各次元に対して例えば平行座標の表示領域の高さを示すピクセル数と同じ個数のセルを有するようなデータキューブが用いられる。図６では、表示領域の高さが５ピクセルであり、各次元に対応するセルの個数が５である例が示されている。通常は、表示領域の高さは５ピクセルより大きい。５つのセルそれぞれは、平行座標の高さを５分割した範囲のいずれかに対応づけられる。各セルに対して、対応する範囲のデータの代表値（最大値、最小値、平均値、中間値、または、ランダムに抽出された値など）が算出される。
【００６７】
ユーザ操作により、平行座標の表示領域の高さが変更された場合は、生成部２０４は、再びデータをリサンプリングする。
【００６８】
リサンプリングを実行するか否かは、ユーザ等が指定してもよいし、サンプル数が閾値を超えたか否かにより判断してもよい。サンプル数が少ないデータを対象とする場合等であれば、リサンプリングを実行しなくてもよい。
【００６９】
図２に戻り、通信制御部２０１は、生成部２０４により生成されたデータ（低次元データまたはリサンプリング後のデータ）を、表示処理装置１００に送信する（ステップＳ１０７）。
【００７０】
表示処理装置１００の通信制御部１０２は、データ処理装置２００からデータを受信する。表示制御部１０３は、受信されたデータを、平行座標により可視化する（ステップＳ１０８）。表示制御部１０３は、例えば、上述の図４または図５の表示画面のようにして、平行座標により可視化したデータを表示する。
【００７１】
表示処理装置１００は、ユーザにより操作可能な入力装置（マウス、キーボード、タッチパネルなど）を備える。ユーザは、平行座標の表示を確認しながら、入力装置を用いて、平行座標の表示上で、各次元の絞り込み条件の設定、および、カラーリング次元の変更などの操作が可能である。これにより、インタラクティブな平行座標の可視化が実現できる。
【００７２】
このように本実施形態では、計算パワーとストレージ容量が大きいデータ処理装置２００が、次元数およびサンプル数の多いデータの処理を実行し、その処理結果をユーザが容易にアクセスできる端末装置である表示処理装置１００に送信し、表示処理装置１００が描画処理を実行する。このようにデータ処理と可視化（表示処理）を分散して実行することにより、ユーザ操作に対するレスポンスの遅延を低減し、表示制御システム全体としてのパフォーマンスの向上を図ることができる。
【００７３】
処理の分散方法はこれに限られるものではない。例えばデータ処理装置２００が平行座標の描画処理まで実行して、描画処理結果を示すデータ（画面データ）を表示処理装置１００に送信してもよい。この場合、表示処理装置１００の表示制御部１０３は、受信した画面データを表示部１１１に表示する処理のみを実行すればよい。また、データ処理装置２００および表示処理装置１００が、それぞれ描画処理の一部を実行し、最終的な描画処理の結果（画面データ）を表示処理装置１００が表示するように構成してもよい。
【００７４】
ステップＳ１０１からステップＳ１０８までが、平行座標の可視化のメインフローである。ステップＳ１０９からステップＳ１１３までが、ユーザ操作をフィードバックする処理に相当する。
【００７５】
例えば、表示処理装置１００の受付部１０１は、入力装置によるユーザの操作を受け付けた場合、受け付けた操作を示す操作情報を、通信制御部１０２を介してデータ処理装置２００に送信する（ステップＳ１０９）。
【００７６】
例えばデータ処理装置２００の生成部２０４は、操作情報に基づいて、ユーザの操作が表示領域の高さの変更を示すか否かを判定する（ステップＳ１１０）。ユーザの操作が表示領域の高さの変更を示す場合（ステップＳ１１０：Ｙｅｓ）、生成部２０４は、変更後の高さに基づいてデータのリサンプリングを実行し（ステップＳ１０６）、以降の処理が繰り返される。例えば生成部２０４は、変更後の表示領域の高さ（ピクセル数）に対応する個数のセルを有するデータキューブによりデータをリサンプリングする。
【００７７】
ユーザの操作が表示領域の高さの変更を示さない場合（ステップＳ１１０：Ｎｏ）、生成部２０４は、ユーザの操作がフォーカス位置の変更を示すか否かを判定する（ステップＳ１１１）。ユーザの操作がフォーカス位置の変更を示す場合（ステップＳ１１１：Ｙｅｓ）、生成部２０４は、変更後のフォーカス位置に基づいてＭ個の抽出次元を決定し、決定した抽出次元を含むように表示次元を新たに決定し（ステップＳ１０４）、以降の処理が繰り返される。
【００７８】
ユーザの操作がフォーカス位置の変更を示さない場合（ステップＳ１１１：Ｎｏ）、生成部２０４は、ユーザの操作が、絞り込み条件、カラーリング次元、または、並び替えの規則の変更を示すか否かを判定する（ステップＳ１１２）。ユーザの操作が、絞り込み条件、カラーリング次元、または、並び替えの規則の変更を示す場合（ステップＳ１１２：Ｙｅｓ）、ソート部２０３による並べ替えの処理（ステップＳ１０２）から処理が繰り返される。
【００７９】
ユーザの操作が絞り込み条件、カラーリング次元、または、並び替えの規則の変更を示さない場合（ステップＳ１１２：Ｎｏ）、生成部２０４は、ユーザの操作が、表示領域の幅の変更を示すか否かを判定する（ステップＳ１１３）。ユーザの操作が、表示領域の幅の変更を示す場合（ステップＳ１１３：Ｙｅｓ）、算出部２０２による抽出次元数Ｍの算出処理（ステップＳ１０１）から処理が繰り返される。
【００８０】
ユーザの操作が、表示領域の幅の変更を示さない場合（ステップＳ１１３：Ｎｏ）、ステップＳ１１０に戻り、次のユーザ操作が受け付けられるまで待機する。このようにして、ユーザ操作がフィードバックされ、ユーザ操作に応じて平行座標の表示が更新される。
【００８１】
なお、ステップＳ１１０〜ステップＳ１１３の判定処理の順序はこれに限られず、どのような順序であってもよい。また、ユーザは、ステップＳ１１０〜ステップＳ１１３に対応する各操作の一部または全部をまとめて指定することができる。この場合、表示処理装置１００は、複数の操作を示す操作情報をデータ処理装置２００に送信してもよい。データ処理装置２００は、例えば操作情報に基づいて、ステップＳ１１０〜ステップＳ１１３の判定処理の一部または全部をまとめて実行してもよい。複数の判定処理で条件が満たされる場合、複数の判定処理の結果に応じて遷移する複数のステップのうち、最初に実行されるステップに戻り、処理が繰り返される。
【００８２】
図７は、平行座標による表示画面の他の例を示す図である。図７に示す表示画面７００は、次元７０１を従属変数ｙであるカラーリング次元とし、カラーリング次元に対する説明変数である他の次元とともに平行座標に表示する例である。次元７０１は、平行座標の左端の次元として表示される。次元７０２は、他の次元のうち絞り込み条件７０３が設定された次元（常時表示次元）である。カラーリング次元（次元７０１）以外の表示次元（常時表示次元および抽出次元）は、カラーリング次元に対する重要度の順、またはペア次元の順に平行座標の中に表示される。カラーリング次元７０１が常に左端に表示していることは、他の次元ｘより、次元ｙが自身との関連度が一番高いとの意味合いを含んでいる。
【００８３】
例えばユーザがカラーリング次元として次元７０１を選択すると、次元７０１を従属変数ｙとして、機械学習モデルなどにより、説明変数ｘとなる他の次元の重要度が新たに算出される。他の次元は、重要度の順に並べ替えられる。並べ替えられた次元のうち、ユーザが指定したフォーカス位置に対応する次元（抽出次元）が抽出される。
【００８４】
本実施形態では、スクロールバーのノブ７０４によりフォーカス位置が変更されたとしても、常時表示次元である次元７０１（カラーリング次元）および次元７０２（絞り込み次元）は常に表示される。例えば、図７の状態からノブ７０４が右に移動された場合、次元７０１および次元７０２はそのまま表示が維持され、次元７０１と次元７０２以外の表示次元のみが、新たなフォーカス位置に対応して更新される。ただし、各次元７０２は、重要度順に従って表示されるため、順番が更新される。このような構成により、ユーザが興味を有する次元を常に表示するとともに、重要度の順で各次元のデータを平行座標により表示することができる。
【００８５】
以上のように、本実施形態にかかるデータ処理装置は、多次元データ（Ｎ次元データ）のすべての次元を平行座標に表示せず、より低次元のデータを抽出して平行座標に表示する。また、ユーザの操作に応じて、重要度の順に並べられた異なる次元のデータで平行座標の表示を更新する。これにより、データの次元数が多い、または、次元数およびサンプル数の両方が多いデータであっても、データ転送および描画の処理負荷を低減させながら、インタラクティブな操作により高速なレスポンス性能を実現可能となる。
【００８６】
次に、本実施形態にかかる各装置（表示処理装置、データ処理装置）のハードウェア構成について図８を用いて説明する。図８は、本実施形態にかかる装置のハードウェア構成例を示す説明図である。
【００８７】
本実施形態にかかる装置は、ＣＰＵ５１などの制御装置と、ＲＯＭ（Read  Only  Memory）５２およびＲＡＭ５３などの記憶装置と、ネットワークに接続して通信を行う通信Ｉ／Ｆ５４と、各部を接続するバス６１を備えている。
【００８８】
本実施形態にかかる装置で実行されるプログラムは、ＲＯＭ５２等に予め組み込まれて提供される。
【００８９】
本実施形態にかかる装置で実行されるプログラムは、インストール可能な形式または実行可能な形式のファイルでＣＤ−ＲＯＭ（Compact  Disk  Read  Only  Memory）、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ（Compact  Disk  Recordable）、ＤＶＤ（Digital  Versatile  Disk）等のコンピュータで読み取り可能な記録媒体に記録してコンピュータプログラムプロダクトとして提供されるように構成してもよい。
【００９０】
さらに、本実施形態にかかる装置で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、本実施形態にかかる装置で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。
【００９１】
本実施形態にかかる装置で実行されるプログラムは、コンピュータを上述した装置の各部として機能させうる。このコンピュータは、ＣＰＵ５１がコンピュータ読取可能な記憶媒体からプログラムを主記憶装置上に読み出して実行することができる。
【００９２】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００９３】
１００  表示処理装置
１０１  受付部
１０２  通信制御部
１０３  表示制御部
１１１  表示部
１２１  記憶部
２００  データ処理装置
２０１  通信制御部
２０２  算出部
２０３  ソート部
２０４  生成部
２２１  記憶部
３００  ネットワーク
【図１】
2020149498.tif 000003
【図２】
2020149498.tif 000004
【図３】
2020149498.tif 000005
【図４】
2020149498.tif 000006
【図５】
2020149498.tif 000007
【図６】
2020149498.tif 000008
【図７】
2020149498.tif 000009
【図８】
2020149498.tif 000010