チュートリアル: Azure AI サービスを使用した異常検出
このチュートリアルでは、Azure AI サービスを使用して、Azure Synapse Analytics でデータを簡単に強化する方法について説明します。 Azure AI Anomaly Detector を使用して異常を検出します。 Azure Synapse のユーザーは、異常を検出するために強化するテーブルを選択するだけです。
このチュートリアルの内容:
- 時系列データを含む Spark テーブル データセットを取得するための手順。
- Azure Synapse のウィザード エクスペリエンスを使用し、Anomaly Detector を使ってデータを強化する。
Azure サブスクリプションをお持ちでない場合は、開始する前に無料アカウントを作成してください。
前提条件
- Azure Data Lake Storage Gen2 ストレージ アカウントが既定のストレージとして構成されている Azure Synapse Analytics ワークスペース。 使用する Data Lake Storage Gen2 ファイル システムの "Storage Blob データ共同作成者" である必要があります。
- Azure Synapse Analytics ワークスペースの Spark プール。 詳細については、Azure Synapse での Spark プールの作成に関する記事を参照してください。
- Azure Synapse での Azure AI サービスの構成に関するチュートリアルの事前構成手順を完了します。
Azure portal にサインインする
Azure portal にサインインします。
Spark テーブルを作成する
このチュートリアルには Spark テーブルが必要です。
PySpark ノートブックを作成し、次のコードを実行します。
from pyspark.sql.functions import lit
df = spark.createDataFrame([
("1972-01-01T00:00:00Z", 826.0),
("1972-02-01T00:00:00Z", 799.0),
("1972-03-01T00:00:00Z", 890.0),
("1972-04-01T00:00:00Z", 900.0),
("1972-05-01T00:00:00Z", 766.0),
("1972-06-01T00:00:00Z", 805.0),
("1972-07-01T00:00:00Z", 821.0),
("1972-08-01T00:00:00Z", 20000.0),
("1972-09-01T00:00:00Z", 883.0),
("1972-10-01T00:00:00Z", 898.0),
("1972-11-01T00:00:00Z", 957.0),
("1972-12-01T00:00:00Z", 924.0),
("1973-01-01T00:00:00Z", 881.0),
("1973-02-01T00:00:00Z", 837.0),
("1973-03-01T00:00:00Z", 9000.0)
], ["timestamp", "value"]).withColumn("group", lit("series1"))
df.write.mode("overwrite").saveAsTable("anomaly_detector_testing_data")
anomaly_detector_testing_data という名前の Spark テーブルが既定の Spark データベースに表示されます。
Azure AI サービス ウィザードを開く
前の手順で作成した Spark テーブルを右クリックします。 [機械学習]>[モデルを使用した予測] を選択し、ウィザードを開きます。
構成パネルが表示され、事前トレーニング モデルを選択するように求められます。 [Anomaly Detector] を選択します。
Anomaly Detector を構成する
次の詳細を指定して、Anomaly Detector を構成します。
Azure Cognitive Services のリンク サービス: 前提条件の手順の一部として、Azure AI サービスへのリンク サービスを作成しました。 それをここで選択します。
[細分性] : データがサンプリングされる速度。 [monthly](月単位) を選択します。
[Timestamp column](タイムスタンプ列) : 系列の時間を表す列。 [timestamp (string)](timestamp (文字列)) を選択します。
[Time series value column](時系列値列) : [Timestamp column](タイムスタンプ列) で指定した時間における系列の値を表す列。 [value (double)] を選択します。
[Grouping column](グループ化列) : 系列をグループ化する列。 つまり、この列に同じ値を含むすべての行は 1 つの時系列を形成します。 [group (string)](group (文字列)) を選択します。
完了したら、 [Open notebook](ノートブックを開く) を選択します。 これにより、Azure AI サービスを使用して異常を検出する PySpark コードを含むノートブックが生成されます。
ノートブックを実行する
先ほど開いたノートブックでは、SynapseML ライブラリ を使用して Azure AI サービスに接続します。 指定した Azure AI サービスのリンク サービスを使用すると、シークレットを開示することなく、このエクスペリエンスからコグニティブ サービスを安全に参照できます。
これで、すべてのセルを実行して異常検出を実行できるようになりました。 [すべて実行] を選択します。 Azure AI サービスの Anomaly Detector の詳細をご覧ください。