Konzepte

In diesem Artikel gehen wir auf gängige Konzepte ein, mit denen wir in der TimeSeries Insights API arbeiten, und versuchen, eine intuitive Erläuterung zu liefern.

Termin

Ein Ereignis ist ein Datenpunkt und die Roheingabe, mit der die TimeSeries Insights API arbeitet. Das Konzept bezieht sich entweder auf eine Aktion, die von einem Agent (z.B. eine Transaktion durch einen Client oder die Veröffentlichung eines Nachrichtenartikels) oder eine Beobachtung (z.B. das Lesen eines Temperatursensors oder die CPU-Nutzung auf einem maschine.

Ein Ereignis enthält:

  • Eine Reihe von Werten aus verschiedenen Dimensionen, die Attribute darstellen, die das Ereignis beschreiben, z. B. Labels oder numerische Messungen.
  • Ein Zeitstempel, der die Zeit angibt, zu der das Ereignis aufgetreten ist. Dieser Zeitstempel wird verwendet, wenn Ereignisse in Zeitachsen platziert werden.
  • Eine Gruppen-ID

Dimension

Eine Dimension stellt einen Attributtyp für die Ereignisse in einem Datensatz und die Domain der Werte dar, die möglich sind. Folgende Dimensionen sind geeignet:

  • Kategorial. Eine Ereignis-Property für diese Dimension kann einen der begrenzten/endlichen Werte – normalerweise Strings – enthalten. Beispiele: der Name des Landes oder des Publishers in einem Dataset mit Nachrichtenartikeln, der Computername in einem Dataset mit Produktionsüberwachungsdaten.
  • Numerischer Wert. Eine Messung oder eine allgemeine numerische Property für ein Ereignis. Beispiele: Anzahl der Seitenaufrufe für Nachrichtenartikel, CPU-Auslastung oder Anzahl der Fehler bei Produktions-Monitoring-Daten.

Dataset

Ein Dataset ist eine Sammlung von Ereignissen.

Gruppe

Ereignisse können durch Angabe derselben Gruppen-ID gruppiert werden (siehe Event.group_id).

Der Zweck der Gruppe ist es, Korrelationen zwischen Ereignissen aus derselben Gruppe zu berechnen, die aktuelle Version der API bietet diese Funktion jedoch nicht. Wenn Ihr Dataset beispielsweise Monitoring-Daten (wie CPU%, RAM usw.) enthält, kann eine Gruppe alle Monitoring-Daten aus einem Prozess speichern. Dadurch konnten wir letztendlich feststellen, dass eine Erhöhung der CPU-Auslastung in Bezug auf ein anderes Ereignis steht, z. B. das Update einer binären Version zu einem früheren Zeitpunkt.

Wenn Sie sich nicht sicher sind oder daran interessiert sind, diese Arten von Korrelationen zu berechnen, sollte jedes Ereignis eine global eindeutige Gruppen-ID haben.

Slicen

Ein Segment ist die Teilmenge aller Ereignisse aus einem Dataset, die in einigen kategorialen Dimensionen dieselben Werte haben.

Angenommen, wir haben ein Dataset mit den Verkäufen eines internationalen Einzelhändlers und jedes Ereignis ist ein Verkauf, für den diese kategorialen Dimensionen gelten: das Land, in dem der Verkauf stattgefunden hat, der Name des Produkts, { 101}Name des Unternehmens, das das Produkt hergestellt hat Beispiele für Slices sind in diesem Fall: Alle Verkäufe für ein bestimmtes Produkt, alle Verkäufe aus einem bestimmten Land für alle Produkte eines bestimmten Unternehmens.

Zeitachse

Eine Zeitachse ist eine Abfolge von aggregierten Ereignissen, die in Buckets gleicher Größe platziert werden. Zur Berechnung dieses Werts wird die Eingabe als Eingabe verwendet:

  • Ein Segment und somit alle Ereignisse in diesem Segment.
  • Ein Zeitintervall, in dem die Zeitachse beginnt und wann sie endet. Für eine QueryDataSetRequest gelten diese Limits: [tested_interval.start_time - forecast_params.forecast_history, tested_interval.start_time + tested_interval.length]. Wir wählen nur Ereignisse aus dem Segment aus, die im Rahmen der Zeitachse die Event.event_time innerhalb dieser Begrenzungen liegen.
  • Die Zeitdauer für jeden Bucket in der Zeitachse. Für einen QueryDataSetRequest entspricht diese Länge tested_interval.length.
  • Eine Aggregationsmethode für die Ereignisse. Derzeit werden zwei Aggregationsmethoden unterstützt: das Zählen der Ereignisse oder das Zusammenfassen einer numerischen Dimension, die in allen Ereignissen enthalten ist (durch forecast_params.aggregated_dimension angegeben).

Vorhersage

Die Vorhersage zukünftiger Werte für eine bestimmte Zeitachse.

Holdout

Der Hold ist der letzte Teil der Zeitachse (in der Regel die letzten 5 bis 10 %), der zur Bewertung der Leistung des Prognosemodells verwendet wird. Wenn während des Hold-Zeitraums höhere Prognosefehler auftreten, reduzieren wir die Zuverlässigkeit unserer Prognose durch die Erweiterung der Prognosegrenzen.

Horizont

Wir prognostizieren die Werte einer Zeitachse ab dem Testintervall bis zum Zeithorizont, wie vom Feld ForecastParams.horizon_time angegeben.

Getetes Intervall

Das getestete Intervall (QueryDataSetRequest.tested_interval) ist ein Zeitintervall, für das wir Segmente im Dataset mit unerwarteten Werten (im Testzeitraum) mit unerwarteten Werten identifizieren möchten. .

Anomalie

Ein Slice wird als Anomalie gekennzeichnet, wenn nach dem Prognose der vorhergesagte Wert außerhalb des erwarteten Intervalls von einem konfigurierbaren Wert liegt. Schwellenwert

Nächste Schritte