Каково распределение мощности пересечения независимых случайных выборок без замены?


10

S некоторое множество сnN элементов, и 1 , 2 , . , , , М фиксированные положительные целые числа меньше или равно п .a1,a2,...,amn

С элементами S быть с равной вероятностью, m образцы L1,L2,...,Lm отдельно и независимо друг от друга взяты из S без замены, размер которых 1 , а 2 , . , , , М , соответственно.a1,a2,...,am

Мощность пересечения образцов |L1L2 ... Lm|имеет, в общем, поддерживают равным {0,1,...,min{a1,a2,...,am}} , но какой дистрибутив следует?


Я могу предоставить вам рецепт для его рекурсивного вычисления, но я не знаю решения в закрытой форме. Будет ли этого достаточно, или вы хотите явное выражение функции распределения, заданной a1,,am и n ?
Bridgeburners

@Bridgeburners Рецепт был бы хорош, по крайней мере, он предоставил бы некоторый метод / способ решения этой проблемы и связанной с ней.
ЛОП

Ответы:


3

Вот еще один подход, который не предполагает рекурсии. Тем не менее, он по-прежнему использует суммы и продукты, длина которых зависит от параметров. Сначала я дам выражение, потом объясню.

У нас есть

P(|L1L2Lm|=k)=(nk)i=1n(nai)j=0min(a1,,am)k(1)j(nkj)l=1n(njkaljk).

РЕДАКТИРОВАТЬ: В конце написания всего этого я понял, что мы можем немного консолидировать вышеприведенное выражение, комбинируя биномиальные коэффициенты в гипергеометрические вероятности и триномиальные коэффициенты. Что бы это ни стоило, пересмотренное выражение выглядит так: Здесь является гипергеометрической случайной величиной, где отрисовки взяты из совокупности размера имеющей состояний успеха.

j=0min(a1,,am)k(1)j(nj,k,njk)l=1nP(Hyp(n,j+k,al)=j+k).
Hyp(n,j+k,al)alnj+k

отвлечение

Давайте получим некоторые обозначения, чтобы сделать комбинаторные аргументы немного легче для отслеживания (надеюсь). Повсюду мы рассматриваем и фиксированными. Мы будем использовать для обозначения набора упорядоченных кортежей , где каждый , удовлетворяющийSa1,,amC(I)m(L1,,Lm)LiS

  • |Li|=ai ; а также
  • L1Lm=I .

Мы также будем использовать для идентичной коллекции, за исключением того, что нам требуется вместо равенства.C(I)L1LmI

Ключевое наблюдение заключается в том, что относительно легко сосчитать. Это потому, что условие эквивалентно для всех , поэтому в некотором смысле это устраняет взаимодействия между различными значениями . Для каждого число удовлетворяющих требованию, равно , поскольку мы можем построить такое , выбрав подмножество размераа затем unioning с . Это следует из того C(I)L1LmILiIiiiLi(|S||I|ai|I|)LiSIai|I|I

|C(I)|=i=1n(|S||I|ai|I|).

Теперь наша первоначальная вероятность может быть выражена через следующим образом: C

P(|L1L2Lm|=k)=I:|I|=k|C(I)|all IS|C(I)|.

Мы можем сделать два упрощения здесь прямо сейчас. Во-первых, знаменатель такой же, как Во-вторых, аргумент перестановки показывает, чтозависит только от через кардинальность, Поскольку существуют подмножества в имеющие мощность , из этого следует, что где - произвольное фиксированное подмножество имеющее мощность

|C()|=i=1n(|S|ai)=i=1n(nai).
|C(I)|I|I|(nk)Sk
I:|I|=k|C(I)|=(nk)|C(I0)|,
I0Sk .

Сделав шаг назад, мы теперь сократили проблему до показа, что

|C(I0)|=j=0min(a1,,am)k(1)j(nkj)l=1n(njkaljk).

Пусть будут различными подмножествами образованными путем добавления ровно одного элемента в . Тогда (Это просто говорит о том, что если , то содержит но также не содержит никаких дополнительных элементов.) Теперь мы преобразовали проблему -counting в проблему -counting, которую мы знаем больше, как ее решить. Более конкретно, у нас есть J1,,JnkSI0

C(I0)=C(I0)(i=1nkC(Ji)).
L1Lm=I0L1LmI0CC
|C(I0)|=|C(I0)||i=1nkC(Ji)|=l=1n(nkalk)|i=1nkC(Ji)|.

Мы можем применить включение-исключение, чтобы обработать размер выражения объединения выше. Здесь решающее значение имеет то, что для любого непустого , Это потому, что если содержит число , то оно также содержит их объединение. Также отметим, что множество имеет размер, Следовательно I{1,,nk}

iIC(Ji)=C(iIJi).
L1LmJiiIJi|I0|+|I|=k+|I|
|i=1nkC(Ji)|=I{1,,nk}(1)|I|1|iIC(Ji)|=j=1nkI:|I|=j(1)j1l=1n(njkaljk)=j=1nk(1)j1(nkj)l=1n(njkaljk).
(Здесь мы можем ограничить значения поскольку произведение биномиальных коэффициентов равно нулю, если только для всех , т.е. .)jjalkljmin(a1,,am)k

Наконец, подставляя выражение в конце в уравнение дляВыше и, суммируя сумму, получаем как заявлено.|C(I0)|

|C(I0)|=j=0min(a1,,am)k(1)j(nkj)l=1n(njkaljk)

+1 за все усилия и решение, но мне нужно полировать математику, чтобы понять большую часть этого (и другой ответ). Спасибо
ЛОП

4

Я не знаю аналитического способа решения этой проблемы, но вот рекурсивный способ вычисления результата.

Для вы выбираете элементов из из которых были выбраны ранее. Вероятность выбора элементов, которые пересекаются с в вашем втором розыгрыше, определяется гипергеометрическим распределением:m=2a2n, a1kmin{a1,a2}L1

P(kn,a1,a2)=(a1k)(na1a2k)(na2).

Мы можем назвать результатМы можем использовать ту же логику, чтобы найти где - мощность пересечения трех выборок. Затем,b2.P(b3=kn,b2,a3),b3

P(b3=k)=l=0min(a1,a2)P(b3=kn,b2=l,a3)P(b2=ln,a1,a2).

Найдите это для каждого . Последнее вычисление не является численно сложным, поскольку является просто результатом предыдущего вычисления, а является вызовом гипергеометрическое распределение.k{0,1,2,,min(a1,a2,a3)}P(b2=ln,a1,a2)P(b3=kn,b2=l,a3)

В общем, чтобы найти вы можете применить следующие рекурсивные формулы: для и есть просто сказать, чтоP(bm)

P(bi=k)=l=0min(a1,a2,,ai1)P(bi=kn,bi1=l,ai)P(bi1=l),
P(bi=kn,bi1=l,ai)=(lk)(nlaik)(nai),
i{2,3,,m},
P(b1)=δa1b1,
b1=a1.

Вот это в R:

hypergeom <- function(k, n, K, N) choose(K, k) * choose(N-K, n-k) / choose(N, n)

#recursive function for getting P(b_i) given P(b_{i-1})
PNext <- function(n, PPrev, ai, upperBound) {
  l <- seq(0, upperBound, by=1)
  newUpperBound <- min(ai, upperBound)
  kVals <- seq(0, newUpperBound, by=1)
  PConditional <- lapply(kVals, function(k) {
    hypergeom(k, ai, l, n)
  })
  PMarginal <- unlist(lapply(PConditional, function(p) sum(p * PPrev) ))
  PMarginal
}

#loop for solving P(b_m)
P <- function(n, A, m) {
  P1 <- c(rep(0, A[1]), 1)
  if (m==1) {
    return(P1)
  } else {
    upperBound <- A[1]
    P <- P1
    for (i in 2:m) {
      P <- PNext(n, P, A[i], upperBound)
      upperBound <- min(A[i], upperBound)
    }
    return(P)
  }
}

#Example
n <- 10
m <- 5
A <- sample(4:8, m, replace=TRUE)
#[1] 6 8 8 8 5

round(P(n, A, m), 4)
#[1] 0.1106 0.3865 0.3716 0.1191 0.0119 0.0003
#These are the probabilities ordered from 0 to 5, which is the minimum of A

Спасибо за ваше решение и ваш код. Я жду других подходов к ответам (если они придут), прежде чем присудить награду.
августа
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.