本明細書のいずれのブロック図も、本主題の原理を具体化する例示的なシステムの概念図を表すことが、当業者には理解されるはずである。同様に、いずれのフローチャート、フロー図、状態遷移図、擬似コードなども、コンピュータ可読媒体の形で実質的に表され、明示的に示されるか否かにかかわらずコンピュータまたはプロセッサによって実行されてもよい、様々なプロセスを表すことが理解されるであろう。
本明細書では、「例示の」という語は、「例、事例、または実例としての役割を果たす」ことを意味するのに使用される。「例示」として本明細書に記載する本主題のいずれの実施形態または実現例も、他の実施形態よりも好ましいかもしくは有利であるものとは必ずしも解釈されない。
本開示は様々な修正および代替形態に影響されやすいが、それらの具体的な実施形態を図面に例として示しており、以下に詳細に記載する。しかしながら、本開示を開示する形態に限定しようとするものではなく、それとは逆に、本開示は、本開示の範囲内にある全ての修正例、等価物、および代替例を網羅するものであることが理解されるべきである。
「備える」、「含む」、「備えている」、「含んでいる」という用語、またはそれらのあらゆる他の変形は、一連の構成要素もしくはステップを備えるセットアップ、デバイス、または方法が、それらの構成要素もしくはステップだけを含むのではなく、明示的に列挙されないかまたはかかるセットアップもしくはデバイスもしくは方法に固有のものではない、他の構成要素もしくはステップを含んでもよいという、非排他的な包含を網羅するものとする。換言すれば、「〜を備える」または「〜を含む」に続く、システムまたは装置における1つ以上の要素は、更なる制約を有さずに、システムまたは方法に他の要素もしくは追加要素が存在することを除外しない。
本開示は、データセットにおける異常の根本原因を検出するための、変数をランク付けする方法を記載する。方法は、データセットからの複数の変数と、データセットにおける目標変数とを取得することを含む。更に、方法は、複数の変数に対する目標変数のばらつきを識別して、ばらつきに存在する異常値に基づいて、複数の変数に対する目標変数のばらつきにおける1つ以上の異常を検出することを含む。更に、方法は、複数の変数に対して実施される1つ以上の統計的解析に基づいて、検出された1つ以上の異常を引き起こす複数の変数から、1つ以上の変数を識別することを含む。最後に、方法は、識別された1つ以上の変数それぞれに対する目標変数のばらつきであって、データセットにおける異常の根本原因を検出するためのランク付けに基づいてそれぞれ表示されるばらつきをランク付けすることを含む。
本開示の実施形態の以下の詳細な説明において、本開示の一部を形成すると共に、例として本開示が実施されてもよい特定の実施形態が示される、添付図面を参照する。これらの実施形態は、当業者が本開示を実施できるように十分に詳細に記載されるが、他の実施形態が利用されてもよく、本開示の範囲から逸脱することなく変更が行われてもよいことが、理解されるべきである。したがって、以下の説明は限定的な意味で解釈されるべきではない。
図1は、本開示のいくつかの実施形態による、データセット(101)における異常の根本原因を検出する例示のシステムを示している。
一実施形態では、ユーザは、複数の行および列を含むデータセット(101)を提供してもよい。別の実施形態では、データセットは、ランキングシステム(109)のメモリ(202)から獲得されてもよい。更に、ユーザは、解析のためにデータセット(101)から目標変数(102)を選択する。データセット(101)は、個別にもしくは組み合わせてアクセスされるか、または完全なエンティティとして管理されてもよいデータの関連する離散的なアイテムの集合体である。データセット(101)の列は複数の変数を構成し、データセット(101)の各行は複数の変数が取る値を構成する。従属変数と呼ばれる目標変数(102)は、観察下にあるデータセット(101)の列である。目標変数(102)を除外したデータセット(101)の複数の変数は、独立変数と呼ばれる。データセット(101)における目標変数(102)を除外した複数の変数は、複数の変数のデータ型(例えば、数値、カテゴリ、時間、空間)に基づいて集計される。データセット(101)のメタデータ(103)は、複数の変数のデータ型を識別する設定規則を含む。更に、データ型に対応する集計された複数の変数に対する目標変数(102)のばらつきが識別される。データ型に対応するばらつきに基づいて、1つ以上の異常が、異常値検出部(105)によって、ばらつきに存在する異常値に基づいて検出される。異常値は、各ばらつきの複数のデータ点から逸脱した少なくとも1つのデータ点を示す。集計された複数の変数に対する検出された異常値は、異常値データセット(106)に格納される。更に、検出された1つ以上の異常を引き起こす、複数の変数からの1つ以上の変数(805)は、変数識別部(107)によって複数の変数に対して実施される、1つ以上の統計的解析に基づいて識別される。検出された1つ以上の異常を引き起こす、複数の変数から識別された1つ以上の変数(805)は、識別変数データセット(108)に格納される。複数の変数に適した1つ以上の統計的解析は、データセット(101)と関連付けられたメタデータ(103)から取得される。最後に、識別された1つ以上の変数(805)それぞれに対する目標変数(102)のばらつきは、ランキング部(109)によってランク付けされる。例えば、V1、V2、およびV3が識別された1つ以上の変数である場合、図1に示されるように、ランク1は、識別された1つ以上の変数V1との目標変数のばらつきに割り当てられ、ランク2は、識別された1つ以上の変数V2との目標変数のばらつきに割り当てられ、ランク3は、識別された1つ以上の変数V3との目標変数のばらつきに割り当てられる。ランク付けされたばらつき(110)に対して、ばらつきにおける1つ以上の変数(805)のデータ型に基づいて、データセット(101)と関連付けられたメタデータ(103)から適切なグラフ表示(111)が選択される。例えば、1つ以上の変数データ型V1のデータ型を数値、1つ以上の変数V2を空間とする。したがって、図1に示されるように、目標変数に対する1つ以上の変数V1のばらつきを表示するのに、折れ線グラフが選択され、目標変数に対する1つ以上の変数V2のばらつきを表示するのに、Geoチャートが選択される。一実施形態では、グラフ表示(111)を提供する順序は、1つ以上の変数と関連付けられたランクに基づいてもよい。例えば、対応する変数V3が1にランク付けされることを示す折れ線グラフが上位に表示され、同様に、対応する変数V2が2にランク付けされることを示すGeoチャートが、折れ線グラフの下に表示されてもよい。ランク付けされたばらつきは、対応するグラフ表示(111)とともに、データセット(101)における異常の根本原因を検出するため、ユーザに対して表示される。
図2は、本発明のいくつかの実施形態による、ランキングシステム(200)の詳細ブロック図を示している。
ランキングシステム(200)は、中央処理装置(「CPU」または「プロセッサ」)(203)と、プロセッサ(203)によって実行可能な命令を格納するメモリ(202)とを含んでもよい。プロセッサ(203)は、ユーザまたはシステム作成要求を実行するためにプログラムコンポーネントを実行する、少なくとも1つのデータプロセッサを含んでもよい。メモリ(202)はプロセッサ(203)に通信可能に連結されてもよい。ランキングシステム(200)は入出力(I/O)インターフェース(201)を更に含む。I/Oインターフェース(201)はプロセッサ(203)に連結されてもよく、それを通して入力信号および/または出力信号が通信されてもよい。一実施形態では、ランキングシステム(200)は、I/Oインターフェース(201)を通してデータセット(101)および目標変数(102)を受信してもよい。
いくつかの実現例では、ランキングシステム(200)はデータ(204)とモジュール(207)とを含んでもよい。一例として、データ(204)およびモジュール(207)は、図2に示されるように、ランキングシステム(200)内に構成されたメモリ(202)に格納されてもよい。一実施形態では、データ(204)は、例えば、データセット(101)、メタデータ(103)、正常値データセット(205)、異常値データセット(106)、識別された変数(108)、および他のデータ(206)を含んでもよい。示される図2において、モジュール(207)は本明細書で詳細に記載される。
一実施形態では、データセット(101)は、個別にもしくは組み合わせてアクセスされるか、または完全なエンティティとして管理されてもよいデータの関連する離散的なアイテムの集合体である。データセット(101)は、複数の行および列での関連データの配置を含む。データセット(101)の列は複数の変数を構成し、データセット(101)の各行は複数の変数が取る値を構成する。図4Aは、複数の行および列を含む表の形態で配置された例示のデータセット(101)を示している。列(例えば、日付、加盟店ID、顧客ID、取引数量、所在地、加盟店業種コード(MCC))は、複数の変数を構成する。図4Aの表の行は、列の対応する変数が取る値を構成する。例えば、図4Aの表の行1を考えると、「M101」は変数「加盟店ID」が取る値、「バンガロール」は変数「所在地」が取る値、などである。
一実施形態では、メタデータは、データセット(101)に関する情報を提供するデータである。特徴的なタイプのメタデータは、記述メタデータ、構造メタデータ、管理メタデータ、参照メタデータ、および統計メタデータである。記述メタデータは、発見および識別などの目的のリソースを説明する。タイトル、概要、著者、およびキーワードなどの要素を含むことができる。構造メタデータは、データの格納庫に関するメタデータであり、複合オブジェクトがどのように合わされるか、例えばページがどのように順序づけられて章を形成するかを示す。デジタル素材のタイプ、バージョン、関係、および他の特性を説明する。管理メタデータは、いつどのように作成されたか、ファイルタイプおよび他の技術情報、ならびに誰がアクセスできるかなど、リソースの管理を助ける情報を提供する。参照メタデータは、統計的データの内容および品質を説明する。統計的メタデータはまた、統計的データを収集、処理、または生成するプロセスを説明してもよく、かかるデータはプロセスデータとも呼ばれる。更に、メタデータ(103)は、複数の変数のデータ型を識別する規則セット、識別された1つ以上の変数(805)それぞれに対する目標変数(102)のばらつきを表示するための1つ以上のグラフ表示(111)、およびグラフ表示(111)がサポートする1つ以上のデータ型、ならびに複数の変数に対する目標変数(102)のばらつきを解析する1つ以上のデータ解析方法、および対応するデータ解析方法がサポートする1つ以上のデータ型のうち、少なくとも1つを含む。図5Aの表に示されるように、メタデータ(103)は、データセット(101)における複数の変数のデータ型を識別する1つ以上の規則を含む。例えば、図5Aの表の行1を考えると、整数型またはdouble型の値を有するデータセット(101)の1つ以上の変数(805)は、数値データ型などとして識別される。図5Bの表に示されるように、メタデータ(103)は、識別された1つ以上の変数(805)それぞれに対する目標変数(102)のばらつきを表示するための、1つ以上のグラフ表示(111)を含む。例えば、図5Bの表の列1を考えると、X軸を表す数値およびカテゴリデータ型と、Y軸を表す数値データ型とに対して、「棒グラフ」などが使用される。図5Cの表に示されるように、メタデータ(103)は、複数の変数に対する目標変数(102)のばらつきを解析する1つ以上のデータ解析方法と、対応するデータ解析方法がサポートする1つ以上のデータ型とを含む。例えば、図5Cの表の列1を考えると、時間または数値のデータ型の複数の変数に対する、時間または数値のデータ型の目標変数(102)のばらつきに関して、ばらつきを解析するのに「時系列解析(606)」方法が使用され、ばらつきなどを表すのに折れ線グラフまたは棒グラフが使用される。
一実施形態では、正常値データセット(205)は、複数の変数に対する対応するデータ型の目標変数(102)のばらつきにおける異常値として識別された行を除外した、データセット(101)の行および列のサブセットを含む。更に、正常値データセット(205)は、1つ以上のデータ型に対応する目標変数(102)のばらつきによって取得される、正常値データセット(205)の集計を含んでもよい。
一実施形態では、異常値データセット(106)は、複数の変数に対する対応するデータ型の目標変数(102)のばらつきにおける異常値として識別された、データセット(101)の行および列のサブセットを含む。ばらつきの異常値は、クラスタ解析(601)、四分位解析(604)、および時系列解析(606)のうち少なくとも1つを含む、1つ以上のデータ解析方法に基づいて識別される。更に、異常値は、各ばらつきの複数のデータ点から逸脱した少なくとも1つのデータ点を示す。更に、異常値データセット(106)は、1つ以上のデータ型に対応する目標変数(102)のばらつきによって取得される、異常値データセット(106)の集計を含んでもよい。
一実施形態では、識別された変数(108)は、複数の変数に対して実施される1つ以上の統計的解析に基づいて、検出された1つ以上の異常を引き起こす複数の変数から、1つ以上の変数(805)を含む。1つ以上の統計的解析は、相関解析(801)、回帰、および学習アルゴリズムのうち少なくとも1つを含む。例えば、図4Aの表を考えると、「所在地」変数は、検出された1つ以上の異常(例えば、1ヶ月間の多い取引数量)を引き起こす複数の変数からの、1つ以上の変数として識別されてもよい。
一実施形態では、他のデータ(206)は、クラスタ解析(601)、四分位解析(604)、および時系列解析(606)のうち少なくとも1つを含む、1つ以上のデータ解析方法と、相関解析(801)、回帰、および学習アルゴリズムのうち少なくとも1つを含む、1つ以上の統計的解析とに関するデータを含んでもよい。更に、他のデータ(206)は、ばらつきにおける2つのデータ点間の距離測定値(603)に関するデータ、上位および下位四分位の間の四分位間距離(605)を計算し比較したデータ、ならびに上限および下限の間の予測限界値(607)を計算し比較したデータを含んでもよい。
いくつかの実施形態では、データ(204)は、様々なデータ構造の形態でメモリ(202)に格納されてもよい。それに加えて、データ(204)は、関係または階層データモデルなどのデータモデルを使用して組織されてもよい。他のデータ(206)は、ランキングシステム(200)の様々な機能を実施するためにモジュール(207)によって生成される、一時データおよび一時ファイルを含むデータを格納してもよい。
いくつかの実施形態では、メモリ(202)内のデータ(204)は、ランキングシステム(200)のモジュール(207)によって処理されてもよい。モジュール(207)はメモリ(202)内に格納されてもよい。一例では、ランキングシステム(200)内に構成されたプロセッサ(203)に通信可能に連結されたモジュール(207)は、図2に示されるように、メモリ(202)の外部にも存在し、ハードウェアとして実現されてもよい。本明細書で使用するとき、モジュール(207)という用語は、特定用途向け集積回路(ASIC)、FPGA(フィールドプログラマブルゲートアレイ)、電子回路、1つもしくは複数のソフトウェアまたはファームウェアプログラムを実行するプロセッサ(203)(共有、専用、もしくはグループ)およびメモリ(202)、組み合わせ論理回路、ならびに/あるいは記載の機能性を提供する他の適切な構成要素を指してもよい。他のいくつかの実施形態では、モジュール(207)は、ASICおよびFPGAのうち少なくとも1つを使用して実現されてもよい。
一実現例では、モジュール(207)は、例えば、異常値検出部(105)、変数識別部(107)、出力モジュール(209)、入力モジュール(208)、ランキング部(109)、および他のモジュール(210)を含んでもよい。かかる上述のモジュール(207)は、単一のモジュールまたは異なるモジュール(207)の組み合わせとして表されてもよいことが理解できる。
一実施形態では、異常値検出部(105)は、適用された少なくとも1つのデータ解析方法の結果に基づいて、複数の変数に存在する異常値を識別するのに使用される。異常値は、各ばらつきの複数のデータ点から逸脱した少なくとも1つのデータ点を示す。1つ以上のデータ解析方法は、クラスタ解析(601)、四分位解析(604)、および時系列解析(606)のうち少なくとも1つを含む。例えば、検出された異常値は、図7A、図7B、および図7Cに示される。
一実施形態では、変数識別部(107)は、複数の変数に対して実施される1つ以上の統計的解析に基づいて、検出された1つ以上の異常を引き起こす複数の変数から、1つ以上の変数(805)を識別するのに使用される。最初に、変数識別部(107)は、1つ以上の統計的解析から少なくとも1つの統計的解析を、集計された異常値データセット(106)、および異常値を有さない複数の変数の集計された正常値データセット(205)に適用する。更に、変数識別部(107)は、集計された異常値データセット(106)、および異常値を有さない複数の変数の集計された正常値データセット(205)に対する、統計的解析の結果の間の差を計算することによって、1つ以上の変数(805)を識別する。1つ以上の統計的解析は、相関解析(801)、回帰、および学習アルゴリズムのうち少なくとも1つを含む。例えば、図4Aの表を考えると、「所在地」変数は、検出された1つ以上の異常(例えば、1ヶ月間の多い取引数量)を引き起こす複数の変数からの、1つ以上の変数として識別されてもよい。
一実施形態では、ランキング部(109)は、識別された1つ以上の変数(805)それぞれに対する目標変数(102)のばらつきに、ランクを割り当てることに関与する。ランクは、集計された異常値データセット(106)、および異常値を有さない複数の変数の集計された正常値データセット(205)に対する、統計的解析の結果の間の計算された差に基づいて割り当てられる。更に、グラフ表示(111)は、1つ以上のグラフ表示(111)から選択され、ばらつきは、出力モジュール(209)を使用してユーザに対して表示される。
一実施形態では、出力モジュール(209)は、ランキング部(109)によって割り当てられたランクに基づいて、識別された1つ以上の変数(805)それぞれに対する、目標変数(102)のばらつきそれぞれのグラフ表示(111)を表示することに関与する。更に、ランク付けされたグラフ表示(111)がユーザに対して表示されることによって、ユーザは、データセット(101)における異常の根本原因を検出することができる。
一実施形態では、入力モジュール(208)は、データセット(101)における異常の根本原因を検出するため、データセット(101)からの複数の変数およびデータセット(101)における目標変数(102)を取得することに関与する。
一実施形態では、他のモジュール(210)は、ばらつきにおける2つのデータ点間の距離を測定すること、データ点とデータ点群との間の距離を測定すること、上位および下位四分位の間の四分位間距離(605)を計算し比較すること、ならびに上限および下限の間の予測限界値(607)を計算し比較することに関与する。
図3は、本開示のいくつかの実施形態による、データセット(101)における異常の根本原因を検出する方法を示すフローチャートを示している。
方法(300)が記載される順序は、限定として解釈されることを意図するものではなく、方法を実現するのに、任意の数の記載される方法ブロックが任意の順序で組み合わされてもよい。それに加えて、個々のブロックは、本明細書に記載する主題の趣旨および範囲から逸脱することなく、方法から削除されてもよい。更に、方法は、任意の適切なハードウェア、ソフトウェア、ファームウェア、またはそれらの組み合わせで実現されてもよい。
ステップ(301)で、ランキングシステム(200)は、データセット(101)からの複数の変数と、データセット(101)における目標変数(102)とをユーザから取得する。データセット(101)の列は複数の変数を構成し、データセット(101)の各行は複数の変数が取る値を構成する。例示のデータセット(101)が図4Aの表に示される。ユーザから取得した目標変数(102)は、データセットにおける複数の変数からの1つの変数に対応する。例えば、ユーザから取得したデータセット(101)からの目標変数(102)として、「取引数量」を考える。
一実施形態では、データセット(101)からの複数の変数は、複数の変数のメタデータ(103)に基づいて、1つ以上のデータ型に集計される。メタデータ(103)は、複数の変数の1つ以上のデータ型を識別するための、1つ以上の規則を含んでもよい。1つ以上のデータ型は、数値データ型、カテゴリデータ型、時間データ型、および空間データ型のうち少なくとも1つを含む。
図4Aの表に示されるように、「日付」および「取引数量」は数値データ型として識別され、「加盟店ID」、「顧客ID」、「所在地」、および「加盟店業種コード(MCC)」はカテゴリデータ型として識別される。複数の変数のデータ型は、図5Aの表に示されるように、メタデータ(103)に基づいて識別される。更に、図4Bの表に示されるように、「取引数量」に対する複数の変数のカテゴリデータ型に対応する集計されたカテゴリデータセット(104B)が取得され、図4Cの表に示されるように、「取引数量」に対する複数の変数の数値データ型に対応する集計された数値データセット(104A)が取得される。
ステップ(302)で、ランキングシステム(200)は、複数の変数に対する目標変数(102)のばらつきを識別して、ばらつきに存在する異常値に基づいて、ばらつきにおける1つ以上の異常を検出する。図6に示されるように、1つ以上の異常は、複数の変数のデータ型に基づいて、1つ以上のデータ解析方法から少なくとも1つのデータ解析方法を各ばらつきに適用することによって検出される。
一実施形態では、数値データセット(104A)に対して、クラスタ解析(601)が適用され、カテゴリデータセット(104B)または空間データセット(104D)に対して、四分位解析(604)が適用され、時間データセット(104C)に対して、時系列解析(606)が適用される。クラスタ解析(601)は、クラスタ群(602)のデータ点が、他のクラスタ群(602)のデータ点と比較して、クラスタの他のデータ(206)点に類似するようにして、データセット(101)からのデータ点のセットをクラスタ群(602)にグループ化する作業である。異常値は、クラスタの中心から閾値距離よりも遠い距離では、データ点として識別される。一実施形態では、閾値距離はクラスタ間距離の半分に設定されてもよい。四分位は、データセット(101)のデータ点のセットを、データ点の値に基づいて4つの定義された間隔に分割するのに使用される、統計的用語である。間隔を分離するデータ点の値は、第1、第2、および第3の四分位と呼ばれる。データセット(101)が「2n」個のデータ点を含むと仮定して、第1の四分位(Q1)は、データセット(101)におけるn個の最小入力の中央値として計算され、第2の四分位(Q2)は、データセット(101)における「2n」個の入力全ての計算された中央値であり、第3の四分位(Q3)は、データセット(101)におけるn個の最大入力の中央値として計算される。一実施形態では、第3の四分位(Q3)は上位四分位と呼ばれ、第1の四分位(Q1)は下位四分位と呼ばれる。更に、四分位間(IQR)距離は、第3の四分位Q3と第1の四分位Q1との間の距離として計算される。更に、異常値は、(Q1−1.5×IQR)未満および/または(Q3+1.5×IQR)超過の範囲のデータ点として識別される。それぞれの四分位を通るデータセット(101)におけるデータ点群を図式的に描くのに、箱ひげ図が使用される。図7Bに示されるように、箱ひげ図は、上位および下位四分位の外側にあるデータ点のばらつきを示すボックスから垂直に延在する線も有してもよい。ボックス内部の帯は第2の四分位を表す。更に、異常値は、図7Bに示されるように、個々の点としてプロットされてもよい。時系列は、時間順に指数化された一連のデータ点である。時系列は、連続する均等な間隔の時間点で得られるシーケンスである。したがって、時系列は離散的な時間データのシーケンスを形成する。時系列解析(606)は、時系列データを解析し、データの有意統計値(例えば、自己相関、相互相関、平均など)および他の特性を抽出する方法を含む。例えば、自己回帰和分移動平均(ARIMA)モデルが、時系列解析を実施するのに使用されてもよい。
更に、複数の変数に存在する異常値は、適用された少なくとも1つのデータ解析方法の結果に基づいて識別される。異常値は、各ばらつきの複数のデータ点から逸脱した少なくとも1つのデータ点を示す。識別された異常値は、異常値の集計されたデータセット(101)、および異常値を有さない複数の変数の集計された正常値データセット(205)を生成するのに使用される。一実施形態では、図6に示されるように、距離基準は、クラスタ解析(601)によって生成された1つ以上のクラスタ群(602)に基づいて異常値を識別するのに使用され、四分位間距離は、四分位解析(604)の結果に基づいて異常値を識別するのに使用され、予測限界値(607)は、時系列解析(606)の結果に基づいて異常値を識別するのに使用される。
更に、図7Aは、クラスタ解析(601)によって生成された1つ以上のクラスタ群(602)に基づいて、クラスタの中心に対するデータ点の距離基準を使用して識別された、例示の異常値を示している。図7Bは、四分位間距離(605)を比較することによって識別された例示の異常値を示している。図7Cは、時系列解析に基づいて識別された例示の異常値を示している。
図6に示されるように、識別された異常値は、データ型に対応する集計されたデータセット(101)から分離され、異常値データセット(101)に格納され、異常値データを除外したデータ型に対応する集計されたデータセット(101)のデータは、正常値データセット(205)に格納される。1つ以上のデータ型の異常値データセット(106)および正常値データセット(205)は、データ集計(608)によって組み合わされて、図6に示されるように、集計された異常値データセット(106)と、異常値を有さない複数の変数の集計された正常値データセット(205)とを生成する。
一実施形態では、集計された異常値データセットは、検出された1つ以上の異常に対応する。
ステップ(303)で、ランキングシステム(200)は、複数の変数に対して実施される1つ以上の統計的解析に基づいて、検出された1つ以上の異常を引き起こす複数の変数から、1つ以上の変数(805)を識別する。一実施形態では、1つ以上の統計的解析からの少なくとも1つの統計的解析は、集計された異常値データセット(106)と、異常値を有さない複数の変数の集計された正常値データセット(205)とに適用され、集計された異常値データセット(106)、および異常値を有さない複数の変数の集計された正常値データセット(205)に対する統計的解析の結果の間の差を計算することによって、1つ以上の変数(805)を識別する。1つ以上の統計的解析は、相関解析(801)、回帰、および学習アルゴリズムのうち少なくとも1つを含む。
図8は、検出された1つ以上の異常を引き起こす複数の変数から1つ以上の変数(805)を識別する、例示の相関解析(801)を示している。相関解析(801)は、2つ以上の変数の間の統計的関係を識別する。異常値データセット(106)および目標変数(102)のデータ点間の相関が識別され、異常値データ相関(802)が生成される。正常値データセット(205)および目標変数(102)のデータ点間の相関が識別され、正常値データ相関(803)が生成される。相関解析(801)の結果は、相関係数と呼ばれる相関の数値基準を生成する。相関計数の値は−1〜+1の範囲であり、+1は、目標変数(102)に対するデータ点の強い正の相関(または一致)を示し、0は、相関(または一致)なしを示し、−1は、強い負の相関(または一致)を示す。図8に示されるように、異常値データ相関(802)は、相関係数+0.9を有するV1、相関係数+0.2を有するV2、および相関係数−1を有するV3を示し、V1、V2、およびV3は、異常値データセット(106)における複数の変数を示す。更に、正常値データ相関(803)は、相関係数+0.7を有するV1、相関係数+0.3を有するV2、および相関係数+1を有するV3を示し、V1、V2、およびV3は、図8に示されるように、正常値データセット(205)における複数の変数を示す。更に、異常値データ相関(802)の相関係数と正常値データ相関(803)の相関係数との間の絶対相関差(804)が計算される。V1は、+0.2(|+0.9−0.7|)の相関差(804)を有し、V2は、+0.1(|+0.2−0.3|)の相関差(804)を有し、V3は、+2(|−1−1|)の相関差(804)を有する。最大絶対相関差(804)を有する変数V3は、複数の変数に対して実施される相関解析(801)に基づいて、複数の変数V1およびV2と比較して、検出された1つ以上の異常値を引き起こす1つ以上の変数(805)として識別される。
一実施形態では、複数の変数に対して適合された回帰モデルは、検出された1つ以上の異常を引き起こす1つ以上の変数(805)を識別するのに使用されてもよい。回帰モデルは次の数式を使用して適合される。
Y=β0+β1×V1+β2×V2+…+βn×Vn
式中、V1、V2、…、Vnは複数の変数を示し、Yは目標変数(102)を示し、β0、β1、…、βnは回帰モデルの重みを示す。回帰モデルは、異常値データセットおよび正常値データセット(205)に適合される。回帰モデルの重みの間の差は異常値データセットに適合され、正常値データセット(205)は計算され、閾値よりも大きい差を有する1つ以上の変数(805)は、複数の変数に対して実施される回帰に基づいて、検出された1つ以上の異常の原因として識別される。
一実施形態では、学習アルゴリズムを用いる決定木またはニューラルネットワークを使用して、複数の変数に対して実施される相関解析(801)に基づいて、検出された1つ以上の異常を引き起こす1つ以上の変数(805)が識別されてもよい。
ステップ(304)で、ランキングシステム(200)は、識別された1つ以上の変数(805)それぞれに対する目標変数(102)のばらつきをランク付けする。ばらつきは、異常値の集計されたデータセット(101)、および異常値を有さない複数の変数の集計された正常値データセット(205)に対する、統計的解析の結果の間の計算された差に基づいてランク付けされる。更に、グラフ表示(111)は、ばらつきを表示するため、メタデータ(103)を使用して1つ以上のグラフ表示(111)から選択される。更に、ばらつきはそれぞれ、割り当てられたランクに基づいて、ユーザに対して表示される。更に、ユーザは、データセット(101)における異常の根本原因を検出するため、ランク付けされたばらつきを使用してもよい。
一実施形態では、計算された差に基づいて、ステップ(303)で、識別された1つ以上の変数(805)それぞれに対する目標変数(102)のばらつきがランク付けされる。図8に示されるように、V3はランク1に、次いでV2はランク2に、V1はランク3に割り当てられる。更に、1つ以上のグラフ表示(111)から、目標変数(102)に対するV3、目標変数(102)に対するV2、および目標変数(102)に対するV1のばらつきに関するグラフ表示(111)が、データセット(101)のメタデータ(103)を使用して選択される。図5の表2に示されるように、X軸を表す1つ以上の変数のデータ型、およびY軸を表す目標変数(102)のデータ型に基づいて、適切なチャートまたはグラフ表示(111)が選択される。一例として、図5の表2の列1を考えると、カテゴリまたは数値としての対応するデータ型を有する識別された1つ以上の変数(805)それぞれに対して、数値としての対応するデータ型を有する目標変数(102)のばらつきを表示するためのグラフ表示(111)として、棒グラフが選択される。更に、識別された1つ以上の変数(805)それぞれに対する目標変数(102)のばらつきに対して選択されたグラフ表示(111)が、図1に示されるような割り当てられたランクに基づいて、ユーザに対して表示される。
一実施形態では、ユーザは、既存のドリルダウン技術を使用して異常の根本原因を識別するため、表示されたランク付けされたグラフ表示(111)に基づいて、1つ以上の検出された異常を選択してもよい。
一例として、異常の根本原因を検出するための分散システムのネットワークを考える。分散システムのネットワークは、ネットワークを形成するように相互接続された1つ以上の計算ノードを含む。分散システムのネットワークにおける全ての計算ノードは、例えば、CPU利用、フリーメモリの量、CPUの入出力がブロックされた時間の割合、1秒当たりの読出しブロック数、1秒当たりの書込みブロック数などのログを生成し収集する。1つ以上の異常はログの情報を使用して検出される。1つ以上の異常は、分散システムのネットワークにおける誤り挙動、またはネットワークからの予期しない長い応答時間を含む。これらの異常は、ハードウェアの問題、ネットワーク通信の混雑、または分散システムコンポーネントにおけるソフトウェアバグによって引き起こされることがある。1つ以上の異常の検出は時系列解析を使用して行われてもよい。検出された1つ以上の異常はランク付けされ、ユーザに対して表示される。更に、異常の根本原因は、ランク付けされた1つ以上の異常に基づいてドリルダウン解析を実施することによって、検出されてもよい。
別の例として、店頭、電子商取引サイト、およびモバイルアプリのような様々なソースからカードベースの取引が実施される、銀行取引または金融サービスドメインを考える。例えば、疑わしい取引、サービス停止、ある場所における急な取引の減少など、1つ以上の異常の検出が、ランキングシステム(109)によって実施されてもよい。1つ以上の異常は、銀行から顧客に対するサービスの品質を低下させることがある。そのため、銀行は、取引パターンを継続的に監視して、1つ以上の異常に対する根本原因を検出し識別する必要がある。1つ以上の異常は、例えば、取引ログ、顧客関係データなど、銀行支払ネットワークに記録された情報を使用して検出されてもよい。異常、例えばある場所におけるサービス停止を考える。ランキングシステム(109)は、時系列およびカテゴリ解析を使用して、サービス停止を識別してもよい。検出された異常を引き起こす1つ以上の変数は、ランキングシステム(109)によって識別されてもよい。1つ以上の変数は、例えば、その場所における膨大なアクセスによる支払ネットワークの不具合を含んでもよい。1つ以上の識別された変数は、ランク付けされ、適切なグラフ表示(111)を使用してユーザに対して表示される。更に、異常の根本原因は、ランク付けされた1つ以上の異常に基づいてドリルダウン解析を実施することによって、検出されてもよい。
コンピュータシステム
図9は、本開示と一致する実施形態を実現する、例示のコンピュータシステム(900)のブロック図を示している。一実施形態では、コンピュータシステム(900)は、データセットにおける異常の根本原因を検出するための、変数をランク付けする方法を実現するのに使用されてもよい。コンピュータシステム(900)は、中央処理装置(「CPU」または「プロセッサ」)(902)を含んでもよい。プロセッサ(902)は、実行時間に動的にリソースを割り振るようにプログラムコンポーネントを実行する、少なくとも1つのデータプロセッサを含んでもよい。プロセッサ(902)は、統合システム(バス)コントローラ、メモリ(202)管理制御装置、浮動小数点装置、グラフィックス処理装置、デジタル信号処理装置などの専用処理装置を含んでもよい。
プロセッサ(902)は、入出力インターフェース(901)を介して、1つ以上の入出力(I/O)デバイス(図示なし)と連通して配設されてもよい。入出力インターフェース(901)は、非限定的に、音声、アナログ、デジタル、モノラル、RCA、ステレオ、IEEE−(139)4、シリアルバス、ユニバーサルシリアルバス(USB)、赤外線、PS/2、BNC、同軸、コンポーネント、複合、デジタルビジュアルインターフェース(DVI)、高解像度マルチメディアインターフェース(HDMI)、RFアンテナ、S−ビデオ、VGA、IEEE(802).n/b/g/n/x、ブルートゥース(登録商標)、セルラー(例えば、符号分割多重アクセス(CDMA)、高速パケットアクセス(HSPA+)、グローバル移動通信システム(GSM)、ロングタームエボリューション(LTE)、WiMaxなど)などの、通信プロトコル/方法を用いてもよい。
入出力インターフェース(901)を使用して、コンピュータシステム(900)は、1つ以上の入出力デバイスと通信してもよい。例えば、入力デバイス(910)は、アンテナ、キーボード、マウス、ジョイスティック、(赤外線)リモートコントロール、カメラ、カードリーダ、ファックス機、ドングル、生体認証リーダ、マイクロフォン、タッチ画面、タッチパッド、トラックボール、スタイラス、スキャナ、記憶デバイス、送受信機、ビデオデバイス/ソースなどであってもよい。出力デバイス(911)は、プリンタ、ファックス機、ビデオディスプレイ(例えば、陰極管(CRT)、液晶ディスプレイ(LCD)、発光ダイオード(LED)、プラズマ、プラズマディスプレイパネル(PDP)、有機発光ダイオードディスプレイ(OLED)など)、音声スピーカーなどであってもよい。
いくつかの実施形態では、コンピュータシステム(900)は、通信ネットワーク(909)を通してサービスオペレータに接続される。プロセッサ(902)は、ネットワークインターフェース(903)を介して、通信ネットワーク(909)と連通して配設されてもよい。ネットワークインターフェース(903)は通信ネットワーク(909)と通信してもよい。ネットワークインターフェース(903)は、非限定的に、直接接続、イーサネット(例えば、ツイストペア10/100/1000 Base T)、伝送制御プロトコル/インターネットプロトコル(TCP/IP)、トークンリング、IEEE 802.11a/b/g/n/xなどを含む、接続プロトコルを用いてもよい。通信ネットワーク(909)は、非限定的に、直接相互接続、eコマースネットワーク、ピアツーピア(P2P)ネットワーク、ローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)、ワイヤレスネットワーク(例えば、ワイヤレスアプリケーションプロトコルを使用)、インターネット、Wi−Fiなどを含んでもよい。ネットワークインターフェース(903)および通信ネットワーク(909)を使用して、コンピュータシステム(900)は、1つ以上のサービスオペレータと通信してもよい。
いくつかの実施形態では、プロセッサ(902)は、記憶装置インターフェース(904)を介して、メモリ(905)(例えば、図9には図示されない、RAM、ROMなど)と連通して配設されてもよい。記憶装置インターフェース(904)は、シリアルアドバンストテクノロジーアタッチメント(SATA)、統合ドライブエレクトロニクス(IDE)、IEEE−1394、ユニバーサルシリアルバス(USB)、ファイバーチャネル、小規模コンピュータシステムインターフェース(SCSI)などの接続プロトコルを用いる、非限定的に、メモリ(202)ドライブ、リムーバブルディスクドライブなどを含む、メモリ(905)に接続してもよい。メモリ(202)ドライブは更に、ドラム、磁気ディスクドライブ、磁気光学ドライブ、光学ドライブ、独立ディスクの冗長型アレイ(RAID)、固体メモリ(202)デバイス、固体ドライブなどを含んでもよい。
メモリ(905)は、非限定的に、ユーザインターフェース(906)、オペレーティングシステム(907)、ウェブサーバ(908)などを含む、一連のプログラムまたはデータベースコンポーネントを格納してもよい。いくつかの実施形態では、コンピュータシステム(900)は、本開示に記載するような、データ、変数、記録などのユーザ/アプリケーションデータ(906)を格納してもよい。かかるデータベースは、OracleまたはSybaseなど、フォールトトレラントで、関係型で、スケーラブルで、安全なデータベースとして実現されてもよい。
オペレーティングシステム(907)は、コンピュータシステム(900)のリソース管理および操作を容易にしてもよい。オペレーティングシステムの例としては、非限定的に、APPLE(登録商標)MACINTOSH(登録商標)OS X(登録商標)、UNIX(登録商標)、UNIX系システム分配(例えば、BERKELEY SOFTWARE DISTRIBUTION(登録商標)(BSD)、FREEBSD(登録商標)、NETBSD(登録商標)、OPENBSD(登録商標)など)、LINUX(登録商標)DISTRIBUTIONS(例えば、RED HAT(登録商標)、UBUNTU(登録商標)、KUBUNTU(登録商標)など)、IBM(登録商標)OS/2(登録商標)、MICROSOFT(登録商標)WINDOWS(登録商標)(XP(登録商標)、VISTA(登録商標)7/8、10など)、APPLE(登録商標)IOS(登録商標)、GOOGLE(商標)ANDROID(登録商標)、BLACKBERRY(登録商標)OSなどが挙げられる。
いくつかの実施形態では、コンピュータシステム(900)はウェブブラウザ(908)格納プログラムコンポーネントを実現してもよい。ウェブブラウザ(908)は、MICROSOFT(登録商標)INTERNET EXPLORER(登録商標)、GOOGLE(商標)CROME(商標)、MOZILLA(登録商標)、FIREFOX(登録商標))、APPLE(登録商標)SAFARI(登録商標)など、ハイパーテキスト表示アプリケーションであってもよい。安全なウェブブラウジングは、セキュアハイパーテキスト転送プロトコル(HTTPS)、セキュアソケットレイヤ(SSL)、トランスポートレイヤセキュリティ(TLS)などを使用して提供されてもよい。ウェブブラウザ(908)は、AJAX、DHTML、ADOBE(登録商標)FLASH(登録商標)、JAVASCRIPT(登録商標)、JAVA(登録商標)、アプリケーションプログラミングインターフェース(API)などのファシリティを利用してもよい。いくつかの実施形態では、コンピュータシステム(900)は、メールサーバ格納プロフラムコンポーネントを実現してもよい。メールサーバは、Microsoft Exchangeなどのインターネットメールサーバであってもよい。メールサーバは、アクティブサーバページ(ASP)、ACTIVEX(登録商標)、ANSI(登録商標)、C++/C#、MICROSOFT(登録商標)、NET、CGI SCRIPTS、JAVA(登録商標)、JAVASCRIPT(登録商標)、PERL(登録商標)、PHP、PYTHON(登録商標)、WEBOBJECTS(登録商標)などのファシリティを利用してもよい。メールサーバは、インターネットメッセージアクセスプロトコル(IMAP)、メッセージングアプリケーションプログラミングインターフェース(MAPI)、MICROSOFT(登録商標)Exchange、ポストオフィスプロトコル(POP)、シンプルメールトランスファプロトコル(SMTP)などの通信プロトコルを利用してもよい。いくつかの実施形態では、コンピュータシステム(900)は、メールクライアント格納プロフラムコンポーネントを実現してもよい。メールクライアントは、APPLE(登録商標)MAIL、MICROSOFT(登録商標)ENTOURAGE(登録商標)、MICROSOFT(登録商標)OUTLOOK(登録商標)、MOZILLA(登録商標)THUNDERBIRD(登録商標)などのメール表示アプリケーションであってもよい。
更に、1つ以上のコンピュータ可読記憶媒体が、本開示と一致する実施形態を実現するのに利用されてもよい。コンピュータ可読記憶媒体は、プロセッサ(203)が読取り可能な情報またはデータが格納されてもよい、任意のタイプの物理的メモリ(202)を指す。したがって、コンピュータ可読記憶媒体は、本明細書に記載される実施形態と一致するステップまたは段階をプロセッサに実施させる命令を含む、1つ以上のプロセッサが実行する命令を格納してもよい。「コンピュータ可読媒体」という用語は、有形物を含み、搬送波および過渡信号は除外する、即ち持続的なものと理解されるべきである。例としては、ランダムアクセスメモリ(202)(RAM)、読出し専用メモリ(202)(ROM)、揮発性メモリ(202)、非揮発性メモリ(202)、ハードドライブ、コンパクトディスク(CD)ROM、デジタルビデオディスク(DVD)、フラッシュドライブ、ディスク、および他の任意の既知の物理的記憶媒体が挙げられる。
「一実施形態(an embodiment)」、「実施形態(embodiment)」、「複数の実施形態(embodiments)」、「実施形態(the embodiment)」、「複数の実施形態(the embodiments)」、「1つ以上の実施形態(one or more embodiments)」、「いくつかの実施形態(some embodiments)」、および「1つの実施形態(one embodiment)」という用語は、別段の明示的な指定がない限り、「本発明の1つ以上の(ただし全てではない)実施形態」を意味する。
「含む」、「備える」、「有する」という用語およびそれらの変形は、別段の明示的な指定がない限り、「〜を含むがそれに限定されない」ことを意味する。
列挙される項目の一覧は、別段の明示的な指定がない限り、項目のいずれかまたは全てが相互に排他的であることを示唆しない。「a」、「an」、および「the」という用語は、別段の明示的な指定がない限り、「1つ以上」を意味する。
互いに連通しているいくつかの構成要素を用いた実施形態の説明は、全てのかかる構成要素を要することを示唆しない。反対に、本発明の多種多様な可能性のある実施形態を例示するのに、様々な任意の構成要素が記載される。
単一のデバイスまたは物品が本明細書に記載される場合、1つを超えるデバイス/物品(それらが協働するか否かにかかわらず)が単一のデバイス/物品の代わりに使用されてもよいことが、容易に明白となるであろう。同様に、1つを超えるデバイスまたは物品(それらが協働するか否かにかかわらず)が本明細書に記載される場合、単一のデバイス/物品が1つを超えるデバイスまたは物品の代わりに使用されてもよいこと、あるいは異なる数のデバイス/物品が図示される数のデバイスまたはプログラムの代わりに使用されてもよいことが、容易に明白となるであろう。あるいは、デバイスの機能性および/または特徴は、かかる機能性/特徴を有するものとして明示的に記載されていない1つもしくは複数の他のデバイスによって具体化されてもよい。したがって、本発明の他の実施形態は必ずしもデバイス自体を含まなくてもよい。
図3の図示される動作は、特定の順序で起こる特定のイベントを示している。代替実施形態では、特定の動作は、異なる順序で実施されるか、修正されるか、または除去されてもよい。更に、上述の論理にステップが追加された上で、記載される実施形態に依然として準拠してもよい。更に、本明細書に記載される動作は連続的に起こってもよく、または特定の動作が並行して処理されてもよい。更にまた、動作は、単一の処理装置によって、または分散処理装置によって実施されてもよい。
したがって、データセット(101)における異常の根本原因を検出するためのランキング変数は、データセット(101)と関連付けられたメタデータ(103)を使用して、識別された1つ以上の変数(805)それぞれに対する目標変数(102)のばらつきを表示する、1つ以上のグラフ表示(111)を推奨する。更に、ランク付けされたグラフ表示(111)は、データセット(101)における検出された1つ以上の異常、および1つ以上の異常を引き起こす1つ以上の変数(805)を説明する、関連するグラフ表示(111)に基づいて、ドリルダウンの洞察を提供する。
最後に、本明細書で使用される言語は、基本的に可読性および教育の目的で選択されたのであり、本発明の主題を正確に描写するかまたは制限するために選択されていないことがある。したがって、本発明の範囲は、この詳細な説明によってではなく、適用の基礎となる任意のクレームによって限定されることが意図される。したがって、本発明の実施形態の開示は、以下の特許請求の範囲に記載される本発明の範囲を例示するものであって、限定するものではない。
様々な態様および実施形態について本明細書に開示してきたが、他の態様および実施形態が当業者には明白となるであろう。本明細書に開示した様々な態様および実施形態は、例示目的であって限定を意図するものではなく、真の範囲および趣旨は以下の特許請求の範囲によって示される。