2011-01-05 31 views
3

的Twitter最近announced,你可以通过输入自己的追随者近似高精度任何给定的Twitter用户的级别以下公式计算:幂律曲线社交网络配件查询

EXP($ A + $ b *日志(FOLLOWER_COUNT))

其中$ A = 21和$ b = -1.1

这显然是一个很多比排序由跟随用户的整个列表计算给定用户更高效。

如果您有来自不同社交网站的类似数据集,您如何得出$ a和$ b的值以适合该数据集?基本上是一些频率列表,其分布被假定为幂律。

+0

注意,这不是什么“对数正态分布”是指...对数/数尺度 – 2011-01-05 23:09:43

+0

线是我真正的意思 – 2011-01-05 23:29:01

回答

6

您有以下型号:

y = exp(a + b.log(x)) 

这相当于:

log(y) = a + b.log(x) 

因此,如果你把你的数据集的日志,结束了一个线性模型,所以你然后可以使用linear regression来确定ab的最佳拟合值。

但是,这听起来对我来说毫无意义。谁能说一个给定的网络站点使用这种关系来确定用户等级?

+0

+1,他们不和Twitter从来没有说过,他们这样做。这只是近似你的排名的追随者数量,而不是真正的'排名' – 2011-01-06 00:03:53

+0

@Kirk:的确,我最初误解了OP的意思是“排名”。我想这个修辞问题会变成:谁会说某个网络站点的分布遵循这种关系? – 2011-01-06 00:08:08

+0

对不起,我误解你的意思!我想这是假定分布是对数正态分布的,或者遵循“幂定律”,这可能是一个有点合理但完全不可靠的假设。 – 2011-01-06 01:01:46

1

您可以使用名为“求解器”的Microsoft Excel加载项。它包含在Excel中,但并不总是默认安装。在您的Excel版本中查找“加载项”和“求解器”并加载它。

安装加载项后,请执行下列操作:

  1. 创建一个新的工作表。在列A中,您将放置每个人的编号(可选)

  2. 列B,追随者的数量。

  3. 如果数据没有排序,排序它使用列B

  4. 在列c将在排名(你知道,1,2,3等)

  5. 认沽值21小区D1和小区E1处的-1.1。这些是$ A和$ B的Twitter值。这些是我们的基本价值。他们可能会改变。

  6. 在细胞D2把像这样的公式:= EXP($ E $ 1 + $ F $ 1 *日志(B2))

  7. 复制下来D2式在数据的结尾。

  8. 在细胞E2处放置一个公式来比较实际排名与公式结果(即方差)。例如= sqrt(c2 * c2 + d2 * d2)。实际值和预测值越接近,该值将趋于0.

  9. 将单元格E2复制到数据的末尾。

  10. 在数据的底部,在E列,对差异求和。例如,假设您的数据有10,000个值。在单元格E10001中输入= sum(e2:e10000)。

  11. 转到菜单数据,然后查找“求解器”菜单的位置。该位置可能取决于您的Excel版本。使用“帮助”功能搜索“目标搜索”。

  12. 请按照说明(我现在要去)帮助使用Solver加载项。显然,变化的单元格是D1和E1,目标是使E10001(方差之和)尽可能接近零。