Я хотел бы объединить несколько показателей узлов в графе социальной сети в одно значение для ранжирования узлов:
in_degree + betweenness_centrality = informal_power_index
Проблема в том, что in_degree
и betweenness_centrality
измеряются в разных масштабах, скажем, 0-15 против 0-35000, и следуют степенному закону распределения (по крайней мере, определенно не нормальному распределению).
Есть ли хороший способ изменить масштаб переменных, чтобы одна из них не доминировала над другой при определении informal_power_index
?
Три очевидных подхода:
- Стандартизация переменных (вычесть
mean
и разделить наstddev
). Кажется, это слишком сильно сжало бы распределение, скрывая огромную разницу между значением в длинном хвосте и рядом с пиком. - Перемасштабирование переменных в диапазоне [0,1] путем вычитания
min(variable)
и деления наmax(variable)
. Это кажется ближе к устранению проблемы, поскольку не изменит форму распределения, но, может быть, на самом деле это не решит проблему? В частности средства будут другими. - Уравняйте средние значения, разделив каждое значение на
mean(variable)
. Это не устранит разницу в масштабах, но, возможно, средние значения более важны для сравнения?
Любые другие идеи?