IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ グーグル インコーポレイテッドの特許一覧

<>
  • 特表-機械学習による時系列異常検知 図1
  • 特表-機械学習による時系列異常検知 図2
  • 特表-機械学習による時系列異常検知 図3
  • 特表-機械学習による時系列異常検知 図4
  • 特表-機械学習による時系列異常検知 図5
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-05-24
(54)【発明の名称】機械学習による時系列異常検知
(51)【国際特許分類】
   G06F 16/903 20190101AFI20240517BHJP
【FI】
G06F16/903
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023572858
(86)(22)【出願日】2022-05-24
(85)【翻訳文提出日】2024-01-15
(86)【国際出願番号】 US2022072546
(87)【国際公開番号】W WO2022251837
(87)【国際公開日】2022-12-01
(31)【優先権主張番号】63/193,022
(32)【優先日】2021-05-25
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】502208397
【氏名又は名称】グーグル エルエルシー
【氏名又は名称原語表記】Google LLC
【住所又は居所原語表記】1600 Amphitheatre Parkway 94043 Mountain View, CA U.S.A.
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(72)【発明者】
【氏名】リウ,ジアシャン
(72)【発明者】
【氏名】チェン,シー
(72)【発明者】
【氏名】シェン,ウェイジエ
(72)【発明者】
【氏名】ホルマティ,アミル
【テーマコード(参考)】
5B175
【Fターム(参考)】
5B175DA10
5B175HB03
5B175KA09
(57)【要約】
方法(400)は、時系列異常検知クエリ(20)をユーザ(12)から受信するステップと、時系列データ値(152)のセットを用いて1つまたは複数のモデル(212)を訓練するステップとを含む。セットにおけるそれぞれの時系列データ値各々に関して、本方法は、訓練済みモデルを用いて、それぞれの時系列データ値に対する期待データ値を決定するステップと、期待データ値とそれぞれの時系列データ値との差を決定するステップとを含む。本方法は、期待データ値とそれぞれの時系列データ値との差が閾値(314)を満たすと判定するステップをさらに含む。期待データ値とそれぞれの時系列データ値との差が閾値を満たすと判定したことに応答して、本方法は、それぞれの時系列データ値が異常であると判定するステップと、異常なそれぞれの時系列データ値(152A)をユーザに報告するステップとを含む。
【特許請求の範囲】
【請求項1】
データ処理ハードウェア(144)によって実行されると、前記データ処理ハードウェア(144)に処理を実行させ、前記処理は、
時系列異常検知クエリ(20)をユーザ(12)から受信することを含み、前記時系列異常検知クエリ(20)は、時系列データ値(152)のセット内の1つまたは複数の異常を判定するように前記データ処理ハードウェア(144)に要求し、
前記時系列データ値(152)のセット内の各々の時系列データ値(152)を用いて1つまたは複数のモデル(212)を訓練することを含み、
前記時系列データ値(152)のセットにおけるそれぞれの時系列データ値(152)の各々に関して、
前記訓練済みの1つまたは複数のモデル(212)を用いて、前記それぞれの時系列データ値(152)に対する期待データ値(152E)を決定することと、
前記それぞれの時系列データ値(152)に対する前記期待データ値(152E)と前記それぞれの時系列データ値(152)との差を決定することと、
前記それぞれの時系列データ値(152)に対する前記期待データ値(152E)と前記それぞれの時系列データ値(152)との差が閾値(314)を満たすと判定することと、
前記それぞれの時系列データ値(152)に対する前記期待データ値(152E)と前記それぞれの時系列データ値(152)との差が前記閾値(314)を満たすと判定したことに応答して、前記それぞれの時系列データ値(152)が異常であると判定することと、
前記異常なそれぞれの時系列データ値(152A)を前記ユーザ(12)に報告することとを含む、コンピュータが実行する方法(400)。
【請求項2】
前記訓練済みの1つまたは複数のモデル(212)を用いて、前記それぞれの時系列データ値(152)に対する前記期待データ値(152E)を決定することは、前記訓練済みの1つまたは複数のモデル(212)を用いて、前記時系列データ値(152)のセット内の各々の時系列データ値(152)を複数の成分(220)に分解することを含む、請求項1に記載の方法(400)。
【請求項3】
前記訓練済みの1つまたは複数のモデル(212)を用いて、前記それぞれの時系列データ値(152)に対する前記期待データ値(152E)を決定することは、前記複数の成分(220)のうちの2つ以上の成分(220)を集約することをさらに含む、請求項2に記載の方法(400)。
【請求項4】
前記1つまたは複数のモデル(212)は、前記複数の成分(220)の成分(220)ごとに別個のモデル(212)を含む、請求項2または請求項3に記載の方法(400)。
【請求項5】
前記複数の成分(220)は、トレンド成分(220)、休日効果成分(220)、季節成分(220)、および段階的変化成分(220)のうちの1つまたは複数を含む、請求項2~請求項4のいずれか1項に記載の方法(400)。
【請求項6】
前記閾値(314)は、前記ユーザ(12)から受信した異常確率に基づく、請求項1~請求項5のいずれか1項に記載の方法(400)。
【請求項7】
前記時系列異常検知クエリ(20)は、単一の構造化照会言語(SQL)クエリを含む、請求項1~請求項5のいずれか1項に記載の方法(400)。
【請求項8】
前記単一のSQLクエリは、時系列データ値(152)の複数のセット内の1つまたは複数の異常データ値(152A)を判定するように前記データ処理ハードウェア(144)に要求する、請求項7に記載の方法(400)。
【請求項9】
前記1つまたは複数のモデル(212)のうちの少なくとも1つは、自己回帰和分移動平均モデルを含む、請求項1~請求項5のいずれか1項に記載の方法(400)。
【請求項10】
前記処理は、
前記訓練済みの1つまたは複数のモデル(212)を用いて、将来の時系列データ値(152F)を予測することと、
前記将来の時系列データ値(152F)を予測した後、前記将来の時系列データ値(152F)に関連付けられている付加的な時系列データ値(152)を受信することと、
前記将来の時系列データ値(152F)と前記付加的な時系列データ値(152)との差を決定することと、
前記将来の時系列データ値(152F)と前記付加的な時系列データ値(152)との差が前記閾値(314)を満たすと判定することと、
前記将来の時系列データ値(152F)と前記付加的な時系列データ値(152)との差が前記閾値(314)を満たすと判定したことに応答して、前記付加的な時系列データ値(152)が異常であると判定することと、
前記異常な付加的な時系列データ値(152A)を前記ユーザ(12)に報告することとをさらに含む、請求項1~請求項5のいずれか1項に記載の方法(400)。
【請求項11】
前記時系列データ値(152)のセットは単変量時系列データ値(152)のセットを含む、請求項1~請求項5のいずれか1項に記載の方法(400)。
【請求項12】
データ処理ハードウェア(144)と、
前記データ処理ハードウェア(144)と通信するメモリハードウェアとを備え、前記メモリハードウェアは、前記データ処理ハードウェア(144)上で実行されると前記データ処理ハードウェア(144)に、処理を実行させる命令を記憶し、前記処理は、
時系列異常検知クエリ(20)をユーザ(12)から受信することを含み、前記時系列異常検知クエリ(20)は、時系列データ値(152)のセット内の1つまたは複数の異常を判定するように前記データ処理ハードウェア(144)に要求し、
前記時系列データ値(152)のセット内の各々の時系列データ値(152)を用いて1つまたは複数のモデル(212)を訓練することを含み、
前記時系列データ値(152)のセットにおけるそれぞれの時系列データ値(152)の各々に関して、
前記訓練済みの1つまたは複数のモデル(212)を用いて、前記それぞれの時系列データ値(152)に対する期待データ値(152E)を決定することと、
前記それぞれの時系列データ値(152)に対する前記期待データ値(152E)と前記それぞれの時系列データ値(152)との差を決定することと、
前記それぞれの時系列データ値(152)に対する前記期待データ値(152E)と前記それぞれの時系列データ値(152)との差が閾値(314)を満たすと判定することと、
前記それぞれの時系列データ値(152)に対する前記期待データ値(152E)と前記それぞれの時系列データ値(152)との差が前記閾値(314)を満たすと判定したことに応答して、前記それぞれの時系列データ値(152)が異常であると判定することと、
前記異常なそれぞれの時系列データ値(152A)を前記ユーザ(12)に報告することとを含む、システム(100)。
【請求項13】
前記訓練済みの1つまたは複数のモデル(212)を用いて、前記それぞれの時系列データ値(152)に対する前記期待データ値(152E)を決定することは、前記訓練済みの1つまたは複数のモデル(212)を用いて、前記時系列データ値(152)のセット内の各々の時系列データ値(152)を複数の成分(220)に分解することを含む、請求項12に記載のシステム(100)。
【請求項14】
前記訓練済みの1つまたは複数のモデル(212)を用いて、前記それぞれの時系列データ値(152)に対する前記期待データ値(152E)を決定することは、前記複数の成分(220)のうちの2つ以上の成分(220)を集約することをさらに含む、請求項13に記載のシステム(100)。
【請求項15】
前記1つまたは複数のモデル(212)は、前記複数の成分(220)の成分ごとに別個のモデル(212)を含む、請求項13または請求項14に記載のシステム(100)。
【請求項16】
前記複数の成分(220)は、トレンド成分(220)、休日効果成分(220)、季節成分(220)、および段階的変化成分(220)のうちの1つまたは複数を含む、請求項13~請求項15のいずれか1項に記載のシステム(100)。
【請求項17】
前記閾値(314)は、前記ユーザ(12)から受信した異常確率に基づく、請求項12~請求項16のいずれか1項に記載のシステム(100)。
【請求項18】
前記時系列異常検知クエリ(20)は、単一の構造化照会言語(SQL)クエリを含む、請求項11~請求項17のいずれか1項に記載のシステム(100)。
【請求項19】
前記単一のSQLクエリは、時系列データ値(152)の複数のセット内の1つまたは複数の異常データ値(152A)を判定するように前記データ処理ハードウェア(144)に要求する、請求項18に記載のシステム(100)。
【請求項20】
前記1つまたは複数のモデル(212)のうちの少なくとも1つは、自己回帰和分移動平均モデルを含む、請求項11~請求項19のいずれか1項に記載のシステム(100)。
【請求項21】
前記処理は、
前記訓練済みの1つまたは複数のモデル(212)を用いて、将来の時系列データ値(152F)を予測することと、
前記将来の時系列データ値(152F)を予測した後、前記将来の時系列データ値(152F)に関連付けられている付加的な時系列データ値(152)を受信することと、
前記将来の時系列データ値(152F)と前記付加的な時系列データ値(152)との差を決定することと、
前記将来の時系列データ値(152F)と前記付加的な時系列データ値(152)との差が前記閾値(314)を満たすと判定することと、
前記将来の時系列データ値(152F)と前記付加的な時系列データ値(152)との差が前記閾値(314)を満たすと判定したことに応答して、前記付加的な時系列データ値(152)が異常であると判定することと、
前記異常な付加的な時系列データ値(152A)を前記ユーザ(12)に報告することとをさらに含む、請求項11~請求項20のいずれか1項に記載のシステム(100)。
【請求項22】
前記時系列データ値(152)のセットは単変量時系列データ値(152)のセットを含む、請求項11~請求項21のいずれか1項に記載のシステム(100)。
【発明の詳細な説明】
【技術分野】
【0001】
技術分野
本開示は、機械学習による時系列異常検知に関する。
【背景技術】
【0002】
背景
時系列データにおける異常検知には、クレジットカードの不正検知、サイバーセキュリティにおける侵入検知、または産業における故障診断などの幅広い用途がある。時系列(time series)には主に2種類の異常がある。第1の種類の異常は、ノイズ、エラー、または不要なデータに関連するものであり、これらは一般的にデータ分析者にとって興味のないものである。これらの種類の異常は典型的には、データの品質を向上させ、他のデータマイニングアルゴリズムにより使用できるよりクリーンなデータセットを生成するために、削除または修正されるべきである。例えば、より正確な予測を得るためにセンサの伝送エラーが取り除かれる。第2の種類の異常は、対象とするある事象に関連するものである。近年、特に時系列データの分野では、多くの研究者が通常とは異なるが興味深い現象を検知して分析することを目的としている。不正検知は、異常自体を検知し分析することを主目的とする一般的な例である。
【発明の概要】
【0003】
概要
本開示の一態様は、機械学習による時系列異常検知を提供するための方法を提供する。コンピュータが実行する方法は、データ処理ハードウェアによって実行されると、データ処理ハードウェアに処理を実行させる。処理は、ユーザから時系列異常検知クエリを受信することを含む。時系列異常検知クエリは、時系列データ値(Time Series Data Value)のセット内の1つまたは複数の異常を判定するようにデータ処理ハードウェアに要求する。処理は、時系列データ値のセット内の時系列データ値の各々を用いて1つまたは複数のモデルを訓練することを含む。時系列データ値のセットにおけるそれぞれの時系列データ値各々に関して、処理は、訓練済みの1つまたは複数のモデルを用いて、それぞれの時系列データ値に対する期待データ値を決定することと、それぞれの時系列データ値に対する期待データ値とそれぞれの時系列データ値との差を決定することとを含む。時系列データ値のセットにおけるそれぞれの時系列データ値各々に関して、処理は、それぞれの時系列データ値に対する期待データ値とそれぞれの時系列データ値との差が閾値を満たすと判定することと、それぞれの時系列データ値に対する期待データ値とそれぞれの時系列データ値との差が閾値を満たすと判定したことに応答して、それぞれの時系列データ値が異常であると判定することも含む。処理は、異常なそれぞれの時系列データ値をユーザに報告することを含む。
【0004】
本開示の実施態様は、以下の任意の特徴のうちの1つまたは複数を含み得る。いくつかの実施態様では、訓練済みの1つまたは複数のモデルを用いて、それぞれの時系列データ値に対する期待データ値を決定することは、訓練済みの1つまたは複数のモデルを用いて、時系列データ値のセット内の各々の時系列データ値を複数の成分に分解することを含む。これらの実施態様のいくつかにおいて、訓練済みの1つまたは複数のモデルを用いて、それぞれの時系列データ値に対する期待データ値を決定することは、複数の成分のうちの2つ以上の成分を集約することをさらに含む。これらの実施態様のいくつかでは、1つまたは複数のモデルは、複数の成分の各々の成分ごとに別個のモデルを含む。任意選択で、複数の成分は、トレンド成分、休日効果成分、季節成分、および段階的変化成分のうちの1つまたは複数を含む。
【0005】
いくつかの例では、閾値は、ユーザから受信した異常確率に基づく。時系列異常検知クエリは、単一の構造化照会言語(SQL)クエリを含み得る。いくつかの実施態様において、単一のSQLクエリは、時系列データ値の複数のセット内の1つまたは複数の異常データ値を判定するようにデータ処理ハードウェアに要求する。所望により、1つまたは複数のモデルのうちの少なくとも1つは、自己回帰和分移動平均モデル(Auto Regressive Integrated Moving Average Model)を含む。
【0006】
処理は、訓練済みの1つまたは複数のモデルを用いて、将来の時系列データ値(Future Time Series Data Value)を予測することをさらに含み得る。将来の時系列データ値を予測した後、処理は、将来の時系列データ値に関連付けられている付加的な時系列データ値(Additional Time Series Data Value)を受信することと、将来の時系列データ値と付加的な時系列データ値との差を決定することとをさらに含み得る。処理は、将来の時系列データ値と付加的な時系列データ値との差が閾値を満たすと判定することをさらに含み得る。将来の時系列データ値と付加的な時系列データ値との差が閾値を満たすと判定したことに応答して、処理は、付加的な時系列データ値が異常であると判定することと、異常な付加的な時系列データ値をユーザに報告することとをさらに含む。いくつかの例では、時系列データ値のセットは単変量時系列データ値(Univariate Time Series Data Value)のセットを含む。
【0007】
本開示の別の態様は、機械学習による時系列異常検知のためのシステムを提供する。システムは、データ処理ハードウェアと、データ処理ハードウェアと通信するメモリハードウェアとを備える。メモリハードウェアは、データ処理ハードウェア上で実行されるとデータ処理ハードウェアに処理を実行させる命令を記憶している。処理は、ユーザから時系列異常検知クエリを受信することを含む。時系列異常検知クエリは、時系列データ値のセット内の1つまたは複数の異常を判定するようにデータ処理ハードウェアに要求する。処理は、時系列データ値のセット内の時系列データ値の各々を用いて1つまたは複数のモデルを訓練することを含む。時系列データ値のセットにおけるそれぞれの時系列データ値各々に関して、処理は、訓練済みの1つまたは複数のモデルを用いて、それぞれの時系列データ値に対する期待データ値を決定することと、それぞれの時系列データ値に対する期待データ値とそれぞれの時系列データ値との差を決定することとを含む。時系列データ値のセットにおけるそれぞれの時系列データ値各々に関して、処理は、それぞれの時系列データ値に対する期待データ値とそれぞれの時系列データ値との差が閾値を満たすと判定することと、それぞれの時系列データ値に対する期待データ値とそれぞれの時系列データ値との差が閾値を満たすと判定したことに応答して、それぞれの時系列データ値が異常であると判定することも含む。処理は、異常なそれぞれの時系列データ値をユーザに報告することを含む。
【0008】
この態様は、以下の任意の特徴のうちの1つまたは複数を含み得る。いくつかの実施態様では、訓練済みの1つまたは複数のモデルを用いて、それぞれの時系列データ値に対する期待データ値を決定することは、訓練済みの1つまたは複数のモデルを用いて、時系列データ値のセット内の各々の時系列データ値を複数の成分に分解することを含む。これらの実施態様のいくつかにおいて、訓練済みの1つまたは複数のモデルを用いて、それぞれの時系列データ値に対する期待データ値を決定することは、複数の成分のうちの2つ以上の成分を集約することをさらに含む。これらの実施態様のいくつかでは、1つまたは複数のモデルは、複数の成分の各々の成分ごとに別個のモデルを含む。所望により、複数の成分は、トレンド成分、休日効果成分、季節成分、および段階的変化成分のうちの1つまたは複数を含む。
【0009】
いくつかの例では、閾値は、ユーザから受信した異常確率に基づく。時系列異常検知クエリは、単一の構造化照会言語(SQL)クエリを含み得る。いくつかの実施態様において、単一のSQLクエリは、時系列データ値の複数のセット内の1つまたは複数の異常データ値を判定するようにデータ処理ハードウェアに要求する。所望により、1つまたは複数のモデルのうちの少なくとも1つは、自己回帰和分移動平均モデルを含む。
【0010】
処理は、訓練済みの1つまたは複数のモデルを用いて、将来の時系列データ値を予測することをさらに含み得る。将来の時系列データ値を予測した後、処理は、将来の時系列データ値に関連付けられている付加的な時系列データ値を受信することと、将来の時系列データ値と付加的な時系列データ値との差を決定することとをさらに含み得る。処理は、将来の時系列データ値と付加的な時系列データ値との差が閾値を満たすと判定することをさらに含み得る。将来の時系列データ値と付加的な時系列データ値との差が閾値を満たすと判定したことに応答して、処理は、付加的な時系列データ値が異常であると判定することと、異常な付加的な時系列データ値をユーザに報告することとをさらに含む。いくつかの例では、時系列データ値のセットは単変量時系列データ値のセットを含む。
【0011】
本開示の1つまたは複数の実施態様の詳細は、添付の図面および以下の説明に記載されている。他の態様、特徴および利点は以下の説明および図面、ならびに請求項から明らかになるであろう。
【図面の簡単な説明】
【0012】
図1】時系列データの異常を検知する例示的システムの概略図である。
図2図1のシステムの例示的構成要素の概略図である。
図3図1のシステムの例示的検知器の概略図である。
図4】時系列データの異常を検知する方法のための処理の例示的配置のフローチャートである。
図5】本明細書に記載されるシステムおよび方法を実施するために使用され得る、例示的コンピューティングデバイスの概略図である。
【発明を実施するための形態】
【0013】
種々の図面中の同じ参照符号は、同じ要素を示す。
詳細な説明
時系列とは、時間的順序(典型的には一定間隔)に並ぶ一連のデータポイントである。時系列の分析は、時間の経過とともに変化するあらゆる変数(例えば、産業プロセスまたはビジネス指標)に適用してもよい。時系列予測とは、過去のデータ値に基づいて将来のデータ値を予測(すなわち、外挿)する行為である。非常に多くの予測問題には時間成分が関与するため、時系列予測は活発な関心分野である。特に、時系列予測は機械学習の重要な領域となっている。しかし、固有の非定常性および不確実性故に、時系列予測は依然として困難な課題である。
【0014】
時系列データにおける異常検知には、クレジットカードの不正検知、サイバーセキュリティにおける侵入検知、または産業における故障診断などの幅広い用途がある。時系列データには主に2種類の異常がある。第1の種類については、異常検知により、ユーザは例えばノイズ、エラー、または他の不要なデータの結果であるデータポイントを破棄し、残りのデータの品質を向上させる。第2の種類については、異常検知は、異常自体が対象とする事象であるため重要である。
【0015】
本明細書の実施態様は、大規模に異常を自動的に検知することができる時系列異常検知システムに関する。本システムは、1つまたは複数の訓練済みモデルを用いて、過去のデータにおける異常を検知しても、または将来のデータにおける異常を検知してもよく、これにより、ユーザは異常なデータに即座に気付くことができる。このシステムは、ユーザが過去のデータの異常を検知するのを支援し、これは、さらなる分析のために時系列を処理するだけでなく、過去に起こった特別な事象を特定する。このシステムはさらに、ユーザが訓練済みモデルを用いて将来のデータの異常を検知し、問題を発見するまでの時間を短縮するようにさらに支援する。例えば、特定の商品ページのトラフィックが突然、予想外に増加した場合、その原因は、誤って低価格にする価格設定プロセスのエラーによるものであり得る。このシステムは非常に拡張性も高く、このことによりユーザはオンラインクエリ(構造化照会言語(SQL)クエリなど)を用いて、数十万以上の時系列の異常を検知することができる。
【0016】
ここで図1を参照すると、いくつかの実施態様において、例示的な時系列異常検知システム100は、ネットワーク112を介して1つまたは複数のユーザデバイス10と通信するリモートシステム140を含む。リモートシステム140は、コンピューティングリソース144(例えば、データ処理ハードウェア)を含むスケーラブル/弾性リソース142および/またはストレージリソース146(例えば、メモリハードウェア)を有する単一のコンピュータ、複数のコンピュータ、または分散システム(例えば、クラウド環境)であってもよい。データ記憶部150(すなわち、リモートストレージデバイス)は、クライアント(例えば、ユーザデバイス10)またはコンピューティングリソース144のうちの1つまたは複数によるストレージリソース146のスケーラブルな使用を可能にするように、ストレージリソース146上にオーバーレイされ得る。データ記憶部150は、1つまたは複数のテーブル158、158a~n(すなわち、クラウドデータベース)内に複数の時系列データ値152、152a~nを記憶するように構成されている。データ記憶部150は、任意の時点で任意の数のテーブル158を記憶することができる。
【0017】
リモートシステム140は、例えばネットワーク112を介して、それぞれのユーザ12に関連付けられているユーザデバイス10から時系列異常検知クエリ20を受信するように構成されている。ユーザデバイス10は、デスクトップワークステーション、ラップトップワークステーション、またはモバイルデバイス(すなわち、スマートフォン)などの任意のコンピューティングデバイスに対応し得る。ユーザデバイス10は、コンピューティングリソース18(例えば、データ処理ハードウェア)および/またはストレージリソース16(例えば、メモリハードウェア)を含む。ユーザ12は、構造化照会言語(SQL)インタフェース14を用いてクエリ20を構築することができる。各々の時系列異常検知クエリ20は、1つまたは複数の検知要求22、22a~nに1つまたは複数の異常が存在するか否かを判定するようリモートシステム140に要求する。
【0018】
リモートシステム140は、過去のデータ値152、152H(例えば、単変量時系列データ値152)および将来の時系列データ値152、152Fにおける異常データ値152、152Aを検知するための時系列異常検知器160を実行する。時系列異常検知器160は、ユーザデバイス10を介してユーザ12からクエリ20を受信するように構成されている。各々のクエリ20は、複数の検知要求22、22a~nを含み得る。各々の検知要求22は、時系列データ値152の異なるセット内の1つまたは複数の異常データ値152Aを検知するように時系列異常検知器160に要求する。すなわち、クエリ20は、時系列異常検知器160に対して、時系列データ値152の複数の異なるセット内の1つまたは複数の異常データ値152Aを同時に判定するように要求することを含み得る。
【0019】
モデル訓練器210は、各々の検知要求22に対して、連続的にまたは同時に、1つまたは複数の予測モデル212を生成および/または訓練する。モデル訓練器210は、検知要求22に関連するデータ記憶部150に記憶されている1つまたは複数のテーブル158から取得される過去のデータ値152Hに対して予測モデル212を訓練することができる。すなわち、クエリ20は、データ記憶部150に記憶されている1つまたは複数のテーブル158にある過去のデータ値152Hにおいて異常データ値152Aを検知するようリモートシステム140に各々要求する複数の検知要求22を含んでいてもよい。あるいは、クエリ20は過去のデータ値152Hを含む。この場合、ユーザ12は、(ユーザデバイス10を介して)過去のデータ値152Hがデータストレージ150を介して他の方法では利用可能でない場合に、過去のデータ値152Hを提供することができる。いくつかの例では、過去のデータ値152Hは、複数の列および複数の行を有するデータベースに記憶される。例えば、ある列は時系列データを含むが、別の列は特定の時点を時系列データと相関させるタイムスタンプデータを含む。
【0020】
モデル訓練器210は、異なるパラメータを有する複数の予測モデル212を生成および/または訓練することができる。例えば、モデル訓練器210は、自己回帰モデルの異なる次数(すなわち、タイムラグの数であり、一般にパラメータpとして表される)、異なる差分の階数(すなわち、データが過去の値を差し引かれた回数であり、一般にパラメータdとして表される)、および移動平均モデルの次数(すなわち、移動平均ウィンドウのサイズであり、一般にパラメータqとして表される)を有する複数の自己回帰和分移動平均(ARIMA)モデルを生成し訓練する。異なるパラメータ(例えば、パラメータp、dおよびq)の組み合わせを用いて、モデル訓練器210は、各々の組み合わせに対応する予測モデル212を生成する。各々のモデル212は、同じ過去のデータ値152Hを用いて訓練される。1つまたは複数のパラメータは、ユーザ12によって設定可能または部分的に設定可能であってもよい。
【0021】
モデル訓練器210は、予測モデル212を生成し訓練するときに、ハイパーパラメータチューニング(ハイパーパラメータ最適化とも呼ばれる)を実行することができる。ハイパーパラメータは、他のパラメータ(例えば、ノード重み)が学習される間に、実際の学習プロセスを制御または調整するパラメータである。例えば、モデル訓練器210は、データ頻度および非季節次数パラメータに対してハイパーパラメータチューニングを実行する。モデル訓練器210は、時系列の多くの異なる側面をモデル化することができる予測モデル212を生成し、訓練することができる。例えば、予測モデル212は、季節効果、休日効果、モデリングドリフト、および異常を考慮する。
【0022】
時系列異常検知器160は予測器170を含む。予測器170は、訓練済みの1つまたは複数のモデル212を用いて、期待データ値152、152Eを予測または決定する。予測器170は、過去のデータ値152Hの各々について期待データ値152Eを予測することができる。すなわち、モデル212が訓練された後、時系列異常検知器160は、各々の過去のデータ値152Hを訓練済みモデル212に提供でき、モデルの予測に基づいて、予測器170は、それぞれの過去のデータ値152Hに対する期待データ値152Eを決定する。予測器170は、将来のデータ値152Fに対する期待データ値152Eも予測できる。過去のデータ値152Hは、モデル212が訓練する時系列データ値152を表すが、将来のデータ値152Fは、モデル212が訓練しない時系列データ値152を表す。例えば、時系列異常検知器160は、モデル212の訓練が完了した後に将来のデータ値152Fを受信する。
【0023】
時系列異常検知器160は検知器310を備える。検知器310は、予測器170から出力される期待データ値152Eと、モデル212への入力として提供される対応する過去のデータ値152Hまたは将来のデータ値152Fとを受信する。検知器310は、期待データ値152Eと、対応する過去のデータ値152Hまたは将来のデータ値152Fとの差を決定することができる。期待データ値152Eと、対応する過去のデータ値152H(すなわち、時系列異常検知器160がモデル212の訓練前または訓練中に受信する時系列データ値152)または将来のデータ値152F(すなわち、時系列異常検知器160がモデルを訓練して期待データ値152Eを予測した後に受信する時系列データ値152)との差が(例えば、ユーザ12から受信した異常確率閾値314(図3)に基づいて)閾値を満たす場合、検知器310は、対応する過去のデータ値152Hまたは将来のデータ値152Fが異常であると判定することができる。この状況では、検知器310は、異常なそれぞれの時系列データ値152Aをユーザ12に報告することができる。
【0024】
次に図2を参照すると、いくつかの実施態様では、時系列異常検知器160は複数のモデル212a~nを含む。これらの実施態様では、モデル訓練器210は、過去のデータ値152Hを用いて複数のモデル212の各々を訓練する。いくつかの例では、訓練済みモデル212のうちの1つまたは複数は、入力時系列データ値152(すなわち、過去のデータ値152Hおよび/または将来のデータ値152F)を複数の成分220、220a~nに分解する。予測器170は、複数の成分220を受信し、期待データ値152Eを予測するために成分220のうちの2つ以上を集約してもよい。
【0025】
いくつかの例では、複数のモデル212の各々は、入力時系列データ値152から異なる成分220を分解する。例えば、あるモデル212は、休日調整を実行し、時系列データ値152の休日成分220を生成または予測するように訓練される。別の例として、異なるモデル212は、(例えば、局所回帰を用いて)季節およびトレンド分解を実行し、時系列データ値152の季節成分220を生成または予測するように訓練される。季節成分220は、特定の期間(例えば、日、週、月など)にわたって繰り返される時系列データ値152の変動を説明することができる。例えば、12月の売上の増加は、季節成分220の季節効果を表す。時系列異常検知器160は、時系列データ値152を、トレンド成分220、外れ値成分220、スパイクおよびディップ成分220、ならびに段階的変化成分220などのいくつかの他の成分220に(例えば、1つまたは複数のモデル212を介して)分解することができる。トレンド成分220は、合理的に予測可能なパターンで上下するデータの傾向を表すことができる。
【0026】
いくつかの例では、1つまたは複数のモデル212は、時系列異常検知器160の他のモデル212を訓練するために使用される。例えば、モデル訓練器210は、まず、過去のデータ値152Hを用いて休日調整モデル212を訓練する。休日調整モデル212が訓練された後、モデル訓練器210は、休日調整モデル212によって休日成分220が除去されている時系列データ値152を用いて外れ値モデル212を訓練することができる。同様に、モデル訓練器210は、休日調整モデル212によって休日成分220が除去され、外れ値モデル212によって外れ値が除去されている時系列データ値152を用いて、季節およびトレンド分解モデル212を訓練することができる。このようにして、モデル訓練器210は、各々が時系列データ値152の分解成分220のうちの1つを生成する役割を担うモデル212の「連鎖」を訓練することができる。
【0027】
いくつかの実施態様では、予測器170は、モデル212によって予測または決定される複数の成分220の和に基づいて、期待データ値152Eを予測する。例えば、予測器170は、トレンド成分220、休日効果成分220、季節周期成分220、および段階的変化成分220の和に基づいて期待データ値152Eを予測する。(例えば、将来のデータ値152Fについて)段階的変化成分220を予測できないシナリオでは、予測器170は、トレンド成分220、休日効果成分220、および季節周期成分220の和に基づいて、期待データ値152Eを予測することができる。予測器170は、期待データ値152Eを検知器310に提供する。
【0028】
ここで図3を参照すると、いくつかの例では、検知器310は、各々の期待データ値152Eと、期待データ値152Eを予測または予想するために使用されるグランドトゥルースデータ値152G(例えば、測定により検証される過去のデータ値152H)との差を決定する。この差に基づいて、検知器310は、グランドトゥルースデータ値152Gが異常であるか否かを判定する。いくつかの実施態様では、検知器310は上限322および下限324を定義する区間サイズ320を決定する。上限322および下限324に基づいて、検知器310は、グランドトゥルースデータ値152Gが閾値を満たし、異常であるか否かを判定する。いくつかの例では、上限322は期待データ値152Eに区間サイズ320を加えたものに等しく、下限324は期待データ値152Eから区間サイズ320を引いたものに等しい。例えば、グランドトゥルースデータ値152Gが、期待データ値152Eを上限322によって設定される値より多く、または下限324によって設定される値未満上回るとき、検知器310は、グランドトゥルースデータ値152Gが異常であると判定する。逆に、グランドトゥルースデータ値152Gが上限322より小さく、下限324より大きい場合(すなわち、期待データ値152Eに十分に近い場合)、検知器310はグランドトゥルースデータ値152Gが異常でないと判定する。
【0029】
いくつかの実施態様では、検知器310は、訓練済みモデルからの標準誤差312および/または異常確率閾値314に基づいて、区間サイズ320、上限322および下限324を決定する。標準誤差312は、モデル212の訓練中に測定される誤差の量を表す。例えば、誤差が大きい(すなわち、訓練中に予測される期待データ値152Eに有意な誤差があった)モデル212は信頼性が低く、その結果、区間サイズ320が大きくなる。他方では、高精度のモデル212(すなわち、標準誤差312が小さい)は、区間サイズ320が比較的小さくなり得る。異常確率閾値314は、区間サイズ320に影響を与える(例えば、クエリ20を介して受信される)ユーザ設定可能な値であってもよい。異常確率閾値314は、区間サイズ320、したがって、グランドトゥルースデータ値152Gが異常である可能性をカスタマイズまたは設定する能力をユーザ12に提供する。すなわち、異常確率閾値314は、ユーザ12が偽陽性の割合を設定することを可能にする。ユーザ12が偽陽性に対して敏感である場合、ユーザ12は小さな異常確率閾値314を選択することができる。逆に、検知が偽陽性よりも重要な場合、ユーザ12はより大きな異常確率閾値314を選択することができる。いくつかの例では、異常確率閾値314は、検知器310が時系列データ値152を異常として報告する前に達成しなければならない信頼度閾値を設定する。例えば、ユーザ12は95%の異常確率閾値314を提供し、その結果、検知器310は、検知器310が異常である確率が95%以上であると判定した時系列データ値152のみを異常として報告する。これらの実施態様では、検知器310は、異常確率閾値314が大きければ大きいほど区間サイズ320を小さくする。
【0030】
図示されている例では、プロット330は、第1の期待データ値152E、152Eaおよび第1のグランドトゥルースデータ値152G、152Gaを含む。この例では、第1の上限322、322aは、第1の期待データ値152Eaに、1つの区間サイズ320を加えたプロット330のy軸の値に及ぶ。同様に、第1の下限324、324aは、第1の期待データ値152Eaから、1つの区間サイズ320を引いたプロット330のy軸の値に及ぶ。ここで、第1のグランドトゥルースデータ値152Gaは、第1の下限324aより大きく、第2の上限(second upper bound)322aより小さいため、検知器310は、第1のグランドトゥルースデータ値152Gaが異常でないと判定する。プロット330の第2の期待データ値152E、152Ebにより、第2の上限322、322bおよび第2の下限324、324bが設定される。このとき、第2のグランドトゥルースデータ値152G、152Gbは、第2の上限322bより大きいため、検知器310は、第2のグランドトゥルースデータ値152Gが異常であると判定する。図示していないが、検知器310は、モデル212が予測する各々の期待データ値152Eについて、(区間サイズ320に基づいて)上限322および下限324を決定することができる。各々の期待データ値152Eの上限322および下限324を用いて、検知器310は対応するグランドトゥルースデータ値152G(すなわち、期待データ値152Eと比較される実際の時系列データ値152)が異常であるか否かを判定する。検知器310は、異常データ値152Aのみをユーザ12に報告することができる。追加的または代替的に、検知器310は、各々の時系列データ値152について、比較に関するデータ(例えば、期待データ値152Eとグランドトゥルースデータ値152Gとの間の相対差)を報告する。
【0031】
図4は、時系列データの異常を検知する方法400のための例示的な処理の配置のフローチャートである。本方法400は、処理402において、ユーザ12から時系列異常検知クエリ20を受信するステップを含む。時系列異常検知クエリ20は、時系列データ値152のセット内の1つまたは複数の異常を判定するようにデータ処理ハードウェア142に要求する。本方法400は、処理404において、時系列データ値152のセット内の時系列データ値152の各々を用いて1つまたは複数のモデル212を訓練するステップを含む。本方法400は、処理406において、時系列データ値152のセットにおけるそれぞれの時系列データ値152各々に関して、訓練済みの1つまたは複数のモデル212を用いて、それぞれの時系列データ値152に対する期待データ値152Eを決定するステップを含む。本方法400は、処理408において、それぞれの時系列データ値152に対する期待データ値152Eとそれぞれの時系列データ値152との差を決定するステップを含む。本方法400は、処理410において、それぞれの時系列データ値152に対する期待データ値152Eとそれぞれの時系列データ値152との差が閾値を満たすと判定するステップを含む。本方法400は、処理412において、それぞれの時系列データ値152に対する期待データ値152Eとそれぞれの時系列データ値152との差が閾値を満たすと判定したことに応答して、それぞれの時系列データ値152が異常であると判定するステップを含む。本方法400は、処理414において、異常なそれぞれの時系列データ値152Aをユーザ12に報告するステップを含む。
【0032】
図5は、本文書に記載されるシステムおよび方法を実施するために使用され得る、例示的コンピューティングデバイス500の概略図である。コンピューティングデバイス500は、ラップトップ、デスクトップ、ワークステーション、パーソナルデジタルアシスタント、サーバ、ブレードサーバ、メインフレーム、および他の適切なコンピュータなどの様々な形態のデジタルコンピュータを表すことが意図されている。本明細書に示されるコンポーネント、それらの接続および関係、ならびにそれらの機能は、例示的なものに過ぎないことが意図されており、本文書で記載および/または特許請求される発明の実施を制限することを意図していない。
【0033】
コンピューティングデバイス500は、プロセッサ510、メモリ520、ストレージデバイス530、メモリ520および高速拡張ポート550に接続する高速インタフェース/コントローラ540、ならびに低速バス570およびストレージデバイス530に接続する低速インタフェース/コントローラ560を備える。コンポーネント510、520、530、540、550および560の各々は、様々なバスを用いて相互接続されており、共通のマザーボードに、または適宜他の方法で設置され得る。プロセッサ510は、高速インタフェース540に結合されているディスプレイ580などの外部入出力デバイス上にグラフィカルユーザインタフェース(GUI)用のグラフィカル情報を表示するために、メモリ520またはストレージデバイス530に記憶されている命令を含む、コンピューティングデバイス500内で実行するための命令を処理することができる。他の実施態様では、複数のプロセッサおよび/または複数のバスは、複数のメモリおよび複数のメモリの種類とともに、適宜使用することができる。また、複数のコンピューティングデバイス500が接続され、各々のデバイスは必要な処理の一部を提供する(例えば、サーババンク、ブレードサーバのグループ、またはマルチプロセッサシステム)。
【0034】
メモリ520は、コンピューティングデバイス500内の情報を非一時的に記憶する。メモリ520は、コンピュータ可読媒体、揮発性メモリユニット、または不揮発性メモリユニットであってよい。非一時的メモリ520は、コンピューティングデバイス500によって使用されるプログラム(例えば、命令のシーケンス)またはデータ(例えば、プログラム状態情報)を一時的または永続的に記憶するために使用される物理的デバイスであってよい。不揮発性メモリの例として、フラッシュメモリおよび読み取り専用メモリ(ROM)/プログラマブル読み取り専用メモリ(PROM)/消去可能なプログラマブル読み取り専用メモリ(EPROM)/電気的に消去可能なプログラマブル読み取り専用メモリ(EEPROM)(例えば、典型的には起動プログラムなどのファームウェアに使用される)が挙げられるが、これらに限定されない。揮発性メモリの例として、ランダムアクセスメモリ(RAM)、ダイナミックランダムアクセスメモリ(DRAM)、スタティックランダムアクセスメモリ(SRAM)、相変化メモリ(PCM)、およびディスクまたはテープが挙げられるが、これらに限定されない。
【0035】
ストレージデバイス530は、コンピューティングデバイス500に大容量ストレージを提供することができる。いくつかの実施態様では、ストレージデバイス530は、コンピュータ可読媒体である。種々の異なる実施態様では、ストレージデバイス530は、フロッピー(登録商標)ディスクデバイス、ハードディスクデバイス、光ディスクデバイス、またはテープデバイス、フラッシュメモリもしくは他の類似のソリッドステートメモリデバイス、またはストレージエリアネットワークもしくは他の構成のデバイスを含むデバイスのアレイであってもよい。さらなる実施態様では、コンピュータプログラム製品は、情報担体に有形に具体化される。コンピュータプログラム製品は、実行したときに、上述したような1つまたは複数の方法を実行する命令を含む。情報担体は、メモリ520、ストレージデバイス530、またはプロセッサ510上のメモリなどのコンピュータまたは機械可読媒体である。
【0036】
高速コントローラ540は、コンピューティングデバイス500の帯域幅集中型の処理を管理するが、低速コントローラ560は、低帯域幅集中型の処理を管理する。このような動作の割り当ては例示的なものに過ぎない。いくつかの実施態様では、高速コントローラ540は、メモリ520、ディスプレイ580(例えば、グラフィックプロセッサまたはアクセラレータを通じて)、および様々な拡張カード(図示せず)を受容できる高速拡張ポート550に結合される。いくつかの実施態様では、低速コントローラ560は、ストレージデバイス530および低速拡張ポート590に結合されている。様々な通信ポート(例えば、USB、ブルートゥース(登録商標)、イーサネット(登録商標)、無線イーサネット)を備えることができる低速拡張ポート590は、キーボード、ポインティングデバイス、スキャナなどの1つもしくは複数の入出力デバイス、または例えば、ネットワークアダプタを介して、スイッチもしくルータなどのネットワーキングデバイスに結合することができる。
【0037】
コンピューティングデバイス500は、図示されているように複数の異なる形態で実装され得る。例えば、コンピューティングデバイス500は、標準サーバ500aとして、またはそのようなサーバ群500aに複数回、ラップトップコンピュータ500bとして、またはラックサーバシステム500cの一部として実装されてもよい。
【0038】
本明細書に記載のシステムおよび技術の様々な実施態様は、デジタル電子回路および/もしくは光回路、集積回路、特別に設計されたASIC(特定用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェア、ならびに/またはそれらの組み合わせで実現することができる。これらの様々な実施態様は、特殊目的または汎用目的であることができ、記憶システム、少なくとも1つの入力デバイスおよび少なくとも1つの出力デバイスからデータおよび命令を受信し、記憶システム、少なくとも1つの入力デバイスおよび少なくとも1つの出力デバイスへのデータおよび命令を送信するように結合されている少なくとも1つのプログラマブルプロセッサを備えたプログラマブルシステム上で実行可能および/または解釈可能な1つまたは複数のコンピュータプログラムにおける実装形態を含むことができる。
【0039】
ソフトウェアアプリケーション(すなわち、ソフトウェアリソース)は、コンピューティングデバイスにタスクを実行させるコンピュータソフトウェアを指すことができる。いくつかの例では、ソフトウェアアプリケーションは、「アプリケーション」、「アプリ」、または「プログラム」と呼ばれることがある。例示的なアプリケーションとしては、システム診断アプリケーション、システム管理アプリケーション、システムメンテナンスアプリケーション、文書処理アプリケーション、表計算アプリケーション、メッセージングアプリケーション、メディアストリーミングアプリケーション、ソーシャルネットワーキングアプリケーション、およびゲームアプリケーションが挙げられるが、これらに限定されない。
【0040】
これらのコンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーションまたはコードとしても知られる)は、プログラマブルプロセッサ用の機械命令を含み、高レベルの手続き型および/もしくはオブジェクト指向プログラミング言語、ならびに/またはアセンブリ/機械言語で実装することができる。本明細書で使用される場合、「機械可読媒体」および「コンピュータ可読媒体」という用語は、機械命令を機械可読信号として受信する機械可読媒体を含めて、機械命令および/またはデータをプログラマブルプロセッサに提供するために使用される任意のコンピュータプログラム製品、非一時的コンピュータ可読媒体、装置および/またはデバイス(例えば、磁気ディスク、光ディスク、メモリ、プログラマブルロジックデバイス(PLD))を指す。「機械可読信号」という用語は、機械命令および/またはデータをプログラマブルプロセッサに提供するために使用される任意の信号を指す。
【0041】
本明細書に記載のプロセスおよび論理フローは、1つまたは複数のコンピュータプログラムを実行し、入力データを処理して出力を生成することによって機能を実行する、データ処理ハードウェアとも呼ばれる1つまたは複数のプログラマブルプロセッサによって実行できる。プロセスおよび論理フローは、特殊用途の論理回路、例えばFPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)によっても実行できる。コンピュータプログラムの実行に適したプロセッサには、例として、汎用および特殊用途のマイクロプロセッサの両方、ならびに任意の種類のデジタルコンピュータの任意の1つまたは複数のプロセッサが含まれる。一般に、プロセッサは、読み取り専用メモリもしくはランダムアクセスメモリ、またはその両方から命令およびデータを受信する。コンピュータの必須の要素は、命令を実行するためのプロセッサ、ならびに命令およびデータを記憶するための1つまたは複数のメモリデバイスである。一般に、コンピュータは、データを記憶するための1つまたは複数の大容量ストレージデバイス、例えば磁気ディスク、光磁気ディスク、または光ディスクをさらに備えるか、またはこれらからデータを受信する、もしくはこれらにデータを転送する、もしくはその両方を行うように動作可能にこれらに結合されている。しかし、コンピュータがそのようなデバイスを有している必要はない。コンピュータプログラム命令およびデータを記憶するのに適したコンピュータ可読媒体としては、あらゆる形態の不揮発性メモリ、媒体およびメモリデバイスが挙げられ、例えば、半導体メモリデバイス、例えば、EPROM、EEPROMおよびフラッシュメモリデバイス;磁気ディスク、例えば、内蔵ハードディスクまたはリムーバブルディスク;光磁気ディスク;ならびにCD ROMおよびDVD-ROMディスクが挙げられる。プロセッサおよびメモリは、特殊用途の論理回路が追加されるか、または特殊用途の論理回路に組み込まれ得る。
【0042】
ユーザとの対話を提供するために、本開示の1つまたは複数の態様は、ユーザに情報を表示するためのディスプレイデバイス、例えば、CRT(ブラウン管)、LCD(液晶ディスプレイ)モニタ、またはタッチスクリーンと、任意選択で、ユーザがコンピュータに入力を提供することができるキーボードおよびポインティングデバイス、例えば、マウスまたはトラックボールとを有するコンピュータに実装することができる。他の種類のデバイスを用いて同様にユーザとの対話を提供することができ、例えば、ユーザに提供されるフィードバックは、任意の形式の感覚フィードバック、例えば、視覚フィードバック、聴覚フィードバック、または触覚フィードバックとすることができ、ユーザからの入力は、音響入力、音声入力、または触覚入力を含むいかなる形式でも受信することができる。加えて、コンピュータは、ユーザが使用するデバイスに文書を送信し、デバイスから文書を受信することによって、例えば、ウェブブラウザから受信した要求に応じて、ユーザのクライアントデバイス上のウェブブラウザにウェブページを送信することによって、ユーザと対話することができる。
【0043】
複数の実施態様を説明してきた。それでもやはり、本開示の趣旨および範囲から逸脱することなく、様々な修正を加えることができることが理解されるであろう。したがって、他の実施態様は、以下の特許請求の範囲内である。
図1
図2
図3
図4
図5
【手続補正書】
【提出日】2024-05-17
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
データ処理ハードウェア(144)によって実行されると、前記データ処理ハードウェア(144)に処理を実行させ、前記処理は、
時系列異常検知クエリ(20)をユーザ(12)から受信することを含み、前記時系列異常検知クエリ(20)は、時系列データ値(152)のセット内の1つまたは複数の異常を判定するように前記データ処理ハードウェア(144)に要求し、
前記時系列データ値(152)のセット内の各々の時系列データ値(152)を用いて1つまたは複数のモデル(212)を訓練することを含み、
前記時系列データ値(152)のセットにおけるそれぞれの時系列データ値(152の各々に関して、
前記訓練済みの1つまたは複数のモデル(212)を用いて、前記それぞれの時系列データ値(152)に対する期待データ値(152E)を決定することと、
前記それぞれの時系列データ値(152)に対する前記期待データ値(152E)と前記それぞれの時系列データ値(152)との差を決定することと、
前記それぞれの時系列データ値(152)に対する前記期待データ値(152E)と前記それぞれの時系列データ値(152)との差が閾値(314)を満たすと判定することと、
前記それぞれの時系列データ値(152)に対する前記期待データ値(152E)と前記それぞれの時系列データ値(152)との差が前記閾値(314)を満たすと判定したことに応答して、前記それぞれの時系列データ値(152)が異常であると判定することと、
前記異常なそれぞれの時系列データ値(152A)を前記ユーザ(12)に報告することとを含む、コンピュータが実行する方法(400)。
【請求項2】
前記訓練済みの1つまたは複数のモデル(212)を用いて、前記それぞれの時系列データ値(152)に対する前記期待データ値(152E)を決定することは、前記訓練済みの1つまたは複数のモデル(212)を用いて、前記時系列データ値(152)のセット内の各々の時系列データ値(152)を複数の成分(220)に分解することを含む、請求項1に記載の方法(400)。
【請求項3】
前記訓練済みの1つまたは複数のモデル(212)を用いて、前記それぞれの時系列データ値(152)に対する前記期待データ値(152E)を決定することは、前記複数の成分(220)のうちの2つ以上の成分(220)を集約することをさらに含む、請求項2に記載の方法(400)。
【請求項4】
前記1つまたは複数のモデル(212)は、前記複数の成分(220)の成分(220)ごとに別個のモデル(212)を含む、請求項2または請求項3に記載の方法(400)。
【請求項5】
前記複数の成分(220)は、トレンド成分(220)、休日効果成分(220)、季節成分(220)、および段階的変化成分(220)のうちの1つまたは複数を含む、請求項2または請求項3に記載の方法(400)。
【請求項6】
前記閾値(314)は、前記ユーザ(12)から受信した異常確率に基づく、請求項1~請求項のいずれか1項に記載の方法(400)。
【請求項7】
前記時系列異常検知クエリ(20)は、単一の構造化照会言語(SQL)クエリを含む、請求項1~請求項のいずれか1項に記載の方法(400)。
【請求項8】
前記単一のSQLクエリは、時系列データ値(152)の複数のセット内の1つまたは複数の異常データ値(152A)を判定するように前記データ処理ハードウェア(144)に要求する、請求項7に記載の方法(400)。
【請求項9】
前記1つまたは複数のモデル(212)のうちの少なくとも1つは、自己回帰和分移動平均モデルを含む、請求項1~請求項のいずれか1項に記載の方法(400)。
【請求項10】
前記処理は、
前記訓練済みの1つまたは複数のモデル(212)を用いて、将来の時系列データ値(152F)を予測することと、
前記将来の時系列データ値(152F)を予測した後、前記将来の時系列データ値(152F)に関連付けられている付加的な時系列データ値(152)を受信することと、
前記将来の時系列データ値(152F)と前記付加的な時系列データ値(152)との差を決定することと、
前記将来の時系列データ値(152F)と前記付加的な時系列データ値(152)との差が前記閾値(314)を満たすと判定することと、
前記将来の時系列データ値(152F)と前記付加的な時系列データ値(152)との差が前記閾値(314)を満たすと判定したことに応答して、前記付加的な時系列データ値(152)が異常であると判定することと、
前記異常な付加的な時系列データ値(152A)を前記ユーザ(12)に報告することとをさらに含む、請求項1~請求項のいずれか1項に記載の方法(400)。
【請求項11】
前記時系列データ値(152)のセットは単変量時系列データ値(152)のセットを含む、請求項1~請求項のいずれか1項に記載の方法(400)。
【請求項12】
データ処理ハードウェア(144)と、
前記データ処理ハードウェア(144)と通信するメモリハードウェアとを備え、前記メモリハードウェアは、前記データ処理ハードウェア(144)上で実行されると前記データ処理ハードウェア(144)に、処理を実行させる命令を記憶し、前記処理は、
時系列異常検知クエリ(20)をユーザ(12)から受信することを含み、前記時系列異常検知クエリ(20)は、時系列データ値(152)のセット内の1つまたは複数の異常を判定するように前記データ処理ハードウェア(144)に要求し、
前記時系列データ値(152)のセット内の各々の時系列データ値(152)を用いて1つまたは複数のモデル(212)を訓練することを含み、
前記時系列データ値(152)のセットにおけるそれぞれの時系列データ値(152)の各々に関して、
前記訓練済みの1つまたは複数のモデル(212)を用いて、前記それぞれの時系列データ値(152)に対する期待データ値(152E)を決定することと、
前記それぞれの時系列データ値(152)に対する前記期待データ値(152E)と前記それぞれの時系列データ値(152)との差を決定することと、
前記それぞれの時系列データ値(152)に対する前記期待データ値(152E)と前記それぞれの時系列データ値(152)との差が閾値(314)を満たすと判定することと、
前記それぞれの時系列データ値(152)に対する前記期待データ値(152E)と前記それぞれの時系列データ値(152)との差が前記閾値(314)を満たすと判定したことに応答して、前記それぞれの時系列データ値(152)が異常であると判定することと、
前記異常なそれぞれの時系列データ値(152A)を前記ユーザ(12)に報告することとを含む、システム(100)。
【請求項13】
前記訓練済みの1つまたは複数のモデル(212)を用いて、前記それぞれの時系列データ値(152)に対する前記期待データ値(152E)を決定することは、前記訓練済みの1つまたは複数のモデル(212)を用いて、前記時系列データ値(152)のセット内の各々の時系列データ値(152)を複数の成分(220)に分解することを含む、請求項12に記載のシステム(100)。
【請求項14】
前記訓練済みの1つまたは複数のモデル(212)を用いて、前記それぞれの時系列データ値(152)に対する前記期待データ値(152E)を決定することは、前記複数の成分(220)のうちの2つ以上の成分(220)を集約することをさらに含む、請求項13に記載のシステム(100)。
【請求項15】
前記1つまたは複数のモデル(212)は、前記複数の成分(220)の成分ごとに別個のモデル(212)を含む、請求項13または請求項14に記載のシステム(100)。
【請求項16】
前記複数の成分(220)は、トレンド成分(220)、休日効果成分(220)、季節成分(220)、および段階的変化成分(220)のうちの1つまたは複数を含む、請求項13または請求項14に記載のシステム(100)。
【請求項17】
前記閾値(314)は、前記ユーザ(12)から受信した異常確率に基づく、請求項12~請求項14のいずれか1項に記載のシステム(100)。
【請求項18】
前記時系列異常検知クエリ(20)は、単一の構造化照会言語(SQL)クエリを含む、請求項12~請求項14のいずれか1項に記載のシステム(100)。
【請求項19】
前記単一のSQLクエリは、時系列データ値(152)の複数のセット内の1つまたは複数の異常データ値(152A)を判定するように前記データ処理ハードウェア(144)に要求する、請求項18に記載のシステム(100)。
【請求項20】
前記1つまたは複数のモデル(212)のうちの少なくとも1つは、自己回帰和分移動平均モデルを含む、請求項12~請求項14のいずれか1項に記載のシステム(100)。
【請求項21】
前記処理は、
前記訓練済みの1つまたは複数のモデル(212)を用いて、将来の時系列データ値(152F)を予測することと、
前記将来の時系列データ値(152F)を予測した後、前記将来の時系列データ値(152F)に関連付けられている付加的な時系列データ値(152)を受信することと、
前記将来の時系列データ値(152F)と前記付加的な時系列データ値(152)との差を決定することと、
前記将来の時系列データ値(152F)と前記付加的な時系列データ値(152)との差が前記閾値(314)を満たすと判定することと、
前記将来の時系列データ値(152F)と前記付加的な時系列データ値(152)との差が前記閾値(314)を満たすと判定したことに応答して、前記付加的な時系列データ値(152)が異常であると判定することと、
前記異常な付加的な時系列データ値(152A)を前記ユーザ(12)に報告することとをさらに含む、請求項12~請求項14のいずれか1項に記載のシステム(100)。
【請求項22】
前記時系列データ値(152)のセットは単変量時系列データ値(152)のセットを含む、請求項12~請求項14のいずれか1項に記載のシステム(100)。
【国際調査報告】