Time Series Model in Azure Time Series Insights Gen2

In dit artikel worden het Time Series-model, de mogelijkheden en hoe u begint met het bouwen en bijwerken van uw eigen modellen in de Azure Time Series Insights Gen2-omgeving.

Tip

Samenvatting

Van oudsher ontbreken de gegevens die worden verzameld van IoT-apparaten contextuele informatie, waardoor het moeilijk is om sensoren snel te vinden en te analyseren. De belangrijkste motivatie voor Time Series Model is het vereenvoudigen van het zoeken en analyseren van IoT- of Time Series-gegevens. Dit doel wordt bereikt door de curatie, het onderhoud en de verrijking van tijdreeksgegevens in te stellen om gegevenssets die gereed zijn voor consumenten voor te bereiden voor analyse.

Scenario: Nieuwe slimme pizza van Contoso

Kijk eens naar het fictieve scenario van een slimme Contoso-bank. Stel dat in dit scenario elke slimme Contoso-pizza vijf temperatuursensoren heeft, één voor elk van de vier bovenste branders en één voor de pizza zelf. Tot voor kort heeft elke Contoso-temperatuursensor de gegevens afzonderlijk verzonden, opgeslagen en gevisualiseerd. Voor de bewaking van het keukenapparaat vertrouwde Contoso op basisgrafieken, één voor elke afzonderlijke sensor.

Hoewel Contoso tevreden was met de eerste oplossing voor gegevens en visualisatie, werden er enkele beperkingen duidelijk:

  • Klanten wilden weten hoe heet de algehele lucht zou worden wanneer de meeste van de bovenste stekens aan waren. Contoso had meer moeite met het analyseren en presenteren van een uniform antwoord over de omstandigheden van de algehele airco.
  • Contoso-technici wilden controleren of de bovenste buien die tegelijkertijd worden uitgevoerd, niet zouden leiden tot inefficiënte stroomaftrekking. Er was moeite om kruiss te verwijzen naar welke temperatuur- en spanningssensoren aan elkaar waren gekoppeld en hoe ze in de winkel konden worden gevonden.
  • Het Contoso-kwaliteitscontroleteam wilde de geschiedenis tussen twee sensorversies controleren en vergelijken. Het was moeilijk om te bepalen welke gegevens bij welke sensorversie horen.

Zonder de mogelijkheid om het overkoepelende model voor slimme tijdreeksen van de intelligent-pizza te structureren, organiseren en definiëren, houdt elke temperatuursensor niet-toegewezen, geïsoleerde en minder informatieve gegevenspunten bij. Het was moeilijker om deze gegevenspunten om te zetten in inzichten die kunnen worden gebruikt, omdat elke gegevensset onafhankelijk van de andere gegevenssets woont.

Deze beperkingen tonen het belang aan van slimme hulpprogramma's voor gegevensaggregatie en visualisatie ter begeleiding van de nieuwe pizza van Contoso:

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

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

Voorbeeld van slimme diagramgrafiek van Time Series Model

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

Belangrijkste mogelijkheden

Met het doel om het eenvoudig en moeiteloos te maken om tijdreekscontextualisatie te beheren, biedt Time Series Model de volgende mogelijkheden in Azure Time Series Insights Gen2. Het helpt u het volgende te doen:

  • Berekeningen of formules maken en beheren met behulp van scalaire functies, aggregatiebewerkingen, en meer.
  • Definieer bovenliggende en onderliggende relaties om navigatie, zoeken en verwijzingen mogelijk te maken.
  • Definieer eigenschappen die zijn gekoppeld aan de exemplaren, gedefinieerd als instantievelden en gebruik deze 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 organiseren.

Overzichtsgrafiek van Time Series Model

Een tijdreeksmodel kan worden gemaakt en beheerd via de Azure Time Series Insights Explorer. Time Series Model-instellingen kunnen worden beheerd via de API voor modelinstellingen.

Time Series Model-exemplaren

Time Series Model-exemplaren zijn virtuele representaties 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 aan de exemplaren is gekoppeld, zogenaamde exemplaareigenschappen, zoals een tijdreeks-id, type, naam, beschrijving, hiërarchieën en exemplaarvelden. Instantie-eigenschappen bevatten minimaal hiërarchiegegevens.

Instantievelden zijn een verzameling beschrijvende informatie die waarden kan bevatten voor hiërarchieniveaus, fabrikant, operator, en meer.

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

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

Voorbeeld van een Time Series Model-exemplaar

Instantie-eigenschappen

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

Eigenschap Beschrijving
timeSeriesId De unieke id van de tijdreeks waar het exemplaar aan 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 worden gebruikt die maximaal 3 eigenschappen combineert.
typeId De casegevoelige unieke tekenreeks-id van het time series-modeltype waar het exemplaar aan is gekoppeld. Standaard worden alle gevonden nieuwe exemplaren gekoppeld aan een standaardtype.
naam De eigenschap name is optioneel en is casegevoelig. Als de naam niet beschikbaar is, wordt standaard timeSeriesId gebruikt. Als er een naam wordt opgegeven, is timeSeriesId nog steeds beschikbaar in de well.
beschrijving Een tekstbeschrijving van het exemplaar.
hierarchyIds Hiermee definieert u tot welke hiërarchieën de instantie behoort.
instanceFields De eigenschappen van een exemplaar en alle 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 definities van exemplaar-eigenschappen.

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

Tip

Lees voor Ondersteuning voor het maken, lezen, bijwerken en verwijderen van exemplaar-API's (CRUD) het artikel Gegevensquery's uitvoeren en de REST-documentatie voor de Exemplaar-API.

Time Series Model-hiërarchieën

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

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

De Contoso Wind Farm-demo geeft een standaard-exemplaar en typehiërarchie weer.

Voorbeeld van een Time Series Model-hiërarchie

Hiërarchiedefinitie

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

Eigenschap Beschrijving
id De unieke id voor de hiërarchie, die bijvoorbeeld wordt gebruikt wanneer u een instantie definieert.
naam Een tekenreeks die wordt gebruikt om een naam op te geven voor de hiërarchie.
source Hiermee geeft u de organisatiehiërarchie of het pad op. Dit is een boven-omlaag bovenliggende/onderliggende volgorde van de hiërarchie die gebruikers willen maken. Met de bovenliggende en onderliggende eigenschappen worden de velden van het exemplaar van de kaart weergegeven.

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 states bovenliggende en onderliggende cities . Elk location kan meerdere states hebben, die op zijn beurt meerdere kunnen cities hebben.
  • ManufactureDate definieert een hiërarchie met year bovenliggende en onderliggende month . Elk ManufactureDate kan meerdere years hebben, die op zijn beurt meerdere kunnen months hebben.

Tip

Lees het artikel Gegevensquery's uitvoeren en de REST-documentatie over de Hiërarchie-API voor ondersteuning voor het maken, lezen, bijwerken en verwijderen van (CRUD) hiërarchie-API.

Voorbeeld van een hiërarchie

Neem een voorbeeld waarin hiërarchie H1 , en heeft als building onderdeel van de definitie floor room 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 weergegeven in de volgende tabel:

Tijdreeks-id Instantievelden
Id1 "building" = "1000", "floor" = "10", "room" = "55"
Id2 "building" = "1000", "room" = "55"
Id3 "floor" = "10"
Id4 "building" = "1000", "floor" = "10"
ID5 Geen van de 'gebouw', 'floor' of 'room' is ingesteld.

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

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

Typen Time Series-modellen

Time Series Model-typen 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 instantie van het Time Series Model kan bijvoorbeeld van het type Temperatuursensor zijn, dat bestaat uit de variabelen gem. temperatuur, minimumtemperatuur en maximumtemperatuur.

De Contoso Wind Farm-demo visualiseert verschillende Time Series-modeltypen die zijn gekoppeld aan hun respectieve exemplaren.

Voorbeeld van type Time Series-model

Tip

Lees het artikel Gegevensquery's uitvoeren en de REST-documentatie voor Type API voor ondersteuning voor het maken, lezen, bijwerken en verwijderen van API-typen.

Type-eigenschappen

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

Eigenschap Beschrijving
id De casegevoelige unieke tekenreeks-id voor het type.
naam Een tekenreeks die wordt gebruikt om een naam voor het type op te geven.
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 Model-typen kunnen veel variabelen bevatten die formule- en berekeningsregels voor gebeurtenissen opgeven. Meer informatie over het definiëren van Time Series Model-variabelen

Volgende stappen