多个符合幂律分布的变量进行标准化/缩放/归一化的正确方法,以便在线性组合中使用。

7
我希望将社交网络图中节点的几个度量组合成一个单一的值,以便对节点进行排序:
入度 + 中介中心性 = 非正式权力指数
问题在于,入度中介中心性是用不同的尺度来衡量的,例如0-15与0-35000,并且遵循幂律分布(至少肯定不是正态分布)
有没有好的方法来重新缩放这些变量,使得其中一个不会在决定非正式权力指数时占主导地位?
三种明显的方法是:
  • 标准化变量(减去平均值并除以标准差)。这似乎会压缩分布,隐藏长尾中的值和接近峰值的值之间的巨大差异。
  • 通过减去min(variable)并除以max(variable)将变量重新缩放为[0,1]范围内。这似乎更接近解决问题,因为它不会改变分布的形状,但也许它不会真正解决问题?特别是平均值将不同。
  • 通过将每个值除以mean(variable)来使均值相等。这不会解决尺度差异,但也许平均值对于比较更重要?
还有其他想法吗?
4个回答

4

您似乎对底层分布有很强的感觉。一种自然的缩放方法是用概率替换每个变量。或者,如果您的模型不完整,请选择一个近似实现这一目标的转换方法。如果无法实现该目标,则可以尝试以下相关方法:如果您有大量单变量数据可用于构建直方图(每个变量),则可以将每个变量转换为基于其是否在0-10%百分位数或10-20%百分位数... 90-100%百分位数的10分制。这些转换后的变量按照构造方式在1,2,...,10上具有均匀分布,您可以按任意方式组合它们。


1

非常有趣的问题。这样的方法可行吗:

假设我们想将两个变量缩放到[-1,1]的范围内,以介数中心性为例,它的范围是0-35000。

  1. 选择一个与变量范围相同数量级的大数字。例如,我们选择25000。
  2. 在原始范围[0-35000]和新范围[-1,1]中创建25000个箱子。
  3. 对于每个数字x-i,找出它所在的原始箱子编号B-i。
  4. 找出B-i在[-1,1]范围内的范围。
  5. 使用B-i在[-1,1]范围内的最大/最小值作为x-i的缩放版本。

这样可以保留幂律分布,同时将其缩小到[-1,1]的范围内,并且不会像(x-mean)/sd一样出现问题。


1

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

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

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


这种方法不会和标准化方法有同样的问题吗?它会压缩分布,使得百分位数95和99看起来非常接近,尽管它们之间存在天壤之别(想一想比尔·盖茨的银行账户和我的!)! - Jacob Rigby
这种方法将所有内容都放在一个百分比内。它不是基于数字偏离平均值的程度。但是,我可能对你的方法论不太清楚。2000是任意的。它越大,就可以创建更多独特的值。 - Thad

0

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

如果两个变量的分布不同,这听起来很可能不会给您想要的东西,即每个变量在其给定分布中的综合度量。您必须想出一个指标来确定给定值在给定分布中的位置,这可以通过许多方式完成,其中之一是确定给定值距平均值多少个标准偏差,然后以某种方式组合这两个值以获得指数。(加法可能不再足够)

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


你的第二段似乎描述了标准化方法,其中你从原始度量值转换为该值距离平均值的标准偏差数。这一切似乎最适用于正态分布,而对其他分布效果不佳。 - Jacob Rigby
同意,正如我在第三段中指出的那样,您需要查看与您的数据集相关的统计测量,如果它们是幂分布,则包括方差、矩、偏度以及可能的峰度。 - mark

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接