次の方法で共有


Azure Time Series Insights Gen2 のタイム シリーズ モデル

Time Series Insights サービスは、2024 年 7 月 7 日に廃止されます。 既存の環境をできるだけ早く別のソリューションに移行することを検討してください。 非推奨と移行の詳細については、ドキュメントを参照してください。

この記事ではタイム シリーズ モデルに関して、機能、および Azure Time Series Insights Gen2 環境で独自のモデルのビルドと更新を開始する方法について説明します。

ヒント

概要

これまで、IoT デバイスから収集されたデータにはコンテキスト情報が不足していたため、センサーをすばやく検索して分析することが困難でした。 タイム シリーズ モデルの主な目的は、IoT データまたはタイム シリーズ データの検索と分析を簡素化することです。 この目的は、時系列データのキュレーション、メンテナンス、エンリッチメントを可能にし、分析用のコンシューマー対応データセットを簡単に準備できるようにすることで達成されます。

シナリオ: Contoso の新しいスマート オーブン

Contoso のスマート オーブンについての架空のシナリオを考えてみましょう。 このシナリオでは、各 Contoso スマート オーブンには 5 つの温度センサーがあり、4 つのトップ バーナーのそれぞれに 1 つずつと、オーブン自体に 1 つあると仮定します。 最近までは、各 Contoso の温度センサーは、データを個別に送信、格納、視覚化していました。 キッチンのアプライアンス監視では、Contoso は個々のセンサーごとに 1 つの基本的なグラフを使用していました。

Contoso は初期データと視覚化ソリューションに満足していましたが、いくつかの制限が明らかになっています。

  • お客様は、トップ バーナーのほとんどがオンになったときに、オーブン全体がどの程度加熱されるかを知りたいと考えました。 Contoso にとって、オーブン全体の状況について統一された回答を分析して提示するのは困難でした。
  • Contoso のエンジニアは、トップ バーナーの同時稼働により、効率の悪い電力消費が起こらないことを確認する必要がありました。 どの温度センサーと電圧センサーが相互に関連付けられているか、およびそれらをストア内で特定する方法について、相互参照が困難でした。
  • Contoso 品質保証チームは、2 つのセンサー バージョン間の履歴を監査し、比較する必要がありました。 どのデータがどのセンサー バージョンに属しているかを判断するのは困難でした。

包括的なスマート オーブン タイム シリーズ モデルを構築、整理、および定義する機能がなければ、各温度センサーは切り離されて分離された、情報が少ないデータ ポイントとなります。 これらのデータ ポイントをアクション可能な洞察に変えることは、各データセットが互いに独立しているため、より困難です。

これらの制限により、Contoso の新しいオーブンに付随するスマート データ集計および視覚化ツールの重要性が明らかになります。

  • データの視覚化は、データを関連付けて便利なビューに結合できる場合に便利です。 1 つの例として、電圧センサーと温度センサーを示しています。
  • 複数のエンティティの多次元データを比較、ズーム、時間範囲の機能と共に管理することは実現困難な場合があります。

Time Series Model は、 この架空の例で発生する多くのシナリオに便利なソリューションを提供します。

タイム シリーズ モデルのスマート オーブンのグラフ作成の例

  • タイム シリーズ モデルは、クエリとナビゲーションで重要な役割を果たします。これは、時間の範囲やセンサーとデバイスの種類の間で比較を描画できるようにすることで、データをコンテキスト化するためです。 (A)
  • タイム シリーズ モデルで保持されるデータは、タイム シリーズ クエリの計算を変数として保持し、クエリ時にそれらを再利用するため、データはさらにコンテキスト化します。
  • タイム シリーズ モデルは、視覚化と管理能力を向上させるためにデータを整理して集計します。 (B)

主要な機能

タイム シリーズ データのコンテキスト化をシンプルかつ簡単に管理できるようにするため、タイム シリーズ モデルでは、Time Series Insights Gen2 で次の機能が使用できるようになっています。 これは以下のことに役立ちます。

  • スカラー関数を活用した計算や数式の作成と管理、操作の集計などを行う。
  • 親子関係を定義して、ナビゲーション、検索、および参照を有効にする。
  • インスタンス フィールドとして定義されたインスタンスに関連付けられているプロパティを定義し、それらを使用して階層を作成します。

コンポーネント

タイム シリーズ モデルには、次の 3 つの主要なコンポーネントがあります。

これらのコンポーネントは、タイム シリーズ モデルを指定し、データを整理するために組み合わされています。

タイム シリーズ モデルの概要グラフ

時系列モデルは、 Azure Time Series Insights エクスプローラーを使用して作成および管理できます。 タイム シリーズ モデルの設定は、 モデル設定 API を使用して管理できます。

タイム シリーズ モデルのインスタンス

タイム シリーズ モデル インスタンスは、 時系列自体の仮想表現です。

ほとんどの場合、インスタンスは deviceId または assetId によって一意に識別され、時系列 ID として保存されます。

インスタンスには、時系列 ID、型、名前、説明、階層、インスタンス フィールドなど、 インスタンス プロパティと呼ばれる説明情報が関連付けられています。 インスタンス プロパティには、少なくとも階層情報が含まれます。

インスタンス フィールド は、階層レベルの値だけでなく、製造元、演算子などの値を含めることができる説明情報のコレクションです。

Azure Time Series Insights Gen2 環境に対してイベント ソースが構成された後、インスタンスが自動的に検出され、タイム シリーズ モデルで作成されます。 インスタンスは、タイム シリーズ モデルのクエリを使用して Azure Time Series Insights Explorer で作成または更新できます。

Time Series Model インスタンスの例

インスタンスのプロパティ

インスタンスは、timeSeriesIdtypeId名前説明hierarchyId、instanceFields によって定義されます。 各インスタンスは、1 つの と 1 つ以上の 階層にのみマップされます。

プロパティ 説明
timeSeriesId インスタンスが関連付けられている時系列の一意の ID。 ほとんどの場合、インスタンスは、deviceId や assetId などのプロパティによって一意に識別されます。 場合によっては、最大 3 つのプロパティを組み合わせたより具体的な複合 ID を使用できます。
typeId インスタンスが関連付けられているタイム シリーズ モデルの種類の一意の文字列 ID (大文字と小文字を区別します)。 既定では、検出されたすべての新しいインスタンスは既定の型に関連付けられます。
名前 name プロパティは省略可能であり、大文字と小文字が区別されます。 名前を使用できない場合、既定では timeSeriesId になります。 名前が指定されている場合、 timeSeriesIdウェルで引き続き使用できます。
説明 インスタンスの説明テキスト。
階層ID インスタンスが属する階層を定義します。
インスタンスフィールド インスタンスのプロパティ、およびインスタンスを定義する任意の静的データ。 これらによって、階層プロパティや非階層プロパティの値が定義されます。また、検索操作を実行するためのインデックスを作成することもできます。

階層は、インスタンス フィールドを使用して構築されます。 インスタンス プロパティ定義を追加するために、 instanceFields を追加できます。

インスタンスには、次の JSON 表現があります。

{
  "timeSeriesId": ["PU2"],
  "typeId": "545314a5-7166-4b90-abb9-fd93966fa39b",
  "hierarchyIds": ["95f0a8d1-a3ef-4549-b4b3-f138856b3a12"],
  "description": "Pump #2",
  "instanceFields": {
    "Location": "Redmond",
    "Fleet": "Fleet 5",
    "Unit": "Pump Unit 3",
    "Manufacturer": "Contoso",
    "ScalePres": "0.54",
    "scaleTemp": "0.54"
  }
}

ヒント

インスタンス API の作成、読み取り、更新、削除 (CRUD) のサポートについては、 データクエリ に関する記事と Instance API REST のドキュメントを参照してください。

タイム シリーズ モデルの階層

タイム シリーズ モデル 階層では、 プロパティ名とそのリレーションシップを指定してインスタンスを整理します。

特定の Azure Time Series Insights Gen2 環境で複数の階層を構成できます。 タイム シリーズ モデルのインスタンスは、単一の階層または複数の階層にマップできます (多対多のリレーションシップ)。

タイム シリーズ モデル階層の例

階層の定義

階層は、階層 ID名前、およびソースによって定義 されます

プロパティ 説明
身分証明書 階層の一意識別子。たとえば、インスタンスを定義するときに使用されます。
名前 階層の名前を指定するために使用される文字列。
ソース 組織階層またはパスを指定します。これは、ユーザーが作成する階層の上から下までの親子の順序です。 親子関係のプロパティは、インスタンス フィールドにマップします。

階層は、JSON で次のように表されます。

{
  "hierarchies": [
    {
      "id": "6e292e54-9a26-4be1-9034-607d71492707",
      "name": "Location",
      "source": {
        "instanceFieldNames": [
          "state",
          "city"
        ]
      }
    },
    {
      "id": "a28fd14c-6b98-4ab5-9301-3840f142d30e",
      "name": "ManufactureDate",
      "source": {
        "instanceFieldNames": [
          "year",
          "month"
        ]
      }
    }
  ]
}

前の JSON の例では、次のようになります。

  • Location は親である states と子である cities を持つ階層を定義します。 各 ___location は複数の states を持つことができ、それぞれさらに複数の cities を持つことができます。
  • ManufactureDate は親である year と子である month を持つ階層を定義します。 各 ManufactureDate は複数の years を持つことができ、それぞれさらに複数の months を持つことができます。

ヒント

Hierarchy API の作成、読み取り、更新、削除 (CRUD) のサポートについては、 データクエリ に関する記事と Hierarchy API REST のドキュメントを参照してください。

階層の例

階層 H1instanceFieldNames 定義の一部としてbuildingfloor、およびroomを持つ例を考えてみましょう。

{
  "id": "aaaaaa-bbbbb-ccccc-ddddd-111111",
  "name": "H1",
  "source": {
    "instanceFieldNames": [
      "building",
      "floor",
      "room"
    ]
  }
}

前の定義で使用されているインスタンス フィールドといくつかの時系列によって、階層の属性と値が次の表に示すように表されます。

タイム シリーズ ID インスタンス フィールド
ID1 "building" = "1000"、"floor" = "10"、"room" = "55"
ID2 "building" = "1000"、"room" = "55"
ID3 "階" = "10"
ID4 "building" = "1000"、"floor" = "10"
ID5 "building"、"floor"、"room" のどれも設定されていない。

タイム シリーズ ID1ID4 は、Azure Time Series Insights Explorer の階層 H1 の一部として表示されます。これは、完全に定義され、建物、フロア部屋のパラメーターが正しく順序付けされているためです。

他のインスタンスは、指定されたデータ階層に準拠していないため、 親のないインスタンス に分類されます。

タイム シリーズ モデルの型

時系列モデル は、計算を行うための変数または数式を定義するのに役立ちます。 型は特定のインスタンスに関連付けられています。

型には、1 つ以上の変数を含めることができます。 たとえば、Time Series Model インスタンスは、変数の平均温度最小温度および最大温度で構成される温度センサー型である場合があります。

タイム シリーズ モデルの種類の例

ヒント

Types API の作成、読み取り、更新、削除 (CRUD) のサポートについては、 データクエリ に関する記事と Type API REST のドキュメントを参照してください。

型のプロパティ

タイム シリーズ モデルの型は、 ID名前説明、および 変数によって定義されます。

プロパティ 説明
身分証明書 種類の一意の文字列 ID (大文字と小文字を区別します)。
名前 型の名前を指定するために使用される文字列。
説明 型の文字列の説明。
変数 型に関連付けられている変数を指定します。

型は、次の JSON の例に準拠しています。

{
  "types": [
    {
      "id": "1be09af9-f089-4d6b-9f0b-48018b5f7393",
      "name": "DefaultType",
      "description": "Default type",
      "variables": {
        "EventCount": {
          "kind": "aggregate",
          "value": null,
          "filter": null,
          "aggregation": {
            "tsx": "count()"
          }
        },
        "Interpolated Speed": {
          "kind": "numeric",
          "value": {
              "tsx": "$event['Speed-Sensor'].Double"
          },
          "filter": null,
          "interpolation": {
              "kind": "step",
              "boundary": {
                  "span": "P1D"
              }
          },
          "aggregation": {
              "tsx": "right($value)"
          }
        }
      }
    }
  ]
}

タイム シリーズ モデルの型には、イベントに対する式および計算ルールを指定する多数の変数を含めることができます。 タイム シリーズ モデル変数を定義する方法の詳細を確認する

次のステップ

  • API を使用してモデルを編集する方法の詳細については、 タイム シリーズ モデルのリファレンス ドキュメントを参照してください。

  • 時系列モデル変数を使用して作成できる数式と計算を調べる

  • Azure Time Series Insights Gen2 での データのクエリ について説明します