Time Series-model in Azure Time Series Insights Gen2

Notitie

De Time Series Insights-service (TSI) wordt na maart 2025 niet meer ondersteund. Overweeg om bestaande TSI-omgevingen zo snel mogelijk naar alternatieve oplossingen te migreren. Raadpleeg onze documentatie voor meer informatie over de afschaffing en migratie.

In dit artikel worden time series-modellen, de mogelijkheden en het bouwen en bijwerken van uw eigen modellen in de Azure Time Series Insights Gen2-omgeving beschreven.

Fooi

Samenvatting

Traditioneel ontbreken de gegevens die van IoT-apparaten worden verzameld contextuele informatie, waardoor het moeilijk is om sensoren snel te vinden en te analyseren. De belangrijkste motivatie voor Het Time Series-model is om het zoeken en analyseren van IoT- of Time Series-gegevens te vereenvoudigen. Het bereikt dit doel door het inschakelen van de curatie, het onderhoud en de verrijking van tijdreeksgegevens om te helpen bij het voorbereiden van gegevens die gereed zijn voor de consument voor analyse.

Scenario: De nieuwe slimme oven van Contoso

Bekijk het fictieve scenario van een slimme Contoso-oven. Stel in dit scenario dat elke Contoso-slimme oven vijf temperatuursensoren heeft, één voor elk van de vier bovenste branders en één voor de oven zelf. Tot voor kort heeft elke Contoso-temperatuursensor de gegevens afzonderlijk verzonden, opgeslagen en gevisualiseerd. Voor de bewaking van het keukenapparaat heeft Contoso gebruik gemaakt van basisgrafieken, één voor elke afzonderlijke sensor.

Hoewel Contoso tevreden was met de eerste gegevens- en visualisatieoplossing, werden verschillende beperkingen zichtbaar:

  • Klanten wilden weten hoe warm de algehele oven zou worden wanneer de meeste van de bovenste branders waren ingeschakeld. Contoso had meer moeite met het analyseren en presenteren van een uniform antwoord over de voorwaarden van de algehele oven.
  • Contoso-technici wilden controleren of de bovenste branders die tegelijkertijd worden uitgevoerd, niet tot inefficiënte stroomstroom zouden leiden. Er was problemen met kruisverwijzing welke temperatuur- en spanningssensoren aan elkaar waren gekoppeld en hoe ze in de winkel te vinden waren.
  • Het contoso-kwaliteitscontroleteam wilde de geschiedenis tussen twee sensorversies controleren en vergelijken. Er is een probleem opgetreden bij het bepalen van welke gegevens tot welke sensorversie behoren.

Zonder de mogelijkheid om het overkoepelende model voor slimme oventijdreeksen te structureren, organiseren en definiëren, blijft elke temperatuursensor losgekoppeld, geïsoleerd en minder informatieve gegevenspunten behouden. Het omzetten van deze gegevenspunten in bruikbare inzichten was moeilijker omdat elke gegevensset onafhankelijk van de andere gegevenssets leefde.

Deze beperkingen hebben het belang aangetoond van hulpprogramma's voor slimme gegevensaggregatie en visualisatie bij de nieuwe oven van Contoso:

  • Gegevensvisualisatie is handig wanneer u gegevens kunt koppelen en combineren in een handige weergave. Een voorbeeld is het weergeven van spanningssensoren samen met temperatuursensoren.
  • Het beheren van multidimensionale gegevens voor verschillende entiteiten, samen met vergelijkings-, zoom- en tijdsbereikfunctionaliteiten kan moeilijk te bereiken zijn.

Time Series Model biedt een handige oplossing voor veel van de scenario's die in dit fictieve voorbeeld zijn opgetreden:

Time Series Model smart oven charting example

  • Time Series Model speelt een belangrijke rol in query's en navigatie, omdat hiermee gegevens worden contextueel gemaakt door vergelijkingen tussen tijdsbereiken en tussen sensor- en apparaattypen mogelijk te maken. (A)
  • Gegevens worden verder gecontextualiseerd omdat gegevens die in het Time Series-model worden bewaard, tijdreeksqueryberekeningen behouden blijven als variabelen en deze opnieuw gebruiken tijdens het uitvoeren van query's.
  • Time Series Model organiseert en aggregeert gegevens voor verbeterde visualisatie- en beheermogelijkheden. (B)

Belangrijke mogelijkheden

Met het doel om het eenvoudig en moeiteloos te maken om contextuele tijdreeksen te beheren, maakt Time Series Model de volgende mogelijkheden mogelijk in Azure Time Series Insights Gen2. Dit helpt u bij het volgende:

  • Ontwerp en beheer berekeningen of formules die gebruikmaken van scalaire functies, statistische bewerkingen, enzovoort.
  • Definieer relaties tussen bovenliggende en onderliggende elementen om navigatie, zoekopdrachten en verwijzingen in te schakelen.
  • Definieer eigenschappen die zijn gekoppeld aan de exemplaren, gedefinieerd als exemplaarvelden en gebruik ze om hiërarchieën te maken.

Onderdelen

Het Time Series-model heeft drie kernonderdelen:

Deze onderdelen worden gecombineerd om een tijdreeksmodel op te geven en uw gegevens te ordenen.

Time Series Model overview chart

Een tijdreeksmodel kan worden gemaakt en beheerd via azure Time Series Insights Explorer. Time Series Model-instellingen kunnen worden beheerd via de Model Instellingen-API.

Time Series Model-exemplaren

Time Series Model-exemplaren zijn virtuele weergaven van de tijdreeks zelf.

In de meeste gevallen worden exemplaren uniek geïdentificeerd door deviceId of assetId, die worden opgeslagen als tijdreeks-id's.

Exemplaren hebben beschrijvende informatie die eraan is gekoppeld, genaamd exemplaareigenschappen, zoals een tijdreeks-id, type, naam, beschrijving, hiërarchieën en exemplaarvelden. Instantie-eigenschappen bevatten minimaal hiërarchiegegevens.

Exemplaarvelden zijn een verzameling beschrijvende informatie die waarden kan bevatten voor hiërarchieniveaus, evenals fabrikant, operator, enzovoort.

Nadat een gebeurtenisbron is geconfigureerd voor de Azure Time Series Insights Gen2-omgeving, worden exemplaren automatisch gedetecteerd en gemaakt in een tijdreeksmodel. De exemplaren kunnen worden gemaakt of bijgewerkt via azure Time Series Insights Explorer met behulp van Time Series Model-query's.

De demo van Contoso Wind Farm biedt verschillende voorbeelden van live-exemplaren.

Time Series Model instance example

Exemplaareigenschappen

Exemplaren worden gedefinieerd door timeSeriesId, typeId, name, description, hierarchyIds en instanceFields. Elk exemplaar wordt toegewezen aan slechts één type en een of meer hiërarchieën.

Eigenschappen Beschrijving
timeSeriesId De unieke id van de tijdreeks waarmee het exemplaar is gekoppeld. In de meeste gevallen worden exemplaren uniek geïdentificeerd door een eigenschap zoals deviceId of assetId. In sommige gevallen kan een specifiekere samengestelde id met maximaal 3 eigenschappen worden gecombineerd.
typeId De hoofdlettergevoelige unieke tekenreeks-id van het Time Series-modeltype waarmee het exemplaar is gekoppeld. Standaard worden alle gedetecteerde nieuwe exemplaren gekoppeld aan een standaardtype.
name De naameigenschap is optioneel en hoofdlettergevoelig. Als de naam niet beschikbaar is, wordt deze standaard ingesteld op timeSeriesId. Als er een naam wordt opgegeven, is timeSeriesId nog steeds beschikbaar in de bron.
beschrijving Een tekstbeschrijving van het exemplaar.
hierarchyIds Hiermee definieert u tot welke hiërarchieën het exemplaar behoort.
instanceFields De eigenschappen van een exemplaar en eventuele statische gegevens die een exemplaar definiëren. Ze definiëren waarden van hiërarchie- of niet-hiërarchie-eigenschappen en ondersteunen ook indexering om zoekbewerkingen uit te voeren.

Notitie

Hiërarchieën worden gebouwd met behulp van exemplaarvelden. Extra instanceFields kunnen worden toegevoegd voor verdere eigenschapsdefinities van exemplaren.

Exemplaren hebben de volgende JSON-weergave:

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

Fooi

Voor ondersteuning voor het maken, lezen, bijwerken en verwijderen van de API (CRUD), leest u het artikel over het uitvoeren van gegevensquery's en de REST-documentatie van de Instantie-API.

Time Series-modelhiërarchieën

Time Series Model-hiërarchieën organiseren exemplaren door eigenschapsnamen en hun relaties op te geven.

U kunt meerdere hiërarchieën configureren in een bepaalde Azure Time Series Insights Gen2-omgeving. Een Time Series Model-exemplaar kan worden toegewezen aan één hiërarchie of meerdere hiërarchieën (veel-op-veel-relatie).

In de demo van Contoso Wind Farm wordt een standaardexemplaren en typehiërarchie weergegeven.

Time Series Model hierarchy example

Hiërarchiedefinitie

Hiërarchieën worden gedefinieerd door de hiërarchie-id, naam en bron.

Eigenschappen Beschrijving
id De unieke id voor de hiërarchie, die bijvoorbeeld wordt gebruikt wanneer u een exemplaar definieert.
name Een tekenreeks die wordt gebruikt om een naam voor de hiërarchie op te geven.
source Hiermee geeft u de hiërarchie of het pad van de organisatie op. Dit is een bovenliggende en onderliggende volgorde van de hiërarchie die gebruikers willen maken. De bovenliggende en onderliggende eigenschappen wijzen instantievelden toe.

Hiërarchieën worden in JSON weergegeven als:

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

In het vorige JSON-voorbeeld:

  • Location definieert een hiërarchie met bovenliggende states en onderliggende citieselementen. Elk location kan meerdere stateshebben, wat op zijn beurt meerdere citieskan hebben.
  • ManufactureDate definieert een hiërarchie met bovenliggende year en onderliggende monthelementen. Elk ManufactureDate kan meerdere yearshebben, wat op zijn beurt meerdere monthskan hebben.

Fooi

Lees voor ondersteuning voor het maken, lezen, bijwerken en verwijderen van hiërarchie-API's het artikel over gegevensquery's en de REST-documentatie van de Hierarchy API.

Voorbeeld van een hiërarchie

Bekijk een voorbeeld waarin hiërarchie H1 heeft building, flooren room als onderdeel van de definitie van instanceFieldNames :

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

Gezien de instantievelden die in de vorige definitie en verschillende tijdreeksen worden gebruikt, worden de hiërarchiekenmerken en -waarden weergegeven zoals wordt weergegeven in de volgende tabel:

Tijdreeks-id Exemplaarvelden
ID1 "gebouw" = "1000", "floor" = "10", "room" = "55"
ID2 "gebouw" = "1000", "kamer" = "55"
Id3 "floor" = "10"
ID4 "gebouw" = "1000", "floor" = "10"
ID5 Er is geen 'gebouw', 'vloer' of 'kamer' ingesteld.

Time Series ID1 en ID4 worden weergegeven als onderdeel van de hiërarchie H1 in de Azure Time Series Insights Explorer , omdat ze volledig gedefinieerde en correct geordende gebouw-, vloer- en ruimteparameters hebben.

De andere exemplaren worden geclassificeerd onder Niet-gepareerde exemplaren omdat ze niet voldoen aan de opgegeven gegevenshiërarchie.

Time Series-modeltypen

Time Series-modeltypen helpen u bij het definiëren van variabelen of formules voor het uitvoeren van berekeningen. Typen zijn gekoppeld aan een specifiek exemplaar.

Een type kan een of meer variabelen hebben. Een Time Series Model-exemplaar kan bijvoorbeeld van het type Temperatuursensor zijn, dat bestaat uit de variabelen gemiddelde temperatuur, minimumtemperatuur en maximale temperatuur.

In de demo van Contoso Wind Farm worden verschillende time series-modeltypen gevisualiseerd die zijn gekoppeld aan hun respectieve exemplaren.

Time Series Model type example

Fooi

Lees het artikel Over het uitvoeren van gegevensquery's en de restdocumentatie van de Type API voor typen API's maken, lezen, bijwerken en verwijderen.

Typeeigenschappen

Time Series-modeltypen worden gedefinieerd door id, naam, beschrijving en variabelen.

Eigenschappen Beschrijving
id De hoofdlettergevoelige unieke tekenreeks-id voor het type.
name Een tekenreeks die wordt gebruikt om een naam op te geven voor het type.
beschrijving Een tekenreeksbeschrijving voor het type.
variabelen Geef variabelen op die zijn gekoppeld aan het type.

Typen voldoen aan het volgende JSON-voorbeeld:

{
  "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-modeltypen kunnen veel variabelen bevatten waarmee formule- en rekenregels voor gebeurtenissen worden opgegeven. Meer informatie over het definiëren van time series-modelvariabelen

Volgende stappen