次の方法で共有


AnomalyDetectorClient.DetectUnivariateEntireSeriesAsync メソッド

定義

オーバーロード

DetectUnivariateEntireSeriesAsync(RequestContent, RequestContext)

[プロトコルメソッド]一括で系列全体の異常を検出します。

DetectUnivariateEntireSeriesAsync(UnivariateDetectionOptions, CancellationToken)

一括で系列全体の異常を検出します。

DetectUnivariateEntireSeriesAsync(RequestContent, RequestContext)

Source:
AnomalyDetectorClient.cs

[プロトコルメソッド]一括で系列全体の異常を検出します。

public virtual System.Threading.Tasks.Task<Azure.Response> DetectUnivariateEntireSeriesAsync (Azure.Core.RequestContent content, Azure.RequestContext context = default);
abstract member DetectUnivariateEntireSeriesAsync : Azure.Core.RequestContent * Azure.RequestContext -> System.Threading.Tasks.Task<Azure.Response>
override this.DetectUnivariateEntireSeriesAsync : Azure.Core.RequestContent * Azure.RequestContext -> System.Threading.Tasks.Task<Azure.Response>
Public Overridable Function DetectUnivariateEntireSeriesAsync (content As RequestContent, Optional context As RequestContext = Nothing) As Task(Of Response)

パラメーター

content
RequestContent

要求の本文として送信するコンテンツ。

context
RequestContext

要求コンテキスト。これは、クライアント パイプラインの既定の動作を呼び出しごとにオーバーライドできます。

戻り値

サービスから返された応答。

例外

content が null です。

サービスから成功以外の状態コードが返されました。

このサンプルでは、必要な要求コンテンツを使用して DetectUnivariateEntireSeriesAsync を呼び出す方法と、結果を解析する方法を示します。

var credential = new AzureKeyCredential("<key>");
var endpoint = new Uri("<https://my-service.azure.com>");
var client = new AnomalyDetectorClient(endpoint, credential);

var data = new {
    series = new[] {
        new {
            value = 123.45f,
        }
    },
};

Response response = await client.DetectUnivariateEntireSeriesAsync(RequestContent.Create(data));

JsonElement result = JsonDocument.Parse(response.ContentStream).RootElement;
Console.WriteLine(result.GetProperty("period").ToString());
Console.WriteLine(result.GetProperty("expectedValues")[0].ToString());
Console.WriteLine(result.GetProperty("upperMargins")[0].ToString());
Console.WriteLine(result.GetProperty("lowerMargins")[0].ToString());
Console.WriteLine(result.GetProperty("isAnomaly")[0].ToString());
Console.WriteLine(result.GetProperty("isNegativeAnomaly")[0].ToString());
Console.WriteLine(result.GetProperty("isPositiveAnomaly")[0].ToString());

このサンプルでは、すべての要求コンテンツで DetectUnivariateEntireSeriesAsync を呼び出す方法と、結果を解析する方法を示します。

var credential = new AzureKeyCredential("<key>");
var endpoint = new Uri("<https://my-service.azure.com>");
var client = new AnomalyDetectorClient(endpoint, credential);

var data = new {
    series = new[] {
        new {
            timestamp = "2022-05-10T14:57:31.2311892-04:00",
            value = 123.45f,
        }
    },
    granularity = "yearly",
    customInterval = 1234,
    period = 1234,
    maxAnomalyRatio = 123.45f,
    sensitivity = 1234,
    imputeMode = "auto",
    imputeFixedValue = 123.45f,
};

Response response = await client.DetectUnivariateEntireSeriesAsync(RequestContent.Create(data), new RequestContext());

JsonElement result = JsonDocument.Parse(response.ContentStream).RootElement;
Console.WriteLine(result.GetProperty("period").ToString());
Console.WriteLine(result.GetProperty("expectedValues")[0].ToString());
Console.WriteLine(result.GetProperty("upperMargins")[0].ToString());
Console.WriteLine(result.GetProperty("lowerMargins")[0].ToString());
Console.WriteLine(result.GetProperty("isAnomaly")[0].ToString());
Console.WriteLine(result.GetProperty("isNegativeAnomaly")[0].ToString());
Console.WriteLine(result.GetProperty("isPositiveAnomaly")[0].ToString());
Console.WriteLine(result.GetProperty("severity")[0].ToString());

注釈

この操作により、系列全体を含むモデルが生成され、各ポイントは同じモデルで検出されます。 このメソッドでは、特定のポイントの前後のポイントを使用して、異常であるかどうかを判断します。 検出全体を使用すると、時系列の全体的な状態をユーザーに提供できます。

要求と応答のペイロードの JSON スキーマを次に示します。

要求本文:

UnivariateDetectionOptionsスキーマ:

{
  series: [
    {
      timestamp: string (date & time), # Optional.
      value: number, # Required.
    }
  ], # Required.
  granularity: "yearly" | "monthly" | "weekly" | "daily" | "hourly" | "minutely" | "secondly" | "microsecond" | "none", # Optional.
  customInterval: number, # Optional.
  period: number, # Optional.
  maxAnomalyRatio: number, # Optional.
  sensitivity: number, # Optional.
  imputeMode: "auto" | "previous" | "linear" | "fixed" | "zero" | "notFill", # Optional.
  imputeFixedValue: number, # Optional.
}

応答本文:

UnivariateEntireDetectionResultスキーマ:

{
  period: number, # Required.
  expectedValues: [number], # Required.
  upperMargins: [number], # Required.
  lowerMargins: [number], # Required.
  isAnomaly: [boolean], # Required.
  isNegativeAnomaly: [boolean], # Required.
  isPositiveAnomaly: [boolean], # Required.
  severity: [number], # Optional.
}

適用対象

DetectUnivariateEntireSeriesAsync(UnivariateDetectionOptions, CancellationToken)

Source:
AnomalyDetectorClient.cs

一括で系列全体の異常を検出します。

public virtual System.Threading.Tasks.Task<Azure.Response<Azure.AI.AnomalyDetector.UnivariateEntireDetectionResult>> DetectUnivariateEntireSeriesAsync (Azure.AI.AnomalyDetector.UnivariateDetectionOptions options, System.Threading.CancellationToken cancellationToken = default);
abstract member DetectUnivariateEntireSeriesAsync : Azure.AI.AnomalyDetector.UnivariateDetectionOptions * System.Threading.CancellationToken -> System.Threading.Tasks.Task<Azure.Response<Azure.AI.AnomalyDetector.UnivariateEntireDetectionResult>>
override this.DetectUnivariateEntireSeriesAsync : Azure.AI.AnomalyDetector.UnivariateDetectionOptions * System.Threading.CancellationToken -> System.Threading.Tasks.Task<Azure.Response<Azure.AI.AnomalyDetector.UnivariateEntireDetectionResult>>
Public Overridable Function DetectUnivariateEntireSeriesAsync (options As UnivariateDetectionOptions, Optional cancellationToken As CancellationToken = Nothing) As Task(Of Response(Of UnivariateEntireDetectionResult))

パラメーター

options
UnivariateDetectionOptions

一変量異常検出の方法。

cancellationToken
CancellationToken

使用する取り消しトークン。

戻り値

例外

options が null です。

このサンプルでは、必要なパラメーターを使用して DetectUnivariateEntireSeriesAsync を呼び出す方法を示します。

var credential = new AzureKeyCredential("<key>");
var endpoint = new Uri("<https://my-service.azure.com>");
var client = new AnomalyDetectorClient(endpoint, credential);

var options = new UnivariateDetectionOptions(new TimeSeriesPoint[] 
{
    new TimeSeriesPoint(3.14f)
{
        Timestamp = DateTimeOffset.UtcNow,
    }
})
{
    Granularity = TimeGranularity.Yearly,
    CustomInterval = 1234,
    Period = 1234,
    MaxAnomalyRatio = 3.14f,
    Sensitivity = 1234,
    ImputeMode = ImputeMode.Auto,
    ImputeFixedValue = 3.14f,
};
var result = await client.DetectUnivariateEntireSeriesAsync(options);

注釈

この操作により、系列全体を含むモデルが生成されます。 各ポイントは、同じモデルで検出されます。 この方法では、特定のポイントの前後のポイントを使用して、異常かどうかを判断します。 全体を検出することで、時系列の全体的な状態をユーザーに提供することができます。

適用対象