分析関数

分析関数は、一般的にデータセット内の行のセットを使用して計算を実行します。これは、データセット全体、あるいはグループ、パーティション、またはウインドウとして定義された特定の行のセットになります。

集約分析関数: 計算を実行するためにデータセット、グループ、パーティション、またはウィンドウにあるすべての行を使用して、単一値を返します。たとえば、sum は現在のスコープにあるすべての行の値を加算します。集約分析関数は、以下のために RAQL クエリの SELECT 句または HAVING 句で使用できます。

ウィンドウ分析関数: パーティションまたはウィンドウの行の一部を使用して計算を実行し、各行に対する値を返します。通常、これは、FIRST_VALUE や ROW_NUMBER など、現在の行と相対的な行を使用します。

ウィンドウ分析関数を使用するクエリには、OVER 句を含める必要があります。これは、関数が使用するパーティションまたはウィンドウを定義します。

プレーン関数と同様に、RAQL は SQL 標準で定義された分析関数と、RAQL 固有の拡張を提供します。

RAQL 固有の拡張は次のとおりです:

集約

ウィンドウ

関数

説明

確認

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

非推奨。代替策については、「3.8 の分析関数の更新」を参照してください。

確認

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

2 つの指定された列の標本共分散 (見積もり) を返します。詳細については、分散を参照してください。

確認

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

この関数は、列または式の値の連続範囲を、指定された瓶 (統計用語) の数に基づいた個別の瓶に分割します。値が

  • 列の最小値以下であれば、0 (ゼロ) を返します。

  • 列の最大値以上であれば、binCount - 1 を返します。

  • 列の最大値より小さく、最小値より大きい場合は、瓶の数内の値の相対位置を示す、0 から binCount - 1 までの部分を返します。

つまり、返り値が 0 以上 1 未満であれば第 1 瓶を、1 以上 2 未満であれば第 2 瓶…を表します。

この関数はウィンドウをサポートしないので注意してください。パーティション全体のみに適用できます。

確認

gmean(Number col-or-expr)

パーティション、またはパーティション内の現在のウィンドウ内の列または式の値の幾何平均を返します。

幾何平均は、通常、複数の特性が関与する、特に特性のスケールが異なる場合に平均を定義するために使用されます。

確認

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

各クラスターの最小距離内の行をグループ化する、k として指定されるクラスター数の最適中心点を返します。各行のクラスターの包含は、列パラメーターの一覧 (セミコロンの前) で定義される特性で定義されます。クラスター中心点からの距離は、measure で指定される式によって測定されます。

  • col-or-expr1, col-or-expr2, ... col-or-exprN;: は、クラスターを定義するベクターの特性として使用される個別の列または式です。このパラメーターの一覧は以下を満たす必要があります:

  • 数値の列のみで構成されること。

  • 1 列以上、任意の数の列を含むことができる。

  • セミコロン (;) で終わる。これは、特性パラメーターの最後と、残りの周知のパラメーターの始まりを示します。

  • k: 作成するクラスターの数です。

  • iterations: クラスターの最適化を実行する最大反復数。

  • measures: 所定のクラスターの各行のメンバーシップを定義するのに使用する式の名前。有効な measures は次のとおりです:

  • euclidean

  • manhattan

  • cosine

  • tanimoto

  • squaredeuclidean

確認

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

k で指定されたクラスター数に関して、各行が属するクラスターの ID を返します。各行のクラスターの包含は、列パラメーターの一覧 (セミコロンの前) で定義される特性で定義されます。クラスター中心点からの距離は、measure で指定される式によって測定されます。

  • col-or-expr1, col-or-expr2, ... col-or-exprN;: は、クラスターを定義するベクターの特性として使用される個別の列または式です。このパラメーターの一覧は以下を満たす必要があります:

  • 数値の列のみで構成されること。

  • 1 列以上、任意の数の列を含むことができる。

  • セミコロン (;) で終わる。これは、特性パラメーターの最後と、残りの周知のパラメーターの始まりを示します。

  • k: 作成するクラスターの数です。

  • iterations: クラスターの最適化を実行する最大反復数。

  • measures: 所定のクラスターの各行のメンバーシップを定義するのに使用する式の名前。有効な measures は次のとおりです:

  • euclidean

  • manhattan

  • cosine

  • tanimoto

  • squaredeuclidean

確認

analytics.ordinal(String col-or-expr)

指定された列または式の、一意の各文字列値の指数を返します。通常、序数を割り当てると、文字列の列を使用した計算が可能になります。

確認

skew(Number col-or-expr)

現在のパーティション、またはパーティション内の現在のウィンドウ内の列または式の値の正規分布からの非対称度を返します。これは、調整済みフィッシャー・ピアソンの標準モーメント係数を使用します。

正の値は、平均の左側に多くの値がある傾向を示し、負の値はその逆を示唆します。

データセットに 3 行以上ない場合、これは 0 (ゼロ) を返します。この関数は、計算が未定義または数値でない場合に NaN を返す可能性があります。