(57)【特許請求の範囲】
【請求項１】
コンピュータが複数の時系列データを処理する時系列データ処理方法であって、
与えられた複数の時系列データに基づき、同様に変化する複数の時系列データからなるグループを複数個生成するグループ生成ステップと、
各グループについて、グループ内の時系列データを同じ変換によって正規化する正規化ステップと、
各グループについて、正規化後の時系列データのデータ間の差に基づきグループの異常度を算出する異常度算出ステップと、
前記グループの異常度に基づきグループのランキングを生成するランキング生成ステップと、
前記グループのランキングを含む画面を表示する結果表示ステップとを備えた、時系列データ処理方法。
【請求項２】
前記異常度算出ステップは、各グループについて、グループ内の２個の時系列データのすべての組合せについて同じ時刻のデータ間の差の平均値を求め、求めた平均値の最大値を前記グループの異常度とすることを特徴とする、請求項１に記載の時系列データ処理方法。
【請求項３】
前記正規化ステップは、各グループについて、グループ内の時系列データに含まれる同じ時刻のデータの中央値からなる中央値時系列データを生成し、前記中央値時系列データに含まれる中央値の最大値が１、最小値が０に変換されるように、グループ内の時系列データに含まれるデータに線形変換を行うことを特徴とする、請求項２に記載の時系列データ処理方法。
【請求項４】
前記正規化ステップは、各グループについて、グループ内の時系列データに含まれる同じ時刻のデータの中央値からなる中央値時系列データを生成し、前記中央値時系列データに含まれる中央値の最大値が１、最小値が０に変換されるように、グループ内の時系列データに含まれるデータに線形変換を行い、
前記異常度算出ステップは、各グループ内の各時系列データについて、正規化後の時系列データと前記中央値時系列データとのデータ間の差に基づき時系列データの異常度を算出し、
前記ランキング生成ステップは、各グループについて、前記時系列データの異常度に基づき時系列データのランキングを生成し、
前記結果表示ステップは、表示制御指示によって選択されたグループについて、前記時系列データのランキングを含む画面を表示することを特徴とする、請求項１に記載の時系列データ処理方法。
【請求項５】
前記異常度算出ステップは、各グループ内の各時系列データについて、前記中央値時系列データとの間の同じ時刻のデータ間の差の和を前記時系列データの異常度とすることを特徴とする、請求項４に記載の時系列データ処理方法。
【請求項６】
前記グループのランキングを含む画面は、前記時系列データのランキングを含む画面を表示するためのリンク情報を含むことを特徴とする、請求項４に記載の時系列データ処理方法。
【請求項７】
複数の時系列データを処理する時系列データ処理プログラムであって、
与えられた複数の時系列データに基づき、同様に変化する複数の時系列データからなるグループを複数個生成するグループ生成ステップと、
各グループについて、グループ内の時系列データを同じ変換によって正規化する正規化ステップと、
各グループについて、正規化後の時系列データのデータ間の差に基づきグループの異常度を算出する異常度算出ステップと、
前記グループの異常度に基づきグループのランキングを生成するランキング生成ステップと、
前記グループのランキングを含む画面を表示する結果表示ステップとを、
コンピュータにＣＰＵがメモリを利用して実行させることを特徴とする、時系列データ処理プログラム。
【請求項８】
前記異常度算出ステップは、各グループについて、グループ内の２個の時系列データのすべての組合せについて同じ時刻のデータ間の差の平均値を求め、求めた平均値の最大値を前記グループの異常度とすることを特徴とする、請求項７に記載の時系列データ処理プログラム。
【請求項９】
前記正規化ステップは、各グループについて、グループ内の時系列データに含まれる同じ時刻のデータの中央値からなる中央値時系列データを生成し、前記中央値時系列データに含まれる中央値の最大値が１、最小値が０に変換されるように、グループ内の時系列データに含まれるデータに線形変換を行うことを特徴とする、請求項８に記載の時系列データ処理プログラム。
【請求項１０】
前記正規化ステップは、各グループについて、グループ内の時系列データに含まれる同じ時刻のデータの中央値からなる中央値時系列データを生成し、前記中央値時系列データに含まれる中央値の最大値が１、最小値が０に変換されるように、グループ内の時系列データに含まれるデータに線形変換を行い、
前記異常度算出ステップは、各グループ内の各時系列データについて、正規化後の時系列データと前記中央値時系列データとのデータ間の差に基づき時系列データの異常度を算出し、
前記ランキング生成ステップは、各グループについて、前記時系列データの異常度に基づき時系列データのランキングを生成し、
前記結果表示ステップは、表示制御指示によって選択されたグループについて、前記時系列データのランキングを含む画面を表示することを特徴とする、請求項７に記載の時系列データ処理プログラム。
【請求項１１】
前記異常度算出ステップは、各グループ内の各時系列データについて、前記中央値時系列データとの間の同じ時刻のデータ間の差の和を前記時系列データの異常度とすることを特徴とする、請求項１０に記載の時系列データ処理プログラム。
【請求項１２】
前記グループのランキングを含む画面は、前記時系列データのランキングを含む画面を表示するためのリンク情報を含むことを特徴とする、請求項１０に記載の時系列データ処理プログラム。
【請求項１３】
複数の時系列データを処理する時系列データ処理装置であって、
与えられた複数の時系列データに基づき、同様に変化する複数の時系列データからなるグループを複数個生成するグループ生成部と、
各グループについて、グループ内の時系列データを同じ変換によって正規化する正規化部と、
各グループについて、正規化後の時系列データのデータ間の差に基づきグループの異常度を算出する異常度算出部と、
前記グループの異常度に基づきグループのランキングを生成するランキング生成部と、
前記グループのランキングを含む画面を表示する結果表示部とを備えた、時系列データ処理装置。
【請求項１４】
前記異常度算出部は、各グループについて、グループ内の２個の時系列データのすべての組合せについて同じ時刻のデータ間の差の平均値を求め、求めた平均値の最大値を前記グループの異常度とすることを特徴とする、請求項１３に記載の時系列データ処理装置。
【請求項１５】
前記正規化部は、各グループについて、グループ内の時系列データに含まれる同じ時刻のデータの中央値からなる中央値時系列データを生成し、前記中央値時系列データに含まれる中央値の最大値が１、最小値が０に変換されるように、グループ内の時系列データに含まれるデータに線形変換を行うことを特徴とする、請求項１４に記載の時系列データ処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デジタルデータ処理に関し、特に、時系列データ処理方法、時系列データ処理プログラム、および、時系列データ処理装置に関する。
【背景技術】
【０００２】
機器や装置の異常を検出する方法として、機器や装置の動作状態を示す物理量（例えば、長さ、角度、時間、速さ、力、圧力、電圧、電流、温度、流量など）をセンサなどを用いて測定し、測定結果を時系列順に並べて得られた時系列データを分析する方法が知られている。機器や装置が同じ条件で同じ動作を行う場合、異常がなければ、時系列データは同様に変化する。そこで、同様に変化する複数の時系列データを相互に比較して異常な時系列データを検出し、これを分析して異常の発生箇所や原因を特定することができる。
【０００３】
例えば、半導体製造装置は複数の処理ユニットを含み、各処理ユニットは動作状態を示す動作データを所定の時間間隔で測定する。多くの場合、複数の処理ユニットは半導体基板に対して同じ条件で同じ動作を行う。したがって、複数の処理ユニットで得られた複数の時系列データを相互に比較することにより、異常が発生した処理ユニットや異常の原因を特定することができる。
【０００４】
なお、本願発明に関連して、特許文献１には、複数の時系列データを指定された時刻または時間帯におけるデータの昇順または降順に並べ替えて表示する機器データ表示装置が記載されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１２−１８５８９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
例えば、半導体製造装置で得られた時系列データを分析するときには、以下のような問題が発生する。まず、各処理ユニットは動作データを高頻度で長時間に亘って測定するので、時系列データの量は膨大になる。このため、膨大な量の時系列データの中から異常な時系列データを検出する処理に長い時間がかかる。また、異常か否かを判定する方法や、分析対象となる処理ユニットを選択する方法は、時系列データを分析する作業者によって異なる。また、分析結果が正しいか否かを定量的に証明する方法や、異なる種類の時系列データ（例えば、温度と流量）を好適に比較する方法は知られていない。他の時系列データを分析するときにも、同様の問題が発生する。
【０００７】
それ故に、本発明は、利用者が分析しやすい態様で時系列データを表示する時系列データ処理方法、時系列データ処理プログラム、および、時系列データ処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
第１の発明は、コンピュータが複数の時系列データを処理する時系列データ処理方法であって、
与えられた複数の時系列データに基づき、同様に変化する複数の時系列データからなるグループを複数個生成するグループ生成ステップと、
各グループについて、グループ内の時系列データを同じ変換によって正規化する正規化ステップと、
各グループについて、正規化後の時系列データのデータ間の差に基づきグループの異常度を算出する異常度算出ステップと、
前記グループの異常度に基づきグループのランキングを生成するランキング生成ステップと、
前記グループのランキングを含む画面を表示する結果表示ステップとを備える。
【０００９】
第２の発明は、第１の発明において、
前記異常度算出ステップは、各グループについて、グループ内の２個の時系列データのすべての組合せについて同じ時刻のデータ間の差の平均値を求め、求めた平均値の最大値を前記グループの異常度とすることを特徴とする。
【００１０】
第３の発明は、第２の発明において、
前記正規化ステップは、各グループについて、グループ内の時系列データに含まれる同じ時刻のデータの中央値からなる中央値時系列データを生成し、前記中央値時系列データに含まれる中央値の最大値が１、最小値が０に変換されるように、グループ内の時系列データに含まれるデータに線形変換を行うことを特徴とする。
【００１１】
第４の発明は、第１の発明において、
前記正規化ステップは、各グループについて、グループ内の時系列データに含まれる同じ時刻のデータの中央値からなる中央値時系列データを生成し、前記中央値時系列データに含まれる中央値の最大値が１、最小値が０に変換されるように、グループ内の時系列データに含まれるデータに線形変換を行い、
前記異常度算出ステップは、各グループ内の各時系列データについて、正規化後の時系列データと前記中央値時系列データとのデータ間の差に基づき時系列データの異常度を算出し、
前記ランキング生成ステップは、各グループについて、前記時系列データの異常度に基づき時系列データのランキングを生成し、
前記結果表示ステップは、表示制御指示によって選択されたグループについて、前記時系列データのランキングを含む画面を表示することを特徴とする。
【００１２】
第５の発明は、第４の発明において、
前記異常度算出ステップは、各グループ内の各時系列データについて、前記中央値時系列データとの間の同じ時刻のデータ間の差の和を前記時系列データの異常度とすることを特徴とする。
【００１３】
第６の発明は、第４の発明において、
前記グループのランキングを含む画面は、前記時系列データのランキングを含む画面を表示するためのリンク情報を含むことを特徴とする。
【００１４】
第７の発明は、複数の時系列データを処理する時系列データ処理プログラムであって、
与えられた複数の時系列データに基づき、同様に変化する複数の時系列データからなるグループを複数個生成するグループ生成ステップと、
各グループについて、グループ内の時系列データを同じ変換によって正規化する正規化ステップと、
各グループについて、正規化後の時系列データのデータ間の差に基づきグループの異常度を算出する異常度算出ステップと、
前記グループの異常度に基づきグループのランキングを生成するランキング生成ステップと、
前記グループのランキングを含む画面を表示する結果表示ステップとを、
コンピュータにＣＰＵがメモリを利用して実行させることを特徴とする。
【００１５】
第８の発明は、第７の発明において、
前記異常度算出ステップは、各グループについて、グループ内の２個の時系列データのすべての組合せについて同じ時刻のデータ間の差の平均値を求め、求めた平均値の最大値を前記グループの異常度とすることを特徴とする。
【００１６】
第９の発明は、第８の発明において、
前記正規化ステップは、各グループについて、グループ内の時系列データに含まれる同じ時刻のデータの中央値からなる中央値時系列データを生成し、前記中央値時系列データに含まれる中央値の最大値が１、最小値が０に変換されるように、グループ内の時系列データに含まれるデータに線形変換を行うことを特徴とする。
【００１７】
第１０の発明は、第７の発明において、
前記正規化ステップは、各グループについて、グループ内の時系列データに含まれる同じ時刻のデータの中央値からなる中央値時系列データを生成し、前記中央値時系列データに含まれる中央値の最大値が１、最小値が０に変換されるように、グループ内の時系列データに含まれるデータに線形変換を行い、
前記異常度算出ステップは、各グループ内の各時系列データについて、正規化後の時系列データと前記中央値時系列データとのデータ間の差に基づき時系列データの異常度を算出し、
前記ランキング生成ステップは、各グループについて、前記時系列データの異常度に基づき時系列データのランキングを生成し、
前記結果表示ステップは、表示制御指示によって選択されたグループについて、前記時系列データのランキングを含む画面を表示することを特徴とする。
【００１８】
第１１の発明は、第１０の発明において、
前記異常度算出ステップは、各グループ内の各時系列データについて、前記中央値時系列データとの間の同じ時刻のデータ間の差の和を前記時系列データの異常度とすることを特徴とする。
【００１９】
第１２の発明は、第１０の発明において、
前記グループのランキングを含む画面は、前記時系列データのランキングを含む画面を表示するためのリンク情報を含むことを特徴とする。
【００２０】
第１３の発明は、複数の時系列データを処理する時系列データ処理装置であって、
与えられた複数の時系列データに基づき、同様に変化する複数の時系列データからなるグループを複数個生成するグループ生成部と、
各グループについて、グループ内の時系列データを同じ変換によって正規化する正規化部と、
各グループについて、正規化後の時系列データのデータ間の差に基づきグループの異常度を算出する異常度算出部と、
前記グループの異常度に基づきグループのランキングを生成するランキング生成部と、
前記グループのランキングを含む画面を表示する結果表示部とを備える。
【００２１】
第１４の発明は、第１３の発明において、
前記異常度算出部は、各グループについて、グループ内の２個の時系列データのすべての組合せについて同じ時刻のデータ間の差の平均値を求め、求めた平均値の最大値を前記グループの異常度とすることを特徴とする。
【００２２】
第１５の発明は、第１４の発明において、
前記正規化部は、各グループについて、グループ内の時系列データに含まれる同じ時刻のデータの中央値からなる中央値時系列データを生成し、前記中央値時系列データに含まれる中央値の最大値が１、最小値が０に変換されるように、グループ内の時系列データに含まれるデータに線形変換を行うことを特徴とする。
【発明の効果】
【００２３】
上記第１、第７または第１３の発明によれば、同様に変化する時系列データをグループ化し、正規化後の時系列データのデータ間の差に基づきグループの異常度を算出し、グループの異常度に基づくグループのランキングを画面に表示することにより、利用者は異常な時系列データを含むグループを容易に認識することができる。また、異常な時系列データを含むグループを優先的に分析することにより、時系列データを容易に分析することができる。
【００２４】
上記第２、第８または第１４の発明によれば、各グループについて時系列データの組の同じ時刻のデータ間の差の平均値の最大値を算出することにより、利用者が手計算で時系列データを分析するときと類似したグループの異常度を求めることができる。
【００２５】
上記第３、第９または第１５の発明によれば、中央値時系列データに含まれる中央値の最大値と最小値がそれぞれ１と０に変換されるように正規化を行うことにより、従来の正規化を行う場合よりも好適なグループの異常度を算出することができる。
【００２６】
上記第４または第１０の発明によれば、正規化後の時系列データと中央値時系列データとのデータ間の差に基づき時系列データの異常度を算出し、時系列データの異常度に基づく時系列データのランキングを表示することにより、利用者は異常な時系列データを容易に認識することができる。
【００２７】
上記第５または第１１の発明によれば、時系列データと中央値時系列データとの間の同じ時刻のデータ間の差の和を算出することにより、好適な時系列データの異常度を求めることができる。
【００２８】
上記第６または第１２の発明によれば、グループのランキングを含む画面に時系列データのランキングを含む画面を表示するためのリンク情報を含めることにより、時系列データのランキングを含む画面を簡単な操作で表示させることができる。
【図面の簡単な説明】
【００２９】
【図１】本発明の実施形態に係る時系列データ処理装置の構成を示すブロック図である。
【図２】本実施形態に係る時系列データ処理装置として機能するコンピュータの構成を示すブロック図である。
【図３】本実施形態に係る時系列データ処理装置の動作を示すフローチャートである。
【図４】本実施形態に係る時系列データ処理装置における分析期間情報入力画面を示す図である。
【図５】図３に示すステップＳ１３０の詳細を示すフローチャートである。
【図６】あるグループ内の時系列データをグラフ化して示す図である。
【図７】図６に示すグループの中央値時系列データをグラフ化して示す図である。
【図８】図７のＸ部の拡大図である。
【図９】図６に示すグループに本実施形態に係る正規化を施した結果を示す図である。
【図１０】図３に示すステップＳ１４０の詳細を示すフローチャートである。
【図１１】図３に示すステップＳ１５０の詳細を示すフローチャートである。
【図１２】本実施形態に係る時系列データ処理装置におけるグループのランキングを含む画面を示す図である。
【図１３】本実施形態に係る時系列データ処理装置における時系列データのランキングを含む画面を示す図である。
【図１４】別のグループ内の時系列データをグラフ化して示す図である。
【図１５】図６に示すグループに従来の正規化を施した結果を示す図である。
【図１６】図１４に示すグループに従来の正規化を施した結果を示す図である。
【図１７】図１４に示すグループに本実施形態に係る正規化を施した結果を示す図である。
【発明を実施するための形態】
【００３０】
以下、図面を参照して、本発明の実施形態に係る時系列データ処理方法、時系列データ処理プログラム、および、時系列データ処理装置について説明する。本実施形態に係る時系列データ処理方法は、典型的にはコンピュータを用いて実行される。本実施形態に係る時系列データ処理プログラムは、コンピュータを用いて時系列データ処理方法を実施するためのプログラムである。本実施形態に係る時系列データ処理装置は、典型的にはコンピュータを用いて構成される。時系列データ処理プログラムを実行するコンピュータは、時系列データ処理装置として機能する。
【００３１】
図１は、本発明の実施形態に係る時系列データ処理装置の構成を示すブロック図である。図１に示す時系列データ処理装置１０は、分析期間情報入力部１１、グループ生成部１２、正規化部１３、異常度算出部１４、ランキング生成部１５、表示制御指示入力部１６、結果表示部１７、および、時系列データ記憶部１８を備えている。時系列データ処理装置１０は、複数の時系列データを処理し、利用者が分析しやすい態様で時系列データを表示する。
【００３２】
時系列データ記憶部１８は、複数の時系列データ７とデータ属性８を記憶する。時系列データ７は、時系列データ処理装置１０の外部に設けられた機器や装置の動作状態に関連する物理量（例えば、長さ、角度、時間、速さ、力、圧力、電圧、電流、温度、流量など）をセンサなどを用いて測定し、測定結果を時系列順に並べて得られたデータである。データ属性８は、各時系列データ７の属性を示す。データ属性８は、各時系列データ７について、例えば、機器や装置の種類や番号、物理量の種類、開始時刻、終了時刻、データ測定間隔などを示す。
【００３３】
時系列データ記憶部１８に記憶された複数の時系列データ７の中には、同じ物理量を測定して得られた時系列データや、異なる物理量を測定して得られた時系列データや、同じ個数のデータを含む時系列データや、異なる個数のデータを含む時系列データが含まれる。特に、時系列データ記憶部１８に記憶された複数の時系列データ７の中には、同じ物理量を同じ条件で測定して得られた同様に変化する（より正確には、同様に変化することが期待される）時系列データが複数個含まれる。時系列データ処理装置１０は、このような時系列データを集めてグループ化し、時系列データのグループに対して処理を行う。
【００３４】
例えば、時系列データ処理装置１０が、半導体製造装置で得られた時系列データを処理する場合を考える。半導体製造装置は半導体基板に所定の処理を施す複数の処理ユニットを含み、各処理ユニットは動作状態を示す動作データを所定の時間間隔（例えば、１００ｍｓ間隔）で測定する。測定された動作データを時系列順に並べることにより、時系列データが得られる。複数の処理ユニットが半導体基板に同じ条件で同じ処理を施す場合、異常がなければ、複数の処理ユニットで得られた複数の時系列データは同様に変化する。
【００３５】
図２は、時系列データ処理装置１０として機能するコンピュータの構成を示すブロック図である。図２に示すコンピュータ２０は、ＣＰＵ２１、メインメモリ２２、記憶部２３、入力部２４、表示部２５、通信部２６、および、記憶媒体読み取り部２７を備えている。メインメモリ２２には、例えば、ＤＲＡＭが使用される。記憶部２３には、例えば、ハードディスクやソリッドステートドライブが使用される。入力部２４には、例えば、キーボード２８やマウス２９が含まれる。表示部２５には、例えば、液晶ディスプレイが使用される。通信部２６は、有線通信または無線通信のインターフェイス回路である。記憶媒体読み取り部２７は、プログラムなどを記憶した記憶媒体３０のインターフェイス回路である。記憶媒体３０には、例えば、ＣＤ−ＲＯＭが使用される。なお、以上に述べたコンピュータ２０の構成は一例に過ぎず、任意のコンピュータを用いて時系列データ処理装置１０を構成することができる。
【００３６】
以下、コンピュータ２０が時系列データ処理装置１０として機能する場合について説明する。この場合、記憶部２３は、時系列データ処理プログラム３１と、時系列データ処理プログラム３１の処理対象となる複数の時系列データ７と、各時系列データ７の属性を示すデータ属性８とを記憶する。時系列データ処理プログラム３１は、例えば、サーバや他のコンピュータから通信部２６を用いて受信したものでもよく、記憶媒体３０から記憶媒体読み取り部２７を用いて読み出したものでもよい。時系列データ７とデータ属性８は、機器や装置や他のコンピュータから通信部２６を用いて受信したものでもよく、記憶媒体３０から記憶媒体読み取り部２７を用いて読み出したものでもよく、利用者が入力部２４を用いて入力したものでもよい。
【００３７】
時系列データ処理プログラム３１を実行するときには、時系列データ処理プログラム３１と時系列データ７とデータ属性８はメインメモリ２２に複写転送される。ＣＰＵ２１は、メインメモリ２２を作業用メモリとして利用して、メインメモリ２２に記憶された時系列データ処理プログラム３１を実行することにより、メインメモリ２２に記憶された複数の時系列データ７を処理する。このときコンピュータ２０は、時系列データ処理装置１０として機能する。
【００３８】
時系列データ処理装置１０の動作の概要は、以下のとおりである。分析期間情報入力部１１は、利用者から入力された分析期間情報５を受け取る。グループ生成部１２は、分析期間情報５と時系列データ記憶部１８に記憶されたデータ属性８とを参照して、時系列データ記憶部１８に記憶された複数の時系列データ７に基づき、同様に変化する（より正確には、同様に変化することが期待される）複数の時系列データからなるグループを複数個生成する。正規化部１３は、各グループについて、グループ内の時系列データを同じ変換によって正規化する。異常度算出部１４は、各グループについて、正規化後の時系列データに基づき、グループの異常度とグループ内の時系列データの異常度とを算出する。ランキング生成部１５は、グループの異常度に基づきグループのランキングを生成すると共に、各グループについて、グループ内の時系列データの異常度に基づき、時系列データのランキングを生成する。表示制御指示入力部１６は、利用者から入力された表示制御指示６を受け取る。結果表示部１７は、表示制御指示６に従い、グループのランキングを含む画面、および、時系列データのランキングを含む画面を表示する。
【００３９】
図３は、時系列データ処理装置１０の動作を示すフローチャートである。図３に示す処理は、ＣＰＵ２１がメインメモリ２２を利用して時系列データ処理プログラム３１を実行することにより行われる。
【００４０】
始めに、ＣＰＵ２１は、利用者から入力された分析期間情報５を受け取る（ステップＳ１１０）。分析期間情報５は、時系列データ記憶部１８に記憶された複数の時系列データ７について、処理対象の時系列データや処理対象の期間などを指定する。ＣＰＵ２１がステップＳ１１０を実行するとき、表示部２５は図４に示す画面４１（分析期間情報入力画面）を表示する。利用者は、図４に示す画面４１を見ながら入力部２４を操作することにより、分析期間情報５を入力する。
【００４１】
次に、ＣＰＵ２１は、時系列データ７のグループを生成する（ステップＳ１２０）。より詳細には、ＣＰＵ２１は、ステップＳ１２０において、ステップＳ１１０で入力された分析期間情報５と時系列データ記憶部１８に記憶されたデータ属性８とを参照して、時系列データ記憶部１８に記憶された時系列データ７をグループ化する。各グループには、同じ物理量を同じ条件で測定して得られた、同様に変化する複数の時系列データが含まれる。以下、ステップＳ１２０で生成されたグループを、単に「グループ」という。
【００４２】
ＣＰＵ２１は、ステップＳ１２０において複数のグループを生成する。各グループの中では、時系列データに含まれるデータの種類や個数は同じである。グループ間では、時系列データに含まれるデータの種類や個数は異なっていてもよい。また、グループ間では、グループ内の時系列データの個数は異なっていてもよい。例えば、あるグループがそれぞれが３００個の流量値を含む１０個の時系列データを含み、別のグループがそれぞれが４００個の電圧値を含む８個の時系列データを含んでいてもよい。
【００４３】
次に、ＣＰＵ２１は、ステップＳ１２０で生成した各グループについて、グループ内の時系列データを正規化する（ステップＳ１３０）。図５は、ステップＳ１３０の詳細を示すフローチャートである。ＣＰＵ２１は、ステップＳ１３０では始めに、未処理のグループの中から処理対象のグループを選択する（ステップＳ１３１）。次に、ＣＰＵ２１は、ステップＳ１３１で選択したグループについて、中央値時系列データを生成する（ステップＳ１３２）。ここで、中央値時系列データとは、グループ内の時系列データに含まれる同じ時刻のデータの中央値を時系列順に並べたものである。
【００４４】
例えば、処理対象のグループが以下に示すｍ個の時系列データＤＱ１〜ＤＱｍを含む場合を考える。ただし、ｎは各時系列データに含まれるデータの個数、Ｄｉｊ（ｉは１以上ｍ以下の整数、ｊは１以上ｎ以下の整数）は時系列データＤＱｉに含まれるｊ番目のデータを表す。
ＤＱ１＝（Ｄ１１，Ｄ１２，…，Ｄ１ｎ）
ＤＱ２＝（Ｄ２１，Ｄ２２，…，Ｄ２ｎ）
…
ＤＱｍ＝（Ｄｍ１，Ｄｍ２，…，Ｄｍｎ）
この場合、ＣＰＵ２１は、ｍ個のデータＤ１１、Ｄ２１、…、Ｄｍ１の中央値Ｍ１、ｍ個のデータＤ２１、Ｄ２２、…、Ｄｍ２の中央値Ｍ２、…、ｍ個のデータＤ１ｎ、Ｄ２ｎ、…、Ｄｍｎの中央値Ｍｎを求め、ｎ個の中央値Ｍ１〜Ｍｎを時系列順に並べることにより、中央値時系列データＭＱ＝（Ｍ１，Ｍ２，…，Ｍｎ）を生成する。
【００４５】
次に、ＣＰＵ２１は、ステップＳ１３２で生成した中央値時系列データに含まれる中央値の最大値Ｍｍａｘと最小値Ｍｍｉｎを求める（ステップＳ１３３）。上記の例では、ＣＰＵ２１は、ｎ個の中央値Ｍ１〜Ｍｎの最大値Ｍｍａｘと最小値Ｍｍｉｎを求める。次に、ＣＰＵ２１は、ステップＳ１３１で選択したグループ内の未処理の時系列データの中から、処理対象の時系列データを選択する（ステップＳ１３４）。
【００４６】
次に、ＣＰＵ２１は、ステップＳ１３４で選択した時系列データを、範囲［Ｍｍｉｎ，Ｍｍａｘ］が範囲［０，１］に変換されるように正規化する（ステップＳ１３５）。具体的には、ＣＰＵ２１は、時系列データＤＱｉに含まれるｊ番目のデータＤｉｊに対して次式（１）に示す演算を行うことにより、正規化後のデータＥｉｊを求める。
Ｅｉｊ＝（Ｄｉｊ−Ｍｍｉｎ）／（Ｍｍａｘ−Ｍｍｉｎ）  …（１）
このようにＣＰＵ２１は、ステップＳ１３５において、中央値時系列データに含まれる中央値の最大値Ｍｍａｘが１、最小値Ｍｍｉｎが０に変換されるように、グループ内の時系列データに含まれるデータに線形変換を行う。
【００４７】
次に、ＣＰＵ２１は、ステップＳ１３１で選択したグループ内のすべての時系列データを処理済みか否かを判断する（ステップＳ１３６）。ＣＰＵ２１は、ステップＳ１３６でＮｏの場合にはステップＳ１３４へ進み、Ｙｅｓの場合にはステップＳ１３７へ進む。後者の場合、ＣＰＵ２１は、ステップＳ１２０で生成したすべてのグループを処理済みか否かを判断する（ステップＳ１３７）。ＣＰＵ２１は、ステップＳ１３７でＮｏの場合にはステップＳ１３１へ進み、Ｙｅｓの場合にはステップＳ１３０を終了して、ステップＳ１４０へ進む。
【００４８】
図６〜図９参照して、正規化の例を説明する。図６は、あるグループ内の時系列データをグラフ化して示す図である。図６に示すグループは、７個の時系列データを含んでいる。この場合、ＣＰＵ２１は、ステップＳ１３２において、図７に太破線で示す中央値時系列データを生成する。図８は、図７のＸ部の拡大図である。図８には、中央値時系列データに含まれる中央値が黒点で記載されている。ＣＰＵ２１は、ステップＳ１３３〜Ｓ１３６において、図６に示す７個の時系列データのそれぞれを、中央値時系列データに含まれる中央値の最大値と最小値がそれぞれ１と０に変換されるように正規化する。図９は、正規化後の時系列データをグラフ化して示す図である。なお、図６と図９の間では縦軸の値は異なるが、グラフの形状は同じである。
【００４９】
次に、ＣＰＵ２１は、ステップＳ１２０で生成した各グループについて、正規化後の時系列データに基づきグループの異常度を算出する（ステップＳ１４０）。図１０は、ステップＳ１４０の詳細を示すフローチャートである。ＣＰＵ２１は、ステップＳ１４０では始めに、未処理のグループの中から処理対象のグループを選択する（ステップＳ１４１）。
【００５０】
処理対象のグループがｍ個の時系列データを含む場合、２個の時系列データの組合せ（以下、「時系列データの組」という）は全部で｛ｍ×（ｍ−１）／２｝個ある。ＣＰＵ２１は、ステップＳ１４１で選択したグループについて、未処理の時系列データの組の中から処理対象の時系列データの組を選択する（ステップＳ１４２）。次に、ＣＰＵ２１は、ステップＳ１４２で選択した時系列データの組について、同じ時刻のデータ間の差の平均値を算出する（ステップＳ１４３）。なお、同じ時刻のデータ間の差は、同じ時刻のデータ間のユークリッド距離（あるいは、直線距離）とも言える。
【００５１】
例えば、処理対象の時系列データの組が、以下に示す２個の正規化後の時系列データＥＱｉ、ＥＱｋ（ｉ、ｋは１以上ｍ以下の整数）を含む場合を考える。ただし、Ｅｉｊ（ｊは１以上ｎ以下の整数）は、正規化後の時系列データＥＱｉに含まれるｊ番目のデータを表す。
ＥＱｉ＝（Ｅｉ１，Ｅｉ２，…，Ｅｉｎ）
ＥＱｋ＝（Ｅｋ１，Ｅｋ２，…，Ｅｋｎ）
この場合、ＣＰＵ２１は、次式（２）に従い、同じ時刻のデータ間の差の平均値ＡＶＥ＿ＤＩＦ（ＥＱｉ，ＥＱｋ）を算出する。
ＡＶＥ＿ＤＩＦ（ＥＱｉ，ＥＱｋ）
＝（｜Ｅｉ１−Ｅｋ１｜＋｜Ｅｉ２−Ｅｋ２｜
＋…＋｜Ｅｉｎ−Ｅｋｎ｜）／ｎ  …（２）
【００５２】
次に、ＣＰＵ２１は、ステップＳ１４１で選択したグループについて、すべての時系列データの組を処理済みか否かを判断する（ステップＳ１４４）。ＣＰＵ２１は、ステップＳ１４４でＮｏの場合はステップＳ１４２へ進み、Ｙｅｓの場合はステップＳ１４５へ進む。後者の場合、ＣＰＵ２１は、ステップＳ１４３で求めた平均値の最大値を求め、求めた値をグループの異常度とする（ステップＳ１４５）。次に、ＣＰＵ２１は、ステップＳ１２０で生成したすべてのグループを処理済みか否かを判断する（ステップＳ１４６）。ＣＰＵ２１は、ステップＳ１４６でＮｏの場合にはステップＳ１４１へ進み、Ｙｅｓの場合にはステップＳ１４０を終了して、ステップＳ１５０へ進む。
【００５３】
このようにグループの異常度は、すべての時系列データの組について同じ時刻のデータ間の差の平均値を求めたときに、求めた平均値の最大値である。グループの異常度は、グループに類似度が低い２個の時系列データが含まれているときに大きくなる。
【００５４】
次に、ＣＰＵ２１は、ステップＳ１２０で生成した各グループ内の各時系列データについて、正規化後の時系列データに基づき時系列データの異常度を算出する（ステップＳ１５０）。図１１は、ステップＳ１５０の詳細を示すフローチャートである。ＣＰＵ２１は、ステップＳ１５０では始めに、未処理のグループの中から処理対象のグループを選択する（ステップＳ１５１）。次に、ＣＰＵ２１は、ステップＳ１５１で選択したグループ内の未処理の時系列データの中から、処理対象の時系列データを選択する（ステップＳ１５２）。
【００５５】
次に、ＣＰＵ２１は、ステップＳ１５２で選択した時系列データの異常度を算出する（ステップＳ１５３）。より詳細には、ＣＰＵ２１は、時系列データの異常度として、ステップＳ１３２で生成した中央値時系列データとの間の同じ時刻のデータ間の差の和を求める。例えば、処理対象の正規化後の時系列データＥＱｉと中央値時系列データＭＱが以下の場合を考える。
ＥＱｉ＝（Ｅｉ１，Ｅｉ２，…，Ｅｉｎ）
ＭＱ＝（Ｍ１，Ｍ２，…，Ｍｎ）
この場合、ＣＰＵ２１は、次式（３）に従い、同じ時刻のデータ間の差の和ＳＵＭ＿ＤＩＦ（ＥＱｉ，ＭＱ）を算出し、算出した値を元の時系列データＤＱｉの異常度とする。
ＳＵＭ＿ＤＩＦ（ＥＱｉ，ＭＱ）
＝｜Ｅｉ１−Ｍ１｜＋｜Ｅｉ２−Ｍ２｜＋…＋｜Ｅｉｎ−Ｍｎ｜  …（３）
【００５６】
次に、ＣＰＵ２１は、ステップＳ１５１で選択したグループ内のすべての時系列データを処理済みか否かを判断する（ステップＳ１５４）。ＣＰＵ２１は、ステップＳ１５４でＮｏの場合にはステップＳ１５２へ進み、Ｙｅｓの場合にはステップＳ１５５へ進む。後者の場合、ＣＰＵ２１は、ステップＳ１２０で生成したすべてのグループを処理済みか否かを判断する（ステップＳ１５５）。ＣＰＵ２１は、ステップＳ１５５でＮｏの場合にはステップＳ１５１へ進み、Ｙｅｓの場合にはステップＳ１５０を終了して、ステップＳ１６０へ進む。
【００５７】
このようにＣＰＵ２１は、ステップＳ１４０において各グループの異常度を算出し、ステップＳ１５０において各グループ内の各時系列データの異常度を算出する。次に、ＣＰＵ２１は、ステップＳ１４０で算出した各グループの異常度に基づき、グループのランキングを生成する（ステップＳ１６０）。グループのランキングは、グループを異常度が大きい順に並べ替えた結果を含む。次に、ＣＰＵ２１は、ステップＳ１２０で生成した各グループについて、ステップＳ１５０で算出した時系列データの異常度に基づき、時系列データのランキングを生成する（ステップＳ１７０）。時系列データのランキングは、１個のグループ内の時系列データを異常度が大きい順に並べ替えた結果を含む。
【００５８】
次に、ＣＰＵ２１は、ランキングを含む画面データを生成する（ステップＳ１８０）。より詳細には、ＣＰＵ２１は、ステップＳ１６０で求めたグループのランキングを含む第１画面データと、ステップＳ１７０で求めた時系列データのランキングを含む第２画面データとを生成する。第２画面データは、ステップＳ１２０で生成した各グループについて生成される。第１および第２画面データは、例えば、ＨＴＭＬ（Hyper Text Markup Language）などのページ記述言語を用いて生成される。この場合、第１画面データには、第２画面データにアクセスするためのリンク情報が含まれる。
【００５９】
次に、ＣＰＵ２１は、ステップＳ１８０で生成した画面データと表示制御指示６に基づき、表示部２５に画面を表示させる（ステップＳ１９０）。より詳細には、ＣＰＵ２１は、利用者から入力された表示制御指示６を受け取る。表示制御指示６は、グループのランキングを含む画面を表示するか、時系列データのランキングを含む画面を表示するかを指定する。前者の場合、ＣＰＵ２１は、ステップＳ１８０で生成した第１画面データに基づき、グループのランキングを含む画面を表示部２５に表示させる。後者の場合、表示制御指示６は、いずれのグループ内の時系列データのランキングを含む画面を表示するかを併せて指定する。ＣＰＵ２１は、表示制御指示６に従い、ステップＳ１８０で生成したいずれかの第２画面データに基づき、表示制御指示６によって選択されたグループ内の時系列データのランキングを含む画面を表示部２５に表示させる。
【００６０】
図１２は、時系列データ処理装置１０におけるグループのランキングを含む画面を示す図である。図１３は、時系列データ処理装置１０における時系列データのランキングを含む画面を示す図である。ＣＰＵ２１がステップＳ１９０を実行するとき、表示部２５は始めに図１２に示す画面４２を表示する。画面４２は、図１３に示す画面４３を表示するためのリンク情報４４を含んでいる。表示部２５が画面４２を表示している間に、利用者が入力部２４を操作してリンク情報４４をクリックした場合、表示部２５は画面４３を表示する。このようにグループのランキングを含む画面に時系列データのランキングを含む画面を表示するためのリンク情報を含めることにより、時系列データのランキングを含む画面を簡単な操作で表示させることができる。
【００６１】
図２に示すコンピュータ２０の構成要素および図３に示すステップと、図１に示す時系列データ処理装置１０の構成要素とは、以下のように対応する。入力部２４およびステップＳ１１０を実行するＣＰＵ２１は、分析期間情報入力部１１として機能する。ステップＳ１２０を実行するＣＰＵ２１は、グループ生成部１２として機能する。ステップＳ１３０を実行するＣＰＵ２１は、正規化部１３として機能する。ステップＳ１４０およびＳ１５０を実行するＣＰＵ２１は、異常度算出部１４として機能する。ステップＳ１６０およびＳ１７０を実行するＣＰＵ２１は、ランキング生成部１５として機能する。入力部２４およびステップＳ１９０のうち表示制御指示に関する処理を実行するＣＰＵ２１は、表示制御指示入力部１６として機能する。表示部２５、並びに、ステップＳ１８０およびＳ１９０のうち表示に関する処理を実行するＣＰＵ２１は、結果表示部１７として機能する。
【００６２】
このように時系列データ処理装置１０は、同様に変化する時系列データをグループ化し、正規化後の時系列データに基づきグループの異常度を算出し、グループの異常度に基づくグループのランキングを画面に表示する。したがって、時系列データ処理装置１０によれば、利用者は異常な時系列データを含むグループを容易に認識することができる。また、利用者は、異常な時系列データを含むグループを優先的に分析することにより、時系列データを容易に分析することができる。
【００６３】
また、ＣＰＵ２１は、ステップＳ１３０において、中央値時系列データに含まれる中央値の最大値と最小値がそれぞれ１と０に変換されるように正規化を行う。以下、本実施形態に係る正規化の効果を説明する。複数の時系列データを正規化する方法として、すべての時系列データに含まれるデータの最大値Ｎｍａｘと最小値Ｎｍｉｎを求め、最大値Ｎｍａｘが１、最小値Ｎｍｉｎが０に変換されるように正規化する方法（以下、「従来の正規化」という）が考えられる。従来の正規化では、データＤｉｊを正規化した結果Ｆｉｊは次式（４）で与えられる。
Ｆｉｊ＝（Ｄｉｊ−Ｎｍｉｎ）／（Ｎｍａｘ−Ｎｍｉｎ）  …（４）
【００６４】
以下、図６に示すグループを第１グループ、図１４に示すグループを第２グループという。第２グループは、第１グループ内の１個の時系列データにノイズを加えたものである。図１５および図１６は、それぞれ、第１および第２グループに従来の正規化を施した結果を示す図である。この場合、第１グループの異常度は１５．７５６、第２グループの異常度は１２．５５７になる。第２グループはノイズを加えた時系列データを含むので、本来であれば、第２グループの異常度は第１グループの異常度よりも大きくなるはずである。しかしながら、従来の正規化では、ノイズを含めて最大値Ｎｍａｘと最小値Ｎｍｉｎを求めるので、正規化後の時系列データはノイズの影響を受ける。このため第２グループでは、ノイズの影響によって最大値Ｎｍａｘが大きくなり、ノイズ以外の部分（図１６のＹ部）ではデータ間の差が小さくなる。この結果、第２グループの異常度が第１グループの異常度よりも小さいという好ましくない事態が発生する。
【００６５】
第１グループに本実施形態に係る正規化を施した場合、図９に示す結果が得られる。図１７は、第２グループに本実施形態に係る正規化を施した結果を示す図である。この場合、第１グループの異常度は１７．２９０、第２グループの異常度は１７．４１６になり、第２グループの異常度は第１グループの異常度よりも大きくなる。したがって、時系列データ処理装置１０によれば、従来の正規化を行う場合よりも好適なグループの異常度を求めることができる。また、正規化後の時系列データに元の時系列データに含まれるノイズを残すことができる。
【００６６】
なお、本実施形態に係る正規化では、正規化後のデータは、正規化前のデータが最大値Ｍｍａｘよりも大きい場合には１より大きくなり、正規化前のデータが最小値Ｍｍｉｎよりも小さい場合には０より小さくなる。ＣＰＵ２１は、ステップＳ１６０およびＳ１７０において、グループの異常度や時系列データの異常度を絶対的にではなく相対的に評価する（異常度を相互に比較する）。このため、正規化後のデータが１より大きい場合や０より小さい場合でも、異常度の比較には影響しない。
【００６７】
また、ＣＰＵ２１は、ステップＳ１４０において、時系列データの組の同じ時刻のデータ間の差に基づき、グループの異常度を算出する。一方、時系列データの類似度を示す指標として、データの変化を示すベクトルの方向の差に基づくＡＭＳＳ（Angular Metrics for Shape Similarity）が知られている。ＣＰＵ２１は、ステップＳ１４０において、ベクトルの方向の差に基づくＡＭＳＳのような指標ではなく、データ間の差（ユークリッド距離）に基づく異常度を算出する。したがって、時系列データ処理装置１０によれば、利用者が手計算で時系列データを分析するときと類似したグループの異常度を求めることができる。
【００６８】
また、時系列データ処理装置１０は、正規化後の時系列データに基づき時系列データの異常度を算出し、時系列データの異常度に基づく時系列データのランキングを表示する。したがって、利用者は異常な時系列データを容易に認識することができる。また、ＣＰＵ２１は、ステップＳ１５０において、時系列データの異常度として、時系列データと中央値時系列データとの間の同じ時刻のデータ間の差の和を算出する。これにより、好適な時系列データの異常度を求めることができる。
【００６９】
なお、時系列データ処理装置１０では、ＣＰＵ２１は、ステップＳ１４０において、グループの異常度として、同じ時刻のデータ間の差の平均値の最大値を求めることした。これに代えて、ＣＰＵ２１は、グループの異常度として、他の値、例えば、同じ時刻のデータ間の差の平均値の平均値を求めてもよい。また、時系列データ処理装置１０では、グループのランキングは、グループを異常度が大きい順に並べ替えた結果を含むこととした。これに代えて、グループのランキングは、グループを並べ替えることなく、グループの異常度の順位を含むこととしてもよい。時系列データのランキングについても、これと同様である。また、時系列データ処理装置１０は、時系列データ７を記憶することとした。これに代えて、時系列データ７は装置の外部に記憶されており、通信部２６を用いて時系列データ処理装置１０に供給されることとしてもよい。
【００７０】
以上に示すように、本発明の時系列データ処理方法、時系列データ処理プログラム、および、時系列データ処理装置によれば、利用者が分析しやすい態様で時系列データを表示することができる。
【符号の説明】
【００７１】
５…分析期間情報
６…表示制御指示
７…時系列データ
８…データ属性
１０…時系列データ処理装置
１１…分析期間情報入力部
１２…グループ生成部
１３…正規化部
１４…異常度算出部
１５…ランキング生成部
１６…表示制御指示入力部
１７…結果表示部
１８…時系列データ記憶部
２０…コンピュータ
２１…ＣＰＵ
２２…メインメモリ
２４…入力部
２５…表示部
３０…記憶媒体
３１…時系列データ処理プログラム
４１、４２、４３…画面
４４…リンク情報
【図１】
0006599727.tif 000002
【図２】
0006599727.tif 000003
【図３】
0006599727.tif 000004
【図４】
0006599727.tif 000005
【図５】
0006599727.tif 000006
【図６】
0006599727.tif 000007
【図７】
0006599727.tif 000008
【図８】
0006599727.tif 000009
【図９】
0006599727.tif 000010
【図１０】
0006599727.tif 000011
【図１１】
0006599727.tif 000012
【図１２】
0006599727.tif 000013
【図１３】
0006599727.tif 000014
【図１４】
0006599727.tif 000015
【図１５】
0006599727.tif 000016
【図１６】
0006599727.tif 000017
【図１７】
0006599727.tif 000018