Le variabili binomiali vengono solitamente create sommando variabili indipendenti di Bernoulli. Vediamo se possiamo iniziare con una coppia di variabili di Bernoulli correlate e fare la stessa cosa.( X, Y)
Supponiamo che sia una variabile di Bernoulli (ovvero, e ) e sia una variabile di Bernoulli . Per definire la loro distribuzione congiunta dobbiamo specificare tutte e quattro le combinazioni di risultati. Scrivendo possiamo facilmente capire il resto dagli assiomi della probabilità:( p ) Pr ( X = 1 ) = pX( p )Pr ( X= 1 ) = pY ( q ) Pr ( ( X , Y ) = ( 0 , 0 ) ) = a , Pr ( ( X , Y ) = ( 1 , 0 ) ) = 1 - q - un ,Pr ( X= 0 ) = 1 - pY( q)
Pr ( ( X, Y) = ( 0 , 0 ) ) = a ,
Pr ( ( X, Y) = ( 1 , 0 ) ) = 1 - q- a ,Pr ( ( X, Y) = ( 0 , 1 ) ) = 1 - p - a ,Pr ( ( X, Y) = ( 1 , 1 ) ) = a + p + q- 1.
Inserendolo nella formula per il coefficiente di correlazione e risolvendo si ottieneρ
a = ( 1 - p ) ( 1 - q) + ρ p q( 1 - p ) ( 1 - q)-------------√.(1)
A condizione che tutte e quattro le probabilità siano non negative, ciò fornirà una valida distribuzione congiunta e questa soluzione parametrizza tutte le distribuzioni bivariate di Bernoulli. (Quando , esiste una soluzione per tutte le correlazioni matematicamente significative tra e ). Quando sommiamo di queste variabili, la correlazione rimane la stessa - ma ora le distribuzioni marginali sono binomiali e Binomiale , come desiderato.- 1 1 n ( n , p ) ( n , q )p = q- 11n( n , p )( n , q)
Esempio
Sia , , e vorremmo che la correlazione fosse . La soluzione a è (e le altre probabilità sono circa , e ). Ecco un diagramma di realizzazioni dalla distribuzione congiunta:p = 1 / 3 q = 3 / 4 ρ = - 4 / 5 ( 1 ) un = ,00,336735 millions 0.247 0.663 0.087 1.000n = 10p = 1 / 3q= 3 / 4ρ = - 4 / 5( 1 )a = 0,003367350,2470,6630,0871000
Le linee rosse indicano la media del campione e la linea tratteggiata è la linea di regressione. Sono tutti vicini ai valori previsti. I punti sono stati agitati casualmente in questa immagine per risolvere le sovrapposizioni: dopo tutto, le distribuzioni binomiali producono solo valori integrali, quindi ci sarà una grande quantità di sovrapposizione.
Un modo per generare queste variabili è campionare volte da con le probabilità scelte e quindi convertire ogni in , ciascuno in , ciascuno in e ogni in . Somma i risultati (come vettori) per ottenere una realizzazione di .{ 1 , 2 , 3 , 4 } 1 ( 0 , 0 ) 2 ( 1 , 0 ) 3 ( 0 , 1 ) 4 ( 1 , 1 ) ( X , Y )n{ 1 , 2 , 3 , 4 }1( 0 , 0 )2( 1 , 0 )3( 0 , 1 )4( 1 , 1 )( X, Y)
Codice
Ecco R
un'implementazione.
#
# Compute Pr(0,0) from rho, p=Pr(X=1), and q=Pr(Y=1).
#
a <- function(rho, p, q) {
rho * sqrt(p*q*(1-p)*(1-q)) + (1-p)*(1-q)
}
#
# Specify the parameters.
#
n <- 10
p <- 1/3
q <- 3/4
rho <- -4/5
#
# Compute the four probabilities for the joint distribution.
#
a.0 <- a(rho, p, q)
prob <- c(`(0,0)`=a.0, `(1,0)`=1-q-a.0, `(0,1)`=1-p-a.0, `(1,1)`=a.0+p+q-1)
if (min(prob) < 0) {
print(prob)
stop("Error: a probability is negative.")
}
#
# Illustrate generation of correlated Binomial variables.
#
set.seed(17)
n.sim <- 1000
u <- sample.int(4, n.sim * n, replace=TRUE, prob=prob)
y <- floor((u-1)/2)
x <- 1 - u %% 2
x <- colSums(matrix(x, nrow=n)) # Sum in groups of `n`
y <- colSums(matrix(y, nrow=n)) # Sum in groups of `n`
#
# Plot the empirical bivariate distribution.
#
plot(x+rnorm(length(x), sd=1/8), y+rnorm(length(y), sd=1/8),
pch=19, cex=1/2, col="#00000010",
xlab="X", ylab="Y",
main=paste("Correlation is", signif(cor(x,y), 3)))
abline(v=mean(x), h=mean(y), col="Red")
abline(lm(y ~ x), lwd=2, lty=3)