如果我的数据不完全遵循 Zipf 定律,我如何在数学上证明它的合理性?

机器算法验证 邮编
2022-04-02 08:56:23

Zipf 定律指出,在文本集中s=1有几个词经常出现,而很多词很少出现。Zipf 文本集定律s=1在 Zipf 分布中定义为:

f(k;s,N)=ksi=1Nis

在哪里f(·)表示术语的归一化频率,k表示该词在我们的语料库中的频率等级(与k=1是最高级别),N是我们词汇表中的术语数量,并且s是分布参数。

问题:如果我的数据不完全遵循 Zipf 定律(特别是对于出现频率低和高的词),我如何在数学上证明它是正确的?

1个回答

关于 Zipf 定律背后的数学理论的文献非常丰富,包括大量出现该定律的基础理论模型。Zipf 定律与幂律相关,因为它断言所分析对象的等级与频率之间存在幂律关系,因此也有大量文献研究了 Zipf 分布与幂律行为之间的联系。帕累托分布。关于这个主题的统计文献非常丰富,但你可以在Mitzenmacher (2003)中找到关于这个领域的一个很好的介绍性论述。正如您将从该参考资料中看到的那样,有许多建模方法会导致 Zipf 定律中规定的行为。

对于自然语言和词汇分析,最突出的建模方法是类似于Mandelbrot (1953)工作的信息论推导本文使用信息优化来推导出 Zipf 定律的一个稍微概括的形式;这个模型对信息论产生了很大的影响,并导致了一系列后来的模型。Mandelbrot 使用的方法导致了Zipf 分布在支持上的一种略微概括的形式1,...,N,由比例关系定义:

f(k|s,c,N)1(k+c)sI(k{1,...,N}),

带参数c0这种分布关系通常通过分布满足以下事实在对数图上表现出来:s>0

logf(k|s,c,N)=constslog(k+c)=constslog(k)slog(1+ck).

的特殊情况下,我们看到秩频率关系将在对数图上显示为负线性关系。对于,关系将呈现非线性,但对于将变为线性(即,它将接近线性,除非相对较低)。c=0c>0kck


在经验数据中研究 Zipf 定律的一个有用的起点是在对数对数图上绘制等级与频率的关系,看看它是否看起来大致遵循上述形式。您可以轻松获得参数的 MLE,并使用它来将估计的 Zipf 分布叠加到对数图上,以查看数据与该分布的最接近版本的接近程度。您还可以使用拟合优度检验来查看数据与理论分布的变化是否足以证伪假设的分布形式。cs

现在,如果您的数据确实偏离了 Zipf 定律(在此处显示的广义意义上),那么这意味着您将需要调查更广泛的分布形式以适应您的数据。试图根据您的数据提供的证据“证明” Zipf 定律是一个坏主意——您应该让您的数据主导分析,并寻找与您的数据相比合理的模型和分布形式。如果您的数据不适合 Zipf 分布族,理想情况下,您可以通过检查由对基础信息论模型进行一些看似简单的更改而产生的分布族来扩大分析范围。理想情况下,您最终会得到一个分布形式,该形式具有坚实的信息论基础,并且可以很好地拟合您的数据。