Qual é a distribuição da cardinalidade da interseção de amostras aleatórias independentes sem substituição?


10

S é um conjunto com elementos e são números inteiros positivos fixos menores ou iguais a .nNa1,a2,...,amn

Com os elementos de sendo igualmente prováveis, amostras são desenhadas separadamente e independentemente de sem substituição, cujo tamanho são , respectivamente.SmL1,L2,...,LmSa1,a2,...,am

A cardinalidade da interseção das amostrastem, em geral, suporte igual a , mas que distribuição segue?|L1L2 ... Lm|{0,1,...,min{a1,a2,...,am}}


Posso fornecer uma receita para o cálculo recursivo, mas não conheço uma solução de formulário fechado. Isso seria suficiente ou você deseja uma expressão explícita da função de distribuição dada a1,,am e n ?
Bridgeburners

@Bridgeburners Uma receita seria legal, pelo menos forneceria algum método / maneira de atacar esse problema e afins.
LLRs

Respostas:


3

Aqui está outra abordagem, que não envolve recursão. No entanto, ele ainda usa somas e produtos cujos comprimentos dependem dos parâmetros. Primeiro darei a expressão e depois explico.

Temos

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

EDIT: Ao final de escrever tudo isso, percebi que podemos consolidar um pouco a expressão acima combinando os coeficientes binomiais em probabilidades hipergeométricas e coeficientes trinomiais. Pelo que vale, a expressão revisada é Aqui é uma variável aleatória hipergeométrica em que são retirados de uma população de tamanho com estados de sucesso.Hyp(n,j+k,al)alnj+k

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

Derivação

Vamos fazer uma anotação para tornar os argumentos combinatórios um pouco mais fáceis de rastrear (espero). Ao longo, consideramos e corrigidos. Usaremos para denotar a coleção de pares ordenados , em que cada satisfatóriaa 1 , , a m C ( I ) m ( L 1 , , L m ) L iSSa1,,amC(I)m(L1,,Lm)LiS

  • |Li|=ai ; e
  • L1Lm=I .

Também usaremos para uma coleção idêntica, exceto que exigimos vez de igualdade. G 1 L mIC(I)L1LmI

Uma observação importante é que é relativamente fácil de contar. Isso ocorre porque a condição é equivalente a para todos os , portanto, em certo sentido, isso remove interações entre diferentes valores de . Para cada , o número de atende ao requisito é , pois podemos construir um tal escolhendo um subconjunto de do tamanhoe depois união com . Segue que G 1 L mI G iIiii L i ( | S | - | I |C(I)L1LmILiIiiiLiLiSIai-| I| I| C'(I)| =ni=1(|S|-|I|(|S||I|ai|I|)LiSIai|I|I

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

Agora, nossa probabilidade original pode ser expressa através do seguinte maneira: P ( | L 1L 2L m | = K ) = Σ I : | I | = k | C ( I ) |C

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

Podemos fazer duas simplificações aqui imediatamente. Primeiro, o denominador é o mesmo que Segundo, um argumento de permutação mostra quesó depende de através da cardinalidade. Como existem subconjuntos de com cardinalidade , segue-se que que é um subconjunto arbitrário e fixo de com cardinalidade| C(I)| I| I| (n

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

Dando um passo atrás, agora reduzimos o problema para mostrar que

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

Seja os subconjuntos distintos de formados adicionando exatamente um elemento a . Então (Isso significa apenas que se , então contém mas também não contém nenhum elemento adicional.) Agora, transformamos o problema de contagem de em um problema de contagem de , com o qual sabemos mais como lidar. Mais especificamente, temos S IJ1,,JnkSI0

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

Podemos aplicar a inclusão-exclusão para manipular o tamanho da expressão de união acima. A relação crucial aqui é que, para qualquer , Isso ocorre porque se contém um número de , então também contém sua união. Também observamos que o conjunto tem tamanho. Portanto 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).
(Podemos restringir os valores aqui, pois o produto dos coeficientes binomiais é zero, a menos que para todos os , ou seja, .)jjalkljmin(a1,,am)k

Por fim, substituindo a expressão no final da equação poracima e consolidando a soma, obtemos conforme reivindicado.|C(I0)|

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

+1 por todo o esforço e a solução, mas precisarei aprimorar minhas contas para entender a maior parte disso (e a outra resposta). Graças
LLRs

4

Não conheço uma maneira analítica de resolver isso, mas aqui está uma maneira recursiva de calcular o resultado.

Para você escolhe elementos de dos quais foram escolhidos antes. A probabilidade de escolher elementos que se cruzam com no seu segundo sorteio é dada pela distribuição hipergeométrica:m=2a2n, a1kmin{a1,a2}L1

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

Podemos chamar o resultadoPodemos usar a mesma lógica para encontrar onde é a cardinalidade da interseção de três amostras. Então,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).

Encontre isso para cada . O último cálculo não é numericamente difícil, porque é simplesmente o resultado do cálculo anterior e é uma invocação de a distribuição hipergeométrica.k{0,1,2,,min(a1,a2,a3)}P(b2=ln,a1,a2)P(b3=kn,b2=l,a3)

Em geral, para encontrar você pode aplicar as seguintes fórmulas recursivas: para e apenas para dizer queP ( b i = k ) = min ( a 1 , a 2 , , a i - 1 ) l = 0P(bm)

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

Aqui está em 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

Obrigado pela sua solução e seu código. Espero outras abordagens de respostas (se elas vierem) antes de conceder a recompensa.
LLRs
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.