Seu exemplo sugere que não são apenas os n variáveis X1,X2,…,Xnindependentes, eles também têm a mesma distribuição normal. Deixe seus parâmetros seremμ (a média) e σ2 (a variação) e suponha que o subconjunto consista em kdessas variáveis. Podemos também indexar as variáveis para queX1,…,Xk são este subconjunto.
A pergunta pede calcular a chance de que a soma do primeiro k variáveis são iguais ou excedem a soma do resto:
pn,k(μ,σ)=Pr(X1+⋯+Xk≥Xk+1+⋯+Xn)=Pr(Y≤0)
Onde
Y=−(X1+⋯+Xk)+(Xk+1+⋯+Xn).
Y é uma combinação linear de variáveis normais independentes e, portanto, tem uma distribuição normal - mas qual? As leis da expectativa e variação imediatamente nos dizem
E[Y]=−kμ+(n−k)μ=(n−2k)μ
e
Var(Y)=kσ2+(n−k)σ2=nσ2.
Portanto, tem uma distribuição normal padrão com a função de distribuição onde a resposta éZ=Y−(n−2k)μσn−−√
Φ,
pn,k(μ,σ)=Pr(Y≤0)=Pr(Z≤−(n−2k)μσn−−√)=Φ(−(n−2k)μσn−−√).
Na questão, e onden=5,k=2,μ=10,σ=3,
p5,2(10,3)=Φ(−(5−2(2))10310−−√)≈0.0680186.
Generalização
Pouco precisa mudar nessa análise, mesmo quando os têm distribuições normais diferentes ou estão correlacionados: você só precisa assumir que eles têm uma distribuição Normal variável para garantir que sua combinação linear ainda tenha uma distribuição Normal. Os cálculos são realizados da mesma maneira e resultam em uma fórmula semelhante.Xin
Verifica
Um comentarista sugeriu resolver isso com simulação. Embora isso não seja uma solução, é uma maneira decente de verificar uma solução rapidamente. Assim, R
podemos estabelecer as entradas da simulação de alguma maneira arbitrária, como
n <- 5
k <- 2
mu <- 10
sigma <- 3
n.sim <- 1e6 # Simulation size
set.seed(17) # For reproducible results
e simule esses dados e compare as somas com essas duas linhas:
x <- matrix(rnorm(n*n.sim, mu, sigma), ncol=n)
p.hat <- mean(rowSums(x[, 1:k]) >= rowSums(x[, -(1:k)]))
O pós-processamento consiste em encontrar a fração de conjuntos de dados simulados em que uma soma excede a outra e compará-la à solução teórica:
se <- sqrt(p.hat * (1-p.hat) / n.sim)
p <- pnorm(-(n-2*k)*mu / (sigma * sqrt(n)))
signif(c(Simulation=p.hat, Theory=p, `Z-score`=(p.hat-p)/se), 3)
A saída neste caso é
Simulation Theory Z-score
0.0677 0.0680 -1.1900
O acordo está próximo e o pequeno escore z absoluto nos permite atribuir a discrepância a flutuações aleatórias, em vez de qualquer erro na derivação teórica.