7

我想将社交网络图中的一些节点指标组合成一个值,以便对节点进行排序:

in_degree + betweenness_centrality = informal_power_index

问题是in_degreebetweenness_centrality是在不同的尺度上测量的,比如 0-15 vs 0-35000 并遵循幂律分布(至少绝对不是正态分布)

有没有一种很好的方法来重新调整变量,以便在确定 时一个不会支配另一个informal_power_index

三种明显的方法是:

  • 标准化变量(减去mean和除以stddev)。这似乎会过度压缩分布,隐藏长尾值与峰值附近值之间的巨大差异。
  • min(variable)通过减去和除以将变量重新缩放到范围 [0,1] max(variable)。这似乎更接近于解决问题,因为它不会改变分布的形状,但也许它不会真正解决问题?特别是手段会有所不同。
  • 通过将每个值除以 来均衡均值mean(variable)。这不会解决尺度上的差异,但也许平均值对于比较更重要?

还有其他想法吗?

4

4 回答 4

4

您似乎对底层分布有很强的了解。自然的重新调整是用其概率替换每个变量。或者,如果您的模型不完整,请选择一个大致可以实现的转换。如果做不到这一点,这里有一个相关的方法:如果您有很多单变量数据可以用来构建(每个变量的)直方图,您可以根据它是否在 0-10% 百分位或10-20% 百分位 ...90-100% 百分位。通过构造,这些转换后的变量在 1,2,...,10 上具有均匀分布,您可以根据需要组合它们。

于 2009-04-01T03:30:15.803 回答
1

您可以将每个转换为百分比,然后将每个应用于已知数量。然后使用新值的总和。

((1 - (in_degee / 15) * 2000) + ((1 - (betweenness_centrality / 35000) * 2000) = ?

于 2009-04-01T03:18:51.400 回答
1

非常有趣的问题。可以这样工作:

让我们假设我们想要将两个变量都缩放到 [-1,1] 的范围以介于 0-35000 范围内的 betweeness_centrality 为例

  1. 按照变量范围的顺序选择一个较大的数字。例如,让我们选择 25,000
  2. 在原始范围 [0-35000] 中创建 25,000 个 bin,在新范围 [-1,1] 中创建 25,000 个 bin
  3. 对于每个数字 xi,找出它位于原始 bin 中的 bin#。让这成为毕
  4. 在范围 [-1,1] 中找到 Bi 的范围。
  5. 使用 [-1,1] 中 Bi 范围的最大值/最小值作为 xi 的缩放版本。

这保留了幂律分布,同时也将其缩小到 [-1,1] 并且不存在 (x-mean)/sd 所遇到的问题。

于 2012-06-28T18:44:56.257 回答
0

归一化为 [0,1] 将是我将 2 个值组合起来的简短回答建议,因为它将保持您提到的分布形状,并且应该解决组合值的问题。

如果 2 个变量的分布不同,这听起来很可能不会真正给你我认为的你的想法,这是对每个变量在其给定分布内的位置的综合衡量。您必须提出一个指标来确定给定分布中的值所在的位置,这可以通过多种方式完成,其中之一是确定与给定值的平均值相差多少标准偏差,然后您可以以某种方式结合这两个值来获得你的索引。(添加可能不再足够)

您必须弄清楚什么对您查看的数据集最有意义。标准偏差对您的应用程序可能毫无意义,但您需要查看与分布相关的统计度量并将它们组合起来,而不是组合绝对值,无论是否标准化。

于 2009-04-01T03:35:42.013 回答