Исследование гипергеометрического распределения в статистике: методы и примеры кода

Гипергеометрическое распределение — это распределение вероятностей, которое описывает количество успехов в выборке фиксированного размера, взятой без замены из конечной совокупности с известным числом успехов и неудач. В этой статье мы углубимся в концепцию гипергеометрического распределения и рассмотрим различные методы расчета вероятностей и генерации случайных чисел с использованием Python и R.

Понимание гипергеометрического распределения:

Прежде чем мы углубимся в примеры кода, давайте кратко разберемся с ключевыми компонентами гипергеометрического распределения:

  • Размер популяции (N): общее количество элементов в совокупности.
  • Количество успехов в популяции (K): общее количество элементов с определенной интересующей характеристикой.
  • Размер выборки (n): количество элементов, выбранных из совокупности без замены.
  • Количество успехов в выборке (r): количество элементов с определенной характеристикой в ​​выборке.

Методы расчета гипергеометрического распределения:

  1. Вычисление функции массы вероятности (PMF):
    PMF дает вероятность наблюдения ровно r успехов в выборке размером n. Вот пример на Python:
from scipy.stats import hypergeom
N = 100  # Population size
K = 30   # Number of successes in the population
n = 10   # Sample size
r = 3    # Number of successes in the sample
pmf = hypergeom.pmf(r, N, K, n)
print(f"Probability of observing {r} successes: {pmf:.4f}")
  1. Расчет кумулятивной функции распределения (CDF):
    CDF обеспечивает вероятность наблюдения r или меньшего числа успехов в выборке размера n. Вот пример на R:
library(HypergeoR)
N <- 100  # Population size
K <- 30   # Number of successes in the population
n <- 10   # Sample size
r <- 3    # Number of successes in the sample
cdf <- phyper(r, K, N - K, n, lower.tail = TRUE, log.p = FALSE)
cat("Probability of observing", r, "or fewer successes:", cdf, "\n")

Генерация случайных чисел из гипергеометрического распределения:

  1. Случайная выборка в Python:
    Модуль scipy.statsпредоставляет удобный способ генерации случайных чисел из гипергеометрического распределения. Вот пример:
from scipy.stats import hypergeom
N = 100  # Population size
K = 30   # Number of successes in the population
n = 10   # Sample size
random_sample = hypergeom.rvs(N, K, n, size=5)
print("Randomly generated sample:", random_sample)
  1. Случайная выборка в R:
    Пакет HypergeoRв R предлагает функции для генерации случайных чисел из гипергеометрического распределения. Вот пример:
library(HypergeoR)
N <- 100  # Population size
K <- 30   # Number of successes in the population
n <- 10   # Sample size
random_sample <- rhyper(n, K, N - K, n)
cat("Randomly generated sample:", random_sample, "\n")

В этой статье мы исследовали гипергеометрическое распределение и обсудили различные методы расчета вероятностей и генерации случайных чисел с использованием Python и R. Понимание и применение этих методов может быть полезным в статистическом анализе, особенно при работе со сценариями выборки без замены. Используя предоставленные примеры кода, вы можете легко внедрить эти методы в свои собственные проекты.