Analytische Funktionen

Analytische Funktionen führen in den meisten Fällen Berechnungen anhand von Zeilensätzen innerhalb eines Datensatzes durch. Dies kann der gesamte Datensatz oder bestimmte Zeilensätze sein, die als Gruppen, Partitionen oder Fenster definiert sind.

Analytische Aggregatfunktionen: Alle Zeilen in einem Datensatz, einer Gruppe, Partition oder einem Fenster werden zur Berechnung herangezogen und geben einen einzelnen Wert zurück. Beispiel: Summe addiert die Werte aller Zeilen im aktuellen Bereich. Analytische Aggregatfunktionen können in den Klauseln SELECT oder HAVING von RAQL-Abfragen verwendet werden:

Analytische Fensterfunktionen: Sie verwenden einen Teil der Zeilen einer Partition oder eines Fensters, um eine Berechnung auszuführen und einen Wert für jede Zeile zurückzugeben. Es werden normalerweise Zeilen verwendet, die sich auf die aktuelle Zeile beziehen, z. B. FIRST_VALUE or ROW_NUMBER.

In den Abfragen, die analytische Fensterfunktionen verwenden, muss eine OVER-Klausel eingefügt werden. Diese definiert die Partitionen oder Fenster, die von der Funktion verwendet werden.

Wie bei den einfachen Funktionen bietet RAQL analytische Funktionen, die im SQL-Standard als auch in RAQL-spezifischen Erweiterungen definiert sind.

RAQL-spezifische Erweiterungen:

Aggregate

Window

Function

Description

Prüfen

correlation(Number col-or-expr, Number col-or-expr)

Veraltet. Alternativen finden Sie unter Analytische Funktionen für 3.8 aktualisieren.

Prüfen

covar_samp(Number col-or-expr, Number col-or-expr)

Gibt die Stichprobenkovarianz (eine Schätzung) der beiden angegebenen Spalten zurück. Weitere Informationen finden Sie unter dem Stichwort Kovarianz.

Prüfen

analytics.discretize(Number col-or-expr, int binCount)

Diese Funktion zerlegt eine fortlaufende Reihe von Werten für eine Spalte oder einen Ausdruck in einzelne bins, je nach Anzahl der festgelegten Bins. Ist der Wert:

  • < = Minimalwert für die Spalte, wird 0 zurückgegeben.

  • > = Maximalwert für die Spalte, wird binCount - 1 zurückgegeben.

  • < Maximal- und > Minimalwert für die Spalte, wird ein Bruchteil zwischen 0 und binCount - 1 zurückgegeben, der die relative Position des Werts in der Anzahl an Bins angibt.

0 <= Rückgabewert < 1 gibt das erste Bin an, 1 <= Rückgabewert < 2 gibt das zweite Bin an, usw.

Beachten Sie, dass diese Funktion keine Fenster unterstützt. Sie kann nur auf die gesamte Partition angewendet werden.

Prüfen

gmean(Number col-or-expr)

Gibt das geometrische Mittel der Werte für diese Spalte oder diesen Ausdruck in der Partition oder dem aktuellen Fenster in dieser Partition zurück.

Das geometrische Mittel wird normalerweise zur Definition eines Mittelwerts verwendet, wenn mehr als eine Eigenschaft beteiligt ist, vor allem, wenn die Skalierung für die Eigenschaften unterschiedlich ist.

Prüfen

analytics.kmeans_clusters(Number col-or-expr1[,Number col-or-expr2,...Number col-or-exprN]; Integer k, Integer iterations, String measure)

Gibt den optimalen Mittelpunkt für die Anzahl der Cluster zurück, die als k festgelegt sind, die Zeilen in minimaler Entfernung für jeden Cluster gruppieren. Die Aufnahme jeder Zeile in einen Cluster ist durch die features definiert, die in der Liste der Spaltenparameter (vor dem Semikolon) angegeben sind. Die Entfernung vom Cluster-Mittelpunkt wird mithilfe der Formel ermittelt, die in measure angegeben ist.

  • col-or-expr1, col-or-expr2, ... col-or-exprN;: einzelne Spalten oder Ausdrücke, die als Merkmale der Vektoren verwendet werden, die Cluster definieren. Liste der Parameter must:

  • Besteht ausschließlich aus Spalten mit numerischen Werten.

  • Enthalten mindestens eine Spalte, können aber eine beliebige Anzahl Spalten haben.

  • Enden mit einem Semikolon (;). Dies zeigt das Ende der Merkmalparameter an und den Anfang der übrigen bekannten Parameter.

  • k: ist die Anzahl der zu erstellenden Cluster

  • iterations: maximale Anzahl Iterationen, die zur Optimierung des Clusters ausgeführt werden.

  • measure: Name der Formel, die zur Definition der Mitgliedschaft jeder Zeile in einem Cluster verwendet werden soll. Gültige 'measures' sind:

  • euclidean

  • manhattan

  • cosine

  • tanimoto

  • squaredeuclidean

Prüfen

analytics.kmeans_observations(Number col-or-expr1[,Number col-or-expr2,...Number col-or-exprN]; Integer k, Integer iterations, String measure)

Gibt die ID des Clusters zurück, dem die Zeilen zugeordnet sind. Die Anzahl der Cluster wird als k angegeben. Die Aufnahme jeder Zeile in einen Cluster ist durch die features definiert, die in der Liste der Spaltenparameter (vor dem Semikolon) angegeben sind. Die Entfernung vom Cluster-Mittelpunkt wird mithilfe der Formel ermittelt, die in measure angegeben ist.

  • col-or-expr1, col-or-expr2, ... col-or-exprN;: einzelne Spalten oder Ausdrücke, die als Merkmale der Vektoren verwendet werden, die Cluster definieren. Liste der Parameter must:

  • Besteht ausschließlich aus Spalten mit numerischen Werten.

  • Enthalten mindestens eine Spalte, können aber eine beliebige Anzahl Spalten haben.

  • Enden mit einem Semikolon (;). Dies zeigt das Ende der Merkmalparameter an und den Anfang der übrigen bekannten Parameter.

  • k: ist die Anzahl der zu erstellenden Cluster

  • Iterations:: maximale Anzahl Iterationen, die zur Optimierung des Clusters ausgeführt werden.

  • measure: Name der Formel, die zur Definition der Mitgliedschaft jeder Zeile in einem Cluster verwendet werden soll. Gültige 'measures' sind:

  • euclidean

  • manhattan

  • cosine

  • tanimoto

  • squaredeuclidean

Prüfen

analytics.ordinal(String col-or-expr)

Gibt eine Indexzahl für jeden einzelnen Stringwert in der angegebenen Spalte oder dem angegebenen Ausdruck zurück. Durch das Zuweisen einer Ordnungszahl können Berechnungen mit Stringspalten durchgeführt werden.

Prüfen

skew(Number col-or-expr)

Gibt eine Kennzahl der Asymmetrie aus einer normalen Wahrscheinlichkeitsverteilung der Werte für diese Spalte oder diesen Ausdruck in der aktuellen Partition oder dem aktuellen Fenster in dieser Partition zurück. Sie verwendet den angepassten Fisher-Pearson-standardisierten Momentkoeffizienten.

Positive Werte zeigen, dass mehr Werte links des Mittelwerts gefunden werden, während negative Werte das Gegenteil bedeuten.

Es wird 0 zurückgegeben, wenn nicht mindestens drei Zeilen im Datensatz enthalten sind. Diese Funktion kann auch NaN zurückgeben, wenn die Berechnung nicht definiert oder keine Zahl ist.