CORR_*

CORR_*ファンクションを次に示します。

  • CORR_S

  • CORR_K

構文

correlation::=

目的

CORRファンクション(「CORR」を参照)は、ピアソンの相関係数を計算し、入力として数式を必要とします。CORR_*ファンクションは、ノンパラメトリックまたは順位相関をサポートします。これらのファンクションを使用すると、式間の相関を順序尺度化して求めることができます(値の順序付けが可能な場合)。相関係数は-1から1の範囲の値となります。1は完全な正相関、-1は完全な逆相関(一方の変数が減少すると他方の変数が増加する)、および0(ゼロ)に近い値は無相関を表します。

これらのファンクションは、expr1expr2の2つの必須引数と、オプションの3番目の引数を取得します。ファンクションの戻り値はNUMBERです。

必須引数は、分析される2つの変数です。LONGCLOBBLOBBFILEまたはVECTOR以外の任意のデータ型にできます。データ型がユーザー定義型(UDT)の場合は、MAPまたはORDERメソッドが比較可能である必要があります。

3番目の引数は、ファンクションによって返される結果のバリアントを指定します。型はVARCHAR2で、定数式(文字リテラルなど)である必要があります。3つ目の引数を指定しない場合、デフォルトは'COEFFICIENT'です。許可される引数の値とその意味を、表7-2表7-2に示します。

関連項目:

表7-2 CORR_*の戻り値

戻り値 意味

'COEFFICIENT'

相関の係数

'ONE_SIDED_SIG'

相関の正の片側有意

'ONE_SIDED_SIG_POS'

ONE_SIDED_SIGに同じ

'ONE_SIDED_SIG_NEG'

相関の負の片側有意

'TWO_SIDED_SIG'

相関の両側有意

CORR_S

CORR_Sは、スピアマンの順位相関係数(ロー)を計算します。入力式は、観測値の組(xi, yi)の集合である必要があります。このファンクションは、最初に各値を順位に置き換えます。各xiの値は、標本内の他のすべてのxi中での順位に置き換えられ、各yiの値は、他のすべてのyi中での順位に置き換えられます。したがって、各xiおよび各yiは1からnの値となります。ここでnは、値の組の合計数です。同順位の場合は、値がわずかに異なっていた場合に付けられる順位の平均が割り当てられます。その後このファンクションは、順位の線形相関係数を計算します。

CORR_Sの例

次の例では、スピアマンの順位相関係数(ロー)を使用して、salarycommission_pctsalaryemployee_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