(58)【調査した分野】(Int.Cl.,DB名)
少なくとも1個の観点および前記観点ごとの複数のスケールについて、前記観点と前記スケールとの組み合わせごとに含まれるデータに基づく統計量データである基準データと比較対象データとを比較する統計量データ比較部と、
前記統計量データ比較部による比較の結果に基づいて、前記観点の複数の範囲のなかで異常があるとみなされる範囲を判定する異常範囲判定部と、
を備え、
前記異常範囲判定部は、前記統計量データ比較部による比較の結果に基づいて、異常があるとみなされる前記観点の範囲候補を判定し、
前記異常範囲判定部は、前記観点の前記範囲候補に含まれる複数の範囲のなかで、前記基準データと前記比較対象データとの差を表すLOFが最大となる範囲を、異常があるとみなされる範囲として、判定する、
統計量データ処理装置。
前記基準データと前記比較対象データとのうちの一方または両方は、複数の異なる前記観点および前記観点ごとの複数の異なる前記スケールについて、前記観点と前記スケールとの組み合わせごとに含まれるデータに基づく統計量データを有する統計量データ群から取得される、
請求項1から請求項3のいずれか1項に記載の統計量データ処理装置。
統計量データ比較部が、少なくとも1個の観点および前記観点ごとの複数のスケールについて、前記観点と前記スケールとの組み合わせごとに含まれるデータに基づく統計量データである基準データと比較対象データとを比較し、
異常範囲判定部が、前記統計量データ比較部による比較の結果に基づいて、前記観点の複数の範囲のなかで異常があるとみなされる範囲を判定する、
統計量データ処理方法であって、
前記異常範囲判定部は、前記統計量データ比較部による比較の結果に基づいて、異常があるとみなされる前記観点の範囲候補を判定し、
前記異常範囲判定部は、前記観点の前記範囲候補に含まれる複数の範囲のなかで、前記基準データと前記比較対象データとの差を表すLOFが最大となる範囲を、異常があるとみなされる範囲として、判定する、
統計量データ処理方法。
統計量データ比較部が、少なくとも1個の観点および前記観点ごとの複数のスケールについて、前記観点と前記スケールとの組み合わせごとに含まれるデータに基づく統計量データである基準データと比較対象データとを比較するステップと、
異常範囲判定部が、前記統計量データ比較部による比較の結果に基づいて、前記観点の複数の範囲のなかで異常があるとみなされる範囲を判定するステップと、
をコンピュータに実行させるためのプログラムであって、
前記異常範囲判定部は、前記統計量データ比較部による比較の結果に基づいて、異常があるとみなされる前記観点の範囲候補を判定し、
前記異常範囲判定部は、前記観点の前記範囲候補に含まれる複数の範囲のなかで、前記基準データと前記比較対象データとの差を表すLOFが最大となる範囲を、異常があるとみなされる範囲として、判定する、
プログラム。
【発明を実施するための形態】
【0012】
以下、図面を参照し、本発明の実施形態について説明する。
【0013】
(第1実施形態)
[データ処理システム]
図1は、本発明の一実施形態(第1実施形態)に係るデータ処理システム1の概略的な構成を示すブロック図である。
データ処理システム1は、n(nは2以上の整数とする。)個の端末装置11−1〜11−nと、統計量データ処理装置12と、データベース13と、ネットワーク21を備える。
ネットワーク21としては、有線または無線の任意のネットワークが用いられてもよく、例えば、インターネットあるいはWi−Fi(登録商標)のネットワークなどが用いられてもよい。
データベース13は、本実施形態では、統計量データ処理装置12とは別に備えられるが、他の例として、統計量データ処理装置12に一体化されていてもよい。
【0014】
統計量データ処理装置12は、端末装置11−1〜11−nに関する所定の対象のデータを取得して解析する。本実施形態では、当該データは、所定の対象の時系列データについて、サンプル数が膨大(ビックデータ)になりかつ常に次々とデータが発生するストリームデータであるとする。
【0015】
所定の対象のデータとしては、任意のデータが用いられてもよく、例えば、IoT(Internet on Things)に関するデータが用いられてもよく、あるいは、他のデータが用いられてもよい。
具体例として、所定の対象のデータとしては、任意のシステムにおけるデータが用いられてもよく、例えば、車両などの交通システムに関するデータ、人などのヘルスケアシステムに関するデータ、製品を生産などする工場システムに関するデータ、証券などの金融システムに関するデータ、有線または無線の通信システムに関するデータなどが用いられてもよい。また、任意のシステムにおいて、所定の対象のデータとしては、様々なデータが用いられてもよく、例えば、温度に関するデータ、湿度に関するデータ、速度に関するデータ、加速度に関するデータ、画像に関するデータ、酸素などの物質の濃度に関するデータ、品質に関するデータ、株価に関するデータ、通信信号に関するデータ、端末装置(本実施形態では、端末装置11−1〜11−n)の位置に関するデータ、端末装置が存在する領域に関するデータなどが用いられてもよい。
【0016】
また、所定の対象のデータを検出する手法としては、様々な手法が用いられてもよい。
一例として、それぞれの端末装置11−1〜11−nにおいて、当該それぞれの端末装置11−1〜11−nに関する所定の対象のデータを検出する構成が用いられてもよい。この構成では、それぞれの端末装置11−1〜11−nは、所定の対象のデータを検出する検出部を備え、当該検出部により検出されたデータを、ネットワーク21を介して、統計量データ処理装置12に送信する。当該検出部は、例えば、センサー、あるいは、撮像装置(カメラ)であってもよい。ここで、撮像装置(カメラ)も、センサーの一例であると捉えられてもよい。
なお、それぞれの端末装置11−1〜11−nは、IoTの端末装置であってもよく、あるいは、他の端末装置であってもよい。
【0017】
他の例として、データ処理システム1は、端末装置11−1〜11−nとは別の検出装置(図示を省略)を備えてもよい。この構成では、当該検出装置は、それぞれの端末装置11−1〜11−nに関する所定の対象のデータを検出する検出部を有しており、当該検出部により検出されたデータを、ネットワーク21を介して、統計量データ処理装置12に送信する。
【0018】
当該検出装置は、例えば、所定の領域の画像を撮像する撮像装置(カメラ)を備えてもよく、当該画像に基づいて、当該所定の領域に存在する端末装置11−1〜11−nの数のデータなどを所定の対象のデータとして検出してもよい。
当該検出装置は、例えば、所定の領域に存在する端末装置11−1〜11−nと無線または有線で通信する通信部を備えてもよく、この通信の結果に基づいて、当該所定の領域に存在する端末装置11−1〜11−nの数のデータなどを所定の対象のデータとして検出してもよい。
当該検出装置は、例えば、端末装置11−1〜11−nから発信される信号を取得する信号取得部を備えてもよく、当該信号の状況に基づいて、当該信号の発生頻度あるいは遅延度などを表すデータなどを所定の対象のデータとして検出してもよい。
【0019】
本実施形態では、それぞれの端末装置11−1〜11−nは、ネットワーク21を介して、他の装置(例えば、統計量データ処理装置12など)と通信することが可能である。なお、それぞれの端末装置11−1〜11−nは、有線または無線により、ネットワーク21との間で通信接続する。
他の例として、それぞれの端末装置11−1〜11−nは、通信機能を備えなくてもよい。
【0020】
また、それぞれの端末装置11−1〜11−nとしては、例えば、同じ構成を有する端末装置が用いられてもよく、あるいは、異なる構成を有する端末装置が含まれてもよい。
また、それぞれの端末装置11−1〜11−nは、例えば、物に付加あるいは装着などされてもよく、あるいは、人により携帯あるいは装着などされてもよい。当該物としては、任意のものであってもよく、例えば、自動車などの車両、あるいは、電化製品などであってもよい。
【0021】
また、端末装置11−1〜11−nとは別の検出装置は、例えば、統計量データ処理装置12に備えられてもよい。この構成では、統計量データ処理装置12は、当該検出装置により検出されたデータを取得して解析する。
【0022】
[統計量データ処理装置]
図2は、本発明の一実施形態に係る統計量データ処理装置12の概略的な構成を示すブロック図である。
統計量データ処理装置12は、入力部111と、出力部112と、記憶部113と、通信部114と、制御部115を備える。
制御部115は、データ取得部131と、統計量データ処理部132と、データ出力制御部133を備える。
統計量データ処理部132は、観点設定部151と、スケール設定部152と、統計量データ群生成部153と、統計量データ比較部154と、異常範囲判定部155を備える。
【0023】
入力部111は、外部から情報を入力する。入力部111は、例えば、ユーザ(人)により行われる操作を受け付ける操作部を有し、当該操作部により受け付けられた操作に応じた情報を入力する。入力部111は、例えば、外部の装置(例えば、記録媒体など)と接続されて当該外部の装置から出力される情報を入力する。
出力部112は、情報を出力する。出力部112は、例えば、画面を有しており、情報を画面に表示(出力)する。出力部112は、例えば、外部の装置(例えば、記録媒体など)と接続されて当該外部の装置に情報を出力する。
記憶部113は、情報を記憶する。なお、本実施形態では、記憶部113とデータベース13とは、任意に使い分けられてもよい。
通信部114は、情報を通信する。本実施形態では、通信部114は、ネットワーク21を介して、他の装置(例えば、端末装置11−1〜11−nあるいは別の検出装置)と情報を通信する。
【0024】
制御部115は、統計量データ処理装置12における各種の制御を行う。
本実施形態では、記憶部113は、所定の制御プログラムおよびそのパラメーターの情報を記憶する。また、制御部115は、CPU(Central Processing Unit)を用いて構成される。そして、制御部115では、CPUが記憶部113に記憶された制御プログラムを、記憶部113に記憶されたパラメーターを使用して実行することで、各種の制御を行う。
【0025】
なお、統計量データ処理装置12について、
図2に示した各処理部111〜115を備える構成は一例であり、他の構成が用いられてもよい。例えば、各処理部111〜115の機能の区分は、説明の便宜上のものであり、必ずしも
図2に示した構成に限定されない。
【0026】
制御部115の機能について説明する。
データ取得部131は、解析対象となるデータとして、所定の対象のデータを取得する。
一例として、データ取得部131は、通信部114により他の装置(例えば、端末装置11−1〜11−nあるいは別の検出装置)から受信されたデータを、解析対象となるデータとして取得してもよい。
他の例として、データ取得部131は、過去に取得されたデータを順次データベース13に記憶しておき、当該データの処理を行うときに、当該データベース13から当該データを解析対象となるデータとして取得してもよい。
また、他の例として、所定の対象のデータが統計量データ処理装置12を経由せずにデータベース13に記憶される構成が用いられてもよく、この場合、データ取得部131は、当該データの処理を行うときに、当該データベース13から当該データを解析対象となるデータとして取得してもよい。
【0027】
統計量データ処理部132は、データ取得部131により取得されたデータについて統計的な処理を行い、その結果のデータ(本実施形態において、「統計量データ」ともいう。)を取得する。
なお、統計量データ処理部132では、例えば、データ取得部131によりリアルタイムで次々と取得されるデータ(新たに増えていくデータのまとまり)について処理を行う場合があってもよく、また、データ取得部131により取得された過去のデータ(新たに増えないデータのまとまり)について処理を行う場合があってもよい。
また、統計量データ処理部132は、統計量データに基づいて異常の有無に関する検出(判定)を行う。
【0028】
データ出力制御部133は、出力対象となるデータを出力部112により出力する制御を行う。この出力としては、例えば、文字、図形あるいはグラフなどの表示出力が用いられる。
出力対象となるデータとしては、任意のデータが用いられてもよく、例えば、データ取得部131により取得されたデータ、あるいは、統計量データ処理部132による処理により得られた結果のデータなどが用いられてもよい。また、統計量データ処理部132による処理により得られた結果のデータとしては、例えば、統計量データ群生成部153による処理により得られた結果のデータ、統計量データ比較部154による処理により得られた結果のデータ、あるいは、異常範囲判定部155による処理により得られた結果のデータのうちの1以上が用いられてもよい。
【0029】
統計量データ処理部132について説明する。
観点設定部151は、解析対象のデータについて、観点(項目)を設定する。観点設定部151は、解析対象のデータについて、2個以上の観点を設定してもよい。
ここで、観点としては、任意の観点が用いられてもよく、例えば、時間(時刻)、領域(地域)、デバイス種別などが用いられてもよい。
また、観点設定部151は、例えば、あらかじめ定められた観点を設定してもよく、あるいは、ユーザなどから指示された観点を設定してもよい。観点があらかじめ定められる場合には、例えば、当該観点を特定する情報が記憶部113に記憶される。
【0030】
スケール設定部152は、それぞれの観点について、スケール(粒度)を設定する。スケール設定部152は、それぞれの観点について、2個以上のスケールを設定してもよい。
ここで、スケールとしては、任意の大きさを有するスケールが用いられてもよい。
例えば、時間のスケールとして、1秒のスケール、1分のスケール、1時間のスケール、1日のスケール、あるいは、他の任意の大きさのスケールが用いられてもよい。
例えば、領域のスケールとして、地区のスケール、市区町村のスケール、都道府県のスケール、全国のスケール、あるいは、他の任意の大きさのスケールが用いられてもよい。
例えば、デバイス種別のスケールとして、機種のスケール、メーカーのスケール、OS(Operating System)のスケール、あるいは、他の任意の種別(属性)のスケールが用いられてもよい。
スケール設定部152は、例えば、それぞれの観点について、あらかじめ定められたスケールを設定してもよく、あるいは、ユーザなどから指示されたスケールを設定してもよい。スケールがあらかじめ定められる場合には、例えば、当該スケールを特定する情報が記憶部113に記憶される。
【0031】
統計量データ群生成部153は、データ取得部131により取得されたデータについて、観点設定部151により設定された観点およびスケール設定部152により設定されたスケールに基づいて、統計的な処理を行うことで、複数の統計量データの集合(本実施形態において、「統計量データ群」ともいう。)を生成する。
本実施形態では、統計量データ群生成部153は、多次元およびマルチスケールのデータ解析を行った結果のデータを、統計量データ群(本実施形態において、「多次元マルチスケール統計量データ群」ともいう。)として生成する。
ここで、本実施形態では、次元は観点を表わしており、多次元は複数の観点があることを表わしている。
また、本実施形態では、マルチスケールは、複数のスケールがあることを表わしている。
【0032】
統計量データ比較部154は、基準となる統計量データと、解析対象となる統計量データとを比較する。本実施形態では、統計量データ比較部154は、複数の異なるスケールについて、基準となる統計量データと、解析対象となる統計量データとを比較する。
ここで、基準となる統計量データは、例えば、データ取得部131により取得されてもよく、あるいは、統計量データ群生成部153により生成された統計量データ群に含まれる統計量データが用いられてもよい。
また、解析対象となる統計量データは、例えば、データ取得部131により取得されてもよく、あるいは、データ取得部131により取得されたデータに基づいて統計量データ処理部132(例えば、統計量データ比較部154)により生成された統計量データが用いられてもよく、あるいは、統計量データ群生成部153により生成された統計量データ群に含まれる統計量データが用いられてもよい。
【0033】
異常範囲判定部155は、統計量データ比較部154による比較の結果に基づいて、解析対象となる統計量データについて、異常が発生した範囲(本実施形態では、時刻(時間)の範囲であり、「異常期間」ともいう。)を判定する。なお、この判定は、例えば、推定的な判定であってもよい。
本実施形態では、解析対象となる統計量データについて、異常範囲判定部155により異常期間が判定されたことによって、異常が存在することを検出する。
【0034】
[統計量データ群のデータ構造の例]
図3は、本発明の一実施形態に係る統計量データ群201の一例のデータ構造を模式的に示す図である。
図3の例では、当該統計量データ群201は、統計量データ処理部132により時系列データが処理された結果である多次元マルチスケール統計量データ群となっている。当該統計量データ群201は、時系列データを対象として多次元およびマルチスケールに拡張された分布データ(本実施形態では、統計量データ)の構造を有する。
図3の例では、複数の観点として、時間、領域、デバイス種別が用いられている。また、それぞれの観点について、複数のスケール(マルチスケール)が用いられている。
【0035】
図3の例では、時間に関する複数のスケールとして、時間スケールs0、時間スケールs1、時間スケールs2が用いられている。一例として、時間スケールs0は「10秒」であり、時間スケールs1は「20秒」であり、時間スケールs2は「40秒」である。
また、領域に関する複数のスケールとして、領域スケールA1、領域スケールA2、領域スケールA3が用いられている。一例として、領域スケールA1は「東京」であり、領域スケールA2は「関東」であり、領域スケールA3は「日本(全国)」である。
また、デバイス種別に関する複数のスケールとして、デバイス種別スケールD1、デバイス種別スケールD2が用いられている。一例として、デバイス種別スケールD1は「特定の機種A1」であり、デバイス種別スケールD2は「特定のメーカーB1」である。
【0036】
また、
図3の例では、時刻を表す軸の方向(矢印)を示してある。時刻の範囲(時間の区分)として、時刻範囲t0、時刻範囲t1、時刻範囲t2、時刻範囲t3が用いられている。時刻範囲t0は「0秒以上10秒未満」であり、時刻範囲t1は「10秒以上20秒未満」であり、時刻範囲t2は「20秒以上30秒未満」であり、時刻範囲t3は「30秒以上40秒未満」である。
なお、時刻の初期値(本実施形態では、0秒)としては、任意のタイミングが用いられてもよい。
【0037】
ここで、1個の時間スケールと、1個の領域スケールと、1個のデバイス種別スケールが特定されて、当該時間スケールに応じた1個の時刻範囲が特定されると、単位となる統計量データ(本実施形態において、「単位統計量データ」ともいう。)が特定される。
1個の時間スケールと、1個の領域スケールと、1個のデバイス種別スケールと、当該時間スケールに応じた1個の時刻範囲によって特定される単位統計量データは、当該時刻範囲の最大の時刻から当該時間スケールだけ過去に遡った時刻までの間に属し、かつ、当該領域スケールに属し、かつ、当該デバイス種別スケールに属するデータについて、統計量データ処理部132によって統計的な演算を行うことにより得られた統計量データに相当する。
【0038】
図3の例では、時間スケールs0かつ時刻範囲t3に該当する6個の単位統計量データ211〜213、221〜223と、時間スケールs1かつ時刻範囲t3に該当する6個の単位統計量データ311〜313、321〜323と、時間スケールs2かつ時刻範囲t3に該当する6個の単位統計量データ411〜413、421〜423だけに符号を付してあり、他の単位統計量データについては符号を省略してある。
【0039】
一例として、単位統計量データ211は、時間スケールS0(10秒)、領域スケールA1(東京)、デバイス種別スケールD1(特定の機種A1)、時刻範囲t3(30秒以上40秒未満)に該当する。そして、当該単位統計量データ211は、時刻が30秒以上40秒未満に属し、かつ、領域が東京に属し、かつ、デバイス種別が特定の機種A1に属するデータに基づいて得られた統計量データである。すなわち、当該データは、時刻が30秒以上40秒未満に発生し、東京に存在する端末装置11−1〜11−nにおいて発生し、デバイス種別が特定の機種A1である当該端末装置11−1〜11−nにおいて発生したデータであることを意味する。当該単位統計量データは、このようなデータの集合を用いて得られた統計量データである。
【0040】
ここで、単位統計量データとしては、任意の統計量のデータが用いられてもよく、例えば、順序統計に関する任意の値のデータが用いられてもよく、あるいは、平均値のデータが用いられてもよい。
順序統計に関する値としては、例えば、中央値が用いられてもよい。なお、一般に、処理対象となる複数のデータが同じである場合、平均値を取得(演算)する処理よりも、中央値を取得する処理の方が、処理時間が短くなると考えられる。
また、順序統計に関する値としては、例えば、累積分布関数(CDF:Cumulative Distribution Function)の値が用いられてもよく、あるいは、確率分布関数(PDF:Probability Density Function)の値が用いられてもよい。
【0041】
図3の例では、それぞれの四角(直方体あるいは立方体)の単位が単位統計量データ(単位統計量データ211〜213、221〜223、311〜313、321〜323、411〜413、421〜423など)に相当する。
なお、統計量データ群生成部153は、任意の手法を用いて、単位統計量データを取得してもよく、例えば、既存の技術であるt−digestの技術(例えば、非特許文献1など参照。)を用いて単位統計量データを演算して取得してもよい。本実施形態では、統計量データ群は、複数の単位統計量データを含んで構成される。
【0042】
また、1個の観点について用いられる複数のスケールとしては、例えば、すべてについて互いに包含関係にある複数のスケールが用いられてもよく、あるいは、すべてについて互いに包含関係にない複数のスケールが用いられてもよく、あるいは、一部のみについて包含関係にある複数のスケールが用いられてもよい。
すべてについて互いに包含関係にある複数のスケールとしては、領域のスケールを例とすると、例えば、「東京」、「関東」、「日本」がある。
すべてについて互いに包含関係にない複数のスケールとしては、領域のスケールを例とすると、例えば、「東京」、「千葉」、「茨城」がある。
一部のみについて包含関係にある複数のスケールとしては、領域のスケールを例とすると、例えば、「東京」、「関東」(東京を含む。)、「大阪」がある。
【0043】
[統計量データ処理部において行われる異常検出処理]
図4は、本発明の一実施形態に係る統計量データに基づく異常検出処理の概要を示す図である。
本実施形態では、解析対象(比較対象)のデータおよび基準となるデータとして、複数の端末装置11−1〜11−nについて、レイテンシー(Latency)に関するデータが用いられている。レイテンシーとしては、それぞれの端末装置11−1〜11−nから送信された要求に対して応答が到来するまでの時間(遅延時間)が用いられている。
ここで、それぞれの端末装置11−1〜11−nはそれぞれ異なる人に所持されているとする。そして、説明の便宜上、平日には決まった時間に通勤ラッシュがあり、休日には通勤ラッシュが無いとする。また、通常、平日には朝の通勤ラッシュと夕方の通勤ラッシュがあるが、本例では、朝の通勤ラッシュのみを示し、夕方の通勤ラッシュを省略する。
【0044】
図4の例では、解析対象のデータ521に基づいて、解析対象の統計量データ群522が生成されている。本実施形態では、解析対象の統計量データ群522は、異常の有無を検出する対象となる1日分のデータに基づいて生成されている。
また、
図4の例では、基準となるデータ511として、過去の30日分のそれぞれの日について、1日分のデータに基づいて生成された統計量データ群511−1〜511−30が用いられている。ここで、基準となるデータ511が取得された30日については、異常が発生していないとし、正常な基準のデータが取得されたとする。
【0045】
統計量データ比較部154は、基準となるデータ511と、解析対象となる統計量データ群522とを比較する処理(比較処理523)を行う。
異常範囲判定部155は、このような比較の結果に基づいて、統計量データについて異常範囲を判定する処理(本例では、異常な分布を検出する異常検出処理524)を行う。これにより、異常範囲判定部155は、解析対象となる統計量データ群について、異常範囲525を判定する。
本実施形態では、異常範囲525が存在した場合には異常があることが検出(判定)され、異常範囲525が存在しない場合には異常が無いことが検出(判定)される。
なお、本例では、異常範囲525として、時刻(時間)の範囲である異常期間を検出(判定)する場合について説明する。
【0046】
図5〜
図7を参照して、統計量データの例を示す。なお、
図5〜
図7に示される統計量データは、説明の便宜上、人為的に作成したものであり、データ分布の時間推移を表す。
図5は、本発明の一実施形態に係る基準となる統計量データの一例を示す図である。
図5の例では、平日(Weekday)における統計量データを示してある。
図5に示されるグラフにおいて、横軸は1日分の24時間(時刻0amから時刻12pmまで)について時刻を表わしており、縦軸はそれぞれの端末装置11−1〜11−nのレイテンシー[ms]を表わしている。
このグラフには、それぞれの端末装置11−1〜11−nについて検出されたレイテンシーを示してある。
また、このグラフには、複数の端末装置11−1〜11−nのレイテンシーについて、順序統計におけるパーセンタイル特性を示してある。具体的には、10パーセンタイルの特性611、25パーセンタイルの特性612、50パーセンタイルの特性613、75パーセンタイルの特性614、90パーセンタイルの特性615を示してある。
また、本例では、平日には8am前後に通勤ラッシュがあり、傾向としてレイテンシーが1日のなかで最大になるとする。
【0047】
図6は、本発明の一実施形態に係る基準となる統計量データの他の一例を示す図である。
図6の例では、休日(Weekend)における統計量データを示してある。
図6に示されるグラフにおいて、横軸は1日分の24時間(時刻0amから時刻12pmまで)について時刻を表わしており、縦軸はそれぞれの端末装置11−1〜11−nのレイテンシー[ms]を表わしている。
このグラフには、それぞれの端末装置11−1〜11−nについて検出されたレイテンシーを示してある。
また、このグラフには、複数の端末装置11−1〜11−nのレイテンシーについて、順序統計におけるパーセンタイル特性を示してある。具体的には、10パーセンタイルの特性621、25パーセンタイルの特性622、50パーセンタイルの特性623、75パーセンタイルの特性624、90パーセンタイルの特性625を示してある。
また、本例では、休日には通勤ラッシュが無く、傾向としてレイテンシーが特に大きくなる期間が観測されないとする。
【0048】
図7は、本発明の一実施形態に係る解析対象となる統計量データの一例を示す図である。
図7の例では、平日(Weekday)における統計量データを示してある。
図7に示されるグラフにおいて、横軸は1日分の24時間(時刻0amから時刻12pmまで)について時刻を表わしており、縦軸はそれぞれの端末装置11−1〜11−nのレイテンシー[ms]を表わしている。
このグラフには、それぞれの端末装置11−1〜11−nについて検出されたレイテンシーを示してある。
また、このグラフには、複数の端末装置11−1〜11−nのレイテンシーについて、順序統計におけるパーセンタイル特性を示してある。具体的には、10パーセンタイルの特性631、25パーセンタイルの特性632、50パーセンタイルの特性633、75パーセンタイルの特性634、90パーセンタイルの特性635を示してある。
また、本例では、このグラフには、8am前後に通勤ラッシュがあり、傾向としてレイテンシーが1日のなかで最大になるが、基準となるデータ(ここでは、
図5の例)と比べて異常なデータ分布になっているとする。具体的には、
図7の例では、10パーセンタイルの特性631と25パーセンタイルの特性632とが正常時(基準時)と比べて近くなっている。
【0049】
本例では、基準となる30日分の統計量データとして、
図5に示されるような平日(ここでは、月−金)の統計量データが22日分取得されており、
図6に示されるような休日(ここでは、土−日)の統計量データが8日分取得されている。
そして、本例では、統計量データ処理部132は、平日の統計量データを基準として用いるとともに、休日の統計量データを別の基準として用いる。このため、統計量データ比較部154は、解析対象となる1日分の統計量データと基準となる22日分の平日の統計量データとを比較する処理と、解析対象となる1日分の統計量データと基準となる8日分の休日の統計量データとを比較する処理とのうちの1以上を行う。
【0050】
図8は、本発明の一実施形態に係る時刻範囲ごとにおける統計量データの比較結果の一例を示す図である。
図8の例では、
図5に示される基準となる平日の統計量データと、
図7に示される解析対象となる統計量データとを比較する。また、基準となる平日の統計量データとしては、22日分のデータが使用され、それぞれの日ごとに1日分の統計量データが使用される。このような22日分のデータはクラスタとなっている。また、解析対象となる統計量データとしては、1日分のデータが使用され、その日の1日分の統計量データが使用される。
【0051】
図8の例では、時刻範囲は、30分ごとの範囲となっており、具体的には、6時から6時30分(6:00 to 6:30)までの範囲、6時30分から7時(6:30 to 7:00)までの範囲、7時から7時30分(7:00 to 7:30)までの範囲、7時30分から8時(7:30 to 8:00)までの範囲、8時から8時30分(8:00 to 8:30)までの範囲、8時30分から9時(8:30 to 9:00)までの範囲となっている。
【0052】
また、
図8の例では、観点「時間」のスケール(時間スケール)として、30分のスケールが用いられている。この30分の時間スケールの期間は、30分ごとの時刻範囲の期間と合わせられている。
また、
図8の例では、平面的に図示してあるが、時間以外の任意の数の観点が用いられてもよい。この場合、
図8に示されるそれぞれの時刻範囲におけるデータは、時間以外のそれぞれの観点のスケールについても所定の大きさのスケールが設定されたときのデータとなる。
【0053】
図8の例では、それぞれの時刻範囲において、基準となる平日の統計量データに相当する値(本実施形態において、「基準値」ともいう。)が22個示されており、クラスタを形成している。また、解析対象となる統計量データに相当する値(本実施形態において、「対象値」ともいう。)が1個示されている。
なお、
図8の例では、時刻範囲(6:00 to 6:30)における1個の基準値711に符号を付してあり、他の基準値については符号を省略してある。また、それぞれの時刻範囲における1個の対象値721〜726に符号を付してある。
【0054】
統計量データ比較部154は、それぞれの時刻範囲において、複数(本例では、22個)の基準値と1個の対象値(それぞれの時刻範囲における対象値721〜726)との距離を表す値を演算する。
ここで、当該距離としては、任意の距離が用いられてもよく、例えば、CDF−based Jensen−Shannon距離、あるいは、PDF−based Jensen−Shannon距離が用いられてもよく、他の例として、それぞれの日のパーセンタイル値を特徴量化して、ユークリッド距離が用いられてもよい。
【0055】
解析対象となる統計量データが異常を含まない時刻範囲では、当該統計量データは基準となるクラスタ(本例では、基準となる平日のクラスタ、あるいは、基準となる休日のクラスタ)に含まれるが、解析対象となる統計量データが異常を含む時刻範囲では、当該統計量データは基準となるクラスタに含まれない。
【0056】
図9は、本発明の一実施形態に係る異常期間の判定処理の一例を説明するための図である。
図8の例では、時間スケールが30分である場合の例を示した。異常範囲判定部155は、時間スケールが30分である場合と、さらに、他の任意の数の異なる期間(異なる時間の長さ)を有する時間スケールについても、統計量データ比較部154による比較処理を行わせる。本例では、異常範囲判定部155は、時間スケールが1分、10分、30分、60分(=1時間)のそれぞれである場合について、統計量データ比較部154による比較処理を行わせる。
【0057】
図9に示されるグラフにおいて、横軸は6時(6:00)から10時(10:00)までの時刻を表わしており、縦軸はLOF(Local Outlier Factor)の値を表わしている。ここで、LOFとしては、それぞれの時刻範囲における22個の基準値のクラスタと1個の対象値721〜726とのLOFが用いられている。当該LOFは、当該対象値721〜726が当該クラスタから外れている度合いを表す。
図9の例では、時間スケール「1分」が用いられたときにおけるLOFの特性811、時間スケール「10分」が用いられたときにおけるLOFの特性812、時間スケール「30分」が用いられたときにおけるLOFの特性813、時間スケール「60分」が用いられたときにおけるLOFの特性814を示してある。なお、これら複数の異なる時間スケールの期間は、例えば、始点(
図3の例では、時刻範囲t0の始点)のタイミングが合わせられている。
【0058】
統計量データ処理装置12では、例えば記憶部113に、LOFに関する所定の閾値Q1が設定されている。
異常範囲判定部155は、まず、あらかじめ定められた複数の異なる時間スケールのそれぞれ(本例では、1分、10分、30分、60分)について、演算されたLOFが所定の閾値Q1を超えるか否かを判定する。この判定の結果、異常範囲判定部155は、1個以上の時間スケールにおいてLOFが所定の閾値Q1を超える期間の全体を、異常期間の候補として、取得する。
図9の例では、異常期間の候補は、7時から9時までとなる。なお、当該異常期間の候補は、例えば、LOFが所定の閾値Q1を超える厳密な期間が用いられてもよく、あるいは、あらかじめ定められた区切り(例えば、1分単位の区切り、あるいは、5分単位の区切りなど)の期間が用いられて、当該厳密な期間からずれてもよい。
【0059】
次に、異常範囲判定部155は、異常期間の候補について、複数の時刻範囲を設定して、統計量データ比較部154による比較処理を行わせる。
本例では、異常範囲判定部155は、異常期間の候補である7時から9時までの期間について、既に使用された最小の時間スケールである1分を使用して、開始時刻と終了時刻とのそれぞれを1分ずつずらした時刻範囲を設定する。具体的には、異常範囲判定部155は、開始時刻を7時から8時59分まで1分ごとにとり、終了時刻を7時1分から9時まで1分ごとにとり、当該開始時刻と当該終了時刻とのすべての組み合わせの時刻範囲を設定する。つまり、7時から7時1分まで、7時から7時2分まで、7時から7時3分まで、・・・、7時から8時59分まで、7時1分から7時2分まで、7時1分から7時3分まで、・・・、8時58分から8時59分まで、8時58分から9時まで、8時59分から9時まで、の時刻範囲が設定される。なお、開始時刻の方が終了時刻よりも早くなる組み合わせだけが使用される。本例では、(開始時刻、終了時刻)の組み合わせの数が、{120×119÷2}となる。
【0060】
図9の例では、異常範囲判定部155は、設定した複数の時刻範囲のうちで、7時から8時30分までの時刻範囲について演算されたLOFが最大となることを判定する。そして、異常範囲判定部155は、当該時刻範囲に相当する期間(7時から8時30分までの範囲)を異常範囲815(ANORMALY FACTOR)であると判定する。
なお、本実施形態では、異常範囲判定部155は、常に(例えば、一定期間ごとに)、複数の時間スケールのそれぞれ(本例では、1分、10分、30分、60分)におけるLOFが所定の閾値Q1を超えるか否かを判定しており、LOFが所定の閾値Q1を超えた場合に、それ以降の処理として、複数の時刻範囲におけるLOFについて最大となる時刻範囲を判定する処理へ移行する。
【0061】
このように、異常範囲判定部155は、事前に取得された基準となる値(平常値)に対して、解析対象となる値(対象値)が乖離している度合いに基づいて、外れ値(異常値)であるか否かを判定する。
なお、基準となる値(平常値)は、例えば、機械学習などを用いて学習されてもよい。
【0062】
ここで、異常期間の候補を検出するために最初に設定される時間スケールについて、その大きさ、あるいは、その数としては、それぞれ、任意であってもよい。
また、異常範囲判定部155は、異常期間の候補を検出するために最初に設定された時間スケールにおいて異常が無いことが判定された場合には、例えば、その異常検出処理を終了する。
また、異常期間の候補が検出された後に、検出された異常期間の候補に対して、さらに時刻範囲を設定して異常期間を判定する場合における当該時刻範囲について、その範囲、あるいは、その数としては、それぞれ、任意であってもよい。
【0063】
また、本実施形態では、時刻(あるいは、時間)の観点に関する指標(時間スケール、時刻範囲)について異常期間を判定する場合を示したが、他の例として、時刻(あるいは、時間)以外の観点に関する指標(例えば、当該観点のスケール、当該観点の範囲)について異常範囲を判定することが行われてもよい。時刻(あるいは、時間)以外の観点としては、例えば、領域の観点、あるいは、デバイス種別の観点などが用いられてもよい。
また、本実施形態では、1個の観点(時刻(あるいは、時間)の観点)について異常範囲を判定する場合を示したが、他の例として、2個以上の異なる観点の組み合わせについて異常範囲を判定することが行われてもよい。
また、本実施形態では、複数の基準値のクラスタと対象値との距離を演算して用いたが、他の構成例として、複数の基準値のクラスタの代わりに、当該クラスタにおける1個の代表値が用いられてもよい。当該クラスタにおける1個の代表値としては、例えば、当該クラスタに含まれる値の平均値(あるいは、重心値)が用いられてもよい。
【0064】
なお、基準となる統計量データとしては、基準となる平日の統計量データの代わりに、
図6に示される基準となる休日の統計量データが用いられてもよい。
また、他の構成例として、複数種類(例えば、平日と休日)の基準となる統計量データと解析対象となる統計量データとを並列的に比較してもよい。この場合、例えば、比較処理が行われるタイミングごとに、複数種類の基準となる統計量データ(本実施形態の場合、複数種類のクラスタ)のなかで解析対象となる統計量データに最も近いもの(本実施形態の場合、距離が最小となる1個のクラスタ)を比較対象とする手法が用いられてもよい。
【0065】
[統計量データ処理装置において行われる処理の例]
図10は、本発明の一実施形態に係る統計量データ処理装置12において行われる異常の有無を検出するための処理の手順の一例を示す図である。
本実施形態では、異常範囲判定部155は、統計量データ比較部154、観点設定部151、スケール設定部152にそれぞれの処理を行わせて、異常範囲を判定する処理を行う。
なお、本例は一例であり、他の任意の処理手順が用いられてもよい。
【0066】
(ステップS1)
統計量データ比較部154は、異常範囲判定のための基準となるデータ(基準データ)を取得する。
(ステップS2)
統計量データ比較部154は、異常範囲判定のための対象となるデータ(対象データ)を取得する。
(ステップS3)
観点設定部151は、異常範囲判定の処理に使用する観点を設定する。
(ステップS4)
スケール設定部152は、異常範囲判定の処理に使用するスケールを設定する。
(ステップS5)
統計量データ比較部154は、設定された観点および設定されたスケールを使用して、基準データと対象データとを比較する。
(ステップS6)
異常範囲判定部155は、統計量データ比較部154による比較処理の結果に基づいて、異常範囲を判定し、これにより、異常の有無が検出される。なお、異常範囲判定部155は、比較処理の条件を複数種類に変更して、統計量データ比較部154による比較処理を行わせて、異常範囲を判定してもよい。比較処理の条件としては、例えば、観点、スケール、範囲(時刻範囲など)のうちの1以上に関する条件であってもよい。
【0067】
[第1実施形態のまとめ]
以上のように、本実施形態に係るデータ処理システム1では、統計量データ処理装置12において、多次元およびマルチスケールのデータ解析を行うことで異常を検出することを可能とすることができる。
本実施形態に係る統計量データ群のデータ構造では、例えば、複数の観点および複数のスケールで、異常の発生などの事象を監視して検出することなどが可能であり、様々な観点および様々なスケールの事象を並列に監視して検出することなどが可能である。この場合に、本実施形態に係る統計量データ群のデータ構造では、例えば、発生した事象がいずれの観点およびいずれのスケールでの事象であるかを判定することが可能である。具体例として、広い領域のスケールで事象が発生した場合には、広い領域にわたる原因による事象であると推定することができ、また、特定の領域のスケールで事象が発生した場合には、当該特定の領域に限られた原因による事象であると推定することができる。
ここで、本実施形態では、端末装置11−1〜11−nに関する値について統計量データを処理する構成としたが、他の任意の値について統計量データを処理する構成が実施されてもよい。
【0068】
(第2実施形態)
[データ処理システム]
図11は、本発明の一実施形態(第2実施形態)に係るデータ処理システム1001の概略的な構成を示すブロック図である。
データ処理システム1001は、n個の端末装置11−1〜11−nと、統計量データ処理装置1011と、データベース1012と、単位統計量データ生成装置1021と、ネットワーク21を備える。ここで、端末装置11−1〜11−nと、ネットワーク21は、
図1に示されるものと同様であり、説明の便宜上、同じ符号を付してある。
また、データベース1012は、
図1に示されるデータベース13と同様に、データを記憶する機能を有する。
【0069】
本実施形態に係るデータ処理システム1001について、
図1に示されるデータ処理システム1との相違点について説明する。
図11の例では、
図1の例と比べて、単位統計量データ生成装置1021を備えている点と、統計量データ処理装置1011により行われる処理の一部が、相違する。
単位統計量データ生成装置1021は、t−digestの技術(例えば、非特許文献1など参照。)により実行することが可能な処理の全部または一部を行う機能を有している。本実施形態では、単位統計量データ生成装置1021は、t−digestの技術を用いて、解析対象のデータ、観点を特定する情報、および、それぞれの観点のスケールを特定する情報に基づいて、単位統計量データを生成する機能を有する。
なお、単位統計量データ生成装置1021としては、例えば、統計量データ処理装置1011を管理する者により管理されてもよく、あるいは、他の者によって提供される単位統計量データ生成装置1021を利用する構成が用いられてもよい。
【0070】
統計量データ処理装置1011は、
図1に示される統計量データ処理装置12との相違点として、単位統計量データ生成装置1021により行われる処理については当該単位統計量データ生成装置1021に当該処理を要求して処理結果を受ける構成としてある。
本実施形態では、統計量データ群生成部153は、単位統計量データを生成する処理を要求する信号を、通信部114によりネットワーク21を介して、単位統計量データ生成装置1021に送信する。当該信号には、単位統計量データを生成するために必要な情報が含まれ、例えば、解析対象のデータ(または、それを特定する情報)、1個以上の観点を特定する情報、および、それぞれの観点のスケールを特定する情報が含まれる。
単位統計量データ生成装置1021は、このような要求の信号を受信した場合、当該要求に応じて単位統計量データを生成し、生成された単位統計量データを含む信号を、ネットワーク21を介して、統計量データ処理装置1011に送信する。
統計量データ群生成部153は、単位統計量データ生成装置1021から通信部114により受信された単位統計量データを使用(利用)して、統計量データ群を生成する。
【0071】
(以上の実施形態のまとめ)
一構成例として、少なくとも1個の観点および観点ごとの複数のスケールについて、観点とスケールとの組み合わせごとに含まれるデータに基づく統計量データである基準データと比較対象データとを比較する統計量データ比較部(
図2の例では、統計量データ比較部154)と、統計量データ比較部による比較の結果に基づいて、観点の複数の範囲のなかで異常があるとみなされる範囲を判定する異常範囲判定部(
図2の例では、異常範囲判定部155)と、を備える統計量データ処理装置(
図1、
図11の例では、統計量データ処理装置12、1011)である。
一構成例として、異常範囲判定部は、統計量データ比較部による比較の結果に基づいて、異常があるとみなされる観点の範囲候補(異常範囲の候補)を判定し、異常範囲判定部は、観点の範囲候補に含まれる複数の範囲のなかで、基準データと比較対象データとの差を表すLOFが最大となる範囲を、異常があるとみなされる範囲として、判定する。
一構成例として、統計量データ比較部は、複数の基準データと比較対象データとを比較する。
一構成例として、基準データと比較対象データとのうちの一方または両方は、複数の異なる観点および観点ごとの複数の異なるスケールについて、観点とスケールとの組み合わせごとに含まれるデータに基づく統計量データを有する統計量データ群(
図3の例では、統計量データ群201)から取得される。
一構成例として、統計量データ比較部が、少なくとも1個の観点および観点ごとの複数のスケールについて、観点とスケールとの組み合わせごとに含まれるデータに基づく統計量データである基準データと比較対象データとを比較し、異常範囲判定部が、統計量データ比較部による比較の結果に基づいて、観点の複数の範囲のなかで異常があるとみなされる範囲を判定する、統計量データ処理方法(
図1、
図11の例では、統計量データ処理装置12、1011により行われる処理の方法)である。
一構成例として、統計量データ比較部が、少なくとも1個の観点および観点ごとの複数のスケールについて、観点とスケールとの組み合わせごとに含まれるデータに基づく統計量データである基準データと比較対象データとを比較するステップと、異常範囲判定部が、統計量データ比較部による比較の結果に基づいて、観点の複数の範囲のなかで異常があるとみなされる範囲を判定するステップと、をコンピュータに実行させるためのプログラム(
図1、
図11の例では、統計量データ処理装置12、1011を構成するコンピュータ)である。
【0072】
以上に示した実施形態に係る各装置(例えば、統計量データ処理装置12、1011など)の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体(記憶媒体)に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより、処理を行ってもよい。
なお、ここでいう「コンピュータシステム」とは、オペレーティング・システムあるいは周辺機器等のハードウェアを含むものであってもよい。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM(Read Only Memory)、フラッシュメモリ等の書き込み可能な不揮発性メモリ、DVD(Digital Versatile Disc)等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
さらに、「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークあるいは電話回線等の通信回線を介してプログラムが送信された場合のサーバあるいはクライアントとなるコンピュータシステム内部の揮発性メモリ(例えばDRAM(Dynamic Random Access Memory))のように、一定時間プログラムを保持しているものも含むものとする。
また、上記のプログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)あるいは電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
また、上記のプログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、上記のプログラムは、前述した機能をコンピュータシステムに既に記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
【0073】
以上、本発明の実施形態について図面を参照して詳述したが、具体的な構成はこの実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。