ソーシャル ネットワーク グラフ内のノードのいくつかのメトリックを組み合わせて、ノードをランク付けするための単一の値にしたいと考えています。
in_degree + betweenness_centrality = informal_power_index
問題は、in_degree
とbetweenness_centrality
が異なるスケールで測定されていることです。たとえば、0 ~ 15 対 0 ~ 35000 であり、べき乗分布に従っています (少なくとも正規分布ではないことは間違いありません)。
を決定する際に一方が他方を支配しないように、変数を再スケーリングする良い方法はありinformal_power_index
ますか?
3 つの明白なアプローチは次のとおりです。
- 変数の標準化 ( で減算
mean
および除算stddev
)。これは、分布を押しつぶしすぎて、ロングテールの値とピーク付近の値の大きな差を隠してしまうようです。 min(variable)
で減算して除算することにより、変数を [0,1] の範囲に再スケーリングしますmax(variable)
。これは分布の形状を変更しないため、問題の修正に近づいているように見えますが、実際には問題に対処しないのでしょうか? 特に手段が異なります。- 各値を で割って平均を等しくします
mean(variable)
。これはスケールの違いに対処しませんが、おそらく比較には平均値の方が重要ですか?
他のアイデアはありますか?