(57)【要約】      （修正有）【課題】多次元尺度構成法においては、入力される時系列データが変わると、同一のデータであったとしても位置関係が変わる。従って、新たに取得したデータと既に取得したデータとの関係を継続的に把握することは困難である。データ間の関係を容易に把握可能な態様で可視化する技術を提供する。【解決手段】本可視化方法は、複数の入力データからそれぞれ生成された複数のベクトルから、複数のベクトル間の位置関係が維持される次元圧縮により複数の変換ベクトルを生成し、複数の変換ベクトルをプロットする処理を含む。【選択図】図１０
2019096977.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、
複数の入力データからそれぞれ生成された複数のベクトルから、前記複数のベクトル間の位置関係が維持される次元圧縮により複数の変換ベクトルを生成し、
前記複数の変換ベクトルをプロットする、
処理を実行させる可視化プログラム。
【請求項２】
前記コンピュータに
前記複数の入力データそれぞれから、当該入力データと複数の基準データとの間の距離を成分とするベクトルを生成する、
処理をさらに実行させる請求項１記載の可視化プログラム。
【請求項３】
前記次元圧縮は、データ格納部に格納され且つ予め算出された変換則を用いて行われる、
請求項２記載の可視化プログラム。
【請求項４】
前記コンピュータに、
前記複数の基準データから生成された複数のベクトルを入力とする自己符号化器のパラメータを算出し、
前記自己符号化器のパラメータのうち符号化のパラメータを含む変換則を、前記データ格納部に格納する、
処理をさらに実行させる請求項３記載の可視化プログラム。
【請求項５】
前記コンピュータに、
前記複数の基準データから生成された複数のベクトルに対する主成分分析を実行し、
前記主成分分析の結果に含まれる変換則を、前記データ格納部に格納する、
処理をさらに実行させる請求項３記載の可視化プログラム。
【請求項６】
前記自己符号化器のパラメータを算出する処理において、
前記自己符号化器の入力と出力との差と、複数の状態の分類に関するラベル情報と、前記複数の基準データから生成された前記複数のベクトルがプロットされる領域のサイズの情報とに基づく目的関数を最小化する最適化問題を解くことで、前記自己符号化器のパラメータを算出する、
処理をさらに実行させる請求項４記載の可視化プログラム。
【請求項７】
前記複数の状態は、少なくとも２つの正常状態を含む、
請求項６記載の可視化プログラム。
【請求項８】
前記複数の状態は、少なくとも１つの正常状態と少なくとも１つの異常状態とを含む、
請求項６記載の可視化プログラム。
【請求項９】
コンピュータが、
複数の入力データからそれぞれ生成された複数のベクトルから、前記複数のベクトル間の位置関係が維持される次元圧縮により複数の変換ベクトルを生成し、
前記複数の変換ベクトルをプロットする、
処理を実行する可視化方法。
【請求項１０】
複数の入力データからそれぞれ生成された複数のベクトルから、前記複数のベクトル間の位置関係が維持される次元圧縮により複数の変換ベクトルを生成する変換部と、
前記複数の変換ベクトルをプロットする出力部と、
を有する可視化装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データの可視化技術に関する。
【背景技術】
【０００２】
時系列で取得されたデータ（以下、時系列データと呼ぶ）を基に異常を検知することが行われている。例えば或る方法においては、正常状態時のデータから抽出した特徴量（例えば統計量）と、対象のデータから抽出した特徴量との比較に基づき異常が発生したか否か判定される。
【０００３】
但し、上記方法により異常が発生したか否かの判定を行うことはできるものの、発生した異常の原因と過去の異常の原因とが同じであるか等の判定を行うことはできない。例えば、図１に示すような時系列データが取得されたとする。図１において、横軸の値は時間を表し、縦軸の値は特定の項目の値を表す。図１においては、異常状態１１と異常状態１２とが発生しており、異常状態１１および異常状態１２以外の部分は正常状態である。図１の例の場合、上記方法を利用すれば異常状態１１と異常状態１２とが発生したことを検知することは可能である。しかし、異常状態１１の原因と異常状態１２の原因とが異なる（すなわち、異常状態１１の種類と異常状態１２の種類とが異なる）か否かということを判定することはできない。
【０００４】
一方、時系列データ等のデータ間の関係を把握する際に利用される技術として、多次元空間にデータをマッピングする可視化技術である多次元尺度構成法（MultiDimensional Scaling）が知られている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１１−３４２０８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
多次元尺度構成法によれば、或る種類の異常と別の種類の異常とが区別可能な態様で可視化される可能性がある。しかし、多次元尺度構成法においては、新しいデータの追加により再計算が行われると、データ間の位置関係が、新しいデータが追加されていない時の計算結果に基づく位置関係とは変わる。
【０００７】
図２は、多次元尺度構成法について説明する図である。図２（ｂ）及び図２（ｃ）において点２３は図２（ａ）における基準データに対応する点であり、図２（ｂ）において点２３以外の点は枠２１に含まれる時系列データに対応し、図２（ｃ）において点２３以外の点は枠２２に含まれる時系列データに対応する。
【０００８】
このように、多次元尺度構成法においては、入力される時系列データが変わると、同一のデータであったとしても位置関係が変わる。従って、新たに取得したデータと既に取得したデータとの関係を継続的に把握することは困難である。
【０００９】
本発明の目的は、１つの側面では、データ間の関係を容易に把握可能な態様で可視化する技術を提供することである。
【課題を解決するための手段】
【００１０】
一態様に係る可視化方法は、複数の入力データからそれぞれ生成された複数のベクトルから、複数のベクトル間の位置関係が維持される次元圧縮により複数の変換ベクトルを生成し、複数の変換ベクトルをプロットする処理を含む。
【発明の効果】
【００１１】
１つの側面では、データ間の関係を容易に把握可能な態様で可視化できる。
【図面の簡単な説明】
【００１２】
【図１】図１は、時系列データの一例を示す図である。
【図２】図２は、多次元尺度構成法について説明するための図である。
【図３】図３は、第１の実施の形態における可視化装置の機能ブロック図である。
【図４】図４は、第１の実施の形態における第１生成部が実行する処理の処理フローを示す図である。
【図５】図５は、サンプルデータセットとデータセットとの関係を示す図である。
【図６】図６は、サンプルデータセットとデータセットとの関係を示す図である。
【図７】図７は、複数のサンプルデータセット間の距離を成分とする行列の一例を示す図である。
【図８】図８は、自己符号化器の一例を示す図である。
【図９】図９は、自己符号化器におけるエンコードが実行される部分を示す図である。
【図１０】図１０は、第２生成部及び出力部が実行する処理の処理フローを示す図である。
【図１１】図１１は、対象ベクトルの一例を示す図である。
【図１２】図１２は、表示データに基づく表示の一例を示す図である。
【図１３】図１３は、第２の実施の形態における第１生成部が実行する処理の処理フローを示す図である。
【図１４】図１４は、第３の実施の形態における可視化装置の機能ブロック図である。
【図１５】図１５は、第３の実施の形態における第１生成部が実行する処理の処理フローを示す図である。
【図１６】図１６は、自己符号化器のパラメータの算出方法について説明するための図である。
【図１７】図１７は、自己符号化器のパラメータの算出方法について説明するための図である。
【図１８】図１８は、自己符号化器のパラメータの算出方法について説明するための図である。
【図１９】図１９は、第３の実施の形態における表示の一例を示す図である。
【図２０】図２０は、第４の実施の形態における第１生成部が実行する処理の処理フローを示す図である。
【図２１】図２１は、既知の状態の数が３である場合におけるニューラルネットワークの一例を示す図である。
【図２２】図２２は、コンピュータの機能ブロック図である。
【発明を実施するための形態】
【００１３】
［実施の形態１］
図３は、第１の実施の形態における可視化装置１の機能ブロック図である。第１の実施の形態における可視化装置１は、受信部１０１と、第１生成部１０３と、第２生成部１０５と、出力部１０７と、データ格納部１１１と、サンプルデータ格納部１１３と、第１距離データ格納部１１５と、第２距離データ格納部１１７と、パラメータ格納部１１９と、結果格納部１２１とを含む。
【００１４】
受信部１０１、第１生成部１０３、第２生成部１０５及び出力部１０７は、例えば、図２２におけるメモリ２５０１に格納されたプログラムが図２２におけるＣＰＵ（Central Processing Unit）２５０３により実行されることで実現される。データ格納部１１１、サンプルデータ格納部１１３、第１距離データ格納部１１５、第２距離データ格納部１１７、パラメータ格納部１１９及び結果格納部１２１は、例えば、メモリ２５０１又は図２２におけるＨＤＤ（Hard Disk Drive）２５０５に設けられる。
【００１５】
受信部１０１は、入力された又は他の装置（例えばジャイロセンサ等）から受信された時系列データをデータ格納部１１１に格納する。時系列データは、例えば、生体データ（心拍数、脳波、脈拍或いは体温などの時系列データ）、センサにより計測されたデータ（ジャイロセンサ、加速度センサ或いは地磁気センサなどの時系列データ）、金融データ（金利、物価、国際収支或いは株価などの時系列データ）、自然環境のデータ（気温、湿度或いは二酸化炭素濃度などの時系列データ）、又は社会データ（労働統計或いは人口統計などのデータ）等である。
【００１６】
第１生成部１０３は、データ格納部１１１に格納されているデータに基づき処理を実行し、処理結果をサンプルデータ格納部１１３に格納する。また、第１生成部１０３は、サンプルデータ格納部１１３に格納されているデータに基づき処理を実行し、処理結果を第１距離データ格納部１１５に格納する。また、第１生成部１０３は、第１距離データ格納部１１５に格納されているデータに基づき処理を実行し、処理結果をパラメータ格納部１１９に格納する。
【００１７】
第２生成部１０５は、データ格納部１１１に格納されているデータ及びサンプルデータ格納部１１３に格納されているデータに基づき処理を実行し、処理結果を第２距離データ格納部１１７に格納する。また、第２生成部１０５は、第１距離データ格納部１１５に格納されているデータ、第２距離データ格納部１１７に格納されているデータ及びパラメータ格納部１１９に格納されているデータに基づき処理を実行し、処理結果を結果格納部１２１に格納する。
【００１８】
出力部１０７は、結果格納部１２１に格納されているデータに基づき表示データを生成し、生成された表示データを出力する処理（例えば、表示装置に表示する処理）を実行する。
【００１９】
次に、図４乃至図１２を用いて、第１の実施の形態における可視化装置１が実行する処理について説明する。
【００２０】
図４は、第１の実施の形態における第１生成部１０３が実行する処理の処理フローを示す図である。
【００２１】
まず、第１生成部１０３は、正常状態時の時系列データをデータ格納部１１１から読み出す（図４：ステップＳ１）。時系列データには正常状態時の部分と異常状態時の部分とが含まれるので、第１生成部１０３は、ユーザから正常状態時の部分（例えば期間）の指定を受け付け、指定された部分の時系列データを読み出す。指定される部分の数は複数であってもよい。
【００２２】
第１生成部１０３は、ステップＳ１において読み出された時系列データから、バラツキが大きくなるように複数のサンプルデータセットを取得し（ステップＳ３）、取得された複数のサンプルデータセットをサンプルデータ格納部１１３に格納する。サンプルデータセットは、例えば、所定長の長さを持つ時系列データである。
【００２３】
複数のサンプルデータセットを取得する理由は、データセットを表現する指標値が１つだとデータセットの特徴の違いが結果に表れにくいためである。図５は、１つのサンプルデータセットと複数のデータセットとの関係を示す図である。図５における点５１はサンプルデータセットを表す点であり、その他の点は対象のデータセットである。図５の例のように、サンプルデータセットの数が１つである場合、サンプルデータセットからの距離（例えばユークリッド距離）を指標値とすると、たとえ３つのデータセットの特徴が違っていたとしても同じ特徴を有するものと判定される可能性がある。一方、図６に示すように、サンプルデータセットを表す点６１乃至６３が存在する場合、複数の距離を指標値として各データセットを表現することができるので、３つのデータセットの特徴の違いを検知できる可能性がある。
【００２４】
また、複数のサンプルデータセットのバラツキを大きくすることも、各データセットの特徴の違いが結果に表れやすくなることに寄与する。バラツキが大きくなるように複数のサンプルデータセットを取得する方法は、例えば、以下のような方法である。具体的には、第１生成部１０３は、全サンプルデータセット間の距離を算出し、距離が最大であるサンプルデータセットの組合せを特定する。第１生成部１０３は、その組合せに含まれる２つのサンプルデータセットの各々について、他のサンプルデータセットとの距離を降順に並び替えて最初から順に探索する。第１生成部１０３は、一方のサンプルデータセットからの距離が現れ且つもう一方のサンプルデータセットからの距離も現れたタイミングが最初のサンプルデータセットを特定する。続いて、第１生成部１０３は、特定されたサンプルデータセットと上記２つのサンプルデータセットとを含む３つのサンプルデータセットについて、同様の処理を実行する。さらに、第１生成部１０３は、サンプルデータセットの数が予め定められた数に達するまで同様の処理を実行する。
【００２５】
図４の説明に戻り、第１生成部１０３は、ステップＳ３において取得された複数のサンプルデータセットをサンプルデータ格納部１１３から読み出す。そして、第１生成部１０３は、複数のサンプルデータセット間の距離を成分とする行列を生成し（ステップＳ５）、生成された行列を第１距離データ格納部１１５に格納する。例えばサンプルデータセットの数が４である場合には、図７に示すような４行４列の行列が生成される。正方形の図形は行列の成分を表す。行列の対角成分の値は、同じサンプルデータセット間の距離を表すので、０である。
【００２６】
第１生成部１０３は、第１距離データ格納部１１５に格納された行列を入力として自己符号化器のパラメータを算出する（ステップＳ７）。自己符号化器のパラメータは、例えば、自己符号化器におけるエンコードの重み及びバイアスと、自己符号化器におけるデコードの重み及びバイアスとを含む。ステップＳ７においては、自己符号化器の入力ｘと出力ｙとの誤差が最小になるようにパラメータが算出される。例えば図７に示したように行列が４行４列の行列であって、且つ圧縮後の次元が２である場合、図８に示すような自己符号化器のパラメータが算出される。
【００２７】
第１生成部１０３は、自己符号化器におけるエンコードのパラメータをパラメータ格納部１１９に保存する（ステップＳ９）。そして処理は終了する。図８に示した自己符号化器の場合、図９に示した枠９１で囲まれた部分においてエンコードが行われるので、枠９１で囲まれた部分についてのパラメータが保存される。
【００２８】
以上のように、自己符号化器におけるエンコード（すなわち次元圧縮）のパラメータを保存しておけば、後でそのパラメータを用いて同様の次元圧縮を行うことができるようになる。これにより、複数の点の位置関係を維持することができるようになる。
【００２９】
図１０は、第２生成部１０５及び出力部１０７が実行する処理の処理フローを示す図である。本処理は、第１生成部１０３が処理を実行した後に実行される。また、実際には複数回実行され複数の対象ベクトルが可視化されるが、説明を簡単にするため、以下では１つの対象ベクトルを処理する例について説明する。
【００３０】
第２生成部１０５は、データ格納部１１１に格納されている時系列データから対象のデータセット（例えば、新たに取得された時系列データの一部）を取得する（図１０：ステップＳ１１）。対象のデータセットは、ユーザから指定されたデータセットであってもよい。
【００３１】
第２生成部１０５は、サンプルデータ格納部１１３に格納されている複数のサンプルデータセットを読み出す。そして、第２生成部１０５は、読み出された複数のサンプルデータセットの各々と対象のデータセットとの距離を算出する（ステップＳ１３）。例えばサンプルデータセットの数が４である場合、４つの距離が算出される。
【００３２】
第２生成部１０５は、ステップＳ１３において算出された距離を成分とする対象ベクトルを生成し（ステップＳ１５）、生成された対象ベクトルを第２距離データ格納部１１７に格納する。例えばサンプルデータセットの数が４である場合、図１１に示すような列ベクトルが生成される。図１１において、正方形の図形は対象ベクトルの成分を表す。
【００３３】
第２生成部１０５は、パラメータ格納部１１９から、自己符号化器における次元圧縮のパラメータを読み出す（ステップＳ１７）。
【００３４】
第２生成部１０５は、ステップＳ１７において読み出されたパラメータに基づき、第２距離データ格納部１１７に格納された対象ベクトルの次元圧縮を実行し（ステップＳ１９）、次元圧縮により生成されたベクトルを結果格納部１２１に格納する。例えば、対象ベクトルが図１１に示したような列ベクトルであり且つ図９の枠９１で示した次元圧縮が行われる場合、対象ベクトルは２次元のベクトルに変換される。
【００３５】
第２生成部１０５は、ステップＳ１７において読み出されたパラメータに基づき、第１距離データ格納部１１５に格納された行列に含まれる各列ベクトルの次元圧縮を実行し、次元圧縮により生成されたベクトルを結果格納部１２１に格納する。そして、出力部１０７は、結果格納部１２１に格納された、対象ベクトルに対する次元圧縮の結果と第１距離データ格納部１１５に格納された行列に含まれる各列ベクトルに対する次元圧縮の結果とを含む表示データを生成し、生成された表示データを出力する（ステップＳ２１）。そして処理は終了する。
【００３６】
以上のように、データを取得して次元圧縮をする度に変換則（すなわち、次元圧縮のパラメータ）を生成するのではなく、予め生成された変換則を使用すれば、プロットされた複数のベクトルの位置関係は維持されるようになる。これにより、データセット間の関係を容易に把握することができるようになる。
【００３７】
図１２は、表示データに基づく表示の一例を示す図である。図１２の例は、次元圧縮により生成されたベクトルが２次元ベクトルである場合の例である。図１２において、横軸の値は１次元目の値を表し、縦軸の値は２次元目の値を表す。枠１２０１に囲まれた点は図１における異常状態１１に対応し、枠１２０２に囲まれた点は図１における異常状態１２に対応し、枠１２０３に囲まれた点は図１において異常状態１１及び異常状態１２以外の部分（すなわち正常状態）に対応する。枠１２０３に囲まれた点のうちハッチングされた点はサンプルデータセットに対応する。
【００３８】
本実施の形態によれば、図１２に示すように、異常状態１１に対応するベクトルと異常状態１２に対応するベクトルとが別々の領域に表示されるので、異常状態１１と異常状態１２とは異なる種類の異常であることを把握することができる。また、正常状態に対応するベクトルは、異常状態１１に対応するベクトルがプロットされた領域及び異常状態１２に対応するベクトルがプロットされた領域のいずれとも異なる領域に表示される。従って、第１の実施の形態によれば、ユーザはデータセット間の関係を容易に把握することができるようになる。
【００３９】
また、図１２に示した状態の分布に対して新たに点が追加されたとしても、多次元尺度構成法を使用した場合とは異なり、既にプロットされた点の位置関係は変わらない。よって、新たな点に対応するデータセットと既にプロットされた点に対応するデータセットとの関係をリアルタイムで容易に把握可能である。
【００４０】
［実施の形態２］
第１の実施の形態においては次元圧縮の変換則が自己符号化器のパラメータであるが、自己符号化器のパラメータ以外を次元圧縮の変換則としてもよい。他の変換則を使用する例として、以下では、主成分分析の主成分ベクトルの情報を使用する方法について説明する。
【００４１】
図１３は、第２の実施の形態における第１生成部１０３が実行する処理の処理フローを示す図である。
【００４２】
まず、第１生成部１０３は、正常状態時の時系列データをデータ格納部１１１から読み出す（図１３：ステップＳ３１）。時系列データには正常状態時の部分と異常状態時の部分とが含まれるので、第１生成部１０３は、ユーザから正常状態時の部分（例えば期間）の指定を受け付け、指定された部分の時系列データを読み出す。指定される部分の数は複数であってもよい。
【００４３】
第１生成部１０３は、ステップＳ３１において読み出された時系列データから、バラツキが大きくなるように複数のサンプルデータセットを取得し（ステップＳ３３）、取得された複数のサンプルデータセットをサンプルデータ格納部１１３に格納する。サンプルデータセットは、例えば、所定長の長さを持つ時系列データである。
【００４４】
第１生成部１０３は、ステップＳ３３において取得された複数のサンプルデータセットをサンプルデータ格納部１１３から読み出す。そして、第１生成部１０３は、複数のサンプルデータセット間の距離を成分とする行列を生成し（ステップＳ３５）、生成された行列を第１距離データ格納部１１５に格納する。
【００４５】
第１生成部１０３は、第１距離データ格納部１１５に格納された行列を入力として主成分分析を実行する（ステップＳ３７）。主成分分析の結果は、例えば、固有値、寄与率及び主成分負荷量等の情報を含む。
【００４６】
第１生成部１０３は、ステップＳ３７における主成分分析の結果に含まれる、主成分ベクトルの情報（例えば主成分負荷量等の情報）をパラメータ格納部１１９に保存する（ステップＳ３９）。そして処理は終了する。
【００４７】
以上のように、主成分ベクトルの情報を保存しておけば、後でその情報を用いて同様の次元圧縮を行うことができるようになる。
【００４８】
［実施の形態３］
正常状態の種類の数が２以上である場合がある。このような場合、一般的な異常検知方法を適用すると、異常スコアが２つの正常状態のスコアの中間値になることがあり、識別が困難である。そこで、以下では、２つ以上の正常状態が有る場合に実行する処理について説明する。
【００４９】
図１４は、第３の実施の形態における可視化装置１の機能ブロック図である。第３の実施の形態における可視化装置１は、受信部１０１と、第１生成部１０３と、第２生成部１０５と、出力部１０７と、データ格納部１１１と、第１サンプルデータ格納部１３１と、第２サンプルデータ格納部１３３と、第１距離データ格納部１１５と、第２距離データ格納部１１７と、パラメータ格納部１１９と、結果格納部１２１とを含む。
【００５０】
受信部１０１、第１生成部１０３、第２生成部１０５及び出力部１０７は、例えば、メモリ２５０１に格納されたプログラムがＣＰＵ２５０３により実行されることで実現される。データ格納部１１１、第１サンプルデータ格納部１３１、第２サンプルデータ格納部１３３、第１距離データ格納部１１５、第２距離データ格納部１１７、パラメータ格納部１１９及び結果格納部１２１は、例えば、メモリ２５０１又はＨＤＤ２５０５に設けられる。
【００５１】
受信部１０１は、入力された又は他の装置（例えばジャイロセンサ等）から受信した時系列データをデータ格納部１１１に格納する。
【００５２】
第１生成部１０３は、データ格納部１１１に格納されているデータに基づき処理を実行し、処理結果を第１サンプルデータ格納部１３１及び第２サンプルデータ格納部１３３に格納する。また、第１生成部１０３は、第１サンプルデータ格納部１３１に格納されているデータ及び第２サンプルデータ格納部１３３に格納されているデータに基づき処理を実行し、処理結果を第１距離データ格納部１１５に格納する。また、第１生成部１０３は、第１距離データ格納部１１５に格納されているデータに基づき処理を実行し、処理結果をパラメータ格納部１１９に格納する。
【００５３】
第２生成部１０５は、データ格納部１１１に格納されているデータ、第１サンプルデータ格納部１３１に格納されているデータ及び第２サンプルデータ格納部１３３に格納されているデータに基づき処理を実行し、処理結果を第２距離データ格納部１１７に格納する。また、第２生成部１０５は、第１距離データ格納部１１５に格納されているデータ、第２距離データ格納部１１７に格納されているデータ及びパラメータ格納部１１９に格納されているデータに基づき処理を実行し、処理結果を結果格納部１２１に格納する。
【００５４】
出力部１０７は、結果格納部１２１に格納されているデータに基づき表示データを生成し、生成した表示データを出力する処理（例えば、表示装置に表示する処理）を実行する。
【００５５】
図１５は、第３の実施の形態における第１生成部１０３が実行する処理の処理フローを示す図である。ここでは、２種類の正常状態が存在するとする。
【００５６】
まず、第１生成部１０３は、２つの正常状態のうち第１の正常状態時の時系列データをデータ格納部１１１から読み出す。そして、第１生成部１０３は、読み出された時系列データから、バラツキが大きくなるように複数のサンプルデータセットを取得し（図１５：ステップＳ４１）、取得された複数のサンプルデータセットを第１サンプルデータ格納部１３１に格納する。ステップＳ４１において、第１生成部１０３は、ユーザから第１の正常状態時である部分（例えば期間）の指定を受け付け、指定された部分の時系列データを読み出す。指定される部分の数は複数であってもよい。
【００５７】
第１生成部１０３は、２つの正常状態のうち第２の正常状態時の時系列データをデータ格納部１１１から読み出す。そして、第１生成部１０３は、読み出された時系列データから、バラツキが大きくなるように複数のサンプルデータセットを取得し（ステップＳ４３）、取得された複数のサンプルデータセットを第２サンプルデータ格納部１３３に格納する。ステップＳ４３において、第１生成部１０３は、ユーザから第２の正常状態時である部分（例えば期間）の指定を受け付け、指定された部分の時系列データを読み出す。指定される部分の数は複数であってもよい。
【００５８】
第１生成部１０３は、ステップＳ４１及びＳ４３において取得された複数のサンプルデータセットを第１サンプルデータ格納部１３１及び第２サンプルデータ格納部１３３から読み出す。そして、第１生成部１０３は、複数のサンプルデータセット間の距離を成分とする行列を生成し（ステップＳ４５）、生成された行列を第１距離データ格納部１１５に格納する。
【００５９】
第１生成部１０３は、自己符号化器の入力ｘと出力ｙとの誤差、状態の分類に関するラベルとの誤差、及び表示サイズの差についての目的関数を最小化する最適化問題を解くことで、自己符号化器のパラメータを算出する（ステップＳ４７）。入力ｘは、第１距離データ格納部１１５に格納された行列である。
【００６０】
図１６乃至図１８を用いて、自己符号化器のパラメータを算出する方法について説明する。
【００６１】
図１６は、自己符号化器の入力ｘと出力ｙとの誤差について説明するための図である。図１６には、入力ｘに対してｙを出力する自己符号化器が示されており、自己符号化器におけるエンコードのパラメータがＷ1であり、自己符号化器におけるデコードのパラメータがＷ2である。図１６において、ｙ＝Ｗ2Ｗ1ｘが成立する。第３の実施の形態においては、入力ｘと出力ｙとの誤差（例えば、（ｙ−ｘ）2）がより小さくなるように自己符号化器のパラメータが算出される。
【００６２】
図１７は、状態の分類に関するラベルとの誤差について説明するための図である。図１７には、入力ｘに対して、ｚを出力するニューラルネットワークが示されており、ニューラルネットワークの前半部の次元圧縮は自己符号化器におけるエンコードと同じである。ニューラルネットワークの後半部においては行列Ｖを用いて線形変換が行われる。図１７において、Ｚ＝ＶＷ1ｘが成立する。入力ｘが、生成された行列に含まれる列ベクトルのうち第１の正常状態時のサンプルデータセットに対応する列ベクトルである場合と、生成された行列に含まれる列ベクトルのうち第２の正常状態時のサンプルデータセットに対応する列ベクトルである場合とで、異なるラベルｔが対応付けられる。例えば、前者の場合にはラベルｔは（１，０）であり、後者の場合にはラベルｔは（０，１）である。第３の実施の形態においては、ニューラルネットワークの出力ｚとラベルｔとの誤差（例えば、（ｚ−ｔ）2）がより小さくなるように自己符号化器のパラメータが算出される。
【００６３】
図１８は、表示サイズの差について説明するための図である。図１８には、図１６に示した自己符号化器におけるエンコーダの部分が示されている。第１の正常状態時のサンプルデータセットに対応する列ベクトルｘ（１）の出力がｐ（１）であり、第２の正常状態時のサンプルデータセットに対応する列ベクトルｘ（２）の出力がｐ（２）である。第３の実施の形態においては、ｐ（１）に含まれるベクトルの間の距離のうち最大の距離（以下、Ｄ1と呼ぶ）と、ｐ（２）に含まれるベクトル間の距離のうち最大の距離（以下、Ｄ2と呼ぶ）との誤差（例えば、（Ｄ1−Ｄ2）2）がより小さくなるように自己符号化器のパラメータが算出される。これにより、第１の正常状態時に対応する点の分布のサイズと第２の正常状態時に対応する点の分布のサイズとの差を小さくすることができるので、データセット間の関係を把握しにくくなることを抑止できる。
【００６４】
従って、ステップＳ４７における最適化問題は、例えば、ｆ＝ａ1＊（ｙ−ｘ）2＋ａ2＊（ｚ−ｔ）2＋ａ3＊（Ｄ1−Ｄ2）2で表され、ｆを最小化するように自己符号化器のパラメータが算出される。なお、ａ1、ａ2及びａ3は、予め設定された重みである。
【００６５】
第１生成部１０３は、ステップＳ４７において算出されたパラメータのうち自己符号化器におけるエンコード（すなわち次元圧縮）のパラメータをパラメータ格納部１１９に保存する（ステップＳ４９）。そして処理は終了する。
【００６６】
図１９は、第３の実施の形態における表示の一例を示す図である。図１９の例は、次元圧縮により生成されたベクトルが２次元ベクトルである場合の例である。図１９において、横軸は１次元目の値を示す軸であり、縦軸は２次元目の値を示す軸である。枠１９０１に囲まれた点は第１の正常状態時のデータセットに対応し、枠１９０２に囲まれた点は第２の正常状態時のデータセットに対応する。枠１９０１及び枠１９０２に囲まれた点のうちハッチングされた点はサンプルデータセットに対応する。
【００６７】
図１９の表示例においては、図１２の表示例と比べ、枠１９０１に囲まれた領域のサイズと枠１９０２に囲まれた領域のサイズとの差が小さいので、ユーザはデータセット間の関係を視認しやすい。また、枠１９０１に囲まれておらず且つ枠１９０２に囲まれていない点が出現していることから、ユーザは異常状態が発生したことを確認することができる。
【００６８】
［実施の形態４］
異常状態の数が２以上であるが、２つ以上の異常状態のうち１つの異常状態が既知である場合がある。以下では、今後起こる異常状態が既知の異常状態と未知の異常状態とのいずれであるかを判定できるようにする方法について説明する。
【００６９】
図２０は、第４の実施の形態における第１生成部１０３が実行する処理の処理フローを示す図である。
【００７０】
まず、第１生成部１０３は、正常状態時の時系列データをデータ格納部１１１から読み出す。そして、第１生成部１０３は、読み出された時系列データから、バラツキが大きくなるように複数のサンプルデータセットを取得し（図２０：ステップＳ５１）、取得された複数のサンプルデータセットを第１サンプルデータ格納部１３１に格納する。ステップＳ５１において、第１生成部１０３は、ユーザから正常状態時である部分（例えば期間）の指定を受け付け、指定された部分の時系列データを読み出す。指定される部分の数は複数であってもよい。
【００７１】
第１生成部１０３は、第１の異常状態時の時系列データをデータ格納部１１１から読み出す。そして、第１生成部１０３は、読み出された時系列データから、バラツキが大きくなるように複数のサンプルデータセットを取得し（ステップＳ５３）、取得された複数のサンプルデータセットを第２サンプルデータ格納部１３３に格納する。ステップＳ５３において、第１生成部１０３は、ユーザから第１の異常状態時である部分（例えば期間）の指定を受け付け、指定された部分の時系列データを読み出す。指定される部分の数は複数であってもよい。
【００７２】
第１生成部１０３は、ステップＳ５１及びＳ５３において取得された複数のサンプルデータセットを第１サンプルデータ格納部１３１及び第２サンプルデータ格納部１３３から読み出す。そして、第１生成部１０３は、複数のサンプルデータセット間の距離を成分とする行列を生成し（ステップＳ５５）、生成された行列を第１距離データ格納部１１５に格納する。
【００７３】
第１生成部１０３は、自己符号化器の入力ｘと出力ｙとの誤差、状態の分類に関するラベルとの誤差、及び表示サイズの差についての目的関数を最小化する最適化問題を解くことで、自己符号化器のパラメータを算出する（ステップＳ５７）。入力ｘは、第１距離データ格納部１１５に格納された行列である。第４の実施の形態においては、正常状態に対応付けられるラベルと、第１の異常状態に対応付けられるラベルとが使用される。
【００７４】
第１生成部１０３は、ステップＳ５７において算出されたパラメータのうち自己符号化器におけるエンコード（すなわち次元圧縮）のパラメータをパラメータ格納部１１９に保存する（ステップＳ５９）。そして処理は終了する。
【００７５】
以上のような処理を実行すれば、新たに発生した異常が既知の異常と同じであるか否かを容易に把握可能なように可視化を行うことができるようになる。
【００７６】
［実施の形態５］
第３及び第４の実施の形態においては既知の状態の数が２であるが、既知の状態の数は３以上であってもよい。例えば既知の状態の数が３である場合、図２１に示すようなニューラルネットワークが使用される。図２１に示すニューラルネットワークは、入力ｘに対してｚを出力するネットワークであり、出力層のユニットの数は３である。３つの状態に対しては、例えば、（１，０，０）、（０，１，０）及び（０，０，１）がラベルとして割り当てられる。同様に、出力層のユニットの数を増やすことで、既知の状態の数が４以上である場合であっても適切な可視化を行うことができる。
【００７７】
以上本発明の一実施の形態を説明したが、本発明はこれに限定されるものではない。例えば、上で説明した可視化装置１の機能ブロック構成は実際のプログラムモジュール構成に一致しない場合もある。
【００７８】
また、処理フローにおいても、処理結果が変わらなければ処理の順番を入れ替えることも可能である。さらに、並列に実行させるようにしても良い。
【００７９】
また、上で述べた例においては２次元平面上にプロットされた点が表示されるが、３次元空間上にプロットされた点が表示されてもよい。
【００８０】
なお、上で述べた可視化装置１は、コンピュータ装置であって、図２２に示すように、メモリ２５０１とＣＰＵ２５０３とＨＤＤ２５０５と表示装置２５０９に接続される表示制御部２５０７とリムーバブル・ディスク２５１１用のドライブ装置２５１３と入力装置２５１５とネットワークに接続するための通信制御部２５１７とがバス２５１９で接続されている。オペレーティング・システム（ＯＳ：Operating System）及び本実施例における処理を実施するためのアプリケーション・プログラムは、ＨＤＤ２５０５に格納されており、ＣＰＵ２５０３により実行される際にはＨＤＤ２５０５からメモリ２５０１に読み出される。ＣＰＵ２５０３は、アプリケーション・プログラムの処理内容に応じて表示制御部２５０７、通信制御部２５１７、ドライブ装置２５１３を制御して、所定の動作を行わせる。また、処理途中のデータについては、主としてメモリ２５０１に格納されるが、ＨＤＤ２５０５に格納されるようにしてもよい。本発明の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク２５１１に格納されて頒布され、ドライブ装置２５１３からＨＤＤ２５０５にインストールされる。インターネットなどのネットワーク及び通信制御部２５１７を経由して、ＨＤＤ２５０５にインストールされる場合もある。このようなコンピュータ装置は、上で述べたＣＰＵ２５０３、メモリ２５０１などのハードウエアとＯＳ及びアプリケーション・プログラムなどのプログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
【００８１】
以上述べた本発明の実施の形態をまとめると、以下のようになる。
【００８２】
本実施の形態の第１の態様に係る可視化方法は、（Ａ）複数の入力データからそれぞれ生成された複数のベクトルから、複数のベクトル間の位置関係が維持される次元圧縮により複数の変換ベクトルを生成し、（Ｂ）複数の変換ベクトルをプロットする処理を含む。
【００８３】
複数のベクトル間の位置関係が変わることなく維持されるので、プロットを確認したユーザは、入力データ間の関係を容易に把握することができる。
【００８４】
また、本可視化方法は、（Ｃ）複数の入力データそれぞれから、当該入力データと複数の基準データとの間の距離を成分とするベクトルを生成する処理をさらに含んでもよい。
【００８５】
複数の基準データを利用することで、特徴が異なる入力データ同士が類似の入力データであるとみなされてしまうことを抑制できる。
【００８６】
また、次元圧縮は、データ格納部に格納され且つ予め算出された変換則を用いて行われてもよい。
【００８７】
予め算出された変換則を用いて次元圧縮を行えば、次元圧縮の度に複数のベクトル間の位置関係が変わってしまうことを抑止できる。
【００８８】
また、本可視化方法は、（Ｄ）複数の基準データから生成された複数のベクトルを入力とする自己符号化器のパラメータを算出し、（Ｅ）自己符号化器のパラメータのうち符号化のパラメータを含む変換則を、データ格納部に格納する処理をさらに含んでもよい。
【００８９】
次元圧縮として自己符号化器における符号化を実行できるようになる。
【００９０】
また、本可視化方法は、（Ｆ）複数の基準データから生成された複数のベクトルに対する主成分分析を実行し、（Ｇ）主成分分析の結果に含まれる変換則を、データ格納部に格納する処理をさらに含んでもよい。
【００９１】
次元圧縮に主成分分析の変換則（例えば主成分ベクトルの情報）を利用できるようになる。
【００９２】
また、自己符号化器のパラメータを算出する処理において、（ｄ１）自己符号化器の入力と出力との差と、複数の状態の分類に関するラベル情報と、複数の基準データから生成された複数のベクトルがプロットされる領域のサイズの情報とに基づく目的関数を最小化する最適化問題を解くことで、自己符号化器のパラメータを算出してもよい。
【００９３】
総合的に適切な可視化を行えるようになる。
【００９４】
また、複数の状態は、少なくとも２つの正常状態を含んでもよい。
【００９５】
少なくとも２つの正常状態との関係を把握できるようになる。
【００９６】
また、複数の状態は、少なくとも１つの正常状態と少なくとも１つの異常状態とを含んでもよい。
【００９７】
少なくとも１つの正常状態及び少なくとも１つの異常状態との関係を把握できるようになる。
【００９８】
また、複数の基準データは、当該複数の基準データ間の距離の合計についての条件を満たしてもよい。
【００９９】
データの特徴の違いが可視化結果に反映されやすくなる。
【０１００】
本実施の形態の第２の態様に係る可視化装置は、（Ｈ）複数の入力データからそれぞれ生成された複数のベクトルから、複数のベクトル間の位置関係が維持される次元圧縮により複数の変換ベクトルを生成する変換部（実施の形態における第２生成部１０５は上記変換部の一例である）と、（Ｉ）複数の変換ベクトルをプロットする出力部（実施の形態における出力部１０７は上記出力部の一例である）とを有してもよい。
【０１０１】
なお、上記方法による処理をコンピュータに実行させるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブルディスク、ＣＤ−ＲＯＭ、光磁気ディスク、半導体メモリ、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。尚、中間的な処理結果はメインメモリ等の記憶装置に一時保管される。
【０１０２】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
【０１０３】
（付記１）
コンピュータに、
複数の入力データからそれぞれ生成された複数のベクトルから、前記複数のベクトル間の位置関係が維持される次元圧縮により複数の変換ベクトルを生成し、
前記複数の変換ベクトルをプロットする、
処理を実行させる可視化プログラム。
【０１０４】
（付記２）
前記コンピュータに
前記複数の入力データそれぞれから、当該入力データと複数の基準データとの間の距離を成分とするベクトルを生成する、
処理をさらに実行させる付記１記載の可視化プログラム。
【０１０５】
（付記３）
前記次元圧縮は、データ格納部に格納され且つ予め算出された変換則を用いて行われる、
付記２記載の可視化プログラム。
【０１０６】
（付記４）
前記コンピュータに、
前記複数の基準データから生成された複数のベクトルを入力とする自己符号化器のパラメータを算出し、
前記自己符号化器のパラメータのうち符号化のパラメータを含む変換則を、前記データ格納部に格納する、
処理をさらに実行させる付記３記載の可視化プログラム。
【０１０７】
（付記５）
前記コンピュータに、
前記複数の基準データから生成された複数のベクトルに対する主成分分析を実行し、
前記主成分分析の結果に含まれる変換則を、前記データ格納部に格納する、
処理をさらに実行させる付記３記載の可視化プログラム。
【０１０８】
（付記６）
前記自己符号化器のパラメータを算出する処理において、
前記自己符号化器の入力と出力との差と、複数の状態の分類に関するラベル情報と、前記複数の基準データから生成された前記複数のベクトルがプロットされる領域のサイズの情報とに基づく目的関数を最小化する最適化問題を解くことで、前記自己符号化器のパラメータを算出する、
処理をさらに実行させる付記４記載の可視化プログラム。
【０１０９】
（付記７）
前記複数の状態は、少なくとも２つの正常状態を含む、
付記６記載の可視化プログラム。
【０１１０】
（付記８）
前記複数の状態は、少なくとも１つの正常状態と少なくとも１つの異常状態とを含む、
付記６記載の可視化プログラム。
【０１１１】
（付記９）
前記複数の基準データは、当該複数の基準データ間の距離の合計についての条件を満たす、
付記２記載の可視化プログラム。
【０１１２】
（付記１０）
コンピュータが、
複数の入力データからそれぞれ生成された複数のベクトルから、前記複数のベクトル間の位置関係が維持される次元圧縮により複数の変換ベクトルを生成し、
前記複数の変換ベクトルをプロットする、
処理を実行する可視化方法。
【０１１３】
（付記１１）
複数の入力データからそれぞれ生成された複数のベクトルから、前記複数のベクトル間の位置関係が維持される次元圧縮により複数の変換ベクトルを生成する変換部と、
前記複数の変換ベクトルをプロットする出力部と、
を有する可視化装置。
【符号の説明】
【０１１４】
１  可視化装置    １０１  受信部
１０３  第１生成部    １０５  第２生成部
１０７  出力部    １１１  データ格納部
１１３  サンプルデータ格納部    １１５  第１距離データ格納部
１１７  第２距離データ格納部    １１９  パラメータ格納部
１２１  結果格納部    １３１  第１サンプルデータ格納部
１３３  第２サンプルデータ格納部
【図１】
2019096977.tif 000003
【図２】
2019096977.tif 000004
【図３】
2019096977.tif 000005
【図４】
2019096977.tif 000006
【図５】
2019096977.tif 000007
【図６】
2019096977.tif 000008
【図７】
2019096977.tif 000009
【図８】
2019096977.tif 000010
【図９】
2019096977.tif 000011
【図１０】
2019096977.tif 000012
【図１１】
2019096977.tif 000013
【図１２】
2019096977.tif 000014
【図１３】
2019096977.tif 000015
【図１４】
2019096977.tif 000016
【図１５】
2019096977.tif 000017
【図１６】
2019096977.tif 000018
【図１７】
2019096977.tif 000019
【図１８】
2019096977.tif 000020
【図１９】
2019096977.tif 000021
【図２０】
2019096977.tif 000022
【図２１】
2019096977.tif 000023
【図２２】
2019096977.tif 000024