从几个未知分布的值中设计一个简单(又名“坏”)的排名值

机器算法验证 多元分析 排行 行动调查
2022-03-29 12:48:43

我只是一个谦虚的开发人员,所以如果我屠宰了混淆概念的术语,请原谅。

我正在考虑根据博客的受众规模(Twitter/Tumblr/Facebook 朋友)和他们的内容被共享的次数(即“到达”)设计一个简单的平均互联网受众排名。

以下是我要结合的指标:

| metric       | weight |    range      | distribution (est.)
-------------------------------------------------------------
| shares       |  1st   |  0 - Millions | power law
| comments     |  2nd   |  0 -thousands | power law
| Klout score  |  3rd   |  0 - 100      | normal , weighted toward lower end
| Twitter fol. |  4th   |  0 - Millions | power law
| LinkedIn con.|  5th   |  0 - 1000     | normal

目标

  • 如果单个指标显着高于正常水平,则不会完全排挤其他任何指标。例如,如果某人有 10,000,000 个 Twitter 关注者,但所有其他值都是 0,我绝不希望他们的排名高于拥有 1000 个博客帖子分享的人。

我知道我一直在阅读的多标准决策分析,但运筹学并不是我非常熟悉的领域。希望你们能帮助我指出正确的方向。

1个回答

有大量的潜在功能可以发挥作用。您想要的可能是加权和,但在添加变量之前对变量进行了一些转换。转换和权重的选择实际上是任意的,一个合理的方法是将它们编程到电子表格中,然后更改转换和权重,直到您有适合您的标准的东西来获得良好的整体指标。

我建议的方法如下:

  1. 为每个指标选择(我将称之为)一个高参考点。例如,您可以选择 10,000,000 股;10,000 条评论,等等。
  2. 对于分享、评论和 LinkedIn,由于您认为它们遵循幂律,您可以对指标取对数,将它们转换为更线性的尺度。
  3. 对每个度量进行线性变换,使其在原始值为 0 时为 0,在原始值为高参考点时为 1。对于股票,这将是log(shares+1)/log(10000001). (您需要添加 1,因为未定义日志 0)。对于 Klout 分数,这将是简单的klout/100.
  4. 将每个转换后的度量乘以权重并将它们相加。如果您能够在数学上定义良好度量的所有标准,那么您可能能够通过求解线性不等式系统来确定适当的权重。但在大多数情况下,我认为使用电子表格(如这个)进行试错会更容易,因为您可能希望在选择标准时进行试验并查看效果,而不是从一开始。

总之:

score=i=1nwimi/hi+i=n+1Nwilog(mi+1)/log(hi+1)

在哪里m1...mn是您认为是正态分布的指标吗?mn+1...mN是您认为具有功率分布的指标,w是权重和h高参考点。

其他一些可能的方法:

  1. 您可以猜测适合您的指标的指数或正态分布的参数,而不是猜测高参考点,然后使用标准分数(z-score)作为您的指标。它可以是与您认为每个指标的最大值相同数量级的任何值。

  2. 如果您实际上已经有大量数据,那么您可以检查每个指标的实际分布,然后使用现有数据的均值和标准差来计算现有和未来数据的标准分数。(换句话说,您现有的数据将成为参考点,而不是选择任意高的数字,例如 10,000,000)。

  3. 如果您已经有一些数据,您可以探索应用加权主成分分析等技术,该技术将查看不同指标如何一起变化,并为您提供可以解释最大变化的指标的线性组合。但是您仍然必须事先转换变量并为它们选择权重。