Pythonとおそらくscipyの実装(scipy.stats.spearmanr)を使用して、スピアマンの順位相関を計算したいと思います。
手元のデータは、たとえば次のようになります(辞書)。
{a:0.3, b:0.2, c:0.2} and {a:0.5, b:0.6, c:0.4}
これをspearmanモジュールに渡すために、私が正しければ(降順)、ランクを割り当てます。
[1,2,3] and [2,1,3]
だから今、私はネクタイを検討したいので、最初のベクトルに使用します:
[1,2,2] or [1,2.5,2.5]
基本的に、この概念全体は正しく、そのような辞書ベースのデータの関係を処理する方法は正しいですか。
@Jaimeによって提案されているように、spearmanr関数は値で機能しますが、なぜこの動作が可能であるのですか?
In [5]: spearmanr([0,1,2,3],[1,3,2,0])
Out[5]: (-0.39999999999999997, 0.59999999999999998)
In [6]: spearmanr([10,7,6,5],[0.9,0.5,0.6,1.0])
Out[6]: (-0.39999999999999997, 0.59999999999999998)
ありがとう!