CORR_*
CORR_
*ファンクションを次に示します。
-
CORR_S
-
CORR_K
構文
correlation::=
目的
CORR
ファンクション(「CORR」を参照)は、ピアソンの相関係数を計算し、入力として数式を必要とします。CORR_
*ファンクションは、ノンパラメトリックまたは順位相関をサポートします。これらのファンクションを使用すると、式間の相関を順序尺度化して求めることができます(値の順序付けが可能な場合)。相関係数は-1から1の範囲の値となります。1は完全な正相関、-1は完全な逆相関(一方の変数が減少すると他方の変数が増加する)、および0(ゼロ)に近い値は無相関を表します。
これらのファンクションは、引数として、任意の数値データ型、または暗黙的に数値データ型に変換可能な数値以外のデータ型を取ります。Oracle Databaseは、数値の優先順位が最も高い引数を判断し、残りの引数をそのデータ型に暗黙的に変換して、計算を実行してNUMBER
を戻します。
関連項目:
-
expr1
からの文字をexpr2
からの文字と比較するためにCORR_K
およびCORR_S
で使用する照合を定義する照合決定ルールは、『Oracle Databaseグローバリゼーション・サポート・ガイド』の付録Cを参照してください。
expr1
およびexpr2
は、分析対象の2つの変数です。3つ目の引数はVARCHAR2
型の戻り値です。3つ目の引数を指定しない場合、デフォルトでCOEFFICIENT
が戻り値になります。戻り値の意味を次の表に示します。
表7-2 CORR_*の戻り値
戻り値 | 意味 |
---|---|
|
相関の係数 |
|
相関の正の片側有意 |
|
|
|
相関の負の片側有意 |
|
相関の両側有意 |
CORR_S
CORR_S
は、スピアマンの順位相関係数(ロー)を計算します。入力式は、観測値の組(xi, yi)の集合である必要があります。このファンクションは、最初に各値を順位に置き換えます。各xiの値は、標本内の他のすべてのxi中での順位に置き換えられ、各yiの値は、他のすべてのyi中での順位に置き換えられます。したがって、各xiおよび各yiは1からn
の値となります。ここでn
は、値の組の合計数です。同順位の場合は、値がわずかに異なっていた場合に付けられる順位の平均が割り当てられます。その後このファンクションは、順位の線形相関係数を計算します。
CORR_Sの例
次の例では、スピアマンの順位相関係数(ロー)を使用して、salary
とcommission_pct
、salary
とemployee_id
の2つの異なる比較ごとに相関係数を導出します。
SELECT COUNT(*) count, CORR_S(salary, commission_pct) commission, CORR_S(salary, employee_id) empid FROM employees; COUNT COMMISSION EMPID ---------- ---------- ---------- 107 .735837022 -.04473016
CORR_K
CORR_K
は、ケンドールの順位相関係数(タウb)を計算します。CORR_S
と同様に、入力式は観測値の組(xi, yi)の集合です。係数を計算するために、このファンクションは一致した組と一致しない組の数をカウントします。xとyの値がいずれも大きい観測値の組は一致しています。xの値が大きくyの値が小さい観測値の組は一致していません。
タウbでの有意性は、タウbによって示される相関が偶然の結果である確率です(0から1の値)。この値が小さい場合、タウbが正の値であれば有意な相関が存在します(タウbが負の値の場合は逆相関)。
CORR_Kの例
次の例では、ケンドールの順位相関係数(タウb)を使用して、従業員の給与と歩合の割合(パーセント)間に相関があるかどうかを判断します。
SELECT CORR_K(salary, commission_pct, 'COEFFICIENT') coefficient, CORR_K(salary, commission_pct, 'TWO_SIDED_SIG') two_sided_p_value FROM employees; COEFFICIENT TWO_SIDED_P_VALUE ----------- ----------------- .603079768 3.4702E-07