微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何计算 R 中 SRSWR带替换的简单随机采样的概率?

如何解决如何计算 R 中 SRSWR带替换的简单随机采样的概率?

A 和 B 是 2 个大小为 50 的样本,它们是从 100 个观测值(带替换)中创建的。 A 和 B 的共同观测值不超过 10 个的概率是多少?或者,可以创建多少这样的样本,以便 A B 最多有 10 个共同观察。例如Obs 1,...50 在 A 和 51,...100 在 B,或 1,3,5,...,99 在 A,2,4,100 在 B。 另外,是否可以对 8 个大小为 50 的样本而不是仅 2 个样本重复相同的练习?我如何在 Excel 或 R 中计算它?

解决方法

由于您在此处而不是在 Mathematics Stack Exchange 中提出了这个问题,因此我假设您想使用模拟来估计上述概率,而不是直接计算概率。

A 和 B 的共同观测值不超过 10 个的概率是多少?

在 R 中,我们可以通过获取 2 个样本来估计这个概率,每个样本有 50 个元素,检查它们是否包含 10 个以上的共同数字,并在跟踪满足此条件的迭代的同时重复此过程。使用 1000000 次迭代的概率估计如下:


# total iterations
n = 1000000

# Increases when samples don't share more than 10 observations
count = 0

# population
pop = 1:100

# Loop for checking the condition n times
for(i in 1:n){

  # obtain 2 samples each of size 50 (It is assumed that values in 
  # each sample can not repeat and that there is replacement after each sample is obtained)

  sam1 = sample(pop,50)
  sam2 = sample(pop,50)

  # Count values found in both samples
  # Takes advantage of the fact that TRUE values can be used as 1s in R
  total = sum(sam1 %in% sam2)

  # Increase counter if there are 10 or less matches
  if(total <= 10) {
    count = count + 1
   }
}

# Print the probability
print(count/n)

对于您关于 8 个样本的问题,您可以使用 8 个样本而不是 2 个样本重复上述代码,并按照 here 的描述找到交集。

注意:因为有很多可能的样本对 (choose(100,50)^2) 和八个样本的集合 (choose(100,50)^8),所以有可能这些概率非常小,以至于模拟需要非常大的样本量才能观察到满足问题标准的一对。

直接计算概率

我建议您在 Mathematics Stack Exchange 中提问。我发现这对 post 有类似的问题有点有用。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。