
引言
幂律分布在游戏行业中非常重要。在免费游戏模式下,玩家的付费行为往往遵循幂律分布。少数“鲸鱼玩家”贡献了大部分的收入,而大多数玩家可能只进行少量或不进行付费。通过理解和应用幂律分布,游戏开发者可以更好地分析和预测玩家行为,优化游戏设计和运营策略,从而提升玩家体验和商业收益。本文介绍专门用于分析幂律分布的python库powerlaw,提供了丰富的工具来拟合、比较和可视化幂律分布及其他类型的分布(如指数分布、对数正态分布等)。
摘要
幂律分布是理论上非常有趣的概率分布,也经常用于描述实证数据。近年来,已经开发了有效的统计方法来拟合幂律分布,但适当使用这些技术需要显著的编程和统计洞察力。为了大大降低使用良好统计方法拟合幂律分布的障碍,我们开发了powerlaw Python包。这个软件包提供了用于基本拟合和分布统计分析的简单命令。值得注意的是,它还通过提供多种选项来支持用户的各种需求。源代码是公开的,并且易于扩展。
介绍
幂律分布是具有以下形式的概率分布:
p(x)∝x−α p(x) \propto x^{-\alpha} p(x)∝x−α
幂律概率分布在理论上是有趣的,因为它们是“重尾”的,这意味着分布的右尾仍然包含大量的概率。这种重尾性可能如此极端,以至于分布的标准差可能是未定义的(对于 α<3\alpha < 3α<3 ),甚至均值也是未定义的(对于 $ \alpha < 2$ )。这些特性形成了一个无尺度系统,其中所有值都可能出现,没有特征大小或尺度。幂律分布在自然界中被广泛发现,包括在天体物理学、语言学和神经科学中。然而,准确地将幂律分布拟合到实证数据中,以及测量拟合的优度,并不是一件容易的事。此外,来自特定领域的实证数据可能伴随着需要在统计分析中考虑的领域特定因素。
近年来,已经开发了几种评估幂律拟合的统计方法。我们在此介绍并描述powerlaw,这是一个用于轻松实现这些方法的Python包。powerlaw包在现有软件的基础上有所进步,因为它易于使用,全面支持多种概率分布及其子类型,并且具有可扩展性和可维护性。包含多种分布类型和拟合选项是至关重要的,因为适当的分布拟合需要考虑数据的多个方面,否则拟合将不准确。代码库的易扩展性还允许未来扩展powerlaw的功能,特别是用户可以添加新的理论概率分布进行分析。
在本报告中,我们描述了powerlaw的结构和使用。使用powerlaw,我们将给出将幂律和其他分布拟合到数据的示例,并提供关于在此过程中应考虑的数据因素和拟合选项的指导。
图1展示了可视化、拟合和评估重尾分布的基本元素。每个组件在后续部分中有更详细的描述。图1和下面的powerlaw代码示例中包括了三个示例数据集,分别代表良好的幂律拟合、中等拟合和较差的拟合。第一个最佳拟合数据集可能是所有幂律分布中最著名和最坚实的:英语语言中的词频。使用的具体数据是赫尔曼·梅尔维尔的小说《白鲸》中的词频。第二个中等拟合数据集是秀丽隐杆线虫每个神经元的连接数。最后,较差拟合的数据是1984年至2002年间美国受电力中断影响的人数。
图1A显示了三个示例数据集的概率密度函数。图1B显示了只有分布的一部分尾部可能遵循幂律。图1C显示了幂律拟合的优度应与其他可能的分布进行比较,这些分布可能同样或更好地描述数据。

图1. 重尾分布分析的基本步骤:可视化、拟合和比较。幂律拟合的示例数据分别为良好拟合(左栏)、中等拟合(中栏)和较差拟合(右栏)。数据和方法在正文中描述。
a)使用概率密度函数可视化数据。在线性坐标轴上的典型直方图(插图)对于可视化重尾分布没有帮助。在对数-对数坐标轴上,使用对数间隔的箱是准确表示数据所必需的(蓝线)。线性间隔的箱(红线)会掩盖分布的尾部(见正文)。
b)拟合分布的尾部。最佳拟合幂律可能只覆盖分布尾部的一部分。虚线绿色线:从xmin=1开始的幂律拟合。虚线绿色线:从最佳xmin开始的幂律拟合(见基本方法:识别缩放范围)。
c)比较拟合优度。一旦确定了幂律的最佳拟合,就需要与其他可能的分布进行比较。虚线绿色线:从最佳xmin开始的幂律拟合。虚线红色线:从相同xmin开始的指数拟合。
powerlaw包将自动执行所有这些步骤。以下是powerlaw的基本用法示例,并附有解释。使用受停电影响的人口数据:
一个包含所有示例的IPython Notebook和原始Python文件包含在支持信息中。powerlaw的设计包括面向对象和函数式元素,用户可以使用这两种元素。面向对象的方法需要最少的代码行数,这里展示了这种方法。

最低0.47元/天 解锁文章
3952

被折叠的 条评论
为什么被折叠?



