(57)【要約】【課題】時間経過による周期的変動が生じるデータを集計したヒストグラムを分析して異常なデータを的確に抽出する。【解決手段】時間的に変化する測定値を出力するセンサ装置からデータを取得する異常検出装置であって、過去の測定値を集計したヒストグラムを格納するデータベースと、前記ヒストグラムから周期性を抽出する周期性抽出処理部と、前記データベースに格納された複数のヒストグラムを、前記抽出された周期性を用いてクラスタリングして正常時パターンを抽出するクラスタリング処理部と、判定対象のヒストグラムと前記正常時パターンとが同じ周期的特徴を有するかによって、前記判定対象のヒストグラムが異常かを判定する異常検出処理部と、を有する。【選択図】図１
2015108990.tif 000002
【特許請求の範囲】
【請求項１】
時間的に変化する測定値を出力するセンサ装置からデータを取得する異常検出装置であって、
過去の測定値を集計したヒストグラムを格納するデータベースと、
前記ヒストグラムから周期性を抽出する周期性抽出処理部と、
前記データベースに格納された複数のヒストグラムを、前記抽出された周期性を用いてクラスタリングして正常時パターンを抽出するクラスタリング処理部と、
判定対象のヒストグラムと前記正常時パターンとが同じ周期的特徴を有するかによって、前記判定対象のヒストグラムが異常かを判定する異常検出処理部と、を有することを特徴とする異常検出装置。
【請求項２】
請求項１に記載の異常検出装置であって、
前記周期性抽出処理部は、ビジネス活用、人間行動又は自然現象に関する期間を用いて、前記ヒストグラムから周期的特徴を抽出することを特徴とする異常検出装置。
【請求項３】
請求項１又は２に記載の異常検出装置であって、
前記周期性抽出処理部は、前記一つのヒストグラムの集計期間である周期性に、時間、日、曜日、週、及び、月の少なくとも一つを設定するための画面を出力することを特徴とする異常検出装置。
【請求項４】
請求項１から３のいずれか一つに記載の異常検出装置であって、
前記周期性抽出処理部は、時間変動する環境要因に関する期間を用いて、前記ヒストグラムから周期性を抽出することを特徴とする異常検出装置。
【請求項５】
請求項４に記載の異常検出装置であって、
前記周期性抽出処理部は、前記環境要因と前記ヒストグラムとの間で統計的な相関を計算し、相関がある環境要因に関する期間をヒストグラムの周期性とすることを特徴とする異常検出装置。
【請求項６】
請求項１から５のいずれか一つに記載の異常検出装置であって、
前記クラスタリング処理部は、
複数のヒストグラムを含むクラスタから異常時のヒストグラムを除外し、
その後、当該クラスタに含まれるヒストグラムの周期的特徴が同じである場合、当該クラスタを正常時のパターンとすることを特徴とする異常検出装置。
【請求項７】
請求項６に記載の異常検出装置であって、
前記クラスタリング処理部は、
周期性が複数の区分を含むカテゴリによって特徴付けられる場合、他の正常時のヒストグラムとカテゴリが異なれば、除外される異常時のヒストグラムであると判定し、
周期性が数値によって特徴付けられる場合、他の正常時のヒストグラムとの周期的特徴の距離が所定の閾値より大きければ、除外される異常時のヒストグラムであると判定することを特徴とする異常検出装置。
【請求項８】
請求項６に記載の異常検出装置であって、
前記クラスタリング処理部は、
周期性が複数の区分を含むカテゴリによって特徴付けられる場合、前記クラスタに含まれる全てのヒストグラムのカテゴリが同じであれば、当該クラスタを正常時のパターンとし、
周期性が数値によって特徴付けられる場合、前記クラスタに含まれるヒストグラムの全ての組み合わせの周期的特徴の距離が所定の閾値より小さければ、当該クラスタを正常時のパターンとすることを特徴とする異常検出装置。
【請求項９】
請求項１から８のいずれか一つに記載の異常検出装置であって、
前記異常検出処理部は、
前記判定対象のヒストグラムについて、複数の区分を含むカテゴリによって特徴付けられる周期性が同一であり、かつ、周期性が数値によって特徴付けられる周期的特徴の距離が所定の閾値より小さいクラスタを、当該ヒストグラムと類似するクラスタとして選択し、
前記クラスタが一つも選択されない場合、当該判定対象のヒストグラムが異常であると判定することを特徴とする異常検出装置。
【請求項１０】
時間的に変化する測定値を出力するセンサ装置からデータを取得し、過去の測定値を集計したヒストグラムを格納するデータベースと、プログラムを実行するプロセッサと、前記プログラムを格納するメモリと、を有する計算機で実行される異常検出方法であって、
前記方法は、
前記プロセッサが、前記ヒストグラムから周期性を抽出し、
前記プロセッサが、前記データベースに格納された複数のヒストグラムを、前記抽出された周期性を用いてクラスタリングして正常時パターンを抽出し、
前記プロセッサが、判定対象のヒストグラムと前記正常時パターンとの周期的特徴が同じかによって、前記判定対象のヒストグラムが異常かを判定することを特徴とする異常検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、異常検出装置に関し、特に、周期的に変動する指標を用いて効率的にパターンを抽出し、例外的なデータを検出する技術に関する。
【背景技術】
【０００２】
ＩＴ機器やデバイスの小型化・高速化・大容量化によって、コンシューマ機器・産業用機器・それらの基盤となるＩＴシステム・人間の行動など様々な人間の活動を観測することが可能となり、観測データ（センサデータ）を分析することによって新しい知見を発見し、ビジネスに有効に活用し、社会を変革させることが可能となりつつある。ビッグデータの分析においては、コストを削減しながら、精度良く知見を得ることが課題になっている。全ての観測データを用いることは、容量・通信量を増大させるため、ヒストグラムなど集計値を用いた分析手法が重要である。
【０００３】
従来、ヒストグラムを対象とした分析方法は数多く提案されており、主に画素の色相ヒストグラムによる医療用画像分類技術（特許文献１）や、文書の単語出現頻度のヒストグラムによる文書分類技術（特許文献２）などがある。これらの方法では、観測対象は複数の状態から成り、状態に応じてヒストグラムに一定の傾向が現れることを仮定し、ヒストグラムのクラスタリングや判別器を用いて分析する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特願２０１２−２９９０３号公報
【特許文献２】特願２０１３−８４２１６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、前述した従来の方法を機器観測データのヒストグラムに適用する場合、抽出対象となる状態以外の環境要因がヒストグラムやクラスタに与える影響が課題となる。特に、ビジネス活動、人間行動、自然現象などにおいては時間や季節に応じた変動が見られることが多く、この変動がヒストグラムの傾向を抽出する場合にノイズ要因となることがある。そこで、本発明では、時間経過による周期的変動が生じるデータを対象とした、ヒストグラムデータの分析方法を提供する。
【課題を解決するための手段】
【０００６】
本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、時間的に変化する測定値を出力するセンサ装置からデータを取得する異常検出装置であって、過去の測定値を集計したヒストグラムを格納するデータベースと、前記ヒストグラムから周期性を抽出する周期性抽出処理部と、前記データベースに格納された複数のヒストグラムを、前記抽出された周期性を用いてクラスタリングして正常時パターンを抽出するクラスタリング処理部と、判定対象のヒストグラムと前記正常時パターンとが同じ周期的特徴を有するかによって、前記判定対象のヒストグラムが異常かを判定する異常検出処理部と、を有する。
【発明の効果】
【０００７】
本発明の代表的な実施形態によれば、異常なデータを的確に抽出することができる。前述した以外の課題、構成及び効果は、以下の実施例の説明により明らかにされる。
【図面の簡単な説明】
【０００８】
【図１】本発明の実施形態の異常検出装置の構成を示す機能ブロック図である。
【図２Ａ】本実施形態の測定項目のデータ構造を説明する図である。
【図２Ｂ】本実施形態のヒストグラムのデータ構造を説明する図である。
【図３Ａ】本実施形態のクラスタのデータ構造を説明する図である。
【図３Ｂ】本実施形態のリアルタイムヒストグラムのデータ構造を説明する図である。
【図４】本実施形態の周期性変動パターン抽出処理部において行われる処理のフローチャートである。
【図５】本実施形態の周期性指標設定画面の例を説明する図である。
【図６】図４のステップ４０２において周期性変動指標抽出処理部が実行する処理のフローチャートである。
【図７】図４のステップ４０３においてクラスタリング処理部が実行する処理のフローチャートである。
【図８】図７のステップ７０６においてクラスタリング処理部が実行する周期性変動指標抽出処理のフローチャートである。
【図９】本実施形態のクラスリング結果表示画面の例を説明する図である。
【図１０】本実施形態の異常データ検出処理部が実行する処理のフローチャートである。
【図１１】図１０のステップ１０１１において異常判別処理部が実行する処理のフローチャートである。
【発明を実施するための形態】
【０００９】
以下、添付図面を参照しながら、本発明の実施形態を説明する。
【００１０】
図１〜図１１は、本発明の実施形態を例示する図である。これらの図において、同一の符号を付した部分は同一物を表し、基本的な構成及び動作は同じである。なお、本発明の実施形態において、使用される機器及び手法等は一例であり、本発明はこれらに限定されるものではない。
【００１１】
さらに、本発明の実施形態は、後述するように、汎用コンピュータ上で稼動するソフトウェアで実装してもよいし、専用ハードウェアで実装してもよいし、又はソフトウェアとハードウェアとの組み合わせで実装してもよい。
【００１２】
なお、以後の説明では「テーブル」形式によって本発明の各情報について説明するが、これらの情報は必ずしもテーブルによるデータ構造で表現されなくてもよく、リスト、データベース、キュー等のデータ構造やそれ以外で表現されていてもよい。そのため、データ構造に依存しないことを示すために「テーブル」、「リスト」、「ＤＢ」、「キュー」等について、単に「情報」と呼ぶことがある。
【００１３】
また、各情報の内容を説明する際に、「識別情報」、「識別子」、「名」、「名前」、「ＩＤ」という表現を用いることが可能であり、これらについてはお互いに置換が可能である。
【００１４】
以下では「プログラム」を主語（動作主体）として本発明の実施形態における各処理について説明するが、プログラムはプロセッサによって実行されることで定められた処理をメモリ及び通信ポート（通信制御装置）を用いながら行うため、プロセッサを主語とした説明と置き換えることができる。また、プログラムを主語として開示された処理は、管理サーバ等の計算機、情報処理装置が行う処理として記述してもよい。プログラムの一部又は全ては専用ハードウェアで実現してもよく、また、モジュール化してもよい。各種プログラムはプログラム配布サーバや記憶メディアによって各計算機にインストールされてもよい。
【００１５】
＜異常検出装置の概要＞
図１は、本発明の実施形態の異常検出装置の構成を示す機能ブロック図である。
【００１６】
異常検出装置は、ヒストグラムデータＤＢ１００と、表示装置１０１と、入力装置１０２と、データ転送端末１０３と、中央処理装置１０４と、プログラムメモリ１０５と、データメモリ１０６とを有する。
【００１７】
ヒストグラムデータＤＢ１００は、データ転送端末１０３から転送されたヒストグラムを格納するデータベースである。表示装置１０１は、液晶ディスプレイ装置等、プログラムの実行結果をユーザが視認可能な形式で表示するインターフェースである。入力装置１０２は、キーボード及びマウス等の、ユーザからの操作を受けるインターフェースである。データ転送端末１０３は、機器に取り付けられたセンサの測定値を集計してヒストグラムとして転送する。
【００１８】
中央処理装置１０４は、プログラムメモリ１０５に格納されたプログラムを実行する。プログラムメモリ１０５は、ＤＲＡＭ（Dynamic Random Access Memory）のような高速かつ揮発性の記憶素子内に設けられ、中央処理装置１０４によって実行されるプログラムを格納する。データメモリ１０６は、ＤＲＡＭ（Dynamic Random Access Memory）のような高速かつ揮発性の記憶素子内に設けられ、プログラムの実行時に使用されるデータを格納する。
【００１９】
中央処理装置１０４は、周期性変動パターン抽出処理部１０７と、異常データ検出処理部と、周期性変動指標設定画面表示処理部と、クレンジング条件選択画面表示処理部と、周期性変動指標設定画面表示処理部１０９と、クラスタリング結果表示処理部１１０と、を有する。本実施形態では、これらの各処理部、コンピュータ上で実行されるプログラムの機能の一部として実現される。なお、これらのプログラムは、プログラムメモリ１０５に格納され、処理実行の際に中央処理装置１０４が内部メモリに読み込む。なお、周期性変動パターン抽出処理部１０７は、周期性変動指標抽出処理部１１１と、クラスタリング処理部１１２とを有する。また、異常データ検出処理部１０８は、異常判別処理部１１３を有する。
【００２０】
データメモリ１０６は、ヒストグラムデータＤＢ１００から読み込まれた測定項目１１４及びヒストグラム１１５と、周期性変動パターン抽出処理部１０７で生成されたヒストグラムのクラスタ１１６と、ネットワーク経由などでデータ転送端末１０３から逐次転送されるリアルタイムヒストグラム１１７とを格納する。
【００２１】
＜データ構造＞
次に、本実施形態の異常検出装置が用いるデータの構造について説明する。なお、図２Ａから図３Ｂに図示するメンバ名は一例に過ぎず、産業用機器や所定の位置における移動体の動向、携帯端末の座標を用いたエリアごとの人口分布、通信状態など、それぞれの測定対象の状態を監視する上で適切な測定項目が選ばれ、それらを格納するためのデータ構造としてもよい。
【００２２】
図２Ａは、データメモリ１０６に格納される測定項目１１４のデータ構造を説明する図である。
【００２３】
測定項目１１４は、項目名２００及び級数２０１を含み、例えば、配列の形式でこれらの情報を保有している。項目名２００は、例えば、監視対象となる移動体の状態を監視するために取り付けられたセンサの種類や操作状態などの測定項目の種類を格納する。また、級数２０１は、測定項目の度数分布における級数を定義する値が配列で保持され、例えば、速度の級数では１５ｋｍ／ｓの間隔を級数を定義する。
【００２４】
図２Ｂは、データメモリ１０６に格納されるヒストグラム１１５のデータ構造を説明する図である。
【００２５】
ヒストグラム１１５は、ＩＤ２０２、項目名２０３、測定開始日時２０４、測定終了日時２０５、経路２０６、天候２０７、気温２０８、累積渋滞時間２０９、度数２１０、状態２１１及び周期性変動指標２１２を含み、例えば、配列の形式でこれらの情報を保有する。
【００２６】
ＩＤ２０２は、ヒストグラムの一意に識別するための識別子を格納する。項目名２０３は、ヒストグラムに集計したセンサや操作状態などの種類を格納する。測定開始日時２０４は、測定項目の集計を開始した日時を保持する。測定終了日時２０５は、測定項目の集計を終了した日時を保持する。経路２０６は、移動体の出発地名及び到着地名を保持する。天候２０７は、天候状態を示す「晴れ」「曇り」「雨」「雪」のいずれかを格納する。気温２０８は、当該ヒストグラムの集計期間中の、経路の地域における平均気温を格納する。累積渋滞時間２０９は、出発地から目的地において渋滞した時間の累積値を保持する。なお、経路２０６は、移動体に測位装置（ＧＰＳなど）を搭載し、外部リソースからの座標情報に基づいて、予め決定されているとする。また、気温２０８及び累積渋滞時間２０９の測定点も同様である。
【００２７】
度数２１０は、一定時間間隔で測定した数値を度数分布で格納した値である。状態２１１はヒストグラムの集計期間中の監視対象の状態を示すもので、正常、例外、又は異常のいずれかが格納される。また、異常が予め詳細にカテゴリ分けされている場合には、それらのカテゴリ（異常の種類）が格納されてもよい。例えば、危険運転を検出する場合、事故が起きた際のヒストグラムについてカテゴリとして前方不注意、飲酒、居眠りなどの原因を格納してもよい。また、配送業に用いる自動車のドライブレコーダのように、燃費（効率的な運転傾向）を検出をする場合、状態の定義を正常及び異常の代わりに、効率及び非効率にしてもよい。周期性変動指標２１２は、ヒストグラムの分布に影響を与える外部環境を特徴量とした特徴ベクトルを格納する。なお、初期状態では、周期性変動指標２１２をｎｕｌｌとする。
【００２８】
図３Ａは、データメモリ１０６に含まれるクラスタ１１６のデータ構造を説明する図である。
【００２９】
クラスタ１１６は、項目名３００、ヒストＩＤリスト３０１、周期性変動指標３０２及び正常時パターンフラグ３０３を含み、例えば、これらの情報を配列の形式で保有する。項目名３００は、ヒストグラムに集計したセンサや操作状態などの種類を格納する。ヒストＩＤ３０１リストは、クラスタに含まれるヒストグラムのＩＤを配列の形式で格納する。周期性変動指標３０２は、ヒストグラムの分布に影響を与える外部環境を特徴量とした特徴ベクトルを格納する。なお、初期状態ではｎｕｌｌとする。正常時パターンフラグ３０３は、監視対象である移動体が正常時に観測されるヒストグラムパターンのみを含むクラスタかを示すフラグであり、Ｔｒｕｅのときは正常、ｆａｌｓｅのときは正常以外であるとする。
【００３０】
図３Ｂは、データメモリ１０６に含まれるリアルタイムヒストグラム１１７のデータ構造を説明する図である。
【００３１】
リアルタイムヒストグラム１１７は、項目名３０４、測定開始日時３０５、測定終了日時３０６、経路３０７、天候３０８、気温３０９、累積渋滞時間３１０、度数３１１、異常時フラグ３１２及び移動体ＩＤ３１３を含む。
【００３２】
項目名３０４は、ヒストグラムに集計したセンサや操作状態などの種類を格納する。測定開始日時３０５は、測定項目の集計を開始した日時を保持する。測定終了日時３０６は、測定項目の集計を終了した日時を保持する。経路３０７は、移動体の出発地名及び到着地名を保持する。天候３０８は、天候状態を示す「晴れ」「曇り」「雨」「雪」のいずれかを格納する。気温３０９は、当該ヒストグラムの集計期間中の、経路の地域における平均気温を格納する。累積渋滞時間３１０は、出発地から目的地において渋滞した時間の累積値を保持する。なお、経路３０７は、移動体に測位装置（ＧＰＳなど）を搭載し、外部リソースからの座標情報に基づいて、予め決定されているとする。また、天候３０８、気温３０９及び累積渋滞時間３１０の測定点も同様である。
【００３３】
度数３１１は、一定時間間隔で測定した数値を度数分布で格納した値である。異常時フラグ３１２は、移動体が異常時に測定されたヒストグラムであるかどうかのスコアを格納する。なお、初期状態ではｎｕｌｌとする。移動体ＩＤ３１３は、監視対象を一意に識別するための識別子を格納する。
【００３４】
＜周期性変動パターン抽出処理の概要＞
図４は、周期性変動パターン抽出処理部１０７において行われる処理のフローチャートである。
【００３５】
周期性変動パターン抽出処理部１０７は、ログデータとして蓄積されたヒストグラムと周期変動する指標である気温や曜日、時間帯などを用いて、正常時における周期条件のヒストグラムパターンをクラスタリングによって抽出する処理を行う。
【００３６】
まず、ヒストグラムデータＤＢ１００からヒストグラムを取得し、データメモリ１０６に格納する（ステップ４００）。
【００３７】
次に、周期性変動指標設定画面表示処理部１０９を起動し、ヒストグラムの変動に影響の要因となる周期性の定義を設定するための画面を表示装置１０１に表示する（ステップ４０１）。なお、ステップ４０１で表示装置１０１に表示される画面は、図５を用いて後述する。
【００３８】
続いて、周期性変動指標抽出処理部１１１が、周期性に基づいて、ヒストグラム１１５に周期性変動指標を割り当る（ステップ４０２）。なお、ステップ４０２のの処理は、図６を用いて後述する。
【００３９】
そして、クラスタリング処理部１１２が、形状が類似するヒストグラムをクラスタリングし、監視対象となるシステム及び機器における正常時のヒストグラムのパターンをクラスタとして抽出する（ステップ４０３）。
【００４０】
クラスタリング処理の後、クラスタリング結果表示処理部１１０を起動し、生成されたクラスタを確認するためのクラスタリング結果表示画面を表示装置１０１に描画する（ステップ４０４）。なお、ステップ４０４で表示装置１０１に表示される画面は、図９を用いて後述する。ユーザはクラスタリング結果表示画面において、生成されたクラスタの確認して処理を終了する。
【００４１】
＜周期性変動指標設定画面表示処理部１０９の詳細（ステップ４０１）＞
図５は、図４のステップ４０１で表示装置１０１に表示される画面を説明する図である。
【００４２】
図５に示すように、周期性指標設定画面は、月単位５００と、週単位５０５と、曜日単位５０６と、日単位５０７と、時間単位５０８とで周期性の定義が可能である。例えば、月単位５００では、１月〜１２月を周期とする場合５０１やビジネス面での時間経過における周期として４半期５０２、年を半分に分割する半期５０３、さらに、特定の月でイベントがある場合、例えば、決済月や業務における繁忙期などがある月を一つのカテゴリなどとして任意指定５０４ができる。このように、ユーザは周期性変動指標設定画面から、ヒストグラムの変動要因となる周期を定義する。そして、ユーザは実行ボタン５０９を操作することによって、ユーザが設定した周期性指標を取得し、周期性指標設定処理を終了する。
【００４３】
＜周期性変動指標抽出処理部１１１の詳細（ステップ４０２）＞
図６は、図４のステップ４０２において周期性変動指標抽出処理部１１１が実行する処理のフローチャートである。図６に示す周期性変動指標抽出処理は、周期性指標設定画面（図５）においてユーザが定義した周期及びヒストグラムの集計期間中の外部環境値から、ヒストグラムのパターンに影響を与える周期性変動指標を抽出する処理である。
【００４４】
まず、ヒストグラム１１５のインデックス  ｈｉｓｔ＿ｉｄｘを０で初期化する（ステップ６００）。
【００４５】
次に、ｈｉｓｔ＿ｉｄｘ番目のヒストグラムがあるか判定して（ステップ６０１）、ない場合には処理を終了する。
【００４６】
ｈｉｓｔ＿ｉｄｘ  番目のヒストグラム１１５がある場合、当該ヒストグラム１１５の集計期間が時間単位（１時間以内で集計されたもの）であるかを判定して（ステップ６０２）、ヒストグラム１１５の集計期間が時間単位である場合、時間単位、日単位、天候、曜日単位、週単位、及び月単位の該当する値を当該ヒストグラムの周期性変動指標２１２に割り当てる（ステップ６０６〜６１０）。なお、周期性変動指標設定画面（図５）において指標が選択されなかったヒストグラムの周期性変動指標はｎｕｌｌとする。
【００４７】
また、ステップ６０２において、ヒストグラム１１５の集計期間が時間単位でないと判定された場合、ヒストグラム１１５の集計期間が日単位（２４時間以内で集計されたもの）であるかを判定する（ステップ６０３）。ヒストグラム１１５の集計期間が日単位である場合、日単位、天候、曜日単位、週単位、及び月単位の該当する値を当該ヒストグラムの周期性変動指標２１２に割り当てる（ステップ６０７〜６１０）。
【００４８】
また、ステップ６０３において、ヒストグラムの集計期間が日単位でないと判定された場合、ヒストグラムの集計期間が週単位（１６８時間以内で集計されたもの）であるかを判定する（ステップ６０４）。ヒストグラムの集計期間が週単位である場合、週単位、及び月単位の該当する値を当該ヒストグラムの周期性変動指標２１２に割り当てる（ステップ６０９、６１０）。
【００４９】
また、ステップ６０４において、ヒストグラムの集計期間が週単位でないと判定された場合、ヒストグラムの集計期間が月単位（７２０時間以内で集計されたもの）であるかを判定する（ステップ６０５）。ヒストグラムの集計期間が月単位である場合、月単位の該当する値を当該ヒストグラムの周期性変動指標２１２に割り当てる（ステップ６１０）。
【００５０】
そして、ステップ６０５において、ヒストグラムの集計期間が月単位でないと判定された場合、例えば、集計時間の累積値が予め設定された閾値となった時点でデータ転送端末１０３がヒストグラムを転送する場合、気温などの連続値（環境変数）と、ヒストグラムの特徴量の平均、分散、尖度、歪度などの統計値との相関係数を算出し、閾値以上の相関係数を持つ外部環境変数を当該ヒストグラムの周期性変動指標２１２に割り当てる（ステップ６１１）。
【００５１】
そして、ｈｉｓｔ＿ｉｄｘをインクリメントして（ステップ６１２）、ステップ６０１の処理に戻る。また、ステップ６０１において、ｈｉｓｔ＿ｉｄｘ番目のヒストグラムがない場合、処理を終了する。
【００５２】
＜クラスタリング処理部１１２の詳細（ステップ４０３）＞
図７は、図４のステップ４０３においてクラスタリング処理部１１２が実行する処理のフローチャートである。図７に示すクラスタリング処理は、周期性変動指標が割り当てられた正常時及び異常時のヒストグラムを用いてクラスタリングを行い、周期性変動した際のクラスタを生成することによって、外部要因の影響をパラメータとして保持するための正常時のヒストグラムパターンを抽出する処理である。
【００５３】
まず、測定項目１１４のインデックス  ｓｅｎｓｏｒ＿ｉｄｘを０に初期化する（ステップ７００）。次に、ｓｅｎｓｏｒ＿ｉｄｘ番目の測定項目１１４があるか判定して（ステップ７０１）、ない場合には処理を終了する。
【００５４】
ｓｅｎｓｏｒ＿ｉｄｘ番目の測定項目１１４がある場合、当該測定項目１１４の項目名２００を持つヒストグラム１１５を取得してクラスタリングする（ステップ７０２）。なお、クラスタリングは度数分布の形状が類似しているヒストグラムをクラスタとして纏める処理であり、度数２１０の配列一つ一つを特徴とした特徴ベクトルによってヒストグラム間の距離（例えば、ユークリッド距離やマハラノビス距離など）を計算して、ウォード法で分類してもよい。また、ヒストグラム間の類似度をバタチャリア係数やピアソン係数を用いて計算して郡平均法で分類してもよい。
【００５５】
次に、クラスタリングによって生成されたクラスタ１１６のインデックスｃｌｕｓｔｅｒ＿ｉｄｘを０で初期化する（ステップ７０３）。そして、ｃｌｕｓｔｅｒ＿ｉｄｘ番目のクラスタ１１６があるかを確認し（ステップ７０４）、ない場合はｓｅｎｓｏｒ＿ｉｄｘをインクリメントした後（ステップ７０９）、ステップ７０１の処理に戻る。
【００５６】
また、ステップ７０４の処理においてｃｌｕｓｔｅｒ＿ｉｄｘ番目のクラスタがある場合、当該クラスタに含まれる全てのヒストグラムの状態２１１が異常であるかを判定する（ステップ７０５）。
【００５７】
クラスタ内の全てのヒストグラムの状態２１１が異常である場合、当該クラスタは監視対象が異常時のヒストグラムパターンなので、当該クラスタの正常時パターンフラグ３０３にＦａｌｓｅを格納する（ステップ７０７）。
【００５８】
一方、ステップ７０５において、クラスタ内の一部のヒストグラムが異常でない場合、当該クラスタの周期性変動指標を抽出する（ステップ７０６）。この周期性変動指標抽出処理は、図８を用いて後述する。
【００５９】
そして、ｃｌｕｓｔｅｒ＿ｉｄｘをインクリメントして（ステップ７０８）、ステップ７０４の処理へ戻る。
【００６０】
このクラスタリング処理によって、異常時のヒストグラムが全てであるクラスタは異常時パターンとして、正常時のヒストグラムを含むクラスタは正常時パターンとしてクラスタリングすることができる。
【００６１】
＜クラスタの周期性変動指標抽出処理の詳細（ステップ７０６）＞
図８は、図７のステップ７０６においてクラスタリング処理部１１２が実行する処理のフローチャートである。図８に示すクラスタ周期性変動指標抽出処理は、正常時のヒストグラムを含むクラスタから周期性変動指標における共通項目を探し出し、周期変動に伴うヒストグラムのパターンを抽出する処理である。
【００６２】
まず、当該クラスタに含まれる全てのヒストグラムの状態２１１が正常であるか判定する（ステップ８００）。当該クラスタ内の全てのヒストグラムが正常であれば、当該クラスタは正常時パターンを表しているので、ステップ８０５の処理へ進む。
【００６３】
一方、当該クラスタ内の一部のヒストグラムが異常である場合、異常時のヒストグラムと周期性変動指標の値が同じヒストグラムをクラスタから取り除く（ステップ８０１）。異常時とパターンが同一の正常時のヒストグラムを取り除くことによって、より正確に正常時のヒストグラムを取得する。また、周期性変動指標には、曜日や気候などのカテゴリで表されるものと、気温などの数値（離散値又は連続値）で表されるものとがある。カテゴリで表される周期性変動指標に関しては、いずれかの周期性変動指標の値が一致するかによって、正常時のヒストグラムであるかを判定できる。また、数値（離散値又は連続値）で表される周期性変動指標に関しては、各周期性変動指標の値を特徴量とした特徴ベクトルにおいてユークリッド距離、マハラノビス距離などの距離が閾値以下であるかによって、正常時のヒストグラムであるかを判定できる。
【００６４】
次に、クラスタから異常時のヒストグラムを取り出して、一つの新しいクラスタを生成する（ステップ８０２）。
【００６５】
そして、新しく生成したクラスタの正常時パターンフラグ３０３にＦａｌｓｅを格納する（ステップ８０３）。このように、異常時のヒストグラムと類似する正常時のヒストグラムを除外することによって、より正確な正常時のパターンを抽出する。
【００６６】
次に、一つ以上の正常時のヒストグラムが残っているか判定し（ステップ８０４）、一つも残っていない場合には処理を終了する。
【００６７】
一方、正常時のヒストグラムが一つ以上ある場合、正常時のヒストグラムにおける全ての周期性変動指標２１２が同一かを判定する（ステップ８０５）。カテゴリで表される周期性変動指標に関しては、クラスタ内の正常時の全てのヒストグラムで周期性変動指標の値が同一かによって周期性変動指標が同一かを判定できる。また、数値（離散値又は連続値）で表される周期性変動指標に関しては、全てのヒストグラム間の距離の分散が閾値以下である周期性変動指標の値があるかによって周期性変動指標の値が同一かを判定できる。なお、複数の周期性変動指標を含む場合、全ての周期性変動指標において同一と判断されることが必要である。
【００６８】
そして、ステップ８０５において一部の周期性変動指標の値が同一ではないと判定された場合、当該正常時のヒストグラムを含むクラスタをデータメモリ１０６から除外する（ステップ８０７）。
【００６９】
一方、ステップ８０５において全ての周期性変動指標が同一であると判定された場合、各周期性変動指標の値を特徴とした特徴ベクトルを当該クラスタの周期性変動指標３０２に格納する（ステップ８０６）。なお、共有していない周期性変動指標はｎｕｌｌとする。
【００７０】
＜クラスタリング結果表示処理部１１０の詳細（ステップ４０４）＞
図９は、図４のステップ４０４で表示装置１０１に表示される画面を説明する図である。ユーザは、クラスタリング結果表示画面によって、生成されたクラスタと共通する周期性を確認し、不用なクラスタを削除することができる。
【００７１】
図９に示すように、クラスリング結果表示画面は、速度９００、加速度９０１、ブレーキ圧力９０２、ウィンカー点灯時間９０３、車体正面を中心とした進行方向の変化角度９０４、エンジン回転数９０５などの、単位時間ごとの移動体の状態を測定した項目がタブメニューから選択できるようになっている。例えば、ユーザが速度９００を選択した場合、速度のヒストグラムのクラスタリング結果の一覧９０６を表示する。
【００７２】
一覧９０６には、各クラスタを選択するためのラジオボタン、クラスタに付与される周期性変動指標９０７が表示される。クラスリング結果の一覧からラジオボタンを選択することによって、選択したクラスタに含まれるヒストグラムを重ね合わせた表示する折れ線グラフ９０８を描画する。また、一覧９０６によって、クラスタのノード数や共通の周期性変動指標を表示して、不要なクラスタはチェックボックス９０９で選択して、削除することができる。ユーザが確認ボタン９１０を操作することによって、チェックボックスで選択されたクラスタをデータメモリ１０６から削除することができる。
【００７３】
＜異常データ検出処理の概要＞
図１０は、異常データ検出処理部１０８が実行する処理のフローチャートである。図１０に示す異常データ検出処理は、データメモリ１０６に格納された正常時のヒストグラムを含むクラスタを用いて、データ転送端末１０３から転送されるヒストグラムが異常であるかをリアルタイムで判別する処理である。
【００７４】
まず、データ転送端末１０３からリアルタイムで転送されるヒストグラムをデータメモリ１０６に格納する（ステップ１０００）。
【００７５】
次に、ヒストグラム１１５の集計期間が時間単位（１時間以内で集計されたもの）であるかを判定して（ステップ１００１）、ヒストグラム１１５の集計期間が時間単位である場合、時間単位、日単位、天候、曜日単位、週単位、及び月単位の該当する値を特徴ベクトルとして周期性変動指標２１２に割り当てる（ステップ１００５〜１００９）。なお、周期性変動指標設定画面（図５）において選択されなかった周期性変動指標はｎｕｌｌとする。
【００７６】
また、ステップ１００１において、ヒストグラム１１５の集計期間が時間単位でないと判定された場合、ヒストグラムの集計期間が日単位（２４時間以内で集計されたもの）であるかを判定する（ステップ１００２）。ヒストグラム１１５の集計期間が日単位である場合、日単位、天候、曜日単位、週単位、及び月単位の該当する値を特徴ベクトルとして周期性変動指標２１２に割り当てる（ステップ１００６〜１００９）。
【００７７】
また、ステップ１００２において、ヒストグラム１１５の集計期間が日単位でないと判定された場合、ヒストグラムの集計期間が週単位（１６８時間以内で集計されたもの）であるかを判定する（ステップ１００３）。ステップ１００３において、ヒストグラムの集計期間が週単位である場合、週単位、及び月単位の該当する値を特徴ベクトルとして周期性変動指標２１２に割り当てる（ステップ１００８、１００９）。
【００７８】
また、ステップ１００３において、ヒストグラムの集計期間が週単位でないと判定された場合、ヒストグラムの集計期間が月単位（７２０時間以内で集計されたもの）であるかを判定する（ステップ１００４）。ヒストグラムの集計期間が月単位である場合には、月単位の該当する値を特徴ベクトルとして周期性変動指標２１２に割り当てる（ステップ１００９）。
【００７９】
そして、ステップ１００４において、ヒストグラムの集計期間が月単位でないと判定された場合、例えば、集計時間の累積値が予め設定された閾値となった時点でデータ転送端末１０３がヒストグラムを転送する場合、気温などの連続値（環境変数）と、ヒストグラムの特徴量の平均、分散、尖度、歪度などの統計値との相関係数を算出し、閾値以上の相関係数を持つ外部環境変数を当該ヒストグラムの周期性変動指標２１２に割り当てる（ステップ１０１０）。
【００８０】
なお、ステップ１００５〜１０１０において、周期性変動指標として割り当てられた値は、それぞれを特徴量として特徴ベクトルで格納される。次に、異常判別処理部１１３によって、リアルタイムヒストグラムが異常であるかを判別して（ステップ１０１１）、処理を終了する。なお、ステップ１０１１の処理は、図１１を用いて後述する。
【００８１】
＜異常判別処理部１１３の詳細（ステップ１０１１）＞
図１１は、図１０のステップ１０１１において異常判別処理部１１３が実行する処理のフローチャートである。図１１に示す異常判別処理は、データメモリ１０６に格納された正常時のヒストグラムを含むクラスタを用いて、リアルタイムヒストグラムが周期性変動指標が類似する正常時のヒストグラムパターンがあるかを評価し、スコアを算出する処理である。
【００８２】
まず、リアルタイムヒストグラム１１７の異常時フラグ３１２にＦａｌｓｅを格納する（ステップ１１００）。
【００８３】
次に、リアルタイムヒストグラム１１７と同じ項目名のヒストグラムを含むクラスタのインデックスｃｌｕｓｔｅｒ＿ｉｄｘを０に初期化する（ステップ１１０１）。
【００８４】
そして、ｃｌｕｓｔｅｒ＿ｉｄｘ番目のクラスタがあるかを判定し（ステップ１１０２）、ｃｌｕｓｔｅｒ＿ｉｄｘ番目のクラスタがある場合、ｃｌｕｓｔｅｒ＿ｉｄｘ番目のクラスタが異常時パターンであるか判定する（ステップ１１０３）。
【００８５】
ステップ１１０３において、当該クラスタが異常時パターンでないと判定された場合、リアルタイムヒストグラムのｎｕｌｌ以外の特徴量である周期性変動指標の値が、クラスタの周期性変動指標の値と同じかを判定する（ステップ１１０４）。なお、カテゴリで表される周期性変動指標に関しては、ヒストグラムの周期性変動指標の値とクラスタの周期性変動指標の値とが同一であるかによって周期性変動指標の値が同じかを判別する。また、数値（離散値又は連続値）で表される周期性変動指標に関しては、クラスタのセントロイド（質量中心）のユークリッド距離、マハラノビス距離などの距離を算出し、閾値以下であった場合に周期性変動指標の値が同一であると判別する。なお、複数の周期性変動指標を含む場合、全ての周期性変動指標において同一と判断されることが必要である。
【００８６】
ステップ１１０４において、リアルタイムヒストグラムと周期性変動指標の値が同じクラスタがあると判定された場合、リアルタイムヒストグラムの度数分布がクラスタ内のヒストグラムの度数分布と類似しているかを判定する（ステップ１１０５）。リアルタイムヒストグラムとクラスタ内のヒストグラムとが類似しているかは、度数の配列を特徴ベクトルとして、ヒストグラム間のユークリッド距離、マハラノビス距離などの距離を算出し、ウォード法を用いてリアルタイムヒストグラムとクラスタとの距離を算出し、リアルタイムヒストグラムとクラスタとの距離が閾値以下であれば類似していると判定する。また、距離の代わりに、バタチャリア係数又はピアソン係数を類似度とし、郡平均法でリアルタイムヒストグラムとクラスタとの類似度を計算し、類似度が閾値以上であった場合に類似していると判定してもよい。
【００８７】
ステップ１１０５において、リアルタイムヒストグラムとクラスタとが類似していると判定された場合、リアルタイムヒストグラムは正常時と判定し、リアルタイムヒストグラム１１７の異常時フラグ３１２にＦａｌｓｅを格納して（ステップ１１０６）、処理を終了する。
【００８８】
また、ステップ１１０５において、リアルタイムヒストグラムとクラスタとが類似していないと判定された場合、クラスタのインデックスｃｌｕｓｔｅｒ＿ｉｄｘをインクリメントして（ステップ１１０７）、ステップ１１０２の処理に戻る。また、ステップ１１０４において、リアルタイムヒストグラムのｎｕｌｌ以外の特徴量である周期性変動指標の値が正常時のクラスタに共通の周期性変動指標の値と同一でないと判定された場合、クラスタのインデックスｃｌｕｓｔｅｒ＿ｉｄｘをインクリメント（ステップ１１０７）してステップ１１０２の処理に戻る。また、ステップ１１０３において、クラスタが異常時のパターンであると判定された場合、クラスタのインデックスｃｌｕｓｔｅｒ＿ｉｄｘ  をインクリメントして（ステップ１１０７）、ステップの処理に戻る。
【００８９】
なお、ステップ１１０２において、ｃｌｕｓｔｅｒ＿ｉｄｘ番目のクラスタがないと判定された場合、処理を終了する。
【００９０】
以上の処理によって、リアルタイムヒストグラムが異常であるかを判別し、フラグを設定する。判別結果を用いて、異常なヒストグラムをリアルタイムで表示画面に描画するＧＵＩや設けてもよい。また、判別結果を逐次ＤＢに格納して一覧として表示する処理を設けてもよい。これらによって、異常のヒストグラムを確認してもよい。
【００９１】
なお、リアルタイムヒストグラムがいずれのクラスタとも類似しない場合、ステップ１１０４で判定条件を緩めて、異常判別処理をもう一回実行してもよい。
【００９２】
また、図１１に示す異常判別処理は、リアルタイムヒストグラムが異常であるかを判別したが、予めデータベースに格納されているヒストグラムが異常であるかを判定することもできる。
【００９３】
＜まとめ＞
本実施形態では、ヒストグラムデータの例の一つとして移動体の操作ログデータを例にして、機器に取り付けられた単位時間あたりの操作を監視するための機器の状態変化を測定するセンサを用いて、例えば、速度、加速度、ブレーキ圧力、ウィンカー点灯時間、車体正面を中心とした進行方向の変化角度、エンジン回転数などの集計値であるヒストグラムについて、時間帯、曜日、営業日、４半期などを周期性として、特定経路、消費燃費量、安全操作に関するヒストグラムパターンをクラスタリングによって抽出し、センサからリアルタイムで送られてくるヒストグラムが特定経路、消費燃費量、安全操作などであるかを判別する処理について説明した。
【００９４】
なお、センサの種類としては、本実施形態で記載したものに限らず、例えば、産業用機器に取り付けられたシステムの状態を監視するための稼動ログデータを測定するセンサとして、例えば、温度センサ、振動解析センサなどの測定値から、周波数、回転部品の回転数、油圧駆動系における油の粘度などの集計値であるヒストグラムから、機器の異常を検出する場合、外部環境の周期性として気温、湿度、操業状態の周期性として稼動時間などを用いて、特定の周期的条件下における正常時のヒストグラムのパターンをクラスタリングにより抽出し、センサからリアルタイムで送られてくるヒストグラムが異常であるかを判別する処理を行ってもよい。
【００９５】
また、複合機の異常検出をする場合、産業用機器にて例示したヒストグラムの他に、感熱、消費電力、ローラ回転数、インクなどの消耗品の消費量などのセンサによる測定値を集計したヒストグラムを用いて、紙の大きさごとの印刷枚数などを周期性とすることによって、異常を判別してもよい。
【００９６】
また、昇降機（例えば、エレベータ）の異常検出をする場合、前記産業用機器にて例示したヒストグラムの他に、感圧、加速度、音の周波数などのセンサによる測定値を集計したヒストグラムを用いて処理を行ってもよい。この他にも、産業用機器として工作機械、製造機械、農業機械などに取り付けた単位時間ごとに測定するセンサの集計値であるヒストグラムを用いて異常を判別してもよい。
【００９７】
また、例えば、移動体検出ログデータを用いて、特定の場所に取り付けられた単位時間あたりの移動体の通過量（交通量）を集計したヒストグラムを用いて、時間帯、曜日など周期性として正常時の交通量のヒストグラムパターンをクラスタリングによって抽出し、事故発生などの特定のイベントのタイミングから特定の周期的条件下での例外となるヒストグラムパターンをクラスタリングによって抽出し、センサを取り付けた場所の整備（例えば交差点の形状変更）、管理者（例えば、警察官）の最適配置などに用いてもよい。
【００９８】
また、例えば、ＧＰＳを搭載した携帯端末の座標ログデータからエリアを級数とした単位時間当たりの人口を集計し、端末所有者のプロファイルデータ、例えば、年代、性別、年収、消費支出傾向などのセグメント別のヒストグラムを用いて、時間帯、日付、曜日などを周期性として、商品ごとの売上高と人口分布のヒストグラムパターンを特定の周期条件下においてクラスタリングによって分類し、周期変動に伴いエリアごと人口と商品との関連を分析してもよい。
【００９９】
また、例えば、通信ログデータを用いて、通信トラフィックを分析してもよい。例えば、ネットワーク内の観測点における単位時間当たりのプロトコル別パケット（例えば、ＴＣＰ、ＵＤＰ、ＩＣＭＰ、フラグメントにおけるＳＹＮ、ＦＩＮ、ＰＨＳ、ＲＳＴなど）の転送数を集計したヒストグラムを用いて、時間帯、曜日などを周期性として正常時のヒストグラムパターンをクラスタリングによって抽出し、プレスリリースなどの特定のイベントのタイミングから特定の周期条件下での、リアルタイムヒストグラムが不正アクセスであるかを判別してもよい。
【０１００】
本発明の実施形態によれば、時間、曜日などの周期や、営業時間、営業日、４半期などの人間の活動における周期について、移動体の操作データから事故を起こしやすい操作を検出して、早期に異常を発見することができる。また、産業用機器の稼動データから異常を検出したり、所定の位置における移動体を検出したデータから移動体の流れを最適化したり、所有者の位置データ及びプロファイルデータから顧客をクラスタリングしたり、通信ログデータから不正アクセスを検出できる。
【０１０１】
なお、本発明は前述した実施例に限定されるものではなく、添付した特許請求の範囲の趣旨内における様々な変形例及び同等の構成が含まれる。例えば、前述した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに本発明は限定されない。また、ある実施例の構成の一部を他の実施例の構成に置き換えてもよい。また、ある実施例の構成に他の実施例の構成を加えてもよい。また、各実施例の構成の一部について、他の構成の追加・削除・置換をしてもよい。
【０１０２】
また、前述した各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等により、ハードウェアで実現してもよく、プロセッサがそれぞれの機能を実現するプログラムを解釈し実行することにより、ソフトウェアで実現してもよい。
【０１０３】
各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリ、ハードディスク、ＳＳＤ（Solid State Drive）等の記憶装置、又は、ＩＣカード、ＳＤカード、ＤＶＤ等の記録媒体に格納することができる。
【０１０４】
また、制御線や情報線は説明上必要と考えられるものを示しており、実装上必要な全ての制御線や情報線を示しているとは限らない。実際には、ほとんど全ての構成が相互に接続されていると考えてよい。
【符号の説明】
【０１０５】
１００・・・ヒストグラムデータＤＢ
１０１・・・表示装置
１０２・・・入力端末
１０３・・・データ転送端末
１０４・・・中央処理装置
１０５・・・プログラムメモリ
１０６・・・データメモリ
１０７・・・周期性変動パターン抽出処理部
１０８・・・異常データ検出処理部
１０９・・・周期性指標設定画面表示処理部
１１０・・・クラスタリング処理部
１１１・・・周期性変動指標抽出処理部
１１２・・・クラスタリング処理部
１１３・・・異常判別処理部
１１４・・・測定項目
１１５・・・ヒストグラム
１１６・・・クラスタ
１１７・・・リアルタイムヒストグラム
【図１】
2015108990.tif 000003
【図２Ａ】
2015108990.tif 000004
【図２Ｂ】
2015108990.tif 000005
【図３Ａ】
2015108990.tif 000006
【図３Ｂ】
2015108990.tif 000007
【図４】
2015108990.tif 000008
【図５】
2015108990.tif 000009
【図６】
2015108990.tif 000010
【図７】
2015108990.tif 000011
【図８】
2015108990.tif 000012
【図９】
2015108990.tif 000013
【図１０】
2015108990.tif 000014
【図１１】
2015108990.tif 000015