如何确保随机样本对整个样本具有代表性?

机器算法验证 数据集 样本 代表
2022-03-19 22:30:38

我有 14k 条推文,我想对这些推文进行编码(根据它们的主题对其进行分类),但是由于很难对整个数据集进行编码,所以我决定从中抽取一个样本。

我正在考虑的是随机选择整个样本的 20%(虽然我不确定为什么我决定选择 20%),然后只为这个样本(20%)进行编码。我的问题是如何检查我选择的随机样本是否具有代表性?

我不是统计学专家:)谢谢,,

3个回答

只要您不希望将协变量信息合并到您的抽样方案中(例如,平衡来自男性/女性的推文),通常的方法是获取一个简单的随机样本而不进行替换这可以通过R使用sample.int函数来实现。在下面的代码中,我将向您展示如何从个总体值生成一个简单的随机样本。为方便起见,样本按升序排序,因此它是要包含在样本中的推文数量的列表。(请记住为可重复的随机化设置种子。)N

#Generate simple random sample of tweets
set.seed(1)
N <- 14000
p <- 0.2
n <- ceiling(p*N)
SAMPLE <- sort(sample.int(N, size = n, replace = FALSE))

#Show the sample
SAMPLE

   [1]     8    13    17    18    21    25    27    42    59    64  ...
  [24]   126   128   129   149   152   155   157   172   173   179  ...
  [47]   237   241   244   262   267   274   277   289   308   311  ...
  ...
  ...
  ...
[2761] 13775 13777 13779 13780 13784 13785 13787 13788 13796 13798  ...
[2784] 13879 13880 13886 13896 13908 13918 13923 13927 13942 13944  ...

在这里,我更喜欢系统抽样技术,即从总体中选择每 k 个个体。因此,从 n 个到达的推文列表中,选择每条第 k 个推文来构造一个样本集“s”个推文,使得 k*s 接近于 n。

优点:

  • 简单的统计有效程序

  • 准确的

  • 更容易实施和验证选择了正确的推文

  • 无偏且具有代表性,甚至比简单随机抽样方案更可能如此,在当前情况下,这也是按到达时间排序的,后者的标准可能很重要,因为它将样本分散在一天中。因此,例如,它可能会隔离工作人员(每天上午 9 点至下午 5 点大部分不活动)与非工作人员(包括下午 3 点至晚上 8 点(放学后)活动的学生和晚上晚些时候活动的老年人)。

因此,在这里应用简单、易于实施、无偏见和有代表性的系统抽样也可能导致样本在重要的年龄人口统计数据和收入类别上的分布。

注意:如何达到最佳样本量's'是一个重要的话题,最好单独讨论。

[编辑] 这个教育参考适当指出的重要一点,引用:

您没有完整的列表,因此简单的随机抽样不适用...

因此,从技术上讲,使用简单的随机抽样方案来评估父群体的特征,当一个人拥有要进行二次抽样的完整群体列表时是有效的。这不是构成推文宇宙子集的连续发生的一系列生成推文的情况。因此,关于父群体的推论,特别是关于它是否代表“整个样本”的问题,暗示父群体,在这里只能通过简单的随机抽样方案来回答。然而,同一来源确实证实了在这种情况下系统抽样的有效性,引用:

由于我们无法获得完整的列表,因此只需站在一个角落,每经过 10 个* 的人挑选一个。

*当然,这里选择10只是一个例子。这将取决于通常经过该地点的学生人数以及所需的样本量。

您想要的是一个在您将要手动编码的主题方面具有代表性的示例。

首先,您要确保您的编码过程没有偏见。这非常重要,因为如果您的编码程序有偏差,那么具有代表性的样本将毫无用处。因此,您需要至少两名独立编码员对推文进行编码(通常只是您要编码的推文的一部分),以及一个评估独立编码员编码结果之间一致性的测试(例如 Krippendorff 的 alpha 系数) .

话虽如此,在您的情况下,宇宙由 14,000 条推文组成,随机样本将避免根据定义选择推文时的系统偏差。但是,您可能会考虑进行更系统的抽样,以确保正确表示一周中的每一天和一天中的每个小时。例如,您可以对数据集中的所有天数、一天中的每一小时、每小时采样一定数量的推文。在媒体研究中,还有一个程序包括创建一个构建的周,其中每天的数据在多个周的同一天进行采样。对于推文,这种方法与简单的随机抽样进行了比较,发现后者表现更好。

一般来说,你可以在基于媒体数据和推特数据的文献中找到很多例子。如果您想真正确定样本策略的适当性,您可以考虑一种交叉验证方法。不是只取一个样本,而是取两个样本。不要忘记用独立的编码人员对推文进行编码并验证编码的有效性,首先对一个样本进行编码,然后对另一个样本进行编码,最后比较两个样本中编码的比例。您还可以使用统计测试来确保样本中的代码比例不会相差太大。然而,如此详细的方法可能是不寻常的。您应该考虑您所在领域的最佳实践。

您可能还想尝试一些监督分类方法,这些方法似乎也适用于有限数量的手动编码数据。