如何测量词频数据的离散度?

机器算法验证 方差 自然语言 基尼 分散 词袋
2022-03-13 05:58:14

如何量化字数向量中的离散量?我正在寻找一个对于文档 A 来说很高的统计数据,因为它包含许多不经常出现的不同单词,而对于文档 B 来说是低的,因为它包含经常出现的一个单词(或几个单词)。

更一般地说,如何衡量名义数据的分散或“传播”?

在文本分析社区中是否有这样做的标准方法?

在此处输入图像描述

在此处输入图像描述

4个回答

对于概率(比例或份额)总和为 1,族封装了该领域的几个测量建议(索引、系数等)。因此pipia[ln(1/pi)]b

  1. a=0,b=0返回观察到的不同单词的数量,这是最容易考虑的,尽管它忽略了概率之间的差异。如果仅作为上下文,这总是有用的。在其他领域,这可能是一个部门的公司数量、在一个地点观察到的物种数量等等。一般来说,我们称之为不同项目的数量

  2. a=2,b=0返回 Gini-Turing-Simpson-Herfindahl-Hirschman-Greenberg 概率平方和,也称为重复率或纯度或匹配概率或纯合性。它经常被报告为它的互补或倒数,有时用其他名称,如杂质或杂合性。在这种情况下,它是随机选择的两个词相同的概率,其补码是两个词不同的概率。倒数 可以解释为相同数量的相同类别;这有时被称为数字等价物。通过注意到个同样常见的类别(每个概率因此1pi21/pi2k1/k ) 暗示,所以概率的倒数就是选择一个名字最有可能背叛你工作的领域。每个领域都向自己的前辈致敬,但我认为匹配概率简单且几乎可以自定义。pi2=k(1/k)2=1/kk

  3. a=1,b=1返回香农熵,通常表示为,并且已在先前的答案中直接或间接地发出信号。这个名字一直停留在这里,原因有好有坏,有时甚至是物理学上的嫉妒。注意是这个度量的等价数,正如以类似的方式注意到个同样常见的类别产生,因此给你回熵有许多出色的性质;“信息论”是一个很好的搜索词。Hexp(H)kH=k(1/k)ln[1/(1/k)]=lnkexp(H)=exp(lnk)k

该配方可在 IJ Good 中找到。1953. 物种的种群频率和种群参数的估计。生物计量学 40:237-264。 www.jstor.org/stable/2333344

根据口味或先例或方便,对数的其他底数(例如 10 或 2)同样可能,上面的某些公式仅隐含简单的变化。

第二个措施的独立重新发现(或重新发明)在多个学科中是多种多样的,上面的名称远非完整列表。

将家庭中的常用度量结合在一起不仅仅是在数学上具有轻微的吸引力。它强调了根据应用于稀缺和常见项目的相对权重来选择衡量标准,因此减少了由少量明显武断的提议所造成的任何自欺欺人的印象。某些领域的文献被论文甚至书籍所削弱,这些论文甚至书籍基于作者偏爱的某些衡量标准是每个人都应该使用的最佳衡量标准。

我的计算表明示例 A 和 B 没有太大不同,除了第一个度量:

----------------------------------------------------------------------
          |  Shannon H      exp(H)     Simpson   1/Simpson      #items
----------+-----------------------------------------------------------
        A |      0.656       1.927       0.643       1.556          14
        B |      0.684       1.981       0.630       1.588           9 
----------------------------------------------------------------------

(有些人可能会注意到这里命名的辛普森(Edward Hugh Simpson,1922-)与辛普森悖论的名字相同。他做了出色的工作,但他不是第一个发现这两件事的人他被命名,这又是斯蒂格勒的悖论,而这又是......)

我不知道是否有一种通用的方法,但这在我看来类似于经济学中的不平等问题。如果您将每个单词视为一个单独的单词,并且它们的计数与收入相当,那么您有兴趣比较单词包在具有相同计数(完全相等)的每个单词的极端之间的位置,或者一个具有所有计数的单词其他人为零。复杂之处在于“零”不会出现,通常定义的词袋中的计数不能少于 1...

A的基尼系数为0.18,B的基尼系数为0.43,这表明A比B更“平等”。

library(ineq)

A <- c(3, 2, 2, rep(1, 11))
B <- c(9, 2, rep(1, 7))
Gini(A)
Gini(B)

我也对任何其他答案感兴趣。显然,老式的计数差异也是一个起点,但是您必须以某种方式对其进行缩放,以使其与不同大小的袋子具有可比性,因此每个单词的平均计数也不同。

本文回顾了语言学家使用的标准分散测量。它们被列为单词分散度量(它们测量跨节、页面等的单词分散),但可以想象用作词频分散度量。标准的统计数据似乎是:

  1. 最大-最小
  2. 标准差
  3. 变异系数CV
  4. 卡方χ2

经典的有:

  1. 朱拉德D=1CVn1
  2. 罗森格伦的S=N(i=1nni)2n
  3. 卡罗尔的D2=(log2Ni=1nnilog2niN)/log2(n)
  4. 莱恩的D3=1χ24N

在哪里N是文本中的单词总数,n是不同单词的数量,并且ni文本中第 i 个单词的出现次数。

文中还提到了另外两个分散度量,但它们依赖于单词的空间定位,因此不适用于词袋模型。

  • 注意:我更改了文章中的原始符号,以使公式更符合标准符号。

我要做的第一件事是计算香农的熵。您可以使用 R 包infotheo、函数entropy(X, method="emp")如果你环绕natstobits(H)它,你会得到这个源的熵。