(57)【要約】【課題】不正確なサブシーケンスのクラスタリングを回避する。【解決手段】時系列データの周期を計算する周期計算部と、前記時系列データから周期として設定された長さの複数のサブシーケンスを生成するサブシーケンス生成部と、前記複数のサブシーケンスの特徴量を計算する特徴抽出部と、前記複数のサブシーケンスを特徴量に基づいて一つ又は複数のグループに分類する分類部と、前記１つのグループに共通に属する前記サブシーケンスの発生順序に基づいて前記１つのグループに共通に属する前記サブシーケンスの周期を求め、前記１つのグループに共通に属する前記サブシーケンスの周期に応じて発生が期待されるが欠落している前記サブシーケンスを識別して欠落イベント検出を行うイベント解析部を含む。【選択図】図１
2021533482.tif 000002
【特許請求の範囲】
【請求項１】
時系列データの周期を計算する周期計算部と、
前記時系列データから、周期として設定された長さの複数のサブシーケンスを生成するサブシーケンス生成部と、
前記複数のサブシーケンスの特徴量を計算する特徴抽出部と、
前記複数のサブシーケンスを、前記複数のサブシーケンスの特徴量に基づいて、一つ又は複数のグループに分類する分類部と、
前記一つのグループに共通に属する、前記サブシーケンスの発生順序に基づいて、前記一つのグループに共通に属する前記サブシーケンスの周期を求め、前記一つのグループに共通に属する前記サブシーケンスの周期に応じて発生が期待されるが見つからない前記サブシーケンスを識別して欠落イベントの検出を実行するイベント解析部と、
を含むイベント監視装置。
【請求項２】
前記イベント解析部が、
各要素が、行の前記サブシーケンスと列の各グループとの関係を定義し、前記サブシーケンスが前記グループに分類されている場合には、該列の各グループは値１をとり、そうでない場合は値０をとるインシデンス行列を作成するインシデンス行列作成部と、
前記インシデンス行列の各列における値１の発生の周期を計算する列単位の周期計算部と、
前記要素が属する列の周期に基づいて、値１を取ると期待される前記インシデンス行列の要素が値０をとる場合に、欠落イベントを識別する欠落イベント検出部と、
を含む、請求項１記載のイベント監視装置。
【請求項３】
前記インシデンス行列が、前記サブシーケンスの数を行数とし、前記サブシーケンスが分類されるグループの数を列数とし、
前記インシデンス行列のｉ行ｊ列要素は、ｉ番目のサブシーケンスがｊ番目のグループに分類される場合に値１をとり、そうでない場合には値０をとる（但し、１＜＝ｉ＜＝行数、１＜＝ｊ＜＝列数）、請求項２記載のイベント監視装置。
【請求項４】
前記分類部が、
前記複数のサブシーケンスを、前記複数のサブシーケンスの特徴量に基づいて、一つ又は複数のグループにクラスタリングするクラスタリング部を含む、請求項１乃至３のいずれか一に記載のイベント監視装置。
【請求項５】
前記分類部が、前記複数のサブシーケンスを、前記複数のサブシーケンスの特徴量に基づいて、一つ又は複数のグループに分類するクラシフィケーション部を含む、請求項１乃至３のいずれか一に記載のイベント監視装置。
【請求項６】
前記クラシフィケーション部が、前記周期を有するトレーニングサブシーケンスを用いて分類モデルを学習する分類モデル学習部と、
前記サブシーケンスが前記サブシーケンスの特徴量に基づいて分類されるグループを、前記分類モデルを用いて推定する推定部と、
を含む、請求項５記載のイベント監視装置。
【請求項７】
前記周期計算部が、前記時系列データのピリオドグラムおよび前記時系列データの自己相関のうち少なくとも一つを用いて、前記時系列データの周期を算出する、請求項１乃至６のいずれか一に記載のイベント監視装置。
【請求項８】
前記周期算出部が、前記ピリオドグラム中の最大ピークを検出し、前記自己相関において、前記最大ピークに対応するラグと前記ピリオドグラム中の最大ピークの周波数に対応する時刻に隣接する一つ又は複数のラグで発生する一つ又は複数のピークを検出し、前記ピークに対応するラグと前記ピリオドグラム中の最大ピークの周波数に対応する時刻との距離に基づいて、前記ラグを前記周期として選択することを特徴とする、
請求項７記載のイベント監視装置。
【請求項９】
時系列データの周期を計算し、
前記時系列データから、周期として設定された長さの複数のサブシーケンスを生成し、
前記複数のサブシーケンスの特徴量を計算し、
前記複数のサブシーケンスを、前記複数のサブシーケンスの特徴量に基づいて、一つ以上のグループにカテゴライズし、
一つのグループに共通に属する前記サブシーケンスの発生順序に基づいて、一つのグループに共通に属する前記サブシーケンスの周期を検出し、
前記一つのグループに共通して属する前記サブシーケンスの周期に応じて発生が期待されるが見つからない前記サブシーケンスを識別することにより、欠落イベントの検出を行う、イベント監視方法。
【請求項１０】
前記サブシーケンスの周期の検出では、
各要素がサブシーケンスの関係を行において定義し、前記サブシーケンスがグループに分類されている場合は列の各グループは値１をとり、そうでない場合は値０をとるインシデンス行列を作成し、
インシデンス行列の各列における値１の発生の周期を計算する列ごとの周期を計算し、
前記欠落イベントの検出は、前記要素が属する列の周期に基づいて、値１を取ると期待される前記インシデンス行列の要素が値０をとる場合に、前記欠落イベントを識別する、請求項９記載のイベント監視方法。
【請求項１１】
前記インシデンス行列は、前記サブシーケンスの数を行の数とし、前記サブシーケンスが分類されるグループの数を列の数とし、前記インシデンス行列のｉ行ｊ列要素の値は、ｉ番目のサブシーケンスがｊ番目のグループに分類される場合に１となり、そうでない場合には０となること、但し１＜＝ｉ＜＝行の数、１＜＝ｊ＜＝列の数とすること、
を特徴とする請求項１０記載のイベント監視方法。
【請求項１２】
時系列データの周期を計算し、
前記時系列データから、周期として設定された長さの複数のサブシーケンスを生成し、
前記複数のサブシーケンスの特徴量を計算し、
前記複数のサブシーケンスを、前記複数のサブシーケンスの特徴量に基づいて、一つ以上のグループにカテゴライズし、
一つのグループに共通に属する前記サブシーケンスの発生順序に基づいて、一つのグループに共通に属する前記サブシーケンスの周期を検出し、
前記一つのグループに共通して属する前記サブシーケンスの周期に応じて発生が期待されるが見つからない前記サブシーケンスを識別することにより、欠落イベントの検出を行う、処理を、コンピュータに実行させるプログラムを格納した、コンピュータ読み取り可能な記録媒体。
【請求項１３】
前記サブシーケンスの周期を検出する処理は、
各要素が、行の前記サブシーケンスと列の各グループとの関係を定義し、前記サブシーケンスが前記グループに分類されている場合には、該列の各グループは値１をとり、そうでない場合は値０をとるインシデンス行列を作成する処理と、
前記インシデンス行列の各列における値１の発生の周期を列ごとに計算する処理と、
前記欠落イベントの検出処理は、前記要素が属する列の周期に基づいて、値１をとると期待される前記インシデンス行列の要素が値０をとる場合に、欠落イベントを識別する処理、を含む、請求項１２記載のコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はイベント監視装置、方法及び非一時的な媒体に関する。
【背景技術】
【０００２】
近年、対象物の信号を計測する１台以上の（IoT (Internet of Things)）センシングデバイスによって得られるデータを解析することで、対象物あるいはもの（entity）の状態（イベント）を監視する監視システムが広く普及してきている。測定された信号の時系列データは、対象物の状態や動作に関連したイベントとして想定される情報を含んでいても良い。本明細書におけるイベントは、時系列データが取得された物理的プロセスにおける、状態、挙動、アクティビティ、事件、事象発生などに類似した意味を有していても良い。
【０００３】
異常検出(anomaly detection)は、時系列データから標準モデルや学習モデルから著しく逸脱した特徴あるいはインスタンスを外れ値として検出するため、監視装置では広く採用されている。異常検出は、欠落イベントの識別（同定）にも適用される。欠落イベントの識別は、電気製品などのようなものの欠陥を識別する際に、例えば障害（故障）の原因を見つけるための解析を実行するトリガとして、有益である。
【０００４】
異常検出では、クラスタ分析が用いられる。クラスタリングに基づく異常検出のアプローチの一例として、異常検出のためにサブシーケンス（subsequence）の変化を解析するためにサブシーケンスクラスタリングを適用することができる。単一の時系列が与えられると、スライディングウィンドウ（sliding window）によって部分的な時系列が抽出される。具体的には、図１３に示すように、長さNの時系列データX=[x1,x2,....,xN]と、ウィンドウの長さ(サイズ)をwとし、オフセット(右シフト)をsとしたとき、wは1からN-1の範囲の整数、sは(N-w)の除数であり、合計(N-w)/s+1のサブシーケンスが抽出される。C1〜C(N-w)/s+1は、長さNの時系列データXからウィンドウを介して抽出され、このウィンドウは、各時点でsサンプル分右シフトされている。
【０００５】
スライディングウィンドウを介して時系列データから抽出された各サブシーケンスの特徴量（ベクトル）の計算を行い、抽出されたサブシーケンスの特徴量に基づいて、ｋ-meansや階層的クラスタリングなどのクラスタリングを行う。異常検出のためのクラスタリングアプローチでは、例えば、時系列データのうち、どのクラスタにも属していないサブシーケンスや、その特徴量がいずれかのクラスタの中心から離れているサブシーケンスを異常値または外れ値と判定できる。
【０００６】
サブシーケンスの長さの選択は、データに関するドメイン知識または試行錯誤のアプローチのいずれかに依存するため、時間を要する。不正確なウィンドウサイズでのサブシーケンスのクラスタリングは、クラスタリング結果を使用するイベント推定や異常検出などの後続の（後処理の）分析に不正確なクラスタリング結果を提供する可能性がある。
【０００７】
特許文献１には、少なくとも第１の未来の外部事象を入力として取得すること；前記一以上の未来の外部事象の一以上の将来効果を予測すること、但し、前記一以上の未来の外部事象は少なくとも第１の過去の外部事象に類似していること；および、イベントを正規化した予測データと、前記少なくとも第１の過去の外部事象に類似の前記一以上の未来の外部事象の一以上の予測された将来効果、とを重ね合わせることにより、少なくとも一つの触知可能な（tangible）リソースの将来の利用を予測することを含む、予測方法が開示されている。
【０００８】
特許文献２には、信頼性の高いセンサデータを利用可能にする方法を開示し、システムの信頼性の高いセンサデータを利用可能にするための装置が提供されている。この方法はシステムの構成要素を監視する少なくとも一つのセンサユニットからセンサデータを受信するステップと、信頼性の高いセンサデータを生成するための少なくとも一つの格納されたオントロジーおよび統計データ解析モデルを用いて、受信したセンサデータを処理するステップと、を含む。
【０００９】
特許文献３には、時系列データの周期性の検出について、マシン（機械）生成されたログから周期的なイベントの挙動を検出するためのシステムと方法を以下の通り開示している。
各ログメッセージはタイムスタンプと一以上のフィールドを持つテキスト内容を含む、異種ログメッセージをキャプチャし；
ログメッセージからログフォーマットを認識し；
テキスト内容を時系列データの集合に変換し、ログフォーマットごとに一つ時系列データを作成し；
トレーニングフェイズでは、時系列データの集合を分析し、異種ログの各周期的イベントタイプのカテゴリモデルを構築し；および、
実行動作中に、実行時の異種ログメッセージからの時系列データのストリームにカテゴリモデルを適用し、カテゴリモデルに違反する時系列データポイントにフラグを生成し、対応するログメッセージのアラームレポートを生成する。
【００１０】
特許文献４及び非特許文献１では、自己相関とピリオドグラムの両方の情報を考慮した周期検出を開示している。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】米国特許出願公開第２０１０／０２０５０３９号明細書
【特許文献２】米国特許出願公開第２０１７／００４６３０９号明細書
【特許文献３】国際公開第２０１７／０８３１４８号
【特許文献４】米国特許第７９３３７４０号明細書
【非特許文献】
【００１２】
【非特許文献１】"On Periodicity Detection and Structural Periodic Similarity," Michail Vlachos, Philip Yu, Vittorio Castelli, IBM, Proceedings of the 2005 SIAM International Conference on Data Mining
【発明の概要】
【発明が解決しようとする課題】
【００１３】
上述したように、サブシーケンスクラスタリングにおけるサブシーケンス長の選択は、データに関するドメイン知識または試行錯誤のアプローチのいずれかに依存し、スライディングウィンドウの設定が誤っていると、誤ったクラスタリング結果を提供する可能性がある。
【００１４】
従って、本発明の目的は、時系列データ中の周期的なイベントの正確な検出と欠落イベント(missed event)の識別（同定）を可能とする装置、方法、プログラム記録媒体を提供することにある。
【課題を解決するための手段】
【００１５】
本発明の一つの側面によれば、時系列データの周期を計算する周期計算部と、前記時系列データから、周期として設定された長さの複数のサブシーケンスを生成するサブシーケンス生成部と、前記複数のサブシーケンスの特徴量を計算する特徴抽出部と、前記複数のサブシーケンスを、前記複数のサブシーケンスの特徴量に基づいて、一つ又は複数のグループに分類（categorize）する分類（categorization）部と、前記一つのグループに共通に属する、前記サブシーケンスの発生順序に基づいて、前記一つのグループに共通に属する前記サブシーケンスの周期を求め、前記一つのグループに共通に属する前記サブシーケンスの周期に応じて発生が期待されるが(occurrence is expected)、見つからない(but not found)前記サブシーケンスを識別して欠落イベント(missing event)の検出を実行するイベント解析部と、を含むイベント監視装置が提供される。
【００１６】
本発明の一つの側面によれば、
時系列データの周期を計算し、
前記時系列データから、周期として設定された長さの複数のサブシーケンスを生成し、
前記複数のサブシーケンスの特徴量を計算し、
前記複数のサブシーケンスを、前記複数のサブシーケンスの特徴量に基づいて、一つ以上のグループにカテゴライズし、
一つのグループに共通に属する前記サブシーケンスの発生順序に基づいて、一つのグループに共通に属する前記サブシーケンスの周期を検出し、
前記一つのグループに共通して属する前記サブシーケンスの周期に応じて発生が期待されるが、見つからない前記サブシーケンスを識別することにより、欠落イベントの検出を行う、イベント監視方法が提供される。
【００１７】
本発明の一つの側面によれば、
時系列データの周期を計算し、
前記時系列データから、周期として設定された長さの複数のサブシーケンスを生成し、
前記複数のサブシーケンスの特徴量を計算し、
前記複数のサブシーケンスを、前記複数のサブシーケンスの特徴量に基づいて、一つ以上のグループにカテゴライズし、
一つのグループに共通に属する前記サブシーケンスの発生順序に基づいて、一つのグループに共通に属する前記サブシーケンスの周期を検出し、
前記一つのグループに共通して属する前記サブシーケンスの周期に応じて発生が期待されるが、見つからない前記サブシーケンスを識別することにより、欠落イベントの検出を行う処理をコンピュータに実行させるプログラムを格納した、コンピュータ読み取り可能な記録媒体が提供される。本発明の別の側面によれば、上記したプログラムが提供される。
【００１８】
記録媒体は、ランダムアクセスメモリ（Random Access Memory：RAM)、リードオンリーメモリ（Read Only Memory：ROM)、電気的に消去及びプログラム可能なリードオンリーメモリ（Electrically Erasable and Programmable Read Only Memory：EEPROM）、フラッシュメモリなどのような半導体メモリや、ハードディスクドライブ（Hard Disk Drive ：HDD)、ソリッドステートドライブ（Solid State Drive：SSD)、コンパクトディスク（Compact Disc）、デジタルバーサタイルディスク（Digital Versatile Disc)などのように非トランジトリーでコンピュータが読み取り可能な記憶媒体としてもよい。
【発明の効果】
【００１９】
本発明によれば、周期的なイベントを正確に検出することが可能となり、その結果、時系列データ中の欠落イベントを識別することが可能となる。
【図面の簡単な説明】
【００２０】
【図１】本発明の第一の実施形態の構成を示す図である。
【図２】本発明の第一の実施形態の動作を説明するためのフローチャートである。
【図３】本発明の第一の実施形態の動作を説明するためのフローチャートである。
【図４】本発明の第一の実施形態のイベント解析部の構成を示す図である。
【図５】イベント解析部の動作を説明するためのフローチャートである
【図６】（Ａ）−（Ｃ）はインシデンス行列の例を説明するための図である。
【図７】本発明の第一の実施形態の周期計算部の構成を説明するための図である。
【図８】時系列データ、ピリオドグラム、自己相関関数（auto-correlation function =ACF）の例を説明するための図である。
【図９】周期計算部の動作を説明するための図である。
【図１０】周期計算部の動作を説明するためのピリオドグラム及び自己相関関数（ACF）を説明するための図である。
【図１１】本発明の第２の実施形態の構成を説明するための図である。
【図１２】本発明の第３の実施形態の構成を説明するための図である。
【図１３】スライディングウィンドウを通してのサブシーケンス生成を説明するための図である。
【発明を実施するための形態】
【００２１】
本発明の実施形態について説明する。図１は、第一の実施形態のイベント監視装置の構成を示す図である。図１を参照すると、イベント監視装置１００は、処理部１０１、記憶部１０２、入力装置１０３、および出力装置１０４を含む。
【００２２】
処理部１０１は、前処理部（pre-processing unit）１１０と、周期算出部(periodicity calculation unit)１２０と、サブシーケンス生成部１３０と、特徴抽出部１４０と、クラスタリング部１５０と、イベント解析部１６０とを含む。サブシーケンス生成部１３０、特徴抽出部１４０およびクラスタリング部１５０は、サブシーケンスクラスタリングモジュール１５１を構成する。なお、図１では、１１０〜１６０の各部が処理部１０１に統合されているが、１１０〜１６０の各部は、互いに通信する別個のユニットとして配置されていてもよいことは勿論である。
【００２３】
入力装置１０３は、電流センサ（図示せず）や電力センサ（図示せず）などの測定装置と通信するための通信部（図示せず）を含んでいてもよい。この場合、入力装置１０３は、センサから、消費電流や消費電力などの監視対象の電気製品の波形を受信するように構成されている。
【００２４】
前処理部１１０は、入力装置１０３から波形データを受信し、必要に応じて波形データの前処理を行って、時系列データを生成し、前処理された時系列データを記憶部１０２に格納する。前処理部１１０は、例えば、入力装置１０３が受信した瞬時電流波形または瞬時電力波形の実効値ＲＭＳ（Root Mean Square）を算出してもよい。測定装置が電流または電力のＲＭＳデータを提供可能であり、入力装置１０３がＲＭＳ時系列データを受信するように構成されている場合には、前処理部１１０によるＲＭＳの計算を省略してもよい。当然のことながら、前処理部１１０はフィルタリング等のＲＭＳ計算以外の前処理を行ってもよい。
【００２５】
周期算出部１２０は、記憶部１０２から時系列データを読み出し、時系列データにおける周期を求める。
【００２６】
サブシーケンスクラスタリングモジュール１５１は、サブシーケンスの時系列クラスタリングを行う。具体的には、サブシーケンス生成部１３０は、時系列データから、周期に設定されたウィンドウサイズｗのスライディングウィンドウを介してサブシーケンスを抽出する。
【００２７】
特徴抽出部１４０は、各サブシーケンスの特徴量として、例えば、ピリオドグラム特徴量などのパワースペクトラム、自己相関、統計的特徴量（平均値、標準偏差、和、中央値、二乗和などの少なくとも一つ）などを算出する。また、特徴抽出部１４０は、複数種類の特徴量の要素を含む特徴ベクトルを算出してもよい。
【００２８】
クラスタリング部１５０は、サブシーケンスの特徴量または特徴ベクトルに対して、教師なしクラスタリングを適用してもよく、例えば、検出するクラスタの数を予め指定して、サブシーケンスを予め定められた数のクラスタ（グループ）にクラスタリングするｋ-meansクラスタリングアルゴリズム等を適用してもよい。当然のことながら、クラスタリング部１５０は、クラスタ数を予め指定する必要のない階層型クラスタリングを用いてもよい。
【００２９】
特徴抽出部１４０は、データセット（特徴ベクトル）の次元を小さくするために元の変数の部分集合を見つける特徴選択を用いてもよいし、例えば主成分分析（ＰＣＡ）を用いて高次元空間のデータをより少ない次元の空間に変換するデータ変換を用いてもよい。
【００３０】
イベント解析部１６０は、クラスタリング部１５０から出力されたクラスタリング結果を受信する。クラスタリング結果は、サブシーケンスがクラスタリングされるクラスタ番号、すなわち、（サブシーケンス＃１、クラスタ＃１）、（サブシーケンス＃２、クラスタ＃Ｋ）、...、（サブシーケンス＃Ｍ、クラスタ＃２）に関連付けられたサブシーケンス番号に関する情報を含んでいてもよい。
【００３１】
イベント解析部１６０は、同一のクラスタに共通に属するサブシーケンスの発生順序に基づいて、同一のクラスタに属するサブシーケンス(subsequences)の周期を検出する。イベント解析部１６０は、一つのクラスタに共通して属するサブシーケンスの周期に応じて発生が予想されるが、そのサブシーケンスの一つのグループへのクラスタリングが行われていないために発見されなかったサブシーケンスを識別して、欠落イベント(missing event)検出を行ってもよい。イベント解析部１６０は、クラスタリングの結果に基づいて、インシデンス行列（２進行列）Ａを作成する。インシデンス行列Ａのｉ番目の行およびｊ番目の列の要素ａ（ｉ，ｊ）は、ｉ番目のサブシーケンスがクラスタ＃ｊに属する場合には値１をとり、そうでない場合には値０をとる、但し1≦i≦M, 1≦j≦K, Mはサブシーケンスの数であり、Kはクラスタの全数である。図１３の例では、時系列データX= [x1,x2,....,xN]のウィンドウ長(サイズ)wとオフセットs(右シフト)の場合、サブシーケンスの数はM=(N-w)/s+1である。
【００３２】
各クラスタ、すなわち、インシデンス行列Ａの各列は、イベントまたは状態に対応していてもよい。イベント解析部１６０は、インシデンス行列Ａの各列に関する周期（列方向の周期）を算出する。
【００３３】
イベント解析部１６０は、列内の１行目からＭ番目の行までの値１の発生周期を求めることにより、列方向(column-wise)の周期を算出する。イベント解析部１６０は、算出した列方向の周期を記憶部１０２に格納する。ここで、２値行列のｊ番目の列の算出された周期をＰｊとし、インシデンス行列Ａの要素ａ（ｉ，ｊ）の値を１とし、の要素ａ（ｉ＋Ｐｊ，ｊ）の値（ｉ＋Ｐｊ＜＝Ｍ）が１ではなく０である場合、イベント解析部１６０は、イベントの欠落を認識し、アラートを発する。インシデンス行列Ａでは、行と列が入れ替わってもよく、すなわち、行にクラスタ、列にサブシーケンスがあってもよい。
【００３４】
出力装置１０４は、欠落イベントを出力する。出力装置１０４は、欠落イベントを出力するための表示装置を含んでいてもよいし、ネットワークを介して保守要員の端末に欠落イベントを送信するための通信装置を含んでいてもよい。
【００３５】
図２は、本実施形態の動作を説明するフローチャートである。図２を参照して、イベント監視装置１００は、消費電流や電力などの電気機器の信号を測定する測定部から波形データを受信する（ステップＳ１）。
【００３６】
イベント監視装置１００は、波形データの前処理を行い、時系列データを生成する（ステップＳ２）。
【００３７】
イベント監視装置１００は、時系列データの周期検出を行う（ステップＳ３）。
【００３８】
イベント監視装置１００は、部分データ時系列クラスタリングを実行する（ステップＳ４）。
【００３９】
イベント監視装置１００は、サブシーケンス時系列クラスタリングの結果に基づいてイベント監視を行う（ステップＳ５）。
【００４０】
欠落イベントを発見した場合（ステップＳ６のＹｅｓ分岐）、イベント監視装置１００は、欠落イベント通知を出力する（ステップＳ７）。
【００４１】
図３は、図１のサブシーケンスクラスタリングモジュール１５１の動作を説明するフローチャートである。図３を参照して、サブシーケンス生成部１３０は、周期算出部１２０で得られた周期に合わせた大きさのスライディングウィンドウを用いて、時系列データからサブシーケンスを生成する（ステップＳ１１）。
【００４２】
サブシーケンス生成部１３０により時系列データからＭ個のサブシーケンスが抽出されたと仮定すると、特徴抽出部１４０は、Ｍ個のサブシーケンスの特徴量を算出する（ステップＳ１２〜Ｓ１５）。
【００４３】
特徴抽出部１４０は、各サブシーケンスの特徴量として、例えば、ピリオドグラム特徴量、自己相関などのパワースペクトラムや、統計的特徴量（平均値、標準偏差、和、中央値、二乗和など）を算出してもよい。また、特徴抽出部１４０は、複数種類の特徴量で構成される複数の要素を含む特徴ベクトルを算出してもよい。
【００４４】
クラスタリング部１５０は、ｋ-meansクラスタリングアルゴリズムなどの教師なしクラスタリングや、階層的クラスタリングを用いて、Ｍ個のサブシーケンスの特徴量に基づいて、Ｍ個のサブシーケンスを所定の数のグループ（クラスタ）にカテゴライズ（分類）してもよい（ステップＳ１６）。
【００４５】
図４は、イベント解析部１６０の構成を説明する図である。イベント解析部１６０は、インシデンス行列生成部１６１と、列方向周期算出部１６２と、欠落イベント識別部１６３とを含む。
【００４６】
図５は、図４のイベント解析部１６０の動作を説明するフローチャートである。インシデンス行列生成部１６１は、インシデンス行列（２値行列）を作成する（ステップＳ２１）。図６（Ａ）は、行数Ｍ、列数Ｋのインシデンス行列Ａの一例を示す図である。インシデンス行列Ａの行と列は、サブシーケンスとクラスタ（グループ）に対応する。行列Ａのi番目の行、j番目の列a(i,j) は，i 番目のサブシーケンスがクラスタ j にある場合は値１、そうでない場合は値０となる（但し、1≦i≦M, 1≦j≦k, Ｍはサブシーケンスの全数、Ｋはクラスタの数）。ここで、１番目からＫ番目のクラスタは、それぞれのイベントに対応していると考えられる。
【００４７】
列方向周期算出部１６２は、インシデンス行列の各列における値１の出現周期を算出する（ステップＳ２２）。より具体的には、列方向周期算出部１６２は、インシデンス行列Ａの各列の要素、例えば１行目からＭ行目までをスキャンして、値１の発生周期を推定する。
【００４８】
図６（Ｂ）は、３列のインシデンス行列Ａの一例を示す図である。図６（Ｂ）では、第１列目から第３列目までの各列の列ごとの周期は４である。
【００４９】
k-meansクラスタリングでは、一つデータ（サブシーケンス）を一つクラスタに分類し、インシデンス行列Ａの同一行の３つの要素のうち一つ要素が１の値をとる。
【００５０】
図６（Ｃ）は、図６（Ｂ）のインシデンス行列Ａに対応し、サブシーケンスのイベントの遷移を示している。図６（Ｃ）では、横軸はクラスタ番号、縦軸は特徴量を示している。ここでは、イベント番号がクラスタ番号に対応する。第１及び第２のサブシーケンスは共にクラスタ＃１（イベント＃１）にクラスタ化され、第３のサブシーケンスはクラスタ＃３（イベント＃３）にクラスタ化され、第４のサブシーケンスはクラスタ＃２（イベント＃２）にクラスタ化されている。図６（Ｃ）の特徴量を家電製品の消費電力とすると、イベント＃１、＃２、＃３は、それぞれ、家電製品の高電力動作、低電力動作、中間（通常）電力動作に対応させることができる。また、電気機器は、高電力動作、中電力動作、低電力動作からなる動作サイクルを有しており、特に制限されないが、工場の製造ラインに配置された製造装置であってもよい。
【００５１】
欠落イベント識別部１６３は、イベントが定期的に発生しているか否かを確認する（図５、ステップＳ２３）。欠落イベント識別部１６３は、インシデンス行列Ａにおいて１の値をとるものと期待される要素が、０の値をとる場合に、該当イベントの欠落を識別する。
【００５２】
図６（Ｂ）のインシデンス行列Ａの場合、第１列の［４＊（ｍ-１）＋１］または［４＊（ｍ-１）＋２］番目の行（ｍ＝１，２，...，３＊ｍ＜＝Ｍ）の要素が値１ではなく値０をとる場合、欠落イベント識別部１６３は、第１クラスタ（クラスタ＃１）にクラスタ化された対応するイベントは発生しなかった、すなわち、欠落したと結論付けできる。同様に、第２列または第３列の［４＊（ｍ-１）＋３］または［４＊（ｍ-１）＋４］番目の行の要素が、値１ではなく値０をとる場合、欠落イベント識別部１６３は、第２クラスタまたは第３クラスタにクラスタ化された対応するイベントは発生しなかった、すなわち、欠落したと結論付けできる。欠落イベント識別部１６３が欠落イベントを識別した場合、欠落イベント識別部１６３は、欠落イベントの発生（アラート）を出力装置１０４に通知してもよい（図５、ステップＳ２４）。出力装置１０４は、欠落イベントの発生をディスプレイに出力してもよいし、音でアラートを通知してもよい。
【００５３】
列方向周期算出部１６２が、インシデンス行列Ａの列における周期を見つけることができなかった場合、欠落イベント識別部１６３は、欠落イベント識別を行わず、イベント解析部１６０は、「イベント周期は見つからず」などのメッセージを出力してもよい。
【００５４】
図１を用いて説明した実施形態では、周期算出部１２０は、時系列データの周期を求めるために、パワースペクトラム分析のような任意のアルゴリズムを使用することができる。
【００５５】
時系列データが、Tをサンプリング間隔とし、 x(0), x(T), x(2*T),..., x((N-1)*T)で構成されていると仮定する。x(n*T)をx(n)と表示すると、時系列データのDFT(離散フーリエ変換)は以下のように与えられる。
【００５６】
2021533482.tif 000003
… (1)
ここに、X(k)は周波数k/(T*N)における複素DFT係数である。
【００５７】
IDFT (Inverse DFT) は次式で与えられる。
2021533482.tif 000004
… (2)
【００５８】
ピリオドグラム I(fk)は 次の式で与えられる。
2021533482.tif 000005
… (3)
【００５９】
ここに、ｆｋはｋ／（Ｎ＊Ｔ）である。
【００６０】
周期を見つけるために、最大パワースペクトラム密度(最大ピーク)がピリオドグラムに存在する周波数ビンが選択される。最大パワースペクトラム密度(最大ピーク)がk番目のDFTビン(すなわち周波数: fk=k/(N*T))で発生することが見出された場合、このビンは時間ドメインの周期[N*T/k, N*T/(k-1)]に対応する。より長い期間（kの値が小さい場合）のピリオドグラムの分解能は粗となる。時系列データがDFT bin 1/(N*T)の整数倍ではない周波数を持つ場合、この周波数のパワースペクトラムはスペクトル全体に分散している。
【００６１】
時系列データの周期は、時系列データの周期自己相関関数（circular autocorrelation function: ＡＣＦ）を計算することで推定できる。ラグ１のＡＣＦは次式で与えられる。
【００６２】
2021533482.tif 000006
… (4)
【００６３】
ＡＣＦは、パワースペクトラム（power spectrum）
2021533482.tif 000007
のＩＤＦＴによって計算することができる。
【００６４】
以下、時系列データの周期を求めるためのピリオドグラムとＡＣＦの組み合わせアルゴリズムについて説明する。図７は、周期算出部１２０の構成例を示す図である。周期算出部１２０は、ピリオドグラム算出部１２１と、ピーク検出部１２２と、自己相関算出部１２３と、周期検出部１２４とを含む。
【００６５】
図８は、ＲＭＳ値の時系列データ、時系列データのパワースペクトラム、および時系列データの自己相関関数を示す。自己相関関数の第１のピークは、ＲＭＳ値の時系列データの期間(period)として矢印で示されている。
【００６６】
図９は、周期算出部１２０の動作を説明するためのフローチャートである。ピリオドグラム算出部１２１は、時系列データのピリオドグラムを算出する（ステップＳ３０）。
【００６７】
ピーク検出部１２２は、ピリオドグラムにおける最大パワースペクトラム密度(maximum power spectrum density)を与えるＤＦＴビンを検出する（ステップＳ３１）。
【００６８】
2021533482.tif 000008
… (5)
ここに
2021533482.tif 000009
は、(N-1)/2以下の最大の整数を与える。
【００６９】
周期検出部１２４は、その逆数がパワースペクトラム密度が最大値をとる周波数に対応する時点Ｎ＊Ｔ／ｋｍａｘを取得する。時点（ラグ）Ｎ＊Ｔ／ｋｍａｘにおけるＡＣＦの値：ＡＣＦ（Ｎ＊Ｔ／ｋｍａｘ）がピーク値（局所最大値）を取る場合（ステップＳ３３のＹｅｓ分岐）、周期をＮ＊Ｔ／ｋｍａｘに設定する（ステップＳ３４）。
【００７０】
また、非特許文献１で述べたように、自己相関グラフには振幅が小さいために周期が潜在するが、ピリオドグラムでは周期に対応するピークが非常にはっきりしている（最大ピークをとる）場合もある。 この場合、ピリオドグラムから導き出される周期としてＮ＊Ｔ／ｋｍａｘを選択することが有効である。
【００７１】
Ｎ＊Ｔ／ｋｍａｘのラグにおけるＡＣＦの値ＡＣＦ（Ｎ＊Ｔ／ｋｍａｘ）がピーク値（局所最大値）ではない場合（ステップＳ３４のＮｏ分岐）、周期検出部１２４は、ＡＣＦにおいて、Ｎ＊Ｔ／ｋｍａｘをτ１とτ２で挟む時間点（ラグ）であるτ１とτ２に発生する２つの局所最大値を検出する（ステップＳ３５）。一つの局所最大値（相対局所最大値ともいう）を与える時間点（ラグ）τ１、τ２は、いずれも、ピリオドグラムにおける最大ピーク（最大電力）のＤＦＴ周波数ビンに対応する時間点であるＮ＊Ｔ／ｋｍａｘに隣接しており、この時間点（ラグ）τ１、τ２の間にＮ＊Ｔ／ｋｍａｘが挟まれている。二つの局所最大値を与える時間点（ラグ）τ1とτ2は、必ずしもＮ＊Ｔ／ｋｍａｘに対して両側にあるとは限らない。周期検出部１２４は、ＡＣＦ内の局所的な最大値を見つける際に、ＡＣＦ内の所定の閾値以上の局所的な最大値を有する一つ又は複数の局所的な最大値を選択してもよい。選択される局所最大値の数は、当然のことながら、２つに限定されない。
【００７２】
周期検出部１２４は、Ｎ＊Ｔ／ｋｍａｘとτ１との間の距離ｒ１と、Ｎ＊Ｔ／ｋｍａｘとτ２との間の距離ｒ２とを算出する（ステップＳ３６）。
【００７３】
2021533482.tif 000010
2021533482.tif 000011
…(6)
【００７４】
ｒ１≦ｒ２であれば、周期ｐ＝τ１、（ステップＳ３８）、そうでなければｐ＝τ２である（ステップＳ３９）。
【００７５】
図１０は、周期検出部１２４の動作を説明するための図である。図１０（Ａ）において、パワースペクトラムは、ｋｍａｘ／（Ｎ＊Ｔ）のＤＦＴ周波数ビンにピークを有する。周期検出部１２４は、ＡＣＦにおいて、２つの別個の局所最大値（ローカルｍａｘｊおよびローカルｍａｘｊ＋１）を与える時間点（ラグ）τ1およびτ2を、時間点（ラグ）τ1およびτ2で検出する。図１０（Ｂ）に図示されているように、その間にＮ＊Ｔ／ｋｍａｘが存在する。図１０（Ｂ）の例では、r1>r2であるため、周期Pはτ2に設定される。
【００７６】
第１の実施形態では、教師なしクラスタリング(unsupervised clustering)が採用されているが、本発明は教師なしクラスタリングに限定されるものではない。教師なしクラスタリングは、教師ありクラスタリング(supervised clustering)（半教師ありクラスタリング(semi-supervised clustering）や、ＳＶＭ（サポートベクターマシン）やＮＮ（ニューラルネットワーク）のような教師あり分類（supervised classification）に置き換えてもよい。第２の実施形態では、特に制限されないが、教師付き分類（supervised classification）が採用される。教師付き分類は、分類器をトレーニングするために、ラベル付けされたトレーニングデータのセットを使用する。トレーニングの結果、学習された分類モデルが得られる。
【００７７】
図１１は、第２の実施形態の装置１００の構成を示す。第１の実施形態のサブシーケンスクラスタリングモジュール１５１は、教師付きサブシーケンス区分部(supervised subsequence classification module)１９０に置き換えられる。教師付きサブシーケンス区分部１９０は、サブシーケンス生成部１３０と、特徴抽出部１４０と、分類モデル学習部１７０と、推定部１８０とを含む。サブシーケンス生成部１３０および特徴抽出部１４０は、第１の実施形態のものと同じである。
【００７８】
分類モデル学習部１７０は、ラベル付けされた学習データの集合（サブシーケンスの特徴）を用いて学習類モデルを取得する。学習済み分類モデルは、記憶部１０２に格納される。
【００７９】
推定部１８０は、学習済みの分類モデルを用いて、解析対象の時系列データからスライディングウィンドウを介して抽出されたサブシーケンスの特徴量の分類（classification）を推定（予測）する。推定部１８０が分類結果としてラベルを出力した場合、イベント解析部１６０のインシデンス行列生成部１６１は、推定部１８０が出力したラベルを用いてインシデンス行列を生成する。インシデンス行列Ａの各列のラベル付けは、インシデンス行列生成部１６１が行ってもよいし、すなわち、インシデンス行列Ａの各列を、それぞれ第１列、第２列、第３列に対応するラベル１、ラベル２、ラベル３のようなラベルで識別してもよい。イベント解析部１６０における列方向周期算出部１６２及び欠落イベント識別部１６３の動作は、第１実施例の実施形態と同様であり、その説明は省略する。
【００８０】
上記の例示的な実施形態で説明したイベント監視装置１００（またはシステム）は、例えば図１２に示すように、サーバシステム（またはクラウドシステム）のようなコンピュータシステム上で実装されてもよい。図１２を参照すると、コンピュータシステム２００は、例えば、サーバシステム（またはクラウドシステム）などのコンピュータシステム上で実施されてもよい。図１２を参照すると、サーバシステムなどのコンピュータシステム２００は、プロセッサ（中央処理装置）２０１と、例えば半導体メモリ（例えば、ランダムアクセスメモリ（ＲＡＭ）、リードオンリーメモリ（ＲＯＭ）、電気的に消去可能でプログラム可能なＲＯＭ（ＥＥＰＲＯＭ）、コンパクトディスク（ＣＤ）、デジタルバーサタイルディスク（ＤＶＤ）等、および／またはハードディスクドライブ（ＨＤＤ）のうちの少なくとも一つを含む記憶装置を含むメモリ２０２、Ｉ／Ｏインターフェイス２０３、２０４、通信インターフェイス２０５、Ｉ／Ｏインターフェイス２０３を介してプロセッサ２０１に接続される入出力装置２０６（表示端末）、Ｉ／Ｏインターフェイス２０４を介してプロセッサ２０１に接続される記憶装置２０７とを含む。
【００８１】
コンピュータシステム２００は、一つ又は複数のネットワークインターフェイスコントローラ（ＮＩＣ）を含む通信インターフェイス２０５を介して、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）および／またはＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）などのネットワーク２０８に接続することができる。図１または図１１のイベント監視装置１００の処理を実行するためのプログラムが記憶装置２０７に記憶されており、プロセッサ２０１は、例示的な実施形態に従ったイベント監視機能を実現するためのプログラムを実行するために、記憶装置２０７から、メモリ２０２に設けられたメインメモリにプログラムを読み出す。
【００８２】
なお、上記特許文献１−４および非特許文献１の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示（請求の範囲を含む）の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の開示の枠内において種々の開示要素（各請求項の各要素、各実施形態ないし実施例の各要素、各図面の各要素等を含む）の多様な組み合わせ、ないし選択（部分的削除を含む）が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。特に、本書に記載した数値範囲については、当該範囲内に含まれる任意の数値ないし小範囲が、別段の記載のない場合でも具体的に記載されているものと解釈されるべきである。
【符号の説明】
【００８３】
１００  イベント監視装置
１０１  処理部
１０２  記憶部
１０３  入力装置
１０４  出力装置
１１０  前処理部
１２０  周期算出部
１３０  サブシーケンス生成部
１４０  特徴抽出部
１５０  クラスタリング部
１５１  サブシーケンスクラスタリングモジュール
１６０  イベント解析部
１６１  インシデンス行列生成部
１６２  列方向周期算出部
１６３  欠落イベント識別部
１７０  分類モデル学習部
１８０  推定部
１９０  教師付きサブシーケンス区分部
２００  コンピュータシステム
２０１  プロセッサ
２０２  メモリ
２０３、２０４  Ｉ／Ｏインターフェイス
２０５  通信インターフェイス
２０６  入出力装置
２０７  記憶装置
２０８  ネットワーク
【図１】
2021533482.tif 000012
【図２】
2021533482.tif 000013
【図３】
2021533482.tif 000014
【図４】
2021533482.tif 000015
【図５】
2021533482.tif 000016
【図６】
2021533482.tif 000017
【図７】
2021533482.tif 000018
【図８】
2021533482.tif 000019
【図９】
2021533482.tif 000020
【図１０】
2021533482.tif 000021
【図１１】
2021533482.tif 000022
【図１２】
2021533482.tif 000023
【図１３】
2021533482.tif 000024
【手続補正書】
【提出日】令和3年2月2日(2021.2.2)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
時系列データの周期を計算する周期計算部と、
前記時系列データから、周期として設定された長さの複数のサブシーケンスを生成するサブシーケンス生成部と、
前記複数のサブシーケンスの特徴量を計算する特徴抽出部と、
前記複数のサブシーケンスを、前記複数のサブシーケンスの特徴量に基づいて、一つ又は複数のグループに分類する分類部と、
前記一つのグループに共通に属する、前記サブシーケンスの発生順序に基づいて、前記一つのグループに共通に属する前記サブシーケンスの周期を求め、前記一つのグループに共通に属する前記サブシーケンスの周期に応じて発生が期待されるが見つからない前記サブシーケンスを識別して欠落イベントの検出を実行するイベント解析部と、
を含むイベント監視装置。
【請求項２】
前記イベント解析部が、
各要素が、行の前記サブシーケンスと列の各グループとの関係を定義し、前記サブシーケンスが前記グループに分類されている場合には、該列の各グループは値１をとり、そうでない場合は値０をとるインシデンス行列を作成するインシデンス行列作成部と、
前記インシデンス行列の各列における値１の発生の周期を計算する列単位の周期計算部と、
前記要素が属する列の周期に基づいて、値１を取ると期待される前記インシデンス行列の要素が値０をとる場合に、欠落イベントを識別する欠落イベント検出部と、
を含む、請求項１記載のイベント監視装置。
【請求項３】
前記インシデンス行列が、前記サブシーケンスの数を行数とし、前記サブシーケンスが分類されるグループの数を列数とし、
前記インシデンス行列のｉ行ｊ列要素は、ｉ番目のサブシーケンスがｊ番目のグループに分類される場合に値１をとり、そうでない場合には値０をとる（但し、１＜＝ｉ＜＝行数、１＜＝ｊ＜＝列数）、請求項２記載のイベント監視装置。
【請求項４】
前記分類部が、
前記複数のサブシーケンスを、前記複数のサブシーケンスの特徴量に基づいて、一つ又は複数のグループにクラスタリングするクラスタリング部を含む、請求項１乃至３のいずれか一に記載のイベント監視装置。
【請求項５】
前記分類部が、前記複数のサブシーケンスを、前記複数のサブシーケンスの特徴量に基づいて、一つ又は複数のグループに分類するクラシフィケーション部を含む、請求項１乃至３のいずれか一に記載のイベント監視装置。
【請求項６】
前記クラシフィケーション部が、前記周期を有するトレーニングサブシーケンスを用いて分類モデルを学習する分類モデル学習部と、
前記サブシーケンスが前記サブシーケンスの特徴量に基づいて分類されるグループを、前記分類モデルを用いて推定する推定部と、
を含む、請求項５記載のイベント監視装置。
【請求項７】
前記周期計算部が、前記時系列データのピリオドグラムおよび前記時系列データの自己相関のうち少なくとも一つを用いて、前記時系列データの周期を算出する、請求項１乃至６のいずれか一に記載のイベント監視装置。
【請求項８】
前記周期算出部が、前記ピリオドグラム中の最大ピークを検出し、前記自己相関において、前記最大ピークに対応するラグと前記ピリオドグラム中の最大ピークの周波数に対応する時刻に隣接する１以上のラグで発生する一つ又は複数のピークを検出し、前記ピークに対応するラグと前記ピリオドグラム中の最大ピークの周波数に対応する時刻との距離に基づいて、前記ラグを前記周期として選択することを特徴とする、
請求項７記載のイベント監視装置。
【請求項９】
時系列データの周期を計算し、
前記時系列データから、周期として設定された長さの複数のサブシーケンスを生成し、
前記複数のサブシーケンスの特徴量を計算し、
前記複数のサブシーケンスを、前記複数のサブシーケンスの特徴量に基づいて、一つ以上のグループにカテゴライズし、
一つのグループに共通に属する前記サブシーケンスの発生順序に基づいて、一つのグループに共通に属する前記サブシーケンスの周期を検出し、
前記一つのグループに共通して属する前記サブシーケンスの周期に応じて発生が期待されるが見つからない前記サブシーケンスを識別することにより、欠落イベントの検出を行う、イベント監視方法。
【請求項１０】
時系列データの周期を計算し、
前記時系列データから、周期として設定された長さの複数のサブシーケンスを生成し、
前記複数のサブシーケンスの特徴量を計算し、
前記複数のサブシーケンスを、前記複数のサブシーケンスの特徴量に基づいて、一つ以上のグループにカテゴライズし、
一つのグループに共通に属する前記サブシーケンスの発生順序に基づいて、一つのグループに共通に属する前記サブシーケンスの周期を検出し、
前記一つのグループに共通して属する前記サブシーケンスの周期に応じて発生が期待されるが見つからない前記サブシーケンスを識別することにより、欠落イベントの検出を行う、処理を、コンピュータに実行させるプログラム。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００１
【補正方法】変更
【補正の内容】
【０００１】
本発明はイベント監視装置、方法及びプログラムに関する。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００１４
【補正方法】変更
【補正の内容】
【００１４】
従って、本発明の目的は、時系列データ中の周期的なイベントの正確な検出と欠落イベント(missed event)の識別（同定）を可能とする装置、方法、プログラムを提供することにある。
【国際調査報告】
2021533482.tif 000025
2021533482.tif 000026