(57)【要約】【課題】様々な時系列のイベント群から、イベントの状態変化に基づいて、異常状態か否かの判定閾値を最適化するプログラム、装置及び方法を提供する。【解決手段】教師データに基づく時系列の全てのイベント群ＥNを用いて、状態iの滞在時間に応じた状態iから状態jへの遷移確率を算出した時間付きマルコフモデルを学習するマルコフモデル学習手段と、教師データに基づく過去の時系列の正常時イベント群Ｐ0及び異常時イベント群Ｐ1それぞれに対して、状態遷移における遷移確率の加算値又は乗算値を評価値として算出し、評価値に対する出現頻度を計数した評価値分布Ｒを算出する評価値分布算出手段と、正常イベント群の評価値分布Ｒ0と異常イベント群の評価値分布Ｒ1との間で、所定条件の評価閾値を算出する評価閾値算出手段とを有する。運用時イベント群Ｅ'Mの評価値分布Ｒが、評価閾値以下に偏っている場合に、異常と判定する。【選択図】図２
2018055294.tif 000002
【特許請求の範囲】
【請求項１】
時系列の運用時イベント群Ｅ'Mに対する異常を判定する装置に搭載されたコンピュータを機能させるプログラムであって、
教師データに基づく時系列の全てのイベント群ＥNを用いて、状態iの滞在時間に応じた状態iから状態jへの遷移確率を算出した時間付きマルコフモデルを学習するマルコフモデル学習手段と、
教師データに基づく過去の時系列の正常時イベント群Ｐ0及び異常時イベント群Ｐ1それぞれに対して、状態遷移における前記遷移確率の加算値又は乗算値を評価値として算出し、該評価値に対する出現頻度を計数した評価値分布Ｒを算出する評価値分布算出手段と、
正常イベント群の評価値分布Ｒ0と異常イベント群の評価値分布Ｒ1との間で、所定条件の評価閾値を算出する評価閾値算出手段と
してコンピュータを機能させると共に、
前記評価値分布算出手段は、運用時イベント群Ｅ'Mに対して更に評価値分布Ｒを算出し、
運用時イベント群Ｅ'Mの評価値分布が、前記評価閾値以下に偏っている場合に、異常と判定する異常判定手段と
して更にコンピュータを機能させることを特徴とするプログラム。
【請求項２】
状態iの滞在時間に応じた状態iから状態jへの前記遷移確率は、
ｇij×Ｆij(Ｔ)
ｇij：状態iから状態jへの状態間の遷移確率
Ｆij(Ｔi)：状態iから状態jへの遷移について状態ｉでの滞在時間Ｔi＝tj−ti以内に状態遷移する確率
として表すようにコンピュータを機能させることを特徴とする請求項１に記載のプログラム。
【請求項３】
イベント群ＥN＝｛ｅ1,ｅ2,・・・,ｅN｝における各イベントｅnは、発生時刻及び発生後状態を含む
ｅn＝（ｔn,ｘn）
ｔn：ｅnの発生時刻
ｘn：ｅnの発生後状態、ｘn∈Ｙ
Ｙ：イベント群ＥNによって生じ得る全状態集合
Ｙ＝｛ｙ1,ｙ2,・・・,ｙs｝
ようにコンピュータを機能させることを特徴とする請求項１又は２に記載のプログラム。
【請求項４】
イベント群ＥNの中で、連続する時系列の所定数Ｋ個をスライディングウィンドウ方式で切り出したイベント群Ｐv,Kについて、
過去の時系列の正常時イベント群Ｐ0は、各イベント群Ｐv,Kの中で正常時と判定されたイベント群であり、
過去の時系列の異常時イベント群Ｐ1は、各イベント群Ｐv,Kの中で異常時と判定されたイベント群である
Ｐv,K＝｛ｅv,ｅv+1,・・・,ｅv+K-1｝、v＝（1,2,・・・,N-K+1）
Ｐ＝｛Ｐ1,K,Ｐ2,K,・・・,ＰN-K+1,K｝
Ｐ0＝｛Ｐ0｜Ｐ0は正常時イベント群，Ｐ0∈Ｐ｝
Ｐ1＝｛Ｐ1｜Ｐ1は異常時イベント群，Ｐ1∈Ｐ｝
ようにコンピュータを機能させることを特徴とする請求項１から３のいずれか１項に記載のプログラム。
【請求項５】
前記評価閾値算出手段は、i状態からj状態への状態間の遷移確率ｇxixjに、正常時イベント群の評価値分布Ｒ0の最小評価値Ｒ0minと、異常時イベント群の評価値分布Ｒ1の最大評価値Ｒ1maxとの差を最大化する係数αxixjを重み付けて、前記評価閾値を算出する
ようにコンピュータを機能させることを特徴とする請求項１から４のいずれか１項に記載のプログラム。
【請求項６】
前記係数αxixjは、以下の目的関数及び制約条件に基づいて、線形計画問題として最適化して算出されたものである
目的関数：
最大化  αmax＝Ｒ0min−Ｒ1max
制約条件：
Ｒ(Ｐ0)＝｛Ｒ(p0)｜p0∈Ｐ0｝：正常時イベント群に基づく評価値の集合
Ｒ(Ｐ1)＝｛Ｒ(p1)｜p1∈Ｐ1｝：異常時イベント群に基づく評価値の集合
Ｒ0min＝min（Ｒ(Ｐ0))：正常時イベント群に基づく最小評価値
Ｒ1max＝min（Ｒ(Ｐ1))：正常時イベント群に基づく最大評価値
Ｒ0min＞Ｒ1max：正常時イベント群に基づく評価値の方が大きな値
αxixj＞０
ようにコンピュータを機能させることを特徴とする請求項５に記載のプログラム。
【請求項７】
前記評価閾値算出手段は、正常イベント群に基づく評価値分布の最小評価値Ｒ0minと、異常イベント群に基づく評価値分布の最大評価値Ｒ1maxとの中央値を、前記評価閾値として算出する
ようにコンピュータを機能させることを特徴とする請求項１から６のいずれか１項に記載のプログラム。
【請求項８】
前記イベントは、通信装置から発信されたデータパケットであり、
前記状態は、前記通信装置の各ポートにおける「リンク有り＋第１の速度」「リンク有り＋第２の速度」「リンク無し」である
ようにコンピュータを機能させることを特徴とする請求項１から７のいずれか１項に記載のプログラム。
【請求項９】
時系列の運用時イベント群Ｅ'Mに対する異常を判定する装置であって、
教師データに基づく時系列の全てのイベント群ＥNを用いて、状態iの滞在時間に応じた状態iから状態jへの遷移確率を算出した時間付きマルコフモデルを学習するマルコフモデル学習手段と、
教師データに基づく過去の時系列の正常時イベント群Ｐ0及び異常時イベント群Ｐ1それぞれに対して、状態遷移における前記遷移確率の加算値又は乗算値を評価値として算出し、該評価値に対する出現頻度を計数した評価値分布Ｒを算出する評価値分布算出手段と、
正常イベント群の評価値分布Ｒ0と異常イベント群の評価値分布Ｒ1との間で、所定条件の評価閾値を算出する評価閾値算出手段と
を有すると共に、
前記評価値分布算出手段は、運用時イベント群Ｅ'Mに対して更に評価値分布Ｒを算出し、
運用時イベント群Ｅ'Mの評価値分布が、前記評価閾値以下に偏っている場合に、異常と判定する異常判定手段と
を更に有することを特徴とする装置。
【請求項１０】
時系列の運用時イベント群Ｅ'Mに対する異常を判定する装置の異常判定方法であって、
前記装置は、
学習段階として、
教師データに基づく時系列の全てのイベント群ＥNを用いて、状態iの滞在時間に応じた状態iから状態jへの遷移確率を算出した時間付きマルコフモデルを学習する第１１のステップと、
教師データに基づく過去の時系列の正常時イベント群Ｐ0及び異常時イベント群Ｐ1それぞれに対して、状態遷移における前記遷移確率の加算値又は乗算値を評価値として算出し、該評価値に対する出現頻度を計数した評価値分布Ｒを算出する第１２のステップと、
正常イベント群の評価値分布Ｒ0と異常イベント群の評価値分布Ｒ1との間で、所定条件の評価閾値を算出する第１３のステップと
を実行し、
運用段階として、
運用時イベント群Ｅ'Mに対して、状態遷移における前記遷移確率の加算値又は乗算値を評価値として算出し、該評価値に対する出現頻度を計数した評価値分布Ｒを算出する第２１のステップと、
運用時イベント群Ｅ'Mの評価値分布が、前記評価閾値以下に偏っている場合に、異常と判定する第２２のステップと
を更に実行することを特徴とする装置の異常判定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、状態変化を伴う時系列のイベント群から、異常状態を検知する技術に関する。
【背景技術】
【０００２】
ＩＣＴ(Information and Communication Technologies)のネットワーク内では、１つの原因から多様なイベントが大量に発生することがある。例えば、１台の通信装置の障害発生によって、サーバやルータ等の異なる多数の通信装置から、異常時に特有のイベントが大量に発生する。ネットワーク管理者は、障害発生の通信装置を迅速に検知し、異常状態期間をできる限り短縮する必要がある。一般に、ネットワークにおける異常状態は、通信装置が自ら発信するアラートによって直接的に検知される。
【０００３】
一方で、異常状態の発生時に、必ずしもアラートが発信されるとは限らない。障害発生の通信装置の挙動を許容しつつ、ネットワーク全体として正常に動作しようとする。そのために、アラート以外の情報に基づいて、異常状態を検知する必要がある。
【０００４】
従来、通信装置から発信される時系列のイベント群を用いて、異常状態を検知しようとする技術がある。
例えば、ナイーブベイズやサポートベクタマシン、決定木などの機械学習アルゴリズムを用いる技術がある（例えば特許文献１〜３参照）。この技術によれば、発生したイベントの組み合わせによって、異常状態を検知する。
また、時間付きマルコフモデルを用いて、発生数の少ない時系列のイベント群を用いる技術もある（例えば非特許文献１参照）。この技術によれば、イベントの発生順序及び発生時間間隔を紐付けて、異常状態を検知する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１２−１２８５８３号公報
【特許文献２】特開２０１３−１９１６７２号公報
【特許文献３】特開２０１３−１３０７５号公報
【非特許文献】
【０００６】
【非特許文献１】近藤 喜芳 他, ”時間付きマルコフモデルを用いた障害検知手法の提案”, IPSJ SIG Technical Report, Vol.2016-IOT-32 No.18, 2016/03、[online]、［平成２８年９月２２日検索］、インターネット＜URL:https://ipsj.ixsq.nii.ac.jp/ej/index.php?active_action=repository_view_main_item_detail&page_id=13&block_id=8&item_id=157703&item_no=1＞
【発明の概要】
【発明が解決しようとする課題】
【０００７】
特許文献１〜３に記載の技術によれば、イベントの発生順及び発生時間間隔を考慮しないために、ネットワーク全体への異常状態の波及を検知することはできない。
また、非特許文献１に記載の技術によれば、時系列のイベントの発生確率のみに基づいて判定しているために、異常の判定真偽の確率が低くなっていた。特に、異常状態か否かの判定閾値が任意に設定されており、時系列イベントにおける異常状態の判定基準が最適化されていないという問題があった。
【０００８】
そもそも、様々な大量のイベント群を、正常状態／異常状態でリアルタイムに切り分けることができれば、その原因となる障害箇所も推定しやすくなると考えられる。しかしながら、一般的に、イベント同士の関連性は極めて複雑で且つ規則性が無いために、正常状態／異常状態を切り分けて判断することが難しい。
【０００９】
これに対し、本願の発明者らは、状態変化を表すイベントであれば、正常時イベント群と異常時イベント群とで、異なるふるまいを検知できるのではないか？と考えた。即ち、異なるふるまいとなる判定閾値を最適に設定できれば、異常の判定真偽の確率を高めることができるのではないか？と考えた。
【００１０】
そこで、本発明は、様々な時系列のイベント群から、イベントの状態変化に基づいて、異常状態か否かの判定閾値を最適に設定することができるプログラム、装置及び方法を提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明によれば、時系列の運用時イベント群Ｅ'Mに対する異常を判定する装置に搭載されたコンピュータを機能させるプログラムであって、
教師データに基づく時系列の全てのイベント群ＥNを用いて、状態iの滞在時間に応じた状態iから状態jへの遷移確率を算出した時間付きマルコフモデルを学習するマルコフモデル学習手段と、
教師データに基づく過去の時系列の正常時イベント群Ｐ0及び異常時イベント群Ｐ1それぞれに対して、状態遷移における遷移確率の加算値又は乗算値を評価値として算出し、該評価値に対する出現頻度を計数した評価値分布Ｒを算出する評価値分布算出手段と、
正常イベント群の評価値分布Ｒ0と異常イベント群の評価値分布Ｒ1との間で、所定条件の評価閾値を算出する評価閾値算出手段と
してコンピュータを機能させると共に、
評価値分布算出手段は、運用時イベント群Ｅ'Mに対して更に評価値分布Ｒを算出し、
運用時イベント群Ｅ'Mの評価値分布が、評価閾値以下に偏っている場合に、異常と判定する異常判定手段と
して更にコンピュータを機能させることを特徴とする。
【００１２】
本発明のプログラムにおける他の実施形態によれば、
状態iの滞在時間に応じた状態iから状態jへの遷移確率は、
ｇij×Ｆij(Ｔ)
ｇij：状態iから状態jへの状態間の遷移確率
Ｆij(Ｔi)：状態iから状態jへの遷移について状態ｉでの滞在時間Ｔi＝tj−ti以内に状態遷移する確率
として表すようにコンピュータを機能させることも好ましい。
【００１３】
本発明のプログラムにおける他の実施形態によれば、
イベント群ＥN＝｛ｅ1,ｅ2,・・・,ｅN｝における各イベントｅnは、発生時刻及び発生後状態を含む
ｅn＝（ｔn,ｘn）
ｔn：ｅnの発生時刻
ｘn：ｅnの発生後状態、ｘn∈Ｙ
Ｙ：イベント群ＥNによって生じ得る全状態集合
Ｙ＝｛ｙ1,ｙ2,・・・,ｙs｝
ようにコンピュータを機能させることも好ましい。
【００１４】
本発明のプログラムにおける他の実施形態によれば、
イベント群ＥNの中で、連続する時系列の所定数Ｋ個をスライディングウィンドウ方式で切り出したイベント群Ｐv,Kについて、
過去の時系列の正常時イベント群Ｐ0は、各イベント群Ｐv,Kの中で正常時と判定されたイベント群であり、
過去の時系列の異常時イベント群Ｐ1は、各イベント群Ｐv,Kの中で異常時と判定されたイベント群である
Ｐv,K＝｛ｅv,ｅv+1,・・・,ｅv+K-1｝、v＝（1,2,・・・,N-K+1）
Ｐ＝｛Ｐ1,K,Ｐ2,K,・・・,ＰN-K+1,K｝
Ｐ0＝｛Ｐ0｜Ｐ0は正常時イベント群，Ｐ0∈Ｐ｝
Ｐ1＝｛Ｐ1｜Ｐ1は異常時イベント群，Ｐ1∈Ｐ｝
ようにコンピュータを機能させることも好ましい。
【００１５】
本発明のプログラムにおける他の実施形態によれば、
評価閾値算出手段は、i状態からj状態への状態間の遷移確率ｇxixjに、正常時イベント群の評価値分布Ｒ0の最小評価値Ｒ0minと、異常時イベント群の評価値分布Ｒ1の最大評価値Ｒ1maxとの差を最大化する係数αxixjを重み付けて、評価閾値を算出する
ようにコンピュータを機能させることも好ましい。
【００１６】
本発明のプログラムにおける他の実施形態によれば、
係数αxixjは、以下の目的関数及び制約条件に基づいて、線形計画問題として最適化して算出されたものである
目的関数：
最大化  αmax＝Ｒ0min−Ｒ1max
制約条件：
Ｒ(Ｐ0)＝｛Ｒ(p0)｜p0∈Ｐ0｝：正常時イベント群に基づく評価値の集合
Ｒ(Ｐ1)＝｛Ｒ(p1)｜p1∈Ｐ1｝：異常時イベント群に基づく評価値の集合
Ｒ0min＝min（Ｒ(Ｐ0))：正常時イベント群に基づく最小評価値
Ｒ1max＝min（Ｒ(Ｐ1))：正常時イベント群に基づく最大評価値
Ｒ0min＞Ｒ1max：正常時イベント群に基づく評価値の方が大きな値
αxixj＞０
ようにコンピュータを機能させることも好ましい。
【００１７】
本発明のプログラムにおける他の実施形態によれば、
評価閾値算出手段は、正常イベント群に基づく評価値分布の最小評価値Ｒ0minと、異常イベント群に基づく評価値分布の最大評価値Ｒ1maxとの中央値を、評価閾値として算出する
ようにコンピュータを機能させることも好ましい。
【００１８】
本発明のプログラムにおける他の実施形態によれば、
イベントは、通信装置から発信されたデータパケットであり、
状態は、通信装置の各ポートにおける「リンク有り＋第１の速度」「リンク有り＋第２の速度」「リンク無し」である
ようにコンピュータを機能させることも好ましい。
【００１９】
本発明によれば、時系列の運用時イベント群Ｅ'Mに対する異常を判定する装置であって、
教師データに基づく時系列の全てのイベント群ＥNを用いて、状態iの滞在時間に応じた状態iから状態jへの遷移確率を算出した時間付きマルコフモデルを学習するマルコフモデル学習手段と、
教師データに基づく過去の時系列の正常時イベント群Ｐ0及び異常時イベント群Ｐ1それぞれに対して、状態遷移における遷移確率の加算値又は乗算値を評価値として算出し、該評価値に対する出現頻度を計数した評価値分布Ｒを算出する評価値分布算出手段と、
正常イベント群の評価値分布Ｒ0と異常イベント群の評価値分布Ｒ1との間で、所定条件の評価閾値を算出する評価閾値算出手段と
を有すると共に、
評価値分布算出手段は、運用時イベント群Ｅ'Mに対して更に評価値分布Ｒを算出し、
運用時イベント群Ｅ'Mの評価値分布が、評価閾値以下に偏っている場合に、異常と判定する異常判定手段と
を更に有することを特徴とする。
【００２０】
本発明によれば、時系列の運用時イベント群Ｅ'Mに対する異常を判定する装置の異常判定方法であって、
装置は、
学習段階として、
教師データに基づく時系列の全てのイベント群ＥNを用いて、状態iの滞在時間に応じた状態iから状態jへの遷移確率を算出した時間付きマルコフモデルを学習する第１１のステップと、
教師データに基づく過去の時系列の正常時イベント群Ｐ0及び異常時イベント群Ｐ1それぞれに対して、状態遷移における遷移確率の加算値又は乗算値を評価値として算出し、該評価値に対する出現頻度を計数した評価値分布Ｒを算出する第１２のステップと、
正常イベント群の評価値分布Ｒ0と異常イベント群の評価値分布Ｒ1との間で、所定条件の評価閾値を算出する第１３のステップと
を実行し、
運用段階として、
運用時イベント群Ｅ'Mに対して、状態遷移における遷移確率の加算値又は乗算値を評価値として算出し、該評価値に対する出現頻度を計数した評価値分布Ｒを算出する第２１のステップと、
運用時イベント群Ｅ'Mの評価値分布が、評価閾値以下に偏っている場合に、異常と判定する第２２のステップと
を更に実行することを特徴とする。
【発明の効果】
【００２１】
本発明のプログラム、装置及び方法によれば、様々な時系列のイベント群から、イベントの状態変化に基づいて、異常状態か否かの判定閾値を最適に設定することができるプログラム、装置及び方法を提供することを目的とする。
【図面の簡単な説明】
【００２２】
【図１】本発明の異常判定装置を有するシステム構成図である。
【図２】本発明における異常判定装置の機能構成図である。
【図３】時間付きマルコフモデル学習における状態遷移を表す説明図である。
【図４】正常状態の評価値分布と異常状態の評価値分布とを用いた判定の評価閾値を表す説明図である。
【図５】運用時のイベント群から異常状態か否かの判定を表す説明図である。
【発明を実施するための形態】
【００２３】
以下、本発明の実施の形態について、図面を用いて詳細に説明する。
【００２４】
図１は、本発明の異常判定装置を有するシステム構成図である。
【００２５】
図１によれば、異常判定装置１は、事業者ネットワークに配置されており、多数の通信装置における異常状態を検知するものである。各通信装置は、異常を通知するアラーム（例えばリンクダウンや信号同期エラー）に限られず、自らの状態を表す「イベント」を発信している。異常判定装置１は、それらイベント群を収集することによって、異常状態を検知する。事業者ネットワークに配置される通信装置としては、例えばルータやスイッチのような経路制御装置がある。
事業者ネットワークとしては、例えばＬＴＥ(Long Term Evolution)やＷｉＭＡＸ（Worldwide Interoperability for Microwave Access）のようなアクセスネットワークであってもよいし、ＩＭＳのようなコアネットワークであってもよい。
【００２６】
「イベント」とは、通信装置から発信された、状態を含むデータパケットである。
「状態」とは、例えばスイッチの場合、各ポートにおける「リンク有り＋第１の速度」「リンク有り＋第２の速度」「リンク無し」のようなものである。
また、イベント群ＥN＝｛ｅ1,ｅ2,・・・,ｅN｝における各イベントｅnは、発生時刻及び発生後状態を含む。
ｅn＝（ｔn,ｘn）
ｅn：n番目のイベント
ｔn：ｅnの発生時刻
ｘn：ｅnの発生後状態
イベントには、他のイベントとの相関性を表す情報は全く含まれておらず、イベント同士のみを比較しても、その相関性は見出せないものである。
【００２７】
図２は、本発明における異常判定装置の機能構成図である。
【００２８】
図２によれば、本発明の異常判定装置１は、教師データ蓄積部１０と、全イベント群入力部１１０と、学習イベント群入力部１２０と、運用イベント群入力部２１０とを有する。また、異常判定装置は、マルコフモデル学習部１１と、評価値分布算出部１２、２１と、評価閾値算出部１３と、異常判定部２２とを有する。これら機能構成部は、装置に搭載されたコンピュータを機能させるプログラムを実行することによって実現される。また、これら機能構成部の処理の流れは、装置を用いた異常判定方法としても理解できる。
【００２９】
また、本発明の異常判定装置１は、＜モデル学習段階＞、＜評価閾値学習段階＞及び＜運用段階＞に区分される。
異常判定装置１は、モデル学習段階として、全イベント群入力部１１０と、マルコフモデル学習部１１とを有する。
また、異常判定装置１は、評価閾値学習段階として、学習イベント群入力部１２０と、評価値分布算出部１２と、評価閾値算出部１３とを有する。
更に、異常判定装置１は、運用段階として、運用イベント群入力部２１０と、評価値分布算出部２１と、異常判定部２２とを有する。
【００３０】
［教師データ蓄積部１０］
教師データ蓄積部１０は、過去に収集した「正常時イベント群」と「異常時イベント群」とを予め教師データとして蓄積したものである。ここでは、正常時と異常時とを区別して、時系列のイベント群を記憶している。
モデル学習段階では、教師データ蓄積部１０は、全てのイベント群を出力する。
評価閾値学習段階では、教師データ蓄積部１０は、正常時イベント群と異常時イベント群とを別々に出力する。
【００３１】
＜モデル学習段階＞
［全イベント群入力部１１０］
全イベント群入力部１１０は、教師データ蓄積部１０から全てのイベント群を入力し、マルコフモデル学習部１１へ出力する。
【００３２】
［マルコフモデル学習部１１］
マルコフモデル学習部１１は、教師データに基づく時系列の全てのイベント群ＥNを用いて、「状態iの滞在時間に応じた状態iから状態jへの遷移確率を算出した時間付きマルコフモデル」を学習する。
【００３３】
「マルコフモデル」とは、未来の状態が現在の状態だけで決定され、過去の挙動と無関係であるという性質を持つ確率モデルをいう。
「時間付きマルコフモデル」とは、状態遷移確率が時間に依存するマルコフモデルであり、ある状態から次の状態に遷移するまでの遷移元状態での滞在時間に応じて遷移確率が変化する状態遷移モデルをいう。
【００３４】
図３は、時間付きマルコフモデル学習における状態遷移を表す説明図である。
【００３５】
例えばイベントｅn発生後の通信装置の状態ｘnと、イベント群ＥNによって生じ得る全状態集合Ｙとは、以下の関係となる。
ｘn  ∈  Ｙ＝｛ｙ1,ｙ2,・・・,ｙs｝
ｙ：時間付きマルコフモデルの状態
ｘn：ｅn発生後の状態
ＥNにおける任意の連続する２つのイベントｅh、ｅh+1（h＝1,2,・・・,N-1）から、１つの状態遷移ｘh→ｘh+1を表す。このとき、遷移元状態に滞在していた時間は、ｔh+1−ｔhで表される。
ＥNから全ての状態遷移を抽出し、ｙi→ｙj（i,j＝1,2,・・・,S）について、以下を算出する。
ｇij：状態ｙiから状態ｙjへの状態間の遷移確率
ｆyiyj(Ｔi)：ｙi→ｙjの状態遷移について、状態ｙiでの滞在時間Ｔi＝ｔj−ｔiの分布を表す確率密度
図３の状態遷移は、教師データの全てのイベント群によって学習して構築されたものである。
【００３６】
＜評価閾値学習段階＞
［学習イベント群入力部１２０］
学習イベント群入力部１２０は、教師データ蓄積部１０から、正常時イベント群と異常時イベント群とを別々に入力し、それらイベント群を評価値分布算出部１２へ出力する。
【００３７】
［評価値分布算出部１２］
評価値分布算出部１２は、教師データに基づく過去の時系列の正常時イベント群及び異常時イベント群それぞれに対して、状態遷移における遷移確率の加算値又は乗算値を評価値として算出し、その評価値に対する出現頻度を計数した評価値分布Ｒを算出する。
【００３８】
正常時／異常時それぞれの各イベント群ＥNから、連続する時系列の所定数K個をスライディングウィンドウ方式で、イベント群Ｐv,Kを切り出す。
Ｐv,K＝｛ｅv,ｅv+1,・・・,ｅv+K-1｝、v＝（1,2,・・・,N-K+1）
K：ＥNから連続する長さ（任意の整数）
切り出したイベント群Ｐv,Kの集合を、以下のように表す。
Ｐ＝｛Ｐ1,K,Ｐ2,K,・・・,ＰN-K+1,K｝
【００３９】
そして、正常時／異常時それぞれの２つの集合に分ける。
過去の時系列の正常時イベント群Ｐ0は、各イベント群Ｐv,Kの中で正常時と判定されたイベント群である。
Ｐ0＝｛Ｐ0｜Ｐ0は正常時イベント群，Ｐ0∈Ｐ｝
過去の時系列の異常時イベント群Ｐ1は、各イベント群Ｐv,Kの中で異常時と判定されたイベント群である。
Ｐ1＝｛Ｐ1｜Ｐ1は異常時イベント群，Ｐ1∈Ｐ｝
【００４０】
Ｐ0及びＰ1の各要素から評価値を算出し、評価値分布Ｒ(Ｐv,K)を作成する。
Ｒ(Ｐv,K)＝ｑ(ｘv）Σv+K-2i=v（ｇxixi+1×Ｆxixi+1(ｔi+1−ｔi)）
Ｆyiyj(Ｔi)＝∫0Tiｆyiyj(ｕ)ｄｕ
ｑ(ｘn）：全状態の中でｘnが初期状態である確率
Ｆij(Ｔi)：ｙiからｙjへの遷移について、ｙiでの滞在時間Ｔi＝tj−ti以内に状態遷移する確率
「状態iの滞在時間に応じた状態iから状態jへの遷移確率」は、以下の式によって表されている。
ｇij×Ｆij(Ｔ)
【００４１】
そして、評価値分布算出部１２は、正常イベント群の評価値分布Ｒ0と異常イベント群の評価値分布Ｒ1とをそれぞれ、評価閾値算出部１３へ出力する。
【００４２】
［評価閾値算出部１３］
評価閾値算出部１３は、正常イベント群の評価値分布Ｒ0と異常イベント群の評価値分布Ｒ1との間で、所定条件の評価閾値を算出する。
【００４３】
図４は、正常状態の評価値分布と異常状態の評価値分布とを用いた判定の評価閾値を表す説明図である。
【００４４】
図４（ａ）によれば、正常状態と異常状態と別々に、評価値に対する出現頻度の分布が表されている。
正常なイベント群から算出された評価値は、異常なイベント群から算出された評価値よりも、大きな値となる。また、正常時イベント群の評価値分布と異常時イベント群の評価値分布との境界では、正常／異常を判定するための指標（評価閾値）となる。
【００４５】
（評価閾値の最適化における第１の実施形態）
図４（ｂ）によれば、正常状態と異常状態と別々に、評価値に対する出現頻度の分布が表されている。
ここでは単純に、評価閾値算出部１３は、正常イベント群に基づく評価値分布の最小評価値Ｒ0minと、異常イベント群に基づく評価値分布の最大評価値Ｒ1maxとの中央値を、評価閾値Ｒｚとして算出している。
ｚ＝（Ｒ0min＋Ｒ1max）／２
【００４６】
（評価閾値の最適化における第２の実施形態）
図４（ｃ）によれば、係数αxixjを重み付けた正常状態と異常状態と別々の評価値分布が表されている。
正常時イベント群の評価値分布Ｒ0と、異常時イベント群の評価値分布Ｒ1とが離れているほど、正確に正常状態／異常状態を判定することができる。
そこで、評価閾値算出部１３は、i状態からj状態への状態間の遷移確率ｇxixjに、正常時イベント群の評価値分布Ｒ0の最小評価値Ｒ0minと、異常時イベント群の評価値分布Ｒ1の最大評価値Ｒ1maxとの差を最大化する係数αxixjを重み付けて、評価閾値を算出する。
【００４７】
前述した評価値分布Ｒ(Ｐv,K)の式に、係数αxixjを重み付ける。
Ｒ(Ｐv,K)＝ｑ(ｘv）Σv+K-2i=v（αxixi+1×ｇxixi+1×Ｆxixi+1(ｔi+1−ｔi)）
係数αyiyjは、以下の目的関数及び制約条件に基づいて、線形計画問題として最適化して算出されたものとする。
目的関数：
最大化  αmax＝Ｒ0min−Ｒ1max
制約条件：
Ｒ(Ｐ0)＝｛Ｒ(p0)｜p0∈Ｐ0｝：正常時イベント群に基づく評価値の集合
Ｒ(Ｐ1)＝｛Ｒ(p1)｜p1∈Ｐ1｝：異常時イベント群に基づく評価値の集合
Ｒ0min＝min（Ｒ(Ｐ0))：正常時イベント群に基づく最小評価値
Ｒ1max＝min（Ｒ(Ｐ1))：正常時イベント群に基づく最大評価値
Ｒ0min＞Ｒ1max：正常時イベント群に基づく評価値の方が大きな値
αxixj＞０
【００４８】
＜運用段階＞
［運用イベント群入力部２１０］
運用イベント群入力部２１０は、時系列の運用時イベント群Ｅ'Mを入力し、評価値分布算出部２１へ出力する。
【００４９】
［評価値分布算出部２１］
評価値分布算出部２１は、前述と同様に、運用時イベント群Ｅ'Mに対して評価値分布Ｒ'を算出する。
時系列の運用時イベント群Ｅ'M＝｛ｅ'1,ｅ'2,・・・,ｅ'M｝から、連続する時系列の所定数K個をスライディングウィンドウ方式でイベント群Ｐ'v,Kを切り出す。
Ｐ'w,K＝｛ｅw,ｅw+1,・・・,ｅw+K-1｝、w＝（1,2,・・・,M-K+1）
切り出したイベント群Ｐv,Kの集合を、以下のように表す。
Ｐ'＝｛Ｐ'1,K,Ｐ'2,K,・・・,Ｐ'M-K+1,K｝
そして、Ｐ'の各要素について、評価値Ｒ(Ｐ'w,K)を算出する。
【００５０】
［異常判定部２２］
異常判定部２２は、運用時イベント群Ｅ'Mの評価値分布Ｒ'が、評価閾値Ｒz以下に偏っている場合に、異常と判定する。
【００５１】
図５は、運用時のイベント群から異常状態か否かの判定を表す説明図である。
【００５２】
図５（ａ）によれば、運用時のイベント群に基づく評価値分布Ｒ'の中心が、評価閾値Ｒz以下に偏っている。この場合、運用時のイベント群は、異常であると判定される。
図５（ｂ）によれば、運用時のイベント群に基づく評価値分布Ｒ'の中心が、評価閾値Ｒzよりも高い方に偏っている。この場合、運用時のイベント群は、正常であると判定される。
【００５３】
前述した実施形態として、イベントは、事業者ネットワークに配置された通信装置から発信されるパケットとして説明したが、本発明は、これに限られるものではない。即ち、状態変化を表すイベント群であれば、様々な用途の中で異常を判定することができる。例えば、発電・送電システムや、水道等の配給システム、各種生産・製造プラントのような様々な大規模な事業システムに適用することができる。
【００５４】
以上、詳細に説明したように、本発明のプログラム、装置及び方法によれば、様々な時系列のイベント群から、イベントの状態変化に基づいて、異常状態か否かの判定閾値を最適に設定することができる。
【００５５】
前述した本発明の種々の実施形態について、本発明の技術思想及び見地の範囲の種々の変更、修正及び省略は、当業者によれば容易に行うことができる。前述の説明はあくまで例であって、何ら制約しようとするものではない。本発明は、特許請求の範囲及びその均等物として限定するものにのみ制約される。
【符号の説明】
【００５６】
１  異常判定装置
１０  教師データ蓄積部
１１０  全イベント群入力部
１１  マルコフモデル学習部
１２０  学習イベント群入力部
１２、２１  評価値分布算出部
１３  評価閾値算出部
２１０  運用イベント群入力部
２２  異常判定部
【図１】
2018055294.tif 000003
【図２】
2018055294.tif 000004
【図３】
2018055294.tif 000005
【図４】
2018055294.tif 000006
【図５】
2018055294.tif 000007