(57)【要約】【課題】データ間で等価性のある構造を適切に抽出することが可能なプログラム等を提供する。【解決手段】コンピュータ１は、複数の変数に対する２値の時系列データから、複数の時間帯及び複数の変数の組み合わせについて、部分的な時系列データを抽出する。コンピュータ１は、抽出した部分的な時系列データに基づき２値の高階テンソルを生成する。コンピュータ１は、生成した高階テンソルに基づき、複数の時間帯及び複数の変数の組み合わせについての第１行列を生成する。【選択図】図１
2014229142.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、
複数の変数に対する２値の時系列データから、複数の時間帯及び複数の変数の組み合わせについて、部分的な時系列データを抽出し、
抽出した部分的な時系列データに基づき２値の高階テンソルを生成し、
生成した高階テンソルに基づき、複数の時間帯及び複数の変数の組み合わせについての第１行列を生成する
処理を実行させるプログラム。
【請求項２】
相互情報量ベクトルを前記第１行列に乗じて第２行列を生成する
処理を実行させる請求項１に記載のプログラム。
【請求項３】
前記第２行列に対し、クラスタリングを行って複数のクラスタを生成し、
各クラスタ内の複数の変数の組み合わせに対応する前記第２行列の値の合計値を算出し、
前記合計値をクラスタ内の変数の組み合わせ総数で除し、各クラスタの平均値を算出し、
算出した平均値が閾値以上のクラスタ内の変数の組み合わせを抽出する
請求項２に記載のプログラム。
【請求項４】
複数の変数に対する２値の時系列データから、複数の時間帯及び複数の変数の組み合わせについて、部分的な時系列データを抽出する抽出部と、
該抽出部により抽出した部分的な時系列データに基づき２値の高階テンソルを生成する生成部と、
該生成部により生成した高階テンソルに基づき、複数の時間帯及び複数の変数の組み合わせについての第１行列を生成する第１行列生成部と
を備える情報処理装置。
【請求項５】
制御部を有するコンピュータを用いた情報処理方法において、
複数の変数に対する２値の時系列データから、前記制御部により複数の時間帯及び複数の変数の組み合わせについて、部分的な時系列データを抽出し、
抽出した部分的な時系列データに基づき前記制御部により２値の高階テンソルを生成し、
生成した高階テンソルに基づき、前記制御部により複数の時間帯及び複数の変数の組み合わせについての第１行列を生成する
情報処理方法。
【請求項６】
コンピュータに、
複数の変数に対する多値の同期系列データから、複数の同期帯及び複数の変数の組み合わせについて、部分的な同期系列データを抽出し、
抽出した部分的な同期系列データに基づき多値の高階テンソルを生成し、
生成した高階テンソルに基づき、複数の同期帯及び複数の変数の組み合わせについての第１行列を生成する
処理を実行させるプログラム。
【請求項７】
複数の変数に対する多値の同期系列データから、複数の同期帯及び複数の変数の組み合わせについて、部分的な同期系列データを抽出する抽出部と、
該抽出部により抽出した部分的な同期系列データに基づき多値の高階テンソルを生成する生成部と、
該生成部により生成した高階テンソルに基づき、複数の同期帯及び複数の変数の組み合わせについての第１行列を生成する第１行列生成部と
を備える情報処理装置。
【請求項８】
制御部を有するコンピュータを用いた情報処理方法において、
複数の変数に対する多値の同期系列データから、前記制御部により複数の同期帯及び複数の変数の組み合わせについて、部分的な同期系列データを抽出し、
抽出した部分的な同期系列データに基づき前記制御部により多値の高階テンソルを生成し、
生成した高階テンソルに基づき、前記制御部により複数の同期帯及び複数の変数の組み合わせについての第１行列を生成する
情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム、情報処理装置及び情報処理方法に関する。
【背景技術】
【０００２】
従来、データクラスタ化のための距離計算の回数を減らす技術等が提案されている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平１１−２１９３７４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来の技術では、データ間で等価性のある構造を適切に抽出できないという問題があった。
【０００５】
一つの側面では、本発明はデータ間で等価性のある構造を適切に抽出することが可能なプログラム等を提供することを目的とする。
【課題を解決するための手段】
【０００６】
一つの態様では、コンピュータに、複数の変数に対する２値の時系列データから、複数の時間帯及び複数の変数の組み合わせについて、部分的な時系列データを抽出し、抽出した部分的な時系列データに基づき２値の高階テンソルを生成し、生成した高階テンソルに基づき、複数の時間帯及び複数の変数の組み合わせについての第１行列を生成する処理を実行させる。
【発明の効果】
【０００７】
一つの側面では、データ間で等価性のある構造を適切に抽出することが可能となる。
【図面の簡単な説明】
【０００８】
【図１】情報処理装置のハードウェア群を示すブロック図である。
【図２】時系列データを示す説明図である。
【図３】部分的な時系列データ及び第１行列を示す説明図である。
【図４】分布等価性群の生成手順を示す説明図である。
【図５】３階テンソルを示す説明図である。
【図６】DEGs状態の一覧を示す説明図である。
【図７】修正後DEGs度数行列を示す説明図である。
【図８】ヒートマップ及びデンドログラムを示す説明図である。
【図９】等価性構造抽出処理の全体的な流れを示すフローチャートである。
【図１０】DEGs度数行列Fを生成する際の手順を示すフローチャートである。
【図１１】インデックスの算出手順を示すフローチャートである。
【図１２】相互情報量の算出手順を示すフローチャートである。
【図１３】修正DEGs度数行列Gの算出手順を示すフローチャートである。
【図１４】等価性構造の出力処理手順を示すフローチャートである。
【図１５】上述した形態のコンピュータの動作を示す機能ブロック図である。
【図１６】実施の形態２に係るコンピュータのハードウェア群を示すブロック図である。
【発明を実施するための形態】
【０００９】
実施の形態１
以下実施の形態を、図面を参照して説明する。図１は情報処理装置１のハードウェア群を示すブロック図である。情報処理装置１は例えばサーバコンピュータ、パーソナルコンピュータ、携帯電話機、ＰＤＡ（Personal Digital Assistant）等である。以下ではパーソナルコンピュータ１を用いた例を挙げて説明し、またパーソナルコンピュータ１をコンピュータ１と略して説明する。コンピュータ１は制御部としてのＣＰＵ（Central Processing Unit）１１、ＲＡＭ(Random Access Memory)１２、入力部１３、表示部１４、記憶部１５、及び通信部１６等を含む。ＣＰＵ１１は、バス１７を介してハードウェア各部と接続されている。ＣＰＵ１１は記憶部１５に記憶された制御プログラム１５Ｐに従いハードウェア各部を制御する。ＲＡＭ１２は例えばＳＲＡＭ（Static RAM）、ＤＲＡＭ(Dynamic RAM)、フラッシュメモリ等である。ＲＡＭ１２は、記憶部としても機能し、ＣＰＵ１１による各種プログラムの実行時に発生する種々のデータを一時的に記憶する。
【００１０】
入力部１３はマウスまたはキーボード、マウスまたはタッチパネル等の入力デバイスであり、受け付けた操作情報をＣＰＵ１１へ出力する。表示部１４は液晶ディスプレイまたは有機ＥＬ（electroluminescence）ディスプレイ等であり、ＣＰＵ１１の指示に従い各種情報を表示する。通信部１６は通信モジュールであり、通信網Ｎを介して他のコンピュータ（図示せず）との間で情報の送受信を行う。ＣＰＵ１１は、図示しないカメラ、マイクまたは各種センサ等から、画像データ、音声データまたはセンサデータ等を２値化した時系列データを取り込み、記憶部１５に記憶する。ＣＰＵ１１は、時系列データに対し、以下の処理を行う。
【００１１】
図２は時系列データを示す説明図である。図２横軸の系列は時刻であり、縦軸の系列は変数である。各変数は、｛A(t),B(t), …, H(t)}とする時系列データを有する。本実施形態ではＡ〜Ｈまで８つの変数を有する例を挙げて説明する。なお、変数は２以上の複数であれば良い。枠内に記載した黒色丸印は２値データの１を示し、空欄は２値データの０を示す。図２の例ではｔ＝１の場合、変数Ｂのみが２値データ１であり、他の変数の２値データは０である。なお、本実施形態では説明を容易にするために２値の例を挙げて説明するが、２以上の多値であれば良い。また本実施形態では複数の変数に対する同期系列として、時系列データを例に挙げるが、これに限るものではない。すなわち、入力の複数の系列変数を同期させる例を物理的な時刻としているが、何らかの同期軸が存在すれば良い。例えば、全ての変数において系列上の位置を共通に表す値（例えばy(1),y(2),y(3)・・・）を用いれば良い。
【００１２】
図３は部分的な時系列データ及び第１行列を示す説明図である。図４は分布等価性群の生成手順を示す説明図である。分布等価性群(以下場合により、DEGsという：Distribution Equivalent Groups)は、二値の多次元同期系列での部分空間において出現するパターンの有無を表す高階二値テンソル表現である。階数は(DEGsのために取り出す)部分空間の次元数であり、２以上の複数階数であれば良い。本実施形態では次元数が３変数{ｘ１、ｘ２、ｘ３}であるので、階数を３であるものとして説明する。ＣＰＵ１１は、複数の変数について、複数の連続する単位時刻の集合である時間帯の２値の時系列データ（以下、局所シークエンス）を抽出する。具体的には、ＣＰＵ１１は、３変数{ｘ１、ｘ２、ｘ３}について，局所時刻(τ)での4時刻分の局所シークエンスから，4つの部分空間パターンb(τ)を取り出す。なお、τ＝｛０,１,２,３｝である。なお、２値よりも大きい多値を用いる場合、値数に応じた多値テンソルをDEGsとして用いる。例えば３値の多次元同期系列に対して，５次元の部分空間をDEGsへの入力として用いる場合には〈３，３，３，３，３〉の５階３値テンソルを用いることとなる。
【００１３】
図４Ａは局所シークエンスを示す。ＣＰＵ１１は、局所シークエンスから図４Ｂに示すように部分空間パターンの集合に分解する。ｂ（０）の場合、ｘ２＝１のため、ｂ（０）＝０１０となる。ｂ（１）の場合、ｘ１＝１であるため、ｂ（１）＝１００となる。ｂ（２）の場合、ｘ２＝１のため、ｂ（２）＝０１０となる。ｂ（３）の場合、ｘ３＝１のため、ｂ（３）＝００１となる。３階テンソルの一要素であるDEG状態cbは，8(=23)個のテンソル成分(b=000〜111)において、局所シークエンス内にて、一度以上出現する部分空間パターンbについてはcb=1とし，それ以外はcb=0とする。
【００１４】
図５は３階テンソルを示す説明図である。横方向を変数x1、奥行き方向を変数x2、高さ方向を変数x3とする。図４Ｃは図５に示す２値の３階テンソル＜２，２，２＞であるDEGs状態を展開して平面的に表示したものである。ハッチングで示すC010、C100、C001のDEG状態Cb＝１となる。それ以外はDEG状態Cb=０となる。
【００１５】
ＣＰＵ１１は、生成した２値の高階テンソル（以下場合によりDEGs状態という）に基づき、変数の組み合わせ（以下場合により部分空間という）を分類するために用いる第１行列を生成する。以下では第１行列をDEGs度数行列Fという。図３にDEGs度数行列Fを示す。DEGs度数行列Fは列値がインデックスｖであり、縦方向が変数の組合せｕである。本実施形態では変数が８であるため、8P3によりu=３３６の行が存在する。なお、変数Ａ，Ｂ，及びＣの組合せを内部空間u=0としている。ＣＰＵ１１は、記憶部１５に記憶したDEGs状態に対応するインデックスｖの演算式を読み出す。演算式は以下の式（１）により算出できる。
【００１６】
v = c000 + 2 c100  + 22 c010 + , ...,  +  27 c111    式（１）
【００１７】
ＣＰＵ１１は、行値である変数の組合せuと、列値である算出したインデックスｖとに対応する第１行列の要素をカウントアップする（Fuv= Fuv + 1）。図３の例では、インデックスｖは2+4+16で22となる。ＣＰＵ１１は、u0,22の要素をカウントアップする。これにより一局所シークエンスについてのDEGs度数行列F（適宜u,vを省略する）の要素を算出することができる。またＣＰＵ１１は、特定の部分空間u毎に、局所シークエンスを時刻終端まで１時刻ずつスライドしながら、順次インデックスvを決定してDEGs度数の要素Fuvを引き続き累積する。そして上記の手続を全336(= 8x7x6)通りの順列変数集合である部分空間uについて実行することにより，最終的なDEGs度数行列Ｆを得る。
【００１８】
具体的には、図３に示すように、最初に太枠で示す変数Ａ，Ｂ及びＣについて時間帯ｔ＝１〜４の局所シークエンスを抽出する。ＣＰＵ１１は、抽出した局所シークエンスの値の有無に応じた２値の高階テンソルを生成し、演算式により高階テンソルの値に応じたインデックスｖを求める。次に、ＣＰＵ１１は、点線枠で示すように、時間帯を右方向に１ずらし、変数Ａ，Ｂ及びＣについて時間帯ｔ＝２〜５の局所シークエンスを抽出する。すなわちＣＰＵ１１は、時間帯を一部重複させ、かつ、一単位時刻後ろにずらし、変数Ａ，Ｂ及びＣについて時間帯ｔ＝２〜５の局所シークエンスを抽出する。同様にＣＰＵ１１は、抽出した局所シークエンスの値の有無に応じた２値の高階テンソルを生成し、演算式により高階テンソルの値に応じたインデックスｖを求める。ＣＰＵ１１は、列値であるインデックスｖに対応するDEGs度数行列の要素をカウントアップする。ＣＰＵ１１は、以上の処理を各時間帯について行い、u=0の行の要素を算出する。以下同様に、変数Ａ，Ｂ及びＣについて次の時間帯ｔ＝３〜６の局所シークエンスを抽出する。
【００１９】
ＣＰＵ１１は時間帯が終端に達した場合、複数の変数の他の組合せについても同様の処理を行う。図３の例では、時間帯ｔ＝４〜７の場合に終端となる。ＣＰＵ１１は、次の組合せとして変数Ｂ，Ｃ及びＤ、時間帯ｔ＝１〜４の局所シークエンスを抽出し、高階テンソルを生成する。ＣＰＵ１１は、同様の処理により部分空間u=1のインデックスｖを求め、u=1のインデックスｖに対応するDEGs度数行列の要素をカウントアップする。ＣＰＵ１１は、再び時間帯をずらして同様の処理を行う。ＣＰＵ１１は、以上の処理を繰り返し行うことで、DEGs度数行列Fの要素を得る。
【００２０】
図６はDEGs状態の一覧を示す説明図である。3階テンソルに依るDEGs状態は23=8通りの部分空間パターンの有無cbにより表現され，そのバリエーションは2を23乗して=256通りである。Ivは相互情報量であり、入力とは無関係にDEGs状態毎に予め決定されている量である。相互情報量は複数の変数の各エントロピーを加算した値から、複数の変数の結合エントロピーを減じた値である。確率変数Xに対するエントロピーはH(X)=-ΣPi log2 Pi として求められる。そして3変数に対する相互情報量は、３つの周辺エントロピーの和から、結合エントロピーを差し引いた値であり、変数間の関係性の強さを表現する。つまり、相互情報量は以下の式２で表される。
相互情報量Iv= H(x1) + H(x2) + H(x3) − H(x1, x2, x3)   (式２)
【００２１】
例えば図４および図５に示したv＝２２の場合では，３変数(成分)を考慮した場合には，8つの要素に対して3要素に値が存在するので，ここに等確率に確率変数(1/3)を割り振ると仮定する。この場合、結合エントロピーは，H(x1, x2, x3) = - 3 Σ (1/3) log2(1/3) =1.59となる。変数x1の成分のみを考慮した場合にはx1=0となる確率が2/3で，x1=1となる確率が1/3であるためその周辺エントロピーはH(x1)= - (2/3) log2(2/3) - (1/3) log2 (1/3) =0.92となる。周辺エントロピーH(x2)とH(x3) もH(x1)と同じ値の0.92をとる。従って、相互情報量Ivは(式２)より，[0.92+0.92+0.92-1.59] = 1.170 となる。
【００２２】
次いでＣＰＵ１１は、相互情報量IvをDEGs度数行列Fに乗ずることで重み付けがなされた修正後のDEGs度数行列Guv（第２行列）を得る。図７は修正後DEGs度数行列を示す説明図である。図７に示すように、相互情報量Ivを一行、２５６列の行列として、DEGs度数行列Fuvに左から乗じることにより、修正後のDEGs度数行列Guv(以下、適宜u,vを省略する)を算出する。
【００２３】
ＣＰＵ１１は、DEGs度数行列FまたはDEGs度数行列Gに対し部分空間uに対するクラスタリングを行う。なお、本実施形態ではDEGs度数行列Ｇに対してクラスタリングを行う例を挙げて説明する。なお、クラスタリングは階層的クラスタリング、K-means法等他のアルゴリズムを用いても良い。本実施形態では一例として階層的クラスタリングを用いる例を説明する。ＣＰＵ１１は、DEGs度数行列Ｇに含まれる全ての部分空間（複数の変数）ペアの距離を計算する。本例では，336次元なので，(336×335/2)個のユークリッド距離がYとして出力される。ＣＰＵ１１は、距離Yを入力として、近い部分空間同士から順次つなげていくデータ構造を生成し、Zとして出力する。ＣＰＵ１１は、Zを入力として，階段上のデンドログラムを作成する。ＣＰＵ１１は、デンドログラムにおいて適当な閾値を設定することで，様々な粒度のクラスタを得る。
【００２４】
図８はヒートマップ及びデンドログラムを示す説明図である。ヒートマップは白黒の濃淡で示しており、最も濃い黒色が行列の値０であり、色が薄くなるほど行列の値が大きくなることを示す。縦軸方向が部分空間（変数の組み合わせ）を示し、本例では３６６通り存在する。横軸方向はインデックスｖの値である。ｖは正または０をとり，２５６通り存在するが、図８の例では有効な正の値をとる要素のみ（6,18,20,7,19,21,22,23）を表示している。
【００２５】
ＣＰＵ１１は、DEGs度数行列Ｇを参照し、クラスタ内の部分空間に対応する行列Ｇの値の合計値（修正DEGs度数和）を算出する。ＣＰＵ１１は、合計値を、クラスタ別に算出する。ＣＰＵ１１は、クラスタ内の合計値を、クラスタ内の部分空間総数(変数の組合せ総数)で除すことでクラスタ毎の平均値を算出する。ＣＰＵ１１は、記憶部１５に予め記憶した閾値を読み出す。ＣＰＵ１１は、平均値が閾値以上のクラスタを抽出する。ＣＰＵ１１は、抽出したクラスタの部分空間を、等価とみなしうる部分空間の集合である等価性構造として抽出する。図８の例では等価性構造を持つ変数の組合せとして、「E,D,C」、「B,C,D」等が抽出されている。
【００２６】
以上のハードウェアにおいて各ソフトウェア処理を、フローチャートを用いて説明する。図９は等価性構造抽出処理の全体的な流れを示すフローチャートである。ＣＰＵ１１は、制御プログラム１５Ｐを実行し、DEGs度数行列Fの生成を行う（ステップＳ９１）。その後、ＣＰＵ１１は、相互情報量及びDEGs度数行列Fに基づき修正DEGs度数行列Gを算出する（ステップＳ９２）。最後にＣＰＵ１１は、クラスタリングを行い、等価性構造の抽出を行う（ステップＳ９３）。以下各ステップの詳細を説明する。なお、後述するようにステップＳ９２の処理を行わず、DEGs度数行列F に対して、ステップＳ９３の処理を行っても良い。
【００２７】
図１０はDEGs度数行列Fを生成する際の手順を示すフローチャートである。ＣＰＵ１１は、最初に図２に示す複数の変数の２値の時系列データをＲＡＭ１２に展開する。ＣＰＵ１１は、DEGs度数行列Fを生成し、全ての要素Fuvを０に初期化する（ステップＳ１０１）。ＣＰＵ１１は、全ての部分空間を処理したか否かを判断する（ステップＳ１０２）。ＣＰＵ１１は、全ての部分空間について処理を行っていないと判断した場合（ステップＳ１０２でＮＯ）、処理をステップＳ１０３へ移行させる。ＣＰＵ１１は、部分空間uを一つ選択する（ステップＳ１０３）。なお、図２の例では、時間帯の初期値がｔ＝１〜４、変数の組み合わせの初期値がＡ、Ｂ、Ｃとする部分空間が最初に選択される。部分空間ｕの初期値は０であり、最終値は３６５である。
【００２８】
ＣＰＵ１１は、記憶部１５に記憶した最終の時間帯までの局所シークエンスを処理したか否かを判断する（ステップＳ１０４）。図２の例では、ＣＰＵ１１は、最終の時間帯ｔ＝４〜７の局所シークエンスを処理したか否かを判断する。ＣＰＵ１１は、最終の時間帯までの局所シークエンスを処理したと判断していない場合（ステップＳ１０４でＮＯ）、処理をステップＳ１０５へ移行させる。ＣＰＵ１１は、取得した局所シークエンスに対応するインデックスｖを取得する（ステップＳ１０５）。なお、ステップＳ１０５の処理は後述する。
【００２９】
ＣＰＵ１１は、DEGs度数行列Fの対応する要素Fuvに1を加算する（ステップＳ１０６）。具体的には、ＣＰＵ１１は、ステップＳ１０３で選択した部分空間ｕの値と、ステップＳ１０５で取得したインデックスｖとに対応する要素に１を加算する。ＣＰＵ１１は、開始時刻を一つずらし、新たな局所シークエンスを得る（ステップＳ１０７）。図２の例では次に、変数Ａ、Ｂ、Ｃについて時間帯ｔ＝２〜５の時系列データが選択される。その後処理をステップＳ１０４に戻す。以上の処理を繰り返すことにより、ｕ＝１、すなわち変数Ａ、Ｂ，Ｃについての各時間帯についてのインデックスｖが得られることとなる。
【００３０】
ＣＰＵ１１は、最終の時間帯までの局所シークエンスを処理したと判断した場合（ステップＳ１０４でＹＥＳ）、処理をステップＳ１０２に戻す。これにより、次いで、部分空間ｕ＝２（変数の組み合わせＡ、Ｂ、Ｄ）、３、・・・について順次処理が行われる。ＣＰＵ１１は、全ての部分空間を処理したと判断した場合（ステップＳ１０２でＹＥＳ）、一連の処理を終了する。
【００３１】
図１１はインデックスの算出手順を示すフローチャートである。ＣＰＵ１１は、DEGs状態（高階テンソル）を生成し、全ての要素Cbを初期化する（ステップＳ１１１）。具体的には本実施形態では２，２，２の3階テンソルのCbを０に初期化する。ＣＰＵ１１は、全ての局所時刻τについての部分空間パターンを取り出したか否かを判断する（ステップＳ１１２）。ＣＰＵ１１は、全ての局所時刻τについての部分空間パターンを取り出していないと判断した場合（ステップＳ１１２でＮＯ）、処理をステップＳ１１３へ移行させる。ＣＰＵ１１は、局所時刻τの部分空間パターンb(τ)を選択する（ステップＳ１１３）。
【００３２】
図４に示す例では、最初にb(0)が選択される。ＣＰＵ１１は、DEGs状態においてCb(τ)=0か否かを判断する（ステップＳ１１４）。ＣＰＵ１１は、Cb(τ)=0と判断した場合（ステップＳ１１４でＹＥＳ）、処理をステップＳ１１２に戻す。具体的には、ＣＰＵ１１は、部分空間パターンb(0)に２値のデータが記憶されていない場合、Cb(τ)=0と判断し、処理をステップＳ１１２に戻す。ＣＰＵ１１は、τに１を加算し、同様の処理を繰り返す。ＣＰＵ１１は、Cb(τ)=0でないと判断した場合（ステップＳ１１４でＮＯ）、処理をステップＳ１１５へ移行させる。ＣＰＵ１１は、Cb(τ)=１に設定する（ステップＳ１１５）。具体的には、ＣＰＵ１１は、局所時刻τについての部分空間パターン中、時系列データとして１が記憶されている変数に対応するDEGs状態（高階テンソル）の値を１とする。図４の例では、b(0)=010の場合、変数x2のみが２値データ「１」であるので、C010が「１」となる。また、b(1)=100の場合、変数x1のみが２値データ「１」であるので、C100が「１」となる。b(3)=001の場合、変数x3のみが２値データ「１」であるので、C001が「１」となる。
【００３３】
ＣＰＵ１１は、その後処理をステップＳ１１２に戻す。以上の処理を繰り返すことにより、全ての部分空間パターンb(τ)についての処理が終了する。ＣＰＵ１１は、記憶部１５に記憶した式（１）で示す演算式を読み出す（ステップＳ１１６）。ＣＰＵ１１は、生成したDEGs状態の２値のデータの有無に応じた値を演算式に代入する（ステップＳ１１７）。これによりＣＰＵ１１は、部分空間uに対するインデックスｖを取得する（ステップＳ１１８）。
【００３４】
図１２は相互情報量の算出手順を示すフローチャートである。ＣＰＵ１１は、変数の数及び時間帯と同サイズの高階２値テンソルを生成し、全ての要素を０に初期化する（ステップＳ１２１）。本実施形態では<2,2,2>の３階テンソルとなる。ＣＰＵ１１は、相互情報量ベクトルIvを生成し、全ての要素を０に初期化する（ステップＳ１２２）。本実施形態では２５６通り存在する。ＣＰＵ１１は、全てのDEGs状態を処理したか否かを判断する（ステップＳ１２３）。具体的には、ＣＰＵ１１は、２５６通りの全てについて処理したか否かを判断する。
【００３５】
ＣＰＵ１１は、全てのDEGs状態を処理していないと判断した場合（ステップＳ１２３でＮＯ）、処理をステップＳ１２４へ移行させる。ＣＰＵ１１は、DEG状態を一つ選択する（ステップＳ１２４）。図６の例ではｖ＝０が最初に選択される。ＣＰＵ１１は、DEG状態中で、Cb=1である要素を計数し、ｋ個とする（ステップＳ１２５）。図６の例ではｖ＝２５５の場合、ｋ＝8となる。ＣＰＵ１１は、高階２値テンソル中でCb=1である要素の確率変数を1/kに設定する（ステップＳ１２６）。ＣＰＵ１１は、結合エントロピーH(x1,x2,x3)を計算する（ステップＳ１２７）。
【００３６】
ＣＰＵ１１は、全ての成分について処理したか否かを判断する（ステップＳ１２８）。具体的には、ＣＰＵ１１は、以下に述べるテンソル成分x1,x2,x3の全てについて処理を行ったか否かを判断する。ＣＰＵ１１は、全ての成分について処理していない場合（ステップＳ１２８でＮＯ）、処理をステップＳ１２９へ移行させる。ＣＰＵ１１は、テンソル成分xiを一つ選択する（ステップＳ１２９）。ＣＰＵ１１は、周辺エントロピーH(xi)を計算する（ステップＳ１２１０）。ＣＰＵ１１は、その後処理をステップＳ１２８へ戻す。ＣＰＵ１１は、全ての成分を処理したと判断した場合（ステップＳ１２８でＹＥＳ）、処理をステップＳ１２１２へ移行させる。
【００３７】
ＣＰＵ１１は、記憶部１５から式２を読み出し、各周辺エントロピーの合計値から結合エントロピーを減じることで、相互情報量を計算し、相互情報量ベクトルＩのｖ番目の要素Ivを登録する（ステップＳ１２１２）。ＣＰＵ１１はその後処理をステップＳ１２３に戻す。ＣＰＵ１１は、以上述べた処理を全てのDEGs状態について処理したと判断した場合（ステップＳ１２３でＹＥＳ）、一連の処理を終了する。
【００３８】
図１３は修正DEGs度数行列Gの算出手順を示すフローチャートである。ＣＰＵ１１は、図１０で算出したDEGs度数行列Fuvを読み出す（ステップＳ１０１）。ＣＰＵ１１は、記憶部１５から相互情報量Ivを読み出す（ステップＳ１０２）。ＣＰＵ１１は、Iv×Fuvにより修正DEGs度数行列Guvを算出する（ステップＳ１０３）。
【００３９】
図１４は等価性構造の出力処理手順を示すフローチャートである。ＣＰＵ１１は、修正DEGs度数行列Gに対して、階層クラスタリングを実施し、デンドログラムを得る（ステップＳ１４１）。ＣＰＵ１１は、記憶部１５に記憶した閾値で、デンドログラムを分離し、部分空間のクラスタを複数生成する（ステップＳ１４２）。ＣＰＵ１１は、クラスタ内の部分空間ｕの要素の合計値を算出する（ステップＳ１４３）。例えば、図７の例で部分空間ｕ=0、１、３５５が同じクラスタにクラスタリングされた場合、G0,0   G0,1          ...   G0,v      ...   G0,255の各要素、G1,0   G1,1          ...   G1,v      ...   G1,255の各要素及びG335,0   G335,1     ...   G335,v   ...   G335,255の各要素を加算し、合計値を求める。なお、本実施形態では修正DEGs度数行列Gについての処理例を挙げたが、DEGs度数行列Fについても同様の処理を行えばよい。
【００４０】
ＣＰＵ１１は、合計値をクラスタ内の部分空間uの総数で除し、平均値を算出する（ステップＳ１４４）。上述した例では部分空間uの総数３で、合計値を除し、平均値を算出する。ＣＰＵ１１は、全てのクラスタについて処理を終了したか否かを判断する（ステップＳ１４５）。ＣＰＵ１１は、全てのクラスタについて処理を終了していないと判断した場合（ステップＳ１４５でＮＯ）、処理をステップＳ１４３に戻す。これにより、各クラスタの等価性を評価する指標となる平均値が算出される。
【００４１】
ＣＰＵ１１は、全てのクラスタについて処理を終了したと判断した場合（ステップＳ１４５でＹＥＳ）、処理をステップＳ１４６へ移行させる。ＣＰＵ１１は、記憶部１５から閾値を読み出す（ステップＳ１４６）。ＣＰＵ１１は、読み出した閾値以上のクラスタを抽出する（ステップＳ１４７）。ＣＰＵ１１は、抽出したクラスタ内の部分空間を等価性構造として出力する（ステップＳ１４８）。これにより、精度良く等価性構造を抽出することが可能となる。またDEGs内部の相互情報量Ivによる修正DEGs度数行列Gを用いることで、予測性への貢献が小さいノイズを排除でき、より有用な等価性構造を抽出することが可能となる。
【００４２】
実施の形態２
図１５は上述した形態のコンピュータ１の動作を示す機能ブロック図である。ＣＰＵ１１が制御プログラム１５Ｐを実行することにより、サーバコンピュータ１は以下のように動作する。抽出部１０１は、複数の変数に対する２値の時系列データから、複数の時間帯及び複数の変数の組み合わせについて、部分的な時系列データを抽出する。生成部１０２は、抽出部１０１により抽出した部分的な時系列データに基づき２値の高階テンソルを生成する。第１行列生成部１０３は生成部１０２により生成した高階テンソルに基づき、複数の時間帯及び複数の変数の組み合わせについての第１行列を生成する。
【００４３】
図１６は実施の形態２に係るコンピュータ１のハードウェア群を示すブロック図である。コンピュータ１を動作させるためのプログラムは、ディスクドライブ等の読み取り部１０ＡにCD-ROM、DVD（Digital Versatile Disc）ディスク、メモリーカード、またはUSB(Universal Serial Bus)メモリ等の可搬型記録媒体１Ａを読み取らせて記憶部１５に記憶しても良い。また当該プログラムを記憶したフラッシュメモリ等の半導体メモリ１Ｂをコンピュータ１内に実装しても良い。さらに、当該プログラムは、インターネット等の通信網Ｎを介して接続される他のサーバコンピュータ（図示せず）からダウンロードすることも可能である。以下に、その内容を説明する。
【００４４】
図１６に示すコンピュータ１は、上述した各種ソフトウェア処理を実行するプログラムを、可搬型記録媒体１Ａまたは半導体メモリ１Ｂから読み取り、或いは、通信網Ｎを介して他のサーバコンピュータ（図示せず）からダウンロードする。当該プログラムは、制御プログラム１５Ｐとしてインストールされ、ＲＡＭ１２にロードして実行される。これにより、上述したコンピュータ１として機能する。
【００４５】
本実施の形態２は以上の如きであり、その他は実施の形態１と同様であるので、対応する部分には同一の参照番号を付してその詳細な説明を省略する。
【００４６】
以上の実施の形態１及び２を含む実施形態に関し、さらに以下の付記を開示する。
【００４７】
（付記１）
コンピュータに、
複数の変数に対する２値の時系列データから、複数の時間帯及び複数の変数の組み合わせについて、部分的な時系列データを抽出し、
抽出した部分的な時系列データに基づき２値の高階テンソルを生成し、
生成した高階テンソルに基づき、複数の時間帯及び複数の変数の組み合わせについての第１行列を生成する
処理を実行させるプログラム。
【００４８】
（付記２）
相互情報量ベクトルを前記第１行列に乗じて第２行列を生成する
処理を実行させる付記１に記載のプログラム。
【００４９】
（付記３）
前記第２行列に対し、クラスタリングを行って複数のクラスタを生成し、
各クラスタ内の複数の変数の組み合わせに対応する前記第２行列の値の合計値を算出し、
前記合計値をクラスタ内の変数の組み合わせ総数で除し、各クラスタの平均値を算出し、
算出した平均値が閾値以上のクラスタ内の変数の組み合わせを抽出する
付記２に記載のプログラム。
【００５０】
（付記４）
前記第１行列に対し、クラスタリングを行って複数のクラスタを生成し、
各クラスタ内の複数の変数の組み合わせに対応する前記第１行列の値の合計値を算出し、
前記合計値をクラスタ内の変数の組み合わせ総数で除し、各クラスタの平均値を算出し、
算出した平均値が閾値以上のクラスタ内の変数の組み合わせを抽出する
付記１に記載のプログラム。
【００５１】
（付記５）
複数の変数に対する２値の時系列データから、時間帯をずらしながら変数の組み合わせに対する部分的な時系列データを複数抽出し、
抽出した部分的な時系列データに基づき時間帯毎に２値の高階テンソルを生成し、
生成した時間帯毎の高階テンソルに基づき、前記変数の組み合わせに対する第１行列の列値を算出する
付記１〜４の何れか一つに記載のプログラム。
【００５２】
（付記６）
複数の変数に対する２値の時系列データから、時間帯をずらしながら、前記変数の組み合わせとは異なる変数の組み合わせに対する部分的な時系列データを複数抽出する
付記５に記載のプログラム。
【００５３】
（付記７）
２値の高階テンソルに対応する演算式を記憶部から読み出し、
生成した高階テンソルの２値データの有無に応じた値を前記演算式に代入することにより、複数の変数に対する第１行列の列値を算出する
付記５または６に記載のプログラム。
【００５４】
（付記８）
相互情報量は、複数の変数の各エントロピーを加算した値から、複数の変数の結合エントロピーを減じた値である
付記２に記載のプログラム。
【００５５】
（付記９）
複数の変数に対する２値の時系列データから、複数の時間帯及び複数の変数の組み合わせについて、部分的な時系列データを抽出する抽出部と、
該抽出部により抽出した部分的な時系列データに基づき２値の高階テンソルを生成する生成部と、
該生成部により生成した高階テンソルに基づき、複数の時間帯及び複数の変数の組み合わせについての第１行列を生成する第１行列生成部と
を備える情報処理装置。
【００５６】
（付記１０）
制御部を有するコンピュータを用いた情報処理方法において、
複数の変数に対する２値の時系列データから、前記制御部により複数の時間帯及び複数の変数の組み合わせについて、部分的な時系列データを抽出し、
抽出した部分的な時系列データに基づき前記制御部により２値の高階テンソルを生成し、
生成した高階テンソルに基づき、前記制御部により複数の時間帯及び複数の変数の組み合わせについての第１行列を生成する
情報処理方法。
【００５７】
（付記１１）
コンピュータに、
複数の変数に対する多値の同期系列データから、複数の同期帯及び複数の変数の組み合わせについて、部分的な同期系列データを抽出し、
抽出した部分的な同期系列データに基づき多値の高階テンソルを生成し、
生成した高階テンソルに基づき、複数の同期帯及び複数の変数の組み合わせについての第１行列を生成する
処理を実行させるプログラム。
【００５８】
（付記１２）
複数の変数に対する多値の同期系列データから、複数の同期帯及び複数の変数の組み合わせについて、部分的な同期系列データを抽出する抽出部と、
該抽出部により抽出した部分的な同期系列データに基づき多値の高階テンソルを生成する生成部と、
該生成部により生成した高階テンソルに基づき、複数の同期帯及び複数の変数の組み合わせについての第１行列を生成する第１行列生成部と
を備える情報処理装置。
【００５９】
（付記１３）
制御部を有するコンピュータを用いた情報処理方法において、
複数の変数に対する多値の同期系列データから、前記制御部により複数の同期帯及び複数の変数の組み合わせについて、部分的な同期系列データを抽出し、
抽出した部分的な同期系列データに基づき前記制御部により多値の高階テンソルを生成し、
生成した高階テンソルに基づき、前記制御部により複数の同期帯及び複数の変数の組み合わせについての第１行列を生成する
情報処理方法。
【符号の説明】
【００６０】
１      コンピュータ
１Ａ    可搬型記録媒体
１Ｂ    半導体メモリ
１０Ａ  読み取り部
１１    ＣＰＵ
１２    ＲＡＭ
１３    入力部
１４    表示部
１５    記憶部
１５Ｐ  制御プログラム
１６    通信部
１０１  抽出部
１０２  生成部
１０３  第１行列生成部
Ｎ    通信網
【図１】
2014229142.tif 000003
【図２】
2014229142.tif 000004
【図３】
2014229142.tif 000005
【図４】
2014229142.tif 000006
【図５】
2014229142.tif 000007
【図６】
2014229142.tif 000008
【図７】
2014229142.tif 000009
【図９】
2014229142.tif 000010
【図１０】
2014229142.tif 000011
【図１１】
2014229142.tif 000012
【図１２】
2014229142.tif 000013
【図１３】
2014229142.tif 000014
【図１４】
2014229142.tif 000015
【図１５】
2014229142.tif 000016
【図１６】
2014229142.tif 000017
【図８】
2014229142.tif 000018