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

この記事ではタイム シリーズ モデルに関して、機能、および Azure Time Series Insights Gen2 環境で独自のモデルのビルドと更新を開始する方法について説明します。This article describes Time Series Model, the capabilities, and how to start building and updating your own models in the Azure Time Series Insights Gen2 environment.

ヒント

まとめSummary

これまで、IoT デバイスから収集されたデータにはコンテキスト情報が不足していたため、センサーをすばやく検索して分析することが困難でした。Traditionally, the data that's collected from IoT devices lacks contextual information, which makes it difficult to find and analyze sensors quickly. タイム シリーズ モデルの主な目的は、IoT データまたはタイム シリーズ データの検索と分析を簡素化することです。The main motivation for Time Series Model is to simplify finding and analyzing IoT or Time Series data. この目的は、時系列データのキュレーション、メンテナンス、エンリッチメントを可能にし、分析用のコンシューマー対応データセットを簡単に準備できるようにすることで達成されます。It achieves this objective by enabling the curation, maintenance, and enrichment of time series data to help prepare consumer-ready datasets for analytics.

シナリオ:Contoso の新しいスマート オーブンScenario: Contoso's new smart oven

Contoso のスマート オーブンについての架空のシナリオを考えてみましょう。Consider the fictitious scenario of a Contoso smart oven. このシナリオでは、各 Contoso スマート オーブンには 5 つの温度センサーがあり、4 つのトップ バーナーのそれぞれに 1 つずつと、オーブン自体に 1 つあると仮定します。In this scenario, suppose that each Contoso smart oven has five temperature sensors, one for each of four top burners and one for the oven itself. 最近までは、各 Contoso の温度センサーは、データを個別に送信、格納、視覚化していました。Until recently, each Contoso temperature sensor sent, stored, and visualized its data individually. キッチンのアプライアンス監視では、Contoso は個々のセンサーごとに 1 つの基本的なグラフを使用していました。For its kitchen appliance monitoring, Contoso relied on basic charts, one for each individual sensor.

Contoso は初期データと視覚化ソリューションに満足していましたが、いくつかの制限が明らかになっています。While Contoso was satisfied with its initial data and visualization solution, several limitations became apparent:

  • お客様は、トップ バーナーのほとんどがオンになったときに、オーブン全体がどの程度加熱されるかを知りたいと考えました。Customers wanted to know how hot the overall oven would get when most of the top burners were on. Contoso にとって、オーブン全体の状況について統一された回答を分析して提示するのは困難でした。Contoso had more difficulty analyzing and presenting a unified answer about the conditions of the overall oven.
  • Contoso のエンジニアは、トップ バーナーの同時稼働により、効率の悪い電力消費が起こらないことを確認する必要がありました。Contoso engineers wanted to verify that the top burners being run simultaneously wouldn't result in inefficient power draw. どの温度センサーと電圧センサーが相互に関連付けられているか、およびそれらをストア内で特定する方法について、相互参照が困難でした。There was difficulty cross-referencing which temperature and voltage sensors were associated with each other and how to locate them in the store.
  • Contoso 品質保証チームは、2 つのセンサー バージョン間の履歴を監査し、比較する必要がありました。The Contoso quality assurance team wanted to audit and compare the history between two sensor versions. どのデータがどのセンサー バージョンに属しているかを判断するのは困難でした。There was difficulty determining what data belonged to which sensor version.

包括的なスマート オーブン タイム シリーズ モデルを構築、整理、および定義する機能がなければ、各温度センサーは切り離されて分離された、情報が少ないデータ ポイントとなります。Without the ability to structure, organize, and define the overarching smart oven time series model, each temperature sensor maintained dislocated, isolated, and less informative data points. これらのデータ ポイントをアクション可能な洞察に変えることは、各データセットが互いに独立しているため、より困難です。Turning these data points into actionable insights was more difficult since each dataset lived independently of the others.

これらの制限により、Contoso の新しいオーブンに付随するスマート データ集計および視覚化ツールの重要性が明らかになります。These limitations revealed the importance of smart data aggregation and visualization tools to accompany Contoso's new oven:

  • データの視覚化は、データを関連付けて便利なビューに結合できる場合に便利です。Data visualization proves useful when you're able to associate and combine data into a convenient view. 1 つの例として、電圧センサーと温度センサーを示しています。An example is showing voltage sensors along with temperature sensors.
  • 複数のエンティティの多次元データを比較、ズーム、時間範囲の機能と共に管理することは実現困難な場合があります。Managing multidimensional data for several entities along with comparison, zooming, and time range functionalities can be difficult to accomplish.

この架空の例で発生する多くのシナリオに対して、タイム シリーズ モデルは便利なソリューションを提供しますTime Series Model provides a convenient solution for many of the scenarios encountered in this fictitious example:

タイム シリーズ モデルのスマート オーブン グラフの例Time Series Model smart oven charting example

  • タイム シリーズ モデルは、クエリとナビゲーションで重要な役割を果たします。これは、時間の範囲やセンサーとデバイスの種類の間で比較を描画できるようにすることで、データをコンテキスト化するためです。Time Series Model plays a vital role in queries and navigation because it contextualizes data by allowing comparisons to be drawn across time ranges and between sensor and device kinds. (A)(A)
  • タイム シリーズ モデルで保持されるデータは、タイム シリーズ クエリの計算を変数として保持し、クエリ時にそれらを再利用するため、データはさらにコンテキスト化します。Data is further contextualized because data persisted in Time Series Model preserves time series query computations as variables and reuses them at query time.
  • タイム シリーズ モデルは、視覚化と管理能力を向上させるためにデータを整理して集計します。Time Series Model organizes and aggregates data for improved visualization and management capabilities. (B)(B)

主な機能Key capabilities

タイム シリーズ データのコンテキスト化をシンプルかつ簡単に管理できるようにするため、タイム シリーズ モデルでは、Time Series Insights Gen2 で次の機能が使用できるようになっています。With the goal to make it simple and effortless to manage time series contextualization, Time Series Model enables the following capabilities in Azure Time Series Insights Gen2. これは以下のことに役立ちます。It helps you:

  • スカラー関数を活用した計算や数式の作成と管理、操作の集計などを行う。Author and manage computations or formulas leveraging scalar functions, aggregate operations, and so on.
  • 親子関係を定義して、ナビゲーション、検索、および参照を有効にする。Define parent-child relationships to enable navigation, search, and reference.
  • インスタンス フィールド として定義されたインスタンスに関連付けられたプロパティを定義し、それらを使用して階層を作成する。Define properties that are associated with the instances, defined as instance fields, and use them to create hierarchies.

コンポーネントComponents

タイム シリーズ モデルには、次の 3 つの主要なコンポーネントがあります。Time Series Model has three core components:

これらのコンポーネントは、タイム シリーズ モデルを指定し、データを整理するために組み合わされています。These components are combined to specify a time series model and to organize your data.

タイム シリーズ モデルの概要グラフTime Series Model overview chart

タイム シリーズ モデルは、Azure Time Series Insights Explorer を使用して作成および管理できます。A time series model can be created and managed through the Azure Time Series Insights Explorer. タイム シリーズ モデルの設定は、モデルの設定 API を使用して管理できます。Time Series Model settings can be managed through the Model Settings API.

タイム シリーズ モデルのインスタンスTime Series Model instances

タイム シリーズ モデルの インスタンス は、時系列自体の仮想表現です。Time Series Model instances are virtual representations of the time series themselves.

ほとんどの場合、インスタンスは、時系列 ID として保存されている deviceId または assetId によって一意に識別されます。In most cases, instances are uniquely identified by deviceId or assetId, which are saved as time series IDs.

インスタンスには、時系列 ID、型、名前、説明、階層、インスタンス フィールドなどの インスタンス プロパティ と呼ばれる説明情報が含まれています。Instances have descriptive information associated with them called instance properties, such as a time series ID, type, name, description, hierarchies, and instance fields. インスタンス プロパティには、少なくとも階層情報が含まれます。At a minimum, instance properties include hierarchy information.

インスタンス フィールド は、階層レベルの値、製造元、演算子などを含めることができる説明情報のコレクションです。Instance fields are a collection of descriptive information that can include values for hierarchy levels, as well as manufacturer, operator, and so on.

Azure Time Series Insights Gen2 環境に対してイベント ソースが構成された後、インスタンスが自動的に検出され、タイム シリーズ モデルで作成されます。After an event source is configured for the Azure Time Series Insights Gen2 environment, instances are automatically discovered and created in a time series model. インスタンスは、タイム シリーズ モデルのクエリを使用して Azure Time Series Insights Explorer で作成または更新できます。The instances can be created or updated via the Azure Time Series Insights Explorer by using Time Series Model queries.

Contoso Wind Farm デモには、いくつかのライブ インスタンスの例が用意されています。The Contoso Wind Farm demo provides several live instance examples.

タイム シリーズ モデルのインスタンスの例Time Series Model instance example

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

インスタンスは、timeSeriesIdtypeIdnamedescriptionhierarchyIds、および instanceFields によって定義されます。Instances are defined by timeSeriesId, typeId, name, description, hierarchyIds, and instanceFields. 各インスタンスは、1 つのみの 、および 1 つ以上の 階層 にマップされます。Each instance maps to only one type, and one or more hierarchies.

プロパティProperty 説明Description
timeSeriesIdtimeSeriesId インスタンスが関連付けられている時系列の一意の ID。The unique ID of the time series the instance is associated with. ほとんどの場合、インスタンスは、deviceId や assetId などのプロパティによって一意に識別されます。In most cases, instances are uniquely identified by a property like deviceId or assetId. 場合によっては、最大 3 つのプロパティを組み合わせたより具体的な複合 ID を使用できます。In some cases, a more specific composite ID combining up to 3 properties can be used.
typeIdtypeId インスタンスが関連付けられているタイム シリーズ モデルの種類の一意の文字列 ID (大文字と小文字を区別します)。The case-sensitive unique string ID of the Time Series Model type the instance is associated with. 既定では、検出されたすべての新しいインスタンスは既定の型に関連付けられます。By default, all discovered new instances get associated to a default type.
namename name プロパティは、オプションであり、大文字小文字が区別されます。The name property is optional and case-sensitive. name が使用できない場合は、既定では timeSeriesId になります。If name isn't available, it defaults to timeSeriesId. 名前が指定されている場合は、timeSeriesIdウェルでも使用できます。If a name is provided, timeSeriesId is still available in the well.
descriptiondescription インスタンスの説明テキスト。A text description of the instance.
hierarchyIdshierarchyIds インスタンスが属する階層を定義します。Defines which hierarchies the instance belongs to.
instanceFieldsinstanceFields インスタンスのプロパティ、およびインスタンスを定義する任意の静的データ。The properties of an instance and any static data that defines an instance. これらによって、階層プロパティや非階層プロパティの値が定義されます。また、検索操作を実行するためのインデックスを作成することもできます。They define values of hierarchy or non-hierarchy properties while also supporting indexing to perform search operations.

注意

階層は、インスタンス フィールドを使用して構築されます。Hierarchies are built by using instance fields. その他のインスタンス プロパティの定義には、別の instanceFields を追加できます。Additional instanceFields can be added for further instance property definitions.

インスタンスには、次の JSON 表現があります。Instances have the following JSON representation:

{
  "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) のサポートについては、データのクエリに関する記事と、インスタンス API REST に関するドキュメントを参照してください。For Instance API create, read, update, and delete (CRUD) support, read the Data querying article and the Instance API REST documentation.

タイム シリーズ モデルの階層Time Series Model hierarchies

タイム シリーズ モデルの 階層 を使用すると、プロパティ名とそのリレーションシップを指定して、インスタンスを整理できます。Time Series Model hierarchies organize instances by specifying property names and their relationships.

特定の Azure Time Series Insights Gen2 環境で複数の階層を構成できます。You can configure multiple hierarchies in a given Azure Time Series Insights Gen2 environment. タイム シリーズ モデルのインスタンスは、単一の階層または複数の階層にマップできます (多対多のリレーションシップ)。A Time Series Model instance can map to a single hierarchy or multiple hierarchies (many-to-many relationship).

Contoso Wind Farm デモには、標準のインスタンスと型の階層が表示されます。The Contoso Wind Farm demo displays a standard instance and type hierarchy.

タイム シリーズ モデルの階層の例Time Series Model hierarchy example

階層の定義Hierarchy definition

階層は、階層の id名前、および source によって定義されます。Hierarchies are defined by hierarchy id, name, and source.

プロパティProperty 説明Description
idid 階層の一意識別子。たとえば、インスタンスを定義するときに使用されます。The unique identifier for the hierarchy, which is used, for example, when you define an instance.
namename 階層の名前を指定するために使用される文字列。A string used to provide a name for the hierarchy.
sourcesource 組織階層またはパスを指定します。これは、ユーザーが作成する階層の上から下までの親子の順序です。Specifies the organizational hierarchy or path, which is a top-down parent-child order of the hierarchy that users want to create. 親子関係のプロパティは、インスタンス フィールドにマップします。The parent-child properties map instance fields.

階層は、JSON で次のように表されます。Hierarchies are represented in JSON as:

{
  "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 の例では、次のようになります。In the previous JSON example:

  • Location は親である states と子である cities を持つ階層を定義します。Location defines a hierarchy with parent states and child cities. location は複数の states を持つことができ、それぞれさらに複数の cities を持つことができます。Each location can have multiple states, which in turn can have multiple cities.
  • ManufactureDate は親である year と子である month を持つ階層を定義します。ManufactureDate defines a hierarchy with parent year and child month. ManufactureDate は複数の years を持つことができ、それぞれさらに複数の months を持つことができます。Each ManufactureDate can have multiple years, which in turn can have multiple months.

ヒント

階層 API と作成、読み取り、更新、削除 (CRUD) のサポートについては、データのクエリに関する記事と、階層 API REST に関するドキュメントを参照してください。For Hierarchy API create, read, update, and delete (CRUD) support, read the Data querying article and the Hierarchy API REST documentation.

階層の例Hierarchy example

例を考えてみます。ここで、階層 H1buildingfloor、および roominstanceFieldNames 定義の一部として持つとします。Consider an example where hierarchy H1 has building, floor, and room as part of its instanceFieldNames definition:

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

前の定義で使用されているインスタンス フィールドといくつかの時系列によって、階層の属性と値が次の表に示すように表されます。Given the instance fields used in the previous definition and several time series, the hierarchy attributes and values appear as shown in the following table:

タイム シリーズ IDTime Series ID インスタンス フィールドInstance fields
ID1ID1 "building" = "1000"、"floor" = "10"、"room" = "55""building" = "1000", "floor" = "10", "room" = "55"
ID2ID2 "building" = "1000"、"room" = "55""building" = "1000", "room" = "55"
ID3ID3 "floor" = "10""floor" = "10"
ID4ID4 "building" = "1000"、"floor" = "10""building" = "1000", "floor" = "10"
ID5ID5 "building"、"floor"、"room" のどれも設定されていない。None of "building", "floor", or "room" is set.

タイム シリーズ ID1ID4 は、階層 H1 の一部として Azure Time Series Insights Explorer に表示されます。それは完全に定義され、適切に並べられた buildingfloor、および room パラメーターを持つためです。Time Series ID1 and ID4 are displayed as part of hierarchy H1 in the Azure Time Series Insights Explorer because they have fully defined and correctly ordered building, floor, and room parameters.

他のものは、指定されたデータ階層に準拠していないため、親が未設定のインスタンス に分類されます。The others are classified under Unparented Instances because they don't conform to the specified data hierarchy.

タイム シリーズ モデルの型Time Series Model types

タイム シリーズ モデルの "" は、計算を行うための変数や数式を定義するのに役立ちます。Time Series Model types help you define variables or formulas for doing computations. 型は特定のインスタンスに関連付けられています。Types are associated with a specific instance.

1 つの型は、1 つまたは複数の変数を持つことができます。A type can have one or more variables. たとえば、タイム シリーズ モデル インスタンスの型が "温度センサー" の場合は、その型を、"平均温度"、"最低温度"、"最高温度" という変数から構成することができます。For example, a Time Series Model instance might be of type Temperature Sensor, which consists of the variables avg temperature, min temperature, and max temperature.

Contoso Wind Farm デモは、それぞれのインスタンスに関連付けられている複数のタイム シリーズ モデルの型を視覚化します。The Contoso Wind Farm demo visualizes several Time Series Model types associated with their respective instances.

タイム シリーズ モデルの種類の例Time Series Model type example

ヒント

型 API と作成、読み取り、更新、削除 (CRUD) のサポートについては、データのクエリに関する記事と、型 API REST に関するドキュメントを参照してください。For Types API create, read, update, and delete (CRUD) support, read the Data querying article and the Type API REST documentation.

型のプロパティType properties

タイム シリーズ モデルの型は、id名前description、および variables によって定義されます。Time Series Model types are defined by id, name, description, and variables.

プロパティProperty 説明Description
idid 種類の一意の文字列 ID (大文字と小文字を区別します)。The case-sensitive unique string ID for the type.
namename 型の名前を指定するために使用される文字列。A string used to provide a name for the type.
descriptiondescription 型の文字列の説明。A string description for the type.
variablesvariables 型に関連付けられている変数を指定します。Specify variables associated with the type.

型は、次の JSON の例に準拠しています。Types conform to the following JSON example:

{
  "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)"
          }
        }
      }
    }
  ]
}

タイム シリーズ モデルの型には、イベントに対する式および計算ルールを指定する多数の変数を含めることができます。Time Series Model types can have many variables that specify formula and computation rules on events. タイム シリーズ モデル変数を定義する方法の詳細については、こちらを参照してくださいRead more about how to define Time Series Model variables

次のステップNext steps