Una variable aleatoria X sigue una distribución binomial B(n,p) si:
Función de masa de probabilidad:
P(X = k) = C(n,k) Ć p^k Ć (1-p)^(n-k)
donde k = 0, 1, 2, ā¦, n
ParĆ”metros: n (nĆŗmero de ensayos), p (probabilidad de Ć©xito) Media: μ = np Varianza: ϲ = np(1-p)
# Ejemplo: Lanzar una moneda justa 10 veces, contar caras
n <- 10 # nĆŗmero de lanzamientos
p <- 0.5 # probabilidad de cara
# Probabilidad de obtener exactamente 6 caras
prob_6_caras <- dbinom(6, size = n, prob = p)
print(paste("P(X = 6) =", round(prob_6_caras, 4)))
## [1] "P(X = 6) = 0.2051"
# Probabilidad acumulada P(X ⤠7)
prob_acum <- pbinom(7, size = n, prob = p)
print(paste("P(X ⤠7) =", round(prob_acum, 4)))
## [1] "P(X ⤠7) = 0.9453"
# Simular (1000 veces)
simulaciones <- rbinom(1000, size = n, prob = p)
hist(simulaciones, main = "Distribución Binomial B(10, 0.5)")
Una variable aleatoria X sigue una distribución hipergeométrica H(N, K, n) cuando:
Función de masa de probabilidad:
P(X = k) = [C(K,k) Ć C(N-K,n-k)] / C(N,n)
donde k = max(0, n-N+K), ā¦, min(n, K)
ParĆ”metros: N (tamaƱo población), K (Ć©xitos en población), n (tamaƱo muestra) Media: μ = n(K/N) Varianza: ϲ = n(K/N)(1-K/N)(N-n)/(N-1)
# Ejemplo: Baraja de 52 cartas, 13 corazones, extraer 5 cartas
N <- 52 # total de cartas
K <- 13 # nĆŗmero de corazones
n <- 5 # cartas extraĆdas
# Probabilidad de obtener exactamente 2 corazones
prob_2_corazones <- dhyper(2, m = K, n = N-K, k = n)
print(paste("P(X = 2) =", round(prob_2_corazones, 4)))
## [1] "P(X = 2) = 0.2743"
# Probabilidad acumulada P(X ⤠3)
prob_acum <- phyper(3, m = K, n = N-K, k = n)
print(paste("P(X ⤠3) =", round(prob_acum, 4)))
## [1] "P(X ⤠3) = 0.9888"
# Simular
simulaciones <- rhyper(1000, m = K, n = N-K, k = n)
hist(simulaciones, main = "Distribución Hipergeométrica H(52,13,5)")
Una variable aleatoria X sigue una distribución geométrica Geom(p) si:
Función de masa de probabilidad:
P(X = k) = (1-p)^(k-1) Ć p
donde k = 1, 2, 3, ā¦
ParĆ”metro: p (probabilidad de Ć©xito) Media: μ = 1/p Varianza: ϲ = (1-p)/p²
# Ejemplo: Lanzar un dado hasta obtener un 6
p <- 1/6 # probabilidad de obtener 6
# Probabilidad de necesitar exactamente 5 lanzamientos
prob_5_intentos <- dgeom(4, prob = p) # Nota: R usa k-1 ensayos fallidos
print(paste("P(X = 5) =", round(prob_5_intentos, 4)))
## [1] "P(X = 5) = 0.0804"
# Probabilidad de necesitar mƔximo 10 lanzamientos
prob_max_10 <- pgeom(9, prob = p) # P(X ⤠10)
print(paste("P(X ⤠10) =", round(prob_max_10, 4)))
## [1] "P(X ⤠10) = 0.8385"
# Simular
simulaciones <- rgeom(1000, prob = p) + 1 # +1 para incluir el Ʃxito
hist(simulaciones, main = "Distribución Geométrica Geom(1/6)")
Una variable aleatoria X sigue una distribución de Poisson Pois(λ) si:
Función de masa de probabilidad:
P(X = k) = (Ī»^k Ć e^(-Ī»)) / k!
donde k = 0, 1, 2, ā¦
ParĆ”metro: Ī» (tasa promedio) Media: μ = Ī» Varianza: ϲ = Ī»
# Ejemplo: Llamadas telefónicas por hora en un call center
lambda <- 4.5 # promedio de 4.5 llamadas por hora
# Probabilidad de recibir exactamente 3 llamadas
prob_3_llamadas <- dpois(3, lambda = lambda)
print(paste("P(X = 3) =", round(prob_3_llamadas, 4)))
## [1] "P(X = 3) = 0.1687"
# Probabilidad de recibir mƔximo 6 llamadas
prob_max_6 <- ppois(6, lambda = lambda)
print(paste("P(X ⤠6) =", round(prob_max_6, 4)))
## [1] "P(X ⤠6) = 0.8311"
# Simular
simulaciones <- rpois(1000, lambda = lambda)
hist(simulaciones, main = "Distribución de Poisson Pois(4.5)")
Una variable aleatoria X sigue una distribución binomial negativa BN(r,p) si:
Función de masa de probabilidad:
P(X = k) = C(k-1,r-1) Ć p^r Ć (1-p)^(k-r)
donde k = r, r+1, r+2, ā¦
ParĆ”metros: r (nĆŗmero de Ć©xitos deseados), p (probabilidad de Ć©xito) Media: μ = r/p Varianza: ϲ = r(1-p)/p²
# Ejemplo: Lanzar moneda hasta obtener 3 caras
r <- 3 # número de éxitos deseados
p <- 0.5 # probabilidad de Ʃxito
# Probabilidad de necesitar exactamente 7 lanzamientos
prob_7_intentos <- dnbinom(4, size = r, prob = p) # 4 fracasos antes del 3er Ʃxito
print(paste("P(X = 7) =", round(prob_7_intentos, 4)))
## [1] "P(X = 7) = 0.1172"
# Probabilidad de necesitar mƔximo 10 lanzamientos
prob_max_10 <- pnbinom(7, size = r, prob = p) # mƔximo 7 fracasos
print(paste("P(X ⤠10) =", round(prob_max_10, 4)))
## [1] "P(X ⤠10) = 0.9453"
# Simular
simulaciones <- rnbinom(1000, size = r, prob = p) + r # +r para total de ensayos
hist(simulaciones, main = "Distribución Binomial Negativa BN(3,0.5)")
Una variable aleatoria X sigue una distribución uniforme discreta U{a,a+1,ā¦,b} si:
Función de masa de probabilidad:
P(X = k) = 1/(b-a+1)
donde k = a, a+1, a+2, ā¦, b
ParĆ”metros: a (valor mĆnimo), b (valor mĆ”ximo) Media: μ = (a+b)/2 Varianza: ϲ = [(b-a+1)²-1]/12
# Ejemplo: Lanzamiento de un dado justo (valores 1 a 6)
a <- 1 # valor mĆnimo
b <- 6 # valor mƔximo
# No encontrĆ© función especĆfica para R, pero simulĆ© lo siguiente:
valores_posibles <- a:b
n_valores <- length(valores_posibles)
# Probabilidad de cualquier valor (todos iguales)
prob_uniforme <- 1/n_valores
print(paste("P(X = k) =", round(prob_uniforme, 4), "para cualquier k"))
## [1] "P(X = k) = 0.1667 para cualquier k"
# Simular ( otra vez;) )
simulaciones <- sample(valores_posibles, 1000, replace = TRUE)
hist(simulaciones, breaks = (a-0.5):(b+0.5),
main = "Distribución Uniforme Discreta U{1,2,3,4,5,6}")
# Función para calcular probabilidades uniformes discretas
dunif_disc <- function(x, min, max) {
ifelse(x >= min & x <= max & x == floor(x), 1/(max-min+1), 0)
}
# Ejemplo de uso
print(paste("P(X = 3) =", dunif_disc(3, a, b)))
## [1] "P(X = 3) = 0.166666666666667"