通常の相関係数(2d)は、点の集合が線でどれだけうまく記述できるかを測定し、はいの場合、その符号は正または負の相関があるかどうかを示します。ただし、これは、ポイントの座標が実際に、たとえば測定値として定量的に解釈できることを前提としています。
あなたはしかし、あなたはまだできることを行うことができない場合はご注文の座標を、そこにあるの順位相関係数:それはポイントがによって記述することができますどれだけ測定単調機能。
チャレンジ
2dポイントのリストが与えられたら、それらのランク相関係数を決定します。
詳細
- 入力は正の整数(ただし、そうする必要はありません)、またはその他の「ソート可能な」値であると想定できます。
- ポイントは、ポイントのリスト、またはx座標とy座標の2つのリスト、マトリックスまたは2D配列などとして取得できます。
- 出力は、0〜1の実数を表す必要があるため、浮動小数点または有理数型である必要があります。
定義
ランク:番号のリストをX=[x(1),...,x(n)]
指定するrx(i)
と、各エントリにrankと呼ばれる正の数を割り当てることができx(i)
ます。そのためには、リストをソートx(i)
し、ソートされたリスト内のインデックスを割り当てますrx(i)
。2つ以上のx(i)
値が同じ場合、対応するすべてのインデックスの算術平均をランクとして使用します。例:
List: [21, 10, 10, 25, 3]
Indices sorted: [4, 2, 3, 5, 1]
番号10
はここに2回表示されます。ソートされたリストでは、インデックス2
とを占有します3
。それらの算術平均は2.5
、ランクが
Ranks: [4, 2.5, 2.5, 5, 1]
順位相関係数は:レッツは、[(x(1),y(1)),(x(2),y(2)),...,(x(n),y(n))]
与えられたポイントになるところそれぞれx(i)
とy(i)
実数でそれぞれについて(WLOGは、あなたはそれが整数であると仮定することができます。)i=1,...,n
我々は計算のランクを rx(i)
とry(i)
のx(i)
とy(i)
それぞれ。
してみましょうd(i) = rx(i)-ry(i)
ことがランク差とlet S
合計でS = d(1)^2 + d(2)^2 + ... + d(n)^2
。そして、順位相関係数は rho
で与えられます
rho = 1 - 6 * S / (n * (n^2-1))
例
x y rx ry d d^2
21 15 4 5 -1 1
10 6 2&3 -> 2.5 2 0.5 0.25
10 7 2&3 -> 2.5 3 -0.5 0.25
25 11 5 4 1 1
3 5 1 1 0 0
rho = 1 - 6 * (1+0.25+0.25+1)/(5*(5^2-1)) = 0.875
2.5
。