13

ランク付けされたアイテムのリストが 2 つあります。各アイテムには、ランクと関連するスコアがあります。スコアで順位が決まりました。2 つのリストには異なる項目を含めることができます (通常は含まれます)。このようなランキングを比較するための尺度が必要です。そうするためのよく知られたアルゴリズム(文献または実世界のシステム)はありますか?距離の測定では、アイテムのランクだけでなく、スコアも考慮に入れる必要があります。

4

3 に答える 3

25

この質問はこれまで答えられたことはありませんが、それでも多くの人にとって重要だと思います。

あなたの 2 つの要件、つまりリストの非共役性とランクの重要性は、一般的な相関テストでは満たされません。それに加えて、それらのほとんど (Kendall-Tau など) は順序を考慮していません。

>>> from scipy.stats import kendalltau
>>> kendalltau([1,2,3,4,5], [2,1,3,4,5])
KendalltauResult(correlation=0.79999999999999982, value=0.050043527347496564)
>>> kendalltau([1,2,3,4,5], [1,2,3,5,4])
KendalltauResult(correlation=0.79999999999999982, value=0.050043527347496564)

リストの先頭は末尾よりも重要であるため、1 番目の比較では 2 番目の比較よりも大幅に小さい値が得られます(2 番目の要件)

それに加えて、両方のリストが同じサイズで、同じ種類の要素を持つ必要があることがわかります(最初の要件) 。

考えられる解決策:

すべてのニーズを満たすメジ​​ャーは、ランク バイアス オーバーラップと呼ばれます。これは、このブログで見事に説明されている、いわゆる平均ベースのオーバーラップの一般化です。同じ人が RBOの実装も出しました。

2018 年 1 月の更新:

  • Python 3.5.2 用のRBOの別の実装
于 2016-03-24T10:16:21.230 に答える
1

上位 k (ランク付けされた) リストを比較する手段は多数あります。単純化するいくつかの仮定を使用して計算するのが非常に簡単なものもあれば、それほど簡単ではないが、リスト間のランクの類似性をより厳密に評価するものもあります。私が見つけた最近の論文では、情報理論とデータ圧縮の概念を使用して、統計的に意味のある方法でこの問題を扱っています: http://arxiv.org/abs/1310.0110

于 2015-01-28T20:35:10.490 に答える