Ich möchte die Metrikaggregation in AWS IoT SiteWise für Modelle mit mehr als 10 Hierarchien konfigurieren.
Lösung
Basierend auf den AWS IoT SiteWise-Kontingenten beträgt die maximale Anzahl von Eigenschaftsvariablen für eine einzelne Formel 10. Um diese Einschränkung zu umgehen, kannst du die Aggregation in kleinere Segmente unterteilen.
Gehe wie folgt vor, um die Aggregation zu teilen:
- Berechne Teilergebnisse für 9–10 Hierarchien einzeln. Weitere Informationen findest du unter Aggregieren von Daten aus Eigenschaften und anderen Ressourcen (Metriken).
- Führe diese Zwischenergebnisse zusammen, um das endgültige Aggregationsergebnis zu erhalten. Weitere Informationen findest du unter Verwendung von Aggregationsfunktionen in Formelausdrücken.
Hinweis: Beachte bei Anwendungen, die Präzision erfordern, dass diese Methoden zu geringfügigen Einbußen bei der Rechengenauigkeit führen können.
Im Folgenden findest du zwei Beispiele dafür, wie der Durchschnitt von 40 Hierarchien berechnet wird. In diesen Beispielen sind die Hierarchien von h1 bis h40 benannt.
Beispiel für Gesamtsumme und Gesamtanzahl
Im folgenden Beispiel hat jede Formel 10 Hierarchien.
Ermittle zunächst die Gesamtsumme jeder Hierarchie:
- sum1_10 = sum(h1,.. h10)
sum11_20 = sum(h11,.. h20)
sum21_30 = sum(h21,.. h30)
sum31_40 = sum(h31,.. h40)
Berechne dann die Gesamtanzahl der einzelnen Hierarchien:
- count1_10 = count(h1,.. h10)
count11_20 = count(h11,.. h20)
count21_30 = count(h21,.. h30)
count31_40 = count(h31,.. h40)
Verwende schließlich die Gesamtsumme und die Gesamtanzahl, um den Durchschnitt zu ermitteln. In diesem Beispiel hat TotalAvg 8 Aggregate als Argumente:
TotalAvg = sum(sum1_10, sum11_20, sum21_30, sum31_40) / sum(count1_10, count11_20, count21_30, count31_40)
Beispiel für einen gewichteten Durchschnitt
Um den Durchschnitt zu berechnen, verwende den Ansatz des gewichteten Durchschnitts und kombiniere mehrere berechnete Durchschnittswerte mit Gewichtungen, die auf den jeweiligen Zählungen basieren. Im folgenden Beispiel hat jede Formel 10 Hierarchien für ihre Argumente.
Ermittle zunächst den Durchschnitt jeder Hierarchie:
- avg1_10 = avg(h1,.. h10)
avg11_20 = avg(h11,.. h20)
avg21_30 = avg(h21,.. h30)
avg31_40 = avg(h31,.. h40)
Berechne dann die Gesamtanzahl der einzelnen Hierarchien:
- count1_10 = count(h1,.. h10)
count11_20 = count(h11,.. h20)
count21_30 = count(h21,.. h30)
count31_40 = count(h31,.. h40)
Ermittle dann die Gesamtsumme der Hierarchien. In diesem Beispiel hat TotalCount 4 Aggregate als Argumente:
totalCount = sum(count1_10, count11_20, count21_30, count31_40)
Ermittle schließlich TotalAVG. In diesem Beispiel hat TotalAvg 9 Aggregate als Argumente:
TotalAvg = sum(count1_10 / totalCount * avg1_10, count11_20 * totalCount * avg11_20, count21_30 / totalCount * avg21_30, count31_40 / totalCount * avg31_40)