La teoría de la probabilidad es una rama de las matemáticas que estudia los fenómenos aleatorios. Su desarrollo ha sido impulsado por la necesidad de comprender y modelar situaciones inciertas, desde juegos de azar hasta fenómenos naturales y sociales.
Aunque los juegos de azar existen desde la antigüedad, el análisis matemático del azar comenzó en el siglo XVII. En 1654, los matemáticos franceses Pierre de Fermat y Blaise Pascal intercambiaron correspondencia sobre problemas relacionados con juegos de dados, sentando las bases de la teoría de la probabilidad. Uno de los problemas discutidos fue el “problema de los puntos”, que trata sobre cómo dividir las apuestas de un juego interrumpido.([vochoa84.files.wordpress.com][1], [Profesores UNAM][2])
El siglo XVIII vio avances significativos:
Jacob Bernoulli: Publicó Ars Conjectandi en 1713, introduciendo el Teorema de los Grandes Números, que establece que la frecuencia relativa de un evento converge a su probabilidad teórica a medida que aumenta el número de ensayos.
\[ \lim_{n \to \infty} \frac{S_n}{n} = p \]
Donde $S_n$ es el número de éxitos en $n$ ensayos independientes con probabilidad de éxito $p$.
Abraham de Moivre: En The Doctrine of Chances (1718), introdujo la distribución normal como una aproximación a la distribución binomial para un gran número de ensayos, anticipando el Teorema Central del Límite.([Economipedia][3])
\[ \lim_{n \to \infty} P\left( \frac{S_n - np}{\sqrt{np(1-p)}} \leq x \right) = \Phi(x) \]
Donde $(x)$ es la función de distribución de la normal estándar.([Timetoast Timelines][4])
Thomas Bayes: Desarrolló el Teorema de Bayes, que permite actualizar la probabilidad de una hipótesis a la luz de nueva evidencia.([Economipedia][3])
\[ P(A|B) = \frac{P(B|A) \cdot P(A)}{P(B)} \]
Este teorema es fundamental en la estadística bayesiana.
A principios del siglo XX, la teoría de la probabilidad carecía de una base axiomática rigurosa. En 1933, el matemático ruso Andréi Kolmogórov publicó Fundamentos de la Teoría de la Probabilidad, donde estableció una axiomatización basada en la teoría de conjuntos y la medida, proporcionando una base sólida para la probabilidad moderna.([Economipedia][3])
Los axiomas de Kolmogórov son:
No negatividad: Para cualquier evento \(A\), \(P(A) \geq 0\).([Timetoast Timelines][5])
Normalización: La probabilidad del espacio muestral es 1, es decir, \(P(\Omega) = 1\).
Aditividad: Para eventos mutuamente excluyentes \(A_1, A_2, \ldots\), se cumple:
\[ P\left( \bigcup_{i=1}^{\infty} A_i \right) = \sum_{i=1}^{\infty} P(A_i) \]
Esta formalización permitió el desarrollo riguroso de áreas como la estadística matemática, los procesos estocásticos y la teoría de la información.
Hoy en día, la teoría de la probabilidad es fundamental en diversas disciplinas:
Estadística: Inferencia estadística, pruebas de hipótesis y estimación de parámetros.
Finanzas: Modelado de riesgos, valoración de derivados y teoría de carteras.
Ingeniería: Análisis de confiabilidad y teoría de colas.
Ciencias Sociales: Modelos de elección y análisis de encuestas.
Inteligencia Artificial: Redes bayesianas y aprendizaje automático.
Un experimento aleatorio es cualquier proceso o acción cuyo resultado no se puede predecir con certeza antes de su realización. Aunque conozcamos todos los posibles resultados, no sabemos cuál de ellos ocurrirá en una ejecución particular.
El espacio muestral (denotado generalmente por \(\Omega\) o \(S\)) de un experimento aleatorio es el conjunto de todos los posibles resultados distintos de ese experimento. Cada resultado individual en el espacio muestral se denomina punto muestral o resultado elemental.
Ejemplos:
Los espacios muestrales pueden ser finitos, infinitos numerables o infinitos no numerables.
En la teoría de la probabilidad, un evento es un subconjunto del espacio muestral (\(\Omega\)), que representa un conjunto de posibles resultados de un experimento aleatorio.
Al igual que con los conjuntos, podemos realizar operaciones con eventos para formar nuevos eventos. Las principales operaciones son:
if(!require(VennDiagram)) install.packages("VennDiagram")
## Loading required package: VennDiagram
## Loading required package: grid
## Loading required package: futile.logger
library(VennDiagram)
library(grid)
# Configuración de colores
color_A <- "#FF6B6B" # Rojo pastel
color_B <- "#4ECDC4" # Turquesa
color_union <- "#FFE66D" # Amarillo para resaltar
color_texto <- "#333333"
# Crear diagrama
grid.newpage()
venn_union <- draw.pairwise.venn(
area1 = 40, area2 = 30, cross.area = 20,
category = c("A", "B"),
fill = c(color_A, color_B),
alpha = c(0.7, 0.7),
col = c("black", "black"),
label.col = c(color_texto, color_texto, color_texto),
cex = 1.8,
cat.cex = 1.5,
cat.col = c(color_texto, color_texto)
)
# Resaltar la unión
grid.text("Unión: A ∪ B", x = 0.5, y = 0.95, gp = gpar(fontsize = 16, fontface = "bold"))
# Leyenda
grid.text("Área total coloreada: Unión (A ∪ B)",
x = 0.5, y = 0.1,
gp = gpar(fontsize = 12, col = color_texto, fontface = "bold"))
grid.draw(venn_union)
grid.newpage()
venn_interseccion <- draw.pairwise.venn(
area1 = 40, area2 = 30, cross.area = 20,
category = c("A", "B"),
fill = c("#FFA07A80", "#87CEFA80"), # Colores semitransparentes
alpha = c(0.5, 0.5),
col = c("black", "black"),
label.col = c("white", "white", "black"), # Intersección con texto negro
cex = c(1.5, 1.5, 2.0), # Texto más grande en intersección
cat.cex = 1.5,
cat.col = c("#333333", "#333333")
)
# Resaltar intersección
grid.text("Intersección: A ∩ B",
x = 0.5, y = 0.95,
gp = gpar(fontsize = 14, fontface = "bold"))
# Leyenda
grid.text("Área central oscura: Intersección (A ∩ B)",
x = 0.5, y = 0.1,
gp = gpar(fontsize = 12, col = "#333333", fontface = "bold"))
grid.draw(venn_interseccion)
grid.newpage()
# Dibujar espacio muestral
grid.rect(gp = gpar(fill = "#F5F5F5", col = NA))
# Dibujar conjunto A
grid.circle(x = 0.5, y = 0.5, r = 0.3,
gp = gpar(fill = "#9370DB", alpha = 0.7, col = "black", lwd = 2))
# Dibujar borde del espacio muestral
grid.circle(x = 0.5, y = 0.5, r = 0.4,
gp = gpar(fill = NA, col = "black", lwd = 3, lty = "dashed"))
# Etiquetas
grid.text("A", x = 0.5, y = 0.5,
gp = gpar(fontsize = 18, fontface = "bold", col = "white"))
grid.text(expression(A^c ~ "o" ~ bar(A)),
x = 0.75, y = 0.5,
gp = gpar(fontsize = 16, fontface = "bold", col = "#333333"))
# Leyenda
grid.text("Área morada: Evento A", x = 0.5, y = 0.7,
gp = gpar(fontsize = 12, col = "#333333"))
grid.text("Área gris con borde discontinuo: Complemento (Aᶜ)",
x = 0.5, y = 0.08,
gp = gpar(fontsize = 12, col = "#333333"))
# Instalar paquete si es necesario
if(!require(VennDiagram)) install.packages("VennDiagram")
library(VennDiagram)
library(grid)
# Configuración de colores sin usar blanco
color_A <- "#4E84C4" # Azul suave
color_fondo <- "#F0F0F0" # Gris muy claro (casi blanco pero técnicamente no blanco)
color_texto <- "#333333" # Gris oscuro para texto
# Crear nueva página con fondo gris claro
grid.newpage()
grid.rect(gp = gpar(fill = color_fondo, col = NA))
# Dibujar el diagrama
venn.plot <- draw.pairwise.venn(
area1 = 40, # Tamaño de A
area2 = 30, # Tamaño de B
cross.area = 20, # Intersección A ∩ B
category = c("Evento A", "Evento B"),
fill = c(color_A, color_fondo), # Azul para A, gris para B
alpha = c(0.7, 0.3), # Opacidad diferenciada
lty = "solid",
lwd = 2,
col = c("black", "black"), # Contornos negros
label.col = c(color_texto, color_texto, color_texto), # Texto gris oscuro
cex = 1.5,
cat.cex = 1.3,
cat.col = c(color_texto, color_texto), # Color texto categorías
ext.text = FALSE,
ind = FALSE,
scaled = TRUE
)
# Resaltar la diferencia A - B
grid.text(expression(A - B),
x = 0.25, y = 0.6,
gp = gpar(fontsize = 14, fontface = "bold", col = color_texto))
grid.text(expression(B - A),
x = 0.85, y = 0.6,
gp = gpar(fontsize = 14, fontface = "bold", col = color_texto))
# Leyenda explicativa
grid.text("Área azul: Elementos en A que no están en B (A - B)",
x = 0.5, y = 0.1,
gp = gpar(fontsize = 12, col = color_texto, fontface = "bold"))
# Forzar visualización
grid.draw(venn.plot)
Los diagramas de Venn son representaciones gráficas útiles para visualizar eventos y las relaciones entre ellos. El espacio muestral se representa generalmente como un rectángulo, y los eventos como círculos u otras formas dentro de este rectángulo. Las operaciones con eventos se ilustran mediante el sombreado de las regiones correspondientes.
Consideremos el experimento de lanzar un dado justo de seis caras. El espacio muestral es \(\Omega = \{1, 2, 3, 4, 5, 6\}\). Definamos los siguientes eventos:
Realicemos las siguientes operaciones:
a) Unión de A y B (\(A \cup B\)):
\[ A \cup B = \{2, 4, 6\} \cup \{4, 5, 6\} = \{2, 4, 5, 6\} \]
b) Intersección de A y B (\(A \cap B\)):
\[ A \cap B = \{2, 4, 6\} \cap \{4, 5, 6\} = \{4, 6\} \]
c) Complemento de A (\(A^c\)):
\[ A^c = \Omega - A = \{1, 2, 3, 4, 5, 6\} - \{2, 4, 6\} = \{1, 3, 5\} \]
d) Diferencia de B y C (\(B - C\)):
\[ B - C = B \cap C^c = \{4, 5, 6\} - \{2, 3, 5\} = \{4, 6\} \]
Solución en R (Representación de conjuntos):
# Espacio muestral
omega <- 1:6
# Eventos
A <- c(2, 4, 6)
B <- c(4, 5, 6)
C <- c(2, 3, 5)
# a) Unión de A y B
union_AB <- union(A, B)
cat("Unión de A y B:", union_AB, "\n")
## Unión de A y B: 2 4 6 5
# b) Intersección de A y B
interseccion_AB <- intersect(A, B)
cat("Intersección de A y B:", interseccion_AB, "\n")
## Intersección de A y B: 4 6
# c) Complemento de A (respecto a omega)
complemento_A <- setdiff(omega, A)
cat("Complemento de A:", complemento_A, "\n")
## Complemento de A: 1 3 5
# d) Diferencia de B y C (B - C)
diferencia_BC <- setdiff(B, C)
cat("Diferencia de B y C:", diferencia_BC, "\n")
## Diferencia de B y C: 4 6
# No se puede dibujar un diagrama de Venn directamente con números,
# pero conceptualmente, las regiones representarían estos conjuntos.
Región (Visualización Conceptual): Imagina un rectángulo representando \(\Omega\). Dentro, tres círculos etiquetados A, B y C. - \(A \cup B\) sería la región sombreada que cubre ambos círculos. - \(A \cap B\) sería la región sombreada donde los círculos A y B se superponen. - \(A^c\) sería la región sombreada dentro del rectángulo pero fuera del círculo A. - \(B - C\) sería la región sombreada dentro del círculo B pero fuera de la parte donde se superpone con el círculo C.
En una encuesta a 100 personas sobre sus preferencias de helado, se encontraron los siguientes datos:
if(!require(VennDiagram)) install.packages("VennDiagram")
library(VennDiagram)
library(grid)
# Configuración de colores
color_A <- "#FF6B6B" # Rojo pastel
color_B <- "#4ECDC4" # Turquesa
color_union <- "#FFE66D" # Amarillo para resaltar
color_texto <- "#333333"
# Crear diagrama
grid.newpage()
venn_union <- draw.pairwise.venn(
area1 = 60, area2 = 50, cross.area = 30,
category = c("Ch", "V"),
fill = c(color_A, color_B),
alpha = c(0.7, 0.7),
col = c("black", "black"),
label.col = c(color_texto, color_texto, color_texto),
cex = 1.8,
cat.cex = 1.5,
cat.col = c(color_texto, color_texto)
)
# Resaltar la unión
grid.text("Preferencias de Helado: Ch ∪ V", x = 0.5, y = 0.95, gp = gpar(fontsize = 16, fontface = "bold"))
# Leyenda
grid.text("Área total coloreada: Unión (Ch ∪ V)",
x = 0.5, y = 0.12,
gp = gpar(fontsize = 12, col = color_texto, fontface = "bold"))
# Leyenda
grid.text("Ningun sabor prefieren: complemento de la union (Ch ∪ V)' = 20",
x = 0.5, y = 0.08,
gp = gpar(fontsize = 12, col = color_texto, fontface = "bold"))
grid.draw(venn_union)
Usemos estos datos para encontrar:
a) El número de personas que prefieren chocolate o vainilla (\(|Ch \cup V|\)):
\[ |Ch \cup V| = |Ch| + |V| - |Ch \cap V| = 60 + 50 - 30 = 80 \]
b) El número de personas que prefieren solo chocolate (\(|Ch - V|\)):
\[ |Ch - V| = |Ch| - |Ch \cap V| = 60 - 30 = 30 \]
c) El número de personas que no prefieren chocolate (\(|Ch^c|\)):
\[ |Ch^c| = \text{Total} - |Ch| = 100 - 60 = 40 \]
Solución en R (Cálculo con conjuntos):
# Total de personas
total_personas <- 100
# Número de personas por preferencia
n_chocolate <- 60
n_vainilla <- 50
n_ambos <- 30
# a) Número de personas que prefieren chocolate o vainilla
n_union_CV <- n_chocolate + n_vainilla - n_ambos
cat("Número de personas que prefieren chocolate o vainilla:", n_union_CV, "\n")
## Número de personas que prefieren chocolate o vainilla: 80
# b) Número de personas que prefieren solo chocolate
n_solo_chocolate <- n_chocolate - n_ambos
cat("Número de personas que prefieren solo chocolate:", n_solo_chocolate, "\n")
## Número de personas que prefieren solo chocolate: 30
# c) Número de personas que no prefieren chocolate
n_no_chocolate <- total_personas - n_chocolate
cat("Número de personas que no prefieren chocolate:", n_no_chocolate, "\n")
## Número de personas que no prefieren chocolate: 40
Región (Visualización Conceptual): Imagina un rectángulo (100 personas) con dos círculos superpuestos, Ch (chocolate) y V (vainilla). - \(Ch \cup V\) sería la región que cubre ambos círculos (80 personas). - \(Ch - V\) sería la parte del círculo Ch que no se superpone con V (30 personas). - \(Ch^c\) sería la región fuera del círculo Ch (40 personas).
En un sistema electrónico con tres componentes (A, B, C), se definen los siguientes eventos:
Describamos los siguientes eventos en términos de \(E_A, E_B, E_C\) y operaciones de conjuntos:
a) Al menos un componente falla:
Este evento ocurre si A falla o B falla o C falla (o cualquier combinación). Se representa por la unión de los tres eventos:
\[ E_A \cup E_B \cup E_C \]
b) Solo el componente A falla:
Este evento ocurre si A falla y B no falla y C no falla. Se representa por la intersección de A con los complementos de B y C:
\[ E_A \cap E_B^c \cap E_C^c = E_A - (E_B \cup E_C) \]
c) Los tres componentes fallan:
Este evento ocurre si A falla y B falla y C falla. Se representa por la intersección de los tres eventos:
\[ E_A \cap E_B \cap E_C \]
d) Ningún componente falla:
Este evento ocurre si A no falla y B no falla y C no falla. Se representa por la intersección de los complementos de los tres eventos, que es el complemento de la unión:
\[ E_A^c \cap E_B^c \cap E_C^c = (E_A \cup E_B \cup E_C)^c \]
Solución en R (Representación simbólica de conjuntos):
# Representación simbólica de los eventos
evento_A <- "Falla A"
evento_B <- "Falla B"
evento_C <- "Falla C"
# a) Al menos un componente falla (Unión)
al_menos_uno_falla <- paste(evento_A, "U", evento_B, "U", evento_C)
cat("Al menos un componente falla:", al_menos_uno_falla, "\n")
## Al menos un componente falla: Falla A U Falla B U Falla C
# b) Solo el componente A falla (Intersección con complementos)
solo_A_falla <- paste(evento_A, "intersección", "no", evento_B, "intersección", "no", evento_C)
cat("Solo el componente A falla:", solo_A_falla, "\n")
## Solo el componente A falla: Falla A intersección no Falla B intersección no Falla C
# c) Los tres componentes fallan (Intersección)
los_tres_fallan <- paste(evento_A, "intersección", evento_B, "intersección", evento_C)
cat("Los tres componentes fallan:", los_tres_fallan, "\n")
## Los tres componentes fallan: Falla A intersección Falla B intersección Falla C
# d) Ningún componente falla (Complemento de la unión)
ninguno_falla <- paste("no (", evento_A, "U", evento_B, "U", evento_C, ")")
cat("Ningún componente falla:", ninguno_falla, "\n")
## Ningún componente falla: no ( Falla A U Falla B U Falla C )
# Visualización (Diagrama de Venn con tres círculos)
# Conceptualizar tres círculos superpuestos (EA, EB, EC) dentro de un rectángulo (espacio muestral).
# Cada región de la superposición y no superposición representaría diferentes combinaciones de fallas.
Región (Visualización Conceptual): Imagina un rectángulo (sistema electrónico) con tres círculos superpuestos \(E_A\), \(E_B\) y \(E_C\). - \(E_A \cup E_B \cup E_C\) sería la región que cubre cualquiera de los círculos. - $E_A E_
Dos o más eventos se consideran ajenos o mutuamente excluyentes si no pueden ocurrir simultáneamente. En términos de conjuntos, esto significa que la intersección de cualesquiera dos de estos eventos es el conjunto vacío (\(\emptyset\)).
Si \(A\) y \(B\) son eventos mutuamente excluyentes, entonces:
\[ A \cap B = \emptyset \]
La probabilidad de que ocurra la unión de eventos mutuamente excluyentes es la suma de sus probabilidades individuales:
Si \(A_1, A_2, \dots, A_n\) son eventos mutuamente excluyentes, entonces:
\[ P(A_1 \cup A_2 \cup \dots \cup A_n) = P(A_1) + P(A_2) + \dots + P(A_n) = \sum_{i=1}^{n} P(A_i) \]
Características clave de los eventos ajenos:
La Probabilidad Clásica es un enfoque para calcular la probabilidad de un evento basado en el supuesto de que todos los resultados posibles de un experimento aleatorio son igualmente probables. Si un experimento tiene \(N\) resultados posibles, y un evento \(A\) ocurre en \(k\) de estos resultados, entonces la probabilidad del evento \(A\), denotada como \(P(A)\), se calcula como la razón entre el número de resultados favorables al evento y el número total de resultados posibles:
\[ P(A) = \frac{\text{Número de resultados favorables a } A}{\text{Número total de resultados posibles}} = \frac{k}{N} \]
Este enfoque es aplicable cuando el espacio muestral \(\Omega\) es finito y todos los resultados elementales tienen la misma probabilidad de ocurrir.
Elementos clave de la Probabilidad Clásica:
Consideremos el lanzamiento de un dado justo de seis caras. El espacio muestral es \(\Omega = \{1, 2, 3, 4, 5, 6\}\), con un total de \(N = 6\) resultados posibles, todos igualmente probables.
a) Probabilidad de obtener un número par:
El evento \(A\) = {obtener un número par} = \(\{2, 4, 6\}\). El número de resultados favorables es \(k = 3\). Por lo tanto, la probabilidad es:
\[ P(A) = \frac{k}{N} = \frac{3}{6} = 0.5 \]
b) Probabilidad de obtener un número mayor que 4:
El evento \(B\) = {obtener un número mayor que 4} = \(\{5, 6\}\). El número de resultados favorables es \(k = 2\). Por lo tanto, la probabilidad es:
\[ P(B) = \frac{k}{N} = \frac{2}{6} \approx 0.333 \]
Solución en R:
# Espacio muestral del dado
espacio_muestral_dado <- 1:6
total_resultados_dado <- length(espacio_muestral_dado)
# Probabilidad de obtener un número par
resultados_par <- c(2, 4, 6)
resultados_favorables_par <- length(resultados_par)
prob_par <- resultados_favorables_par / total_resultados_dado
cat("Probabilidad de obtener un número par:", prob_par, "\n")
## Probabilidad de obtener un número par: 0.5
# Probabilidad de obtener un número mayor que 4
resultados_mayor_4 <- c(5, 6)
resultados_favorables_mayor_4 <- length(resultados_mayor_4)
prob_mayor_4 <- resultados_favorables_mayor_4 / total_resultados_dado
cat("Probabilidad de obtener un número mayor que 4:", prob_mayor_4, "\n")
## Probabilidad de obtener un número mayor que 4: 0.3333333
# Visualización (Distribución de probabilidad del dado)
probabilidades_dado <- rep(1/total_resultados_dado, total_resultados_dado)
barplot(probabilidades_dado, names.arg = espacio_muestral_dado,
xlab = "Resultado del Dado", ylab = "Probabilidad",
main = "Probabilidad Clásica: Lanzamiento de un Dado Justo")
abline(h = 1/total_resultados_dado, col = "red", lty = 2)
Región (Visualización): El gráfico de barras muestra una distribución uniforme donde cada resultado (1 al 6) tiene una probabilidad de \(\frac{1}{6}\). La altura de cada barra representa la probabilidad clásica de cada resultado.
Una baraja estándar de 52 cartas tiene 4 palos (corazones, diamantes, tréboles y espadas), cada uno con 13 cartas (2, 3, …, 10, Jota, Reina, Rey, As). Si se selecciona una carta al azar, todos los 52 resultados son igualmente probables.
a) Probabilidad de seleccionar un As:
El evento \(A\) = {seleccionar un As}. Hay 4 As en la baraja. El número de resultados favorables es \(k = 4\). El número total de resultados posibles es \(N = 52\). Por lo tanto, la probabilidad es:
\[ P(A) = \frac{k}{N} = \frac{4}{52} = \frac{1}{13} \approx 0.077 \]
b) Probabilidad de seleccionar una carta de corazones:
El evento \(B\) = {seleccionar una carta de corazones}. Hay 13 cartas de corazones. El número de resultados favorables es \(k = 13\). El número total de resultados posibles es \(N = 52\). Por lo tanto, la probabilidad es:
\[ P(B) = \frac{k}{N} = \frac{13}{52} = \frac{1}{4} = 0.25 \]
Solución en R:
# Espacio muestral de la baraja
palos <- c("Corazones", "Diamantes", "Tréboles", "Espadas")
rangos <- c("2", "3", "4", "5", "6", "7", "8", "9", "10", "Jota", "Reina", "Rey", "As")
baraja <- paste(rep(rangos, each = 4), "de", palos)
total_cartas <- length(baraja)
# Probabilidad de seleccionar un As
ases <- grep("As de", baraja)
resultados_favorables_ases <- length(ases)
prob_as <- resultados_favorables_ases / total_cartas
cat("Probabilidad de seleccionar un As:", prob_as, "\n")
## Probabilidad de seleccionar un As: 0.07692308
# Probabilidad de seleccionar una carta de corazones
corazones <- grep("de Corazones", baraja)
resultados_favorables_corazones <- length(corazones)
prob_corazones <- resultados_favorables_corazones / total_cartas
cat("Probabilidad de seleccionar una carta de corazones:", prob_corazones, "\n")
## Probabilidad de seleccionar una carta de corazones: 0.25
# Visualización (Probabilidad por palo)
prob_por_palo <- table(sapply(strsplit(baraja, " de "), function(x) x[2])) / total_cartas
barplot(prob_por_palo, ylab = "Probabilidad", main = "Probabilidad Clásica: Selección por Palo")
abline(h = 1/4, col = "red", lty = 2)
Región (Visualización): El gráfico de barras muestra la probabilidad de seleccionar una carta de cada palo. Cada palo tiene una probabilidad de \(\frac{13}{52} = \frac{1}{4}\), representada por la altura de las barras.
Una urna contiene 5 bolas rojas y 3 bolas azules. Si se selecciona una bola al azar, todas las 8 bolas son igualmente probables de ser seleccionadas.
a) Probabilidad de seleccionar una bola roja:
El evento \(A\) = {seleccionar una bola roja}. Hay 5 bolas rojas. El número de resultados favorables es \(k = 5\). El número total de resultados posibles es \(N = 8\). Por lo tanto, la probabilidad es:
\[ P(A) = \frac{k}{N} = \frac{5}{8} = 0.625 \]
b) Probabilidad de seleccionar una bola azul:
El evento \(B\) = {seleccionar una bola azul}. Hay 3 bolas azules. El número de resultados favorables es \(k = 3\). El número total de resultados posibles es \(N = 8\). Por lo tanto, la probabilidad es:
\[ P(B) = \frac{k}{N} = \frac{3}{8} = 0.375 \]
Solución en R:
# Urna con bolas
urna <- c(rep("Roja", 5), rep("Azul", 3))
total_bolas <- length(urna)
# Probabilidad de seleccionar una bola roja
bolas_rojas <- sum(urna == "Roja")
prob_roja <- bolas_rojas / total_bolas
cat("Probabilidad de seleccionar una bola roja:", prob_roja, "\n")
## Probabilidad de seleccionar una bola roja: 0.625
# Probabilidad de seleccionar una bola azul
bolas_azules <- sum(urna == "Azul")
prob_azul <- bolas_azules / total_bolas
cat("Probabilidad de seleccionar una bola azul:", prob_azul, "\n")
## Probabilidad de seleccionar una bola azul: 0.375
# Visualización (Probabilidad por color)
prob_color <- table(urna) / total_bolas
barplot(prob_color, ylab = "Probabilidad", main = "Probabilidad Clásica: Selección de Bolas")
Región (Visualización): El gráfico de barras muestra la probabilidad de seleccionar una bola de cada color. La altura de la barra para “Roja” es \(\frac{5}{8}\) y para “Azul” es \(\frac{3}{8}\).
Al lanzar dos monedas justas, el espacio muestral de los resultados posibles es \(\Omega = \{CC, CS, SC, SS\}\), donde C representa cara y S representa cruz. Hay \(N = 4\) resultados posibles, todos igualmente probables.
a) Probabilidad de obtener dos caras:
El evento \(A\) = {obtener dos caras} = \(\{CC\}\). El número de resultados favorables es \(k = 1\). Por lo tanto, la probabilidad es:
\[ P(A) = \frac{k}{N} = \frac{1}{4} = 0.25 \]
b) Probabilidad de obtener al menos una cara:
El evento \(B\) = {obtener al menos una cara} = \(\{CC, CS, SC\}\). El número de resultados favorables es \(k = 3\). Por lo tanto, la probabilidad es:
\[ P(B) = \frac{k}{N} = \frac{3}{4} = 0.75 \]
Solución en R:
# Espacio muestral de dos monedas
monedas <- c("Cara", "Cruz")
lanzamientos <- expand.grid(Moneda1 = monedas, Moneda2 = monedas)
total_resultados_monedas <- nrow(lanzamientos)
# Probabilidad de obtener dos caras
dos_caras <- sum(lanzamientos$Moneda1 == "Cara" & lanzamientos$Moneda2 == "Cara")
prob_dos_caras <- dos_caras / total_resultados_monedas
cat("Probabilidad de obtener dos caras:", prob_dos_caras, "\n")
## Probabilidad de obtener dos caras: 0.25
# Probabilidad de obtener al menos una cara
al_menos_una_cara <- sum(lanzamientos$Moneda1 == "Cara" | lanzamientos$Moneda2 == "Cara")
prob_al_menos_una_cara <- al_menos_una_cara / total_resultados_monedas
cat("Probabilidad de obtener al menos una cara:", prob_al_menos_una_cara, "\n")
## Probabilidad de obtener al menos una cara: 0.75
# Visualización (Probabilidad de los resultados)
resultados_monedas <- apply(lanzamientos, 1, paste, collapse = "-")
probabilidades_monedas <- rep(1/total_resultados_monedas, total_resultados_monedas)
barplot(probabilidades_monedas, names.arg = resultados_monedas,
ylab = "Probabilidad", main = "Probabilidad Clásica: Lanzamiento de Dos Monedas")
abline(h = 1/total_resultados_monedas, col = "red", lty = 2)
Región (Visualización): El gráfico de barras muestra la probabilidad de cada uno de los cuatro resultados posibles al lanzar dos monedas. Cada resultado (CC, CS, SC, SS) tiene una probabilidad de \(\frac{1}{4}\).
Consideremos la selección de una carta al azar de una baraja estándar de 52 cartas. Definamos los siguientes eventos:
Realicemos las siguientes operaciones:
a) Probabilidad de la unión de D y F (\(P(D \cup F)\)):
\[ P(D \cup F) = P(D) + P(F) - P(D \cap F) \] \(P(D) = 13/52\), \(P(F) = 12/52\). \(D \cap F\) es el evento de seleccionar una figura de diamantes (Jota, Reina, Rey de diamantes), con 3 cartas. \(P(D \cap F) = 3/52\). \[ P(D \cup F) = \frac{13}{52} + \frac{12}{52} - \frac{3}{52} = \frac{22}{52} \approx 0.423 \]
b) Probabilidad de la intersección de F y A (\(P(F \cap A)\)):
\(F \cap A\) es el evento de seleccionar un As que también es una figura. Los As no son figuras (Jota, Reina, Rey). Por lo tanto, \(F \cap A = \emptyset\), y \(P(F \cap A) = 0\). Los eventos F y A son mutuamente excluyentes.
Solución en R (Cálculo de probabilidades):
# Total de cartas
total_cartas <- 52
# Evento D: Diamante
n_diamantes <- 13
prob_D <- n_diamantes / total_cartas
cat("P(D):", prob_D, "\n")
## P(D): 0.25
# Evento F: Figura (J, Q, K de 4 palos)
n_figuras <- 12
prob_F <- n_figuras / total_cartas
cat("P(F):", prob_F, "\n")
## P(F): 0.2307692
# Evento A: As (4 palos)
n_ases <- 4
prob_A <- n_ases / total_cartas
cat("P(A):", prob_A, "\n")
## P(A): 0.07692308
# Intersección D y F: Figuras de diamantes (J, Q, K de diamantes)
n_figuras_diamantes <- 3
prob_interseccion_DF <- n_figuras_diamantes / total_cartas
cat("P(D intersección F):", prob_interseccion_DF, "\n")
## P(D intersección F): 0.05769231
# a) Probabilidad de la unión de D y F
prob_union_DF <- prob_D + prob_F - prob_interseccion_DF
cat("P(D unión F):", prob_union_DF, "\n")
## P(D unión F): 0.4230769
# b) Probabilidad de la intersección de F y A
# Los As no son figuras, la intersección es vacía
prob_interseccion_FA <- 0
cat("P(F intersección A):", prob_interseccion_FA, "\n")
## P(F intersección A): 0
# Visualización conceptual (Diagrama de Venn con probabilidades)
# No se puede dibujar directamente en R sin librerías específicas para diagramas de Venn.
# Conceptualizar círculos D, F, A dentro de un rectángulo (espacio muestral).
# La superposición de D y F tendría una probabilidad asociada. F y A no se superpondrían.
Región (Visualización Conceptual): Imagina un rectángulo (baraja de 52 cartas). Dentro, tres círculos D (diamantes), F (figuras) y A (As). - \(D \cup F\) sería la región que cubre ambos círculos, con la superposición contada una vez (probabilidad calculada). - \(F \cap A\) sería la región donde los círculos F y A se superponen. En este caso, no hay superposición, representando eventos mutuamente excluyentes.
La Probabilidad Geométrica es un enfoque para calcular la probabilidad de un evento cuando el espacio muestral \(\Omega\) y el evento \(A\) son subconjuntos de un espacio geométrico continuo (como una línea, un área o un volumen). La probabilidad de que un punto aleatorio caiga dentro del evento \(A\) se define como la razón entre la “medida” (longitud, área, volumen) de \(A\) y la “medida” de \(\Omega\):
\[ P(A) = \frac{\text{Medida}(A)}{\text{Medida}(\Omega)} \]
Donde “Medida” se refiere a la longitud si el espacio es unidimensional, al área si es bidimensional, y al volumen si es tridimensional. El supuesto fundamental aquí es que la probabilidad es uniforme sobre el espacio muestral \(\Omega\), lo que significa que cualquier punto dentro de \(\Omega\) tiene la misma probabilidad de ser el resultado.
Elementos clave de la Probabilidad Geométrica:
Consideremos un segmento de línea de longitud \(L\). Se elige un punto aleatorio sobre este segmento. ¿Cuál es la probabilidad de que el punto se encuentre dentro de un subsegmento de longitud \(l\) contenido en el segmento original?
Solución:
El espacio muestral \(\Omega\) es el segmento de línea de longitud \(L\). Su medida (longitud) es \(L\). El evento \(A\) es el subsegmento de longitud \(l\). Su medida (longitud) es \(l\).
La probabilidad de que el punto caiga dentro del subsegmento es:
\[ P(A) = \frac{\text{Longitud}(A)}{\text{Longitud}(\Omega)} = \frac{l}{L} \]
Ejemplo Específico: Si \(L = 10\) cm y \(l = 2\) cm, entonces \(P(A) = \frac{2}{10} = 0.2\).
Solución en R (Visualización):
# Parámetros
L <- 10
l <- 2
# Visualización
plot(c(0, L), c(0, 1), type = "l", xlab = "Longitud", ylab = "", yaxt = "n",
main = "Probabilidad Geométrica: Punto en un Segmento")
segments(0, 0.5, L, 0.5, lwd = 2) # Segmento total
segments((L - l) / 2, 0.4, (L + l) / 2, 0.4, col = "red", lwd = 3) # Subsegmento
text(L / 2, 0.6, paste("Longitud L =", L), cex = 0.8)
text(L / 2, 0.3, paste("Longitud l =", l), col = "red", cex = 0.8)
Región (Visualización): La línea horizontal representa el segmento de longitud \(L\). El segmento rojo más grueso dentro representa el subsegmento de longitud \(l\). La probabilidad es la proporción de la longitud roja con respecto a la longitud total.
Consideremos un cuadrado de lado \(s\). Se elige un punto aleatorio dentro del cuadrado. ¿Cuál es la probabilidad de que el punto se encuentre dentro de un círculo de radio \(r\) completamente contenido en el cuadrado?
Solución:
El espacio muestral \(\Omega\) es el cuadrado de lado \(s\). Su medida (área) es \(s^2\). El evento \(A\) es el círculo de radio \(r\). Su medida (área) es \(\pi r^2\).
La probabilidad de que el punto caiga dentro del círculo es:
\[ P(A) = \frac{\text{Área}(A)}{\text{Área}(\Omega)} = \frac{\pi r^2}{s^2} \]
Ejemplo Específico: Si \(s = 10\) cm y \(r = 3\) cm (asegurándose de que el círculo esté dentro del cuadrado, por ejemplo, centrado), entonces \(P(A) = \frac{\pi (3)^2}{(10)^2} = \frac{9\pi}{100} \approx 0.283\).
Solución en R (Visualización):
# Parámetros
s <- 10
r <- 3
# Visualización
plot(c(0, s), c(0, s), type = "n", xlab = "x", ylab = "y",
main = "Probabilidad Geométrica: Punto en un Área")
rect(0, 0, s, s) # Cuadrado
symbols(s / 2, s / 2, circles = r, inches = FALSE, add = TRUE, fg = "red") # Círculo
text(s / 2, s * 0.9, paste("Área Cuadrado =", s^2), cex = 0.8)
text(s / 2, s * 0.1, paste("Área Círculo =", round(pi * r^2, 2)), col = "red", cex = 0.8)
Región (Visualización): El cuadrado representa el espacio muestral. El círculo rojo dentro representa el evento. La probabilidad es la proporción del área del círculo con respecto al área del cuadrado.
Dos amigos acuerdan encontrarse en un lugar entre las 12:00 PM y la 1:00 PM. El primero que llega esperará 15 minutos al otro, después de lo cual se irá. Si ambos llegan en algún momento aleatorio dentro de esta hora, ¿cuál es la probabilidad de que se encuentren?
Solución:
Sea \(x\) el tiempo de llegada del primer amigo (en minutos después de las 12:00 PM) y \(y\) el tiempo de llegada del segundo amigo. Ambos \(x\) e \(y\) están uniformemente distribuidos entre 0 y 60. El espacio muestral \(\Omega\) es un cuadrado de lado 60 en el plano \(xy\), con área \(60 \times 60 = 3600\).
Se encontrarán si \(|x - y| \leq 15\), lo que equivale a \(-15 \leq y - x \leq 15\), o \(x - 15 \leq y \leq x + 15\). El evento \(A\) es la región dentro del cuadrado definida por estas desigualdades.
El área de la región donde no se encuentran es la suma de dos triángulos rectángulos con catetos de longitud \(60 - 15 = 45\). El área de cada triángulo es \(\frac{1}{2} \times 45 \times 45 = 1012.5\). El área total donde no se encuentran es \(2 \times 1012.5 = 2025\).
El área de la región donde se encuentran es el área total del cuadrado menos el área donde no se encuentran: \(3600 - 2025 = 1575\).
La probabilidad de que se encuentren es:
\[ P(A) = \frac{\text{Área donde se encuentran}}{\text{Área total}} = \frac{1575}{3600} = \frac{7}{16} = 0.4375 \]
Solución en R (Visualización):
# Visualización
x <- seq(0, 60, length.out = 100)
y <- seq(0, 60, length.out = 100)
grid_xy <- expand.grid(x = x, y = y)
se_encuentran <- abs(grid_xy$x - grid_xy$y) <= 15
plot(grid_xy$x, grid_xy$y, col = ifelse(se_encuentran, "green", "red"),
xlab = "Tiempo de llegada Amigo 1 (min)", ylab = "Tiempo de llegada Amigo 2 (min)",
main = "Probabilidad Geométrica: Tiempo de Encuentro")
rect(0, 0, 60, 60)
Región (Visualización): El cuadrado representa el espacio muestral de los posibles tiempos de llegada. Los puntos verdes representan los pares de tiempos de llegada donde los amigos se encuentran (dentro de la banda definida por \(|x - y| \leq 15\)), y los puntos rojos representan donde no se encuentran. La probabilidad es la proporción del área verde con respecto al área total del cuadrado.
Se rompe una vara de longitud 1 en dos puntos elegidos al azar y de forma independiente a lo largo de su longitud. ¿Cuál es la probabilidad de que los tres segmentos resultantes puedan formar un triángulo?
Solución:
Sean \(x\) e \(y\) las posiciones de los dos puntos de ruptura, donde \(x\) e \(y\) están uniformemente distribuidos entre 0 y 1. Sin pérdida de generalidad, supongamos \(x \leq y\). El espacio muestral \(\Omega\) es el triángulo en el plano \(xy\) definido por \(0 < x < y < 1\), con área \(\frac{1}{2}\).
Las longitudes de los tres segmentos son \(x\), \(y - x\), y \(1 - y\). Para que puedan formar un triángulo, deben satisfacer la desigualdad triangular: 1. \(x + (y - x) > 1 - y \implies y > 1 - y \implies y > 1/2\) 2. \(x + (1 - y) > y - x \implies 1 + 2x > 2y \implies y < x + 1/2\) 3. \((y - x) + (1 - y) > x \implies 1 - x > x \implies x < 1/2\)
El evento \(A\) es la región dentro del triángulo \(0 < x < y < 1\) que satisface estas tres desigualdades: \(y > 1/2\), \(y < x + 1/2\), y \(x < 1/2\). Esta región es un triángulo más pequeño con vértices en \((0, 1/2)\), \((1/2, 1/2)\), y \((1/2, 1)\), con área \(\frac{1}{2} \times \frac{1}{2} \times \frac{1}{2} = \frac{1}{8}\).
La probabilidad es la razón del área del evento al área del espacio muestral:
\[ P(A) = \frac{\text{Área del evento}}{\text{Área del espacio muestral}} = \frac{1/8}{1/2} = \frac{1}{4} = 0.25 \]
Solución en R (Visualización):
# Visualización
x <- seq(0, 1, length.out = 100)
y <- seq(0, 1, length.out = 100)
grid_xy <- expand.grid(x = x, y = y)
grid_filtrado <- grid_xy[grid_xy$x < grid_xy$y, ] # Espacio muestral (suponiendo x < y)
forman_triangulo <- (grid_filtrado$y > 0.5) & (grid_filtrado$y < grid_filtrado$x + 0.5) & (grid_filtrado$x < 0.5)
plot(grid_filtrado$x, grid_filtrado$y, col = ifelse(forman_triangulo, "green", "red"),
xlab = "Punto de ruptura 1", ylab = "Punto de ruptura 2",
main = "Probabilidad Geométrica: Formar un Triángulo")
polygon(c(0, 0, 1), c(0, 1, 1), border = "black") # Espacio muestral
polygon(c(0, 0.5, 0.5), c(0.5, 0.5, 1), border = "blue") # Región donde se forma triángulo
Región (Visualización): El triángulo grande representa el espacio muestral (asumiendo \(x < y\)). El triángulo azul más pequeño dentro representa la región donde las longitudes de los segmentos pueden formar un triángulo. La probabilidad es la proporción del área azul con respecto al área del triángulo grande.
La Probabilidad Frecuentista (o empírica) define la probabilidad de un evento como el límite de la frecuencia relativa de ese evento en una larga serie de ensayos repetidos e independientes bajo condiciones similares. Si un experimento se repite \(n\) veces y un evento \(A\) ocurre \(k\) veces, la frecuencia relativa de \(A\) es \(\frac{k}{n}\). La probabilidad frecuentista de \(A\), denotada como \(P(A)\), se define como:
\[ P(A) = \lim_{n \to \infty} \frac{\text{Número de veces que ocurre } A}{\text{Número total de ensayos}} = \lim_{n \to \infty} \frac{k}{n} \]
Este enfoque se basa en la idea de que a medida que el número de ensayos aumenta, la frecuencia relativa de un evento se estabilizará y se acercará a la verdadera probabilidad del evento.
Elementos clave de la Probabilidad Frecuentista:
Supongamos que tenemos una moneda cuya probabilidad de obtener cara no conocemos (podría estar sesgada). Para estimar esta probabilidad utilizando el enfoque frecuentista, lanzamos la moneda un gran número de veces y observamos la frecuencia relativa de obtener cara.
Solución en R:
# Probabilidad verdadera de cara (desconocida para el experimentador)
prob_verdadera_cara <- 0.6
# Número de lanzamientos en cada etapa
n_lanzamientos <- c(10, 50, 100, 500, 1000, 5000)
frecuencias_relativas_cara <- numeric(length(n_lanzamientos))
set.seed(123) # Para reproducibilidad
for (i in 1:length(n_lanzamientos)) {
lanzamientos <- rbinom(n_lanzamientos[i], 1, prob_verdadera_cara) # 1 = cara, 0 = cruz
frecuencias_relativas_cara[i] <- mean(lanzamientos)
}
# Visualización de la convergencia de la frecuencia relativa
plot(n_lanzamientos, frecuencias_relativas_cara, type = "b", pch = 16,
xlab = "Número de Lanzamientos", ylab = "Frecuencia Relativa de Caras",
main = "Probabilidad Frecuentista: Lanzamiento de Moneda")
abline(h = prob_verdadera_cara, col = "red", lty = 2)
legend("topright", legend = paste("Probabilidad Verdadera (", prob_verdadera_cara, ")", sep=""), col = "red", lty = 2)
Región (Visualización): El gráfico muestra cómo la frecuencia relativa de obtener cara se acerca a la probabilidad verdadera (línea roja) a medida que aumenta el número de lanzamientos. La “región” aquí es la banda alrededor de la probabilidad verdadera que se hace más estrecha con más ensayos.
En una fábrica, se inspeccionan artículos producidos para detectar defectos. Para estimar la probabilidad de que un artículo sea defectuoso, se examina una gran muestra de artículos y se calcula la proporción de artículos defectuosos.
Solución en R:
# Probabilidad verdadera de defecto
prob_verdadera_defecto <- 0.02
# Número de artículos inspeccionados en cada etapa
n_inspeccionados <- c(100, 500, 1000, 5000, 10000, 50000)
frecuencias_relativas_defecto <- numeric(length(n_inspeccionados))
set.seed(456) # Para reproducibilidad
for (i in 1:length(n_inspeccionados)) {
defectuosos <- rbinom(n_inspeccionados[i], 1, prob_verdadera_defecto) # 1 = defectuoso, 0 = no defectuoso
frecuencias_relativas_defecto[i] <- mean(defectuosos)
}
# Visualización de la convergencia de la frecuencia relativa
plot(n_inspeccionados, frecuencias_relativas_defecto, type = "b", pch = 16,
xlab = "Número de Artículos Inspeccionados", ylab = "Frecuencia Relativa de Defectos",
main = "Probabilidad Frecuentista: Defectos de Producción")
abline(h = prob_verdadera_defecto, col = "red", lty = 2)
legend("topright", legend = paste("Probabilidad Verdadera (", prob_verdadera_defecto, ")", sep=""), col = "red", lty = 2)
Región (Visualización): El gráfico muestra cómo la frecuencia relativa de artículos defectuosos tiende a la probabilidad verdadera de defecto (línea roja) a medida que se inspeccionan más artículos.
Consideremos un juego de azar donde la probabilidad de ganar es desconocida. Para estimarla, jugamos el juego un gran número de veces y registramos la frecuencia relativa de victorias.
Solución en R:
# Probabilidad verdadera de ganar
prob_verdadera_ganar <- 0.3
# Número de juegos jugados en cada etapa
n_juegos <- c(50, 100, 500, 1000, 5000, 10000)
frecuencias_relativas_ganar <- numeric(length(n_juegos))
set.seed(789) # Para reproducibilidad
for (i in 1:length(n_juegos)) {
ganados <- rbinom(n_juegos[i], 1, prob_verdadera_ganar) # 1 = ganar, 0 = perder
frecuencias_relativas_ganar[i] <- mean(ganados)
}
# Visualización de la convergencia de la frecuencia relativa
plot(n_juegos, frecuencias_relativas_ganar, type = "b", pch = 16,
xlab = "Número de Juegos Jugados", ylab = "Frecuencia Relativa de Victorias",
main = "Probabilidad Frecuentista: Juego de Azar")
abline(h = prob_verdadera_ganar, col = "red", lty = 2)
legend("topright", legend = paste("Probabilidad Verdadera (", prob_verdadera_ganar, ")", sep=""), col = "red", lty = 2)
Región (Visualización): El gráfico ilustra cómo la frecuencia relativa de victorias se acerca a la probabilidad verdadera de ganar (línea roja) a medida que se juega más veces.
Para estimar la probabilidad de que llueva en un día específico en Cartagena durante el mes de abril, se recopilan datos históricos de los últimos años sobre la ocurrencia de lluvia en ese día. La probabilidad se estima como la frecuencia relativa de días lluviosos en el conjunto de datos históricos.
Solución en R (Simulación basada en una probabilidad histórica):
# Probabilidad histórica de lluvia (estimada como la verdadera para la simulación)
prob_hist_lluvia <- 0.25
# Número de años de datos históricos (simulados como ensayos)
n_anios <- c(20, 50, 100, 200, 500, 1000)
frecuencias_relativas_lluvia <- numeric(length(n_anios))
set.seed(101) # Para reproducibilidad
for (i in 1:length(n_anios)) {
dias_lluviosos <- rbinom(n_anios[i], 1, prob_hist_lluvia) # 1 = día lluvioso, 0 = día seco
frecuencias_relativas_lluvia[i] <- mean(dias_lluviosos)
}
# Visualización de la convergencia de la frecuencia relativa
plot(n_anios, frecuencias_relativas_lluvia, type = "b", pch = 16,
xlab = "Número de Años de Datos", ylab = "Frecuencia Relativa de Días Lluviosos",
main = "Probabilidad Frecuentista: Lluvia en Cartagena (Abril)")
abline(h = prob_hist_lluvia, col = "red", lty = 2)
legend("topright", legend = paste("Probabilidad Histórica (", prob_hist_lluvia, ")", sep=""), col = "red", lty = 2)
Región (Visualización): El gráfico muestra cómo la frecuencia relativa de días lluviosos se acerca a la probabilidad histórica (línea roja) a medida que se consideran más años de datos.
La probabilidad axiomática proporciona una base matemática rigurosa para la teoría de la probabilidad. Se define como una función \(P\) que asigna a cada evento \(A\) en el espacio muestral \(\Omega\) un número real \(P(A)\) que satisface los siguientes axiomas de Kolmogorov:
A partir de estos axiomas se pueden deducir otras propiedades importantes de la probabilidad.
Consideremos el experimento de lanzar un dado justo de seis caras. Los siguientes eventos son mutuamente excluyentes:
La ocurrencia de cualquiera de estos eventos impide la ocurrencia de cualquier otro en el mismo lanzamiento. Por ejemplo, si obtenemos un 3, no podemos haber obtenido un 1, 2, 4, 5 o 6 al mismo tiempo.
La probabilidad de obtener cualquiera de estos resultados es:
\[ P(A) = P(1) = \frac{1}{6} \\ P(B) = P(2) = \frac{1}{6} \\ P(C) = P(3) = \frac{1}{6} \\ P(D) = P(4) = \frac{1}{6} \\ P(E) = P(5) = \frac{1}{6} \\ P(F) = P(6) = \frac{1}{6} \]
La probabilidad de obtener un número par (evento \(Par = B \cup D \cup F\)) es la suma de las probabilidades de los eventos mutuamente excluyentes B, D y F:
\[ P(Par) = P(B) + P(D) + P(F) = \frac{1}{6} + \frac{1}{6} + \frac{1}{6} = \frac{3}{6} = 0.5 \]
Solución en R:
# Probabilidades de cada resultado al lanzar un dado justo
prob_1 <- 1/6
prob_2 <- 1/6
prob_3 <- 1/6
prob_4 <- 1/6
prob_5 <- 1/6
prob_6 <- 1/6
# Probabilidad de obtener un número par (2, 4 o 6)
prob_par <- prob_2 + prob_4 + prob_6
cat("Probabilidad de obtener un número par:", prob_par, "\n")
## Probabilidad de obtener un número par: 0.5
# Visualización (Diagrama de Venn Conceptual)
# Imagina seis círculos separados dentro de un rectángulo (espacio muestral),
# cada círculo representando un resultado del dado (1 al 6). No hay superposición
# porque son mutuamente excluyentes. El evento "Par" conceptualmente incluiría
# los círculos 2, 4 y 6.
Región (Visualización Conceptual): Imagina un rectángulo (espacio muestral \(\Omega = \{1, 2, 3, 4, 5, 6\}\)). Dentro de este rectángulo, dibuja seis círculos separados que no se superponen, cada uno representando un resultado del dado. Estos círculos son las regiones de los eventos mutuamente excluyentes A, B, C, D, E y F. El evento “Par” corresponde a la unión de las regiones de B, D y F.
Al seleccionar una carta al azar de una baraja estándar de 52 cartas, los eventos de seleccionar una carta de cada palo son mutuamente excluyentes:
Una carta no puede pertenecer a dos palos diferentes al mismo tiempo. La probabilidad de seleccionar una carta de cada palo es:
\[ P(Corazones) = \frac{13}{52} = \frac{1}{4} \\ P(Diamantes) = \frac{13}{52} = \frac{1}{4} \\ P(Tréboles) = \frac{13}{52} = \frac{1}{4} \\ P(Espadas) = \frac{13}{52} = \frac{1}{4} \]
La probabilidad de seleccionar una carta roja (evento \(Roja = Corazones \cup Diamantes\)) es la suma de las probabilidades de los eventos mutuamente excluyentes Corazones y Diamantes:
\[ P(Roja) = P(Corazones) + P(Diamantes) = \frac{1}{4} + \frac{1}{4} = \frac{2}{4} = 0.5 \]
Solución en R:
# Probabilidades de seleccionar cada palo
prob_corazones <- 13/52
prob_diamantes <- 13/52
prob_treboles <- 13/52
prob_espadas <- 13/52
# Probabilidad de seleccionar una carta roja (corazones o diamantes)
prob_roja <- prob_corazones + prob_diamantes
cat("Probabilidad de seleccionar una carta roja:", prob_roja, "\n")
## Probabilidad de seleccionar una carta roja: 0.5
# Visualización (Diagrama de Venn Conceptual)
# Imagina un rectángulo (baraja de 52 cartas) dividido en cuatro regiones separadas
# que no se superponen, cada región representando un palo. Estos son eventos
# mutuamente excluyentes. El evento "Roja" conceptualmente incluye las regiones
# de Corazones y Diamantes.
Región (Visualización Conceptual): Imagina un rectángulo (espacio muestral de 52 cartas) dividido en cuatro áreas separadas que no se intersectan, etiquetadas como Corazones, Diamantes, Tréboles y Espadas. Estas áreas representan los eventos mutuamente excluyentes de seleccionar una carta de cada palo. El evento “Roja” corresponde a la unión de las áreas de Corazones y Diamantes.
En una encuesta, se preguntó a las personas cuál era su sabor de helado favorito, y se les permitió elegir solo uno. Los resultados fueron:
Estos eventos son mutuamente excluyentes porque cada persona eligió solo un sabor. La probabilidad de que una persona elegida al azar prefiera chocolate es \(P(Ch) = 0.30\), vainilla es \(P(V) = 0.25\), y así sucesivamente.
La probabilidad de que una persona prefiera un sabor que no sea chocolate (\(Ch^c = V \cup F \cup DL \cup O\)) es la suma de las probabilidades de los eventos mutuamente excluyentes V, F, DL y O:
\[ P(Ch^c) = P(V) + P(F) + P(DL) + P(O) = 0.25 + 0.20 + 0.15 + 0.10 = 0.70 \]
Alternativamente, \(P(Ch^c) = 1 - P(Ch) = 1 - 0.30 = 0.70\).
Solución en R:
# Probabilidades de cada preferencia de helado
prob_chocolate <- 0.30
prob_vainilla <- 0.25
prob_fresa <- 0.20
prob_dulce_leche <- 0.15
prob_otros <- 0.10
# Probabilidad de no preferir chocolate
prob_no_chocolate <- prob_vainilla + prob_fresa + prob_dulce_leche + prob_otros
cat("Probabilidad de no preferir chocolate:", prob_no_chocolate, "\n")
## Probabilidad de no preferir chocolate: 0.7
# Alternativamente
prob_no_chocolate_alt <- 1 - prob_chocolate
cat("Probabilidad de no preferir chocolate (alternativa):", prob_no_chocolate_alt, "\n")
## Probabilidad de no preferir chocolate (alternativa): 0.7
Región (Visualización Conceptual): Imagina un rectángulo (espacio muestral de todas las personas encuestadas) dividido en cinco áreas separadas que no se intersectan, etiquetadas como Chocolate, Vainilla, Fresa, Dulce de Leche y Otros. Estas áreas representan los eventos mutuamente excluyentes de la preferencia de helado. El evento “No Chocolate” corresponde a la unión de las áreas de Vainilla, Fresa, Dulce de Leche y Otros.
Los tipos de sangre ABO (A, B, AB, O) son mutuamente excluyentes para un individuo (una persona solo puede tener un tipo de sangre ABO). Las probabilidades de los diferentes tipos de sangre en una población son aproximadamente:
La probabilidad de que una persona elegida al azar tenga tipo de sangre A u O (evento \(A \cup O\)) es la suma de las probabilidades de los eventos mutuamente excluyentes A y O:
\[ P(A \cup O) = P(A) + P(O) = 0.40 + 0.45 = 0.85 \]
La probabilidad de que una persona no tenga tipo de sangre O (evento \(O^c = A \cup B \cup AB\)) es la suma de las probabilidades de los eventos mutuamente excluyentes A, B y AB:
\[ P(O^c) = P(A) + P(B) + P(AB) = 0.40 + 0.10 + 0.05 = 0.55 \]
Alternativamente, \(P(O^c) = 1 - P(O) = 1 - 0.45 = 0.55\).
Solución en R:
# Probabilidades de los tipos de sangre
prob_A <- 0.40
prob_B <- 0.10
prob_AB <- 0.05
prob_O <- 0.45
# Probabilidad de tener tipo de sangre A u O
prob_A_o_O <- prob_A + prob_O
cat("Probabilidad de tener tipo de sangre A u O:", prob_A_o_O, "\n")
## Probabilidad de tener tipo de sangre A u O: 0.85
# Probabilidad de no tener tipo de sangre O
prob_no_O <- prob_A + prob_B + prob_AB
cat("Probabilidad de no tener tipo de sangre O:", prob_no_O, "\n")
## Probabilidad de no tener tipo de sangre O: 0.55
# Alternativamente
prob_no_O_alt <- 1 - prob_O
cat("Probabilidad de no tener tipo de sangre O (alternativa):", prob_no_O_alt, "\n")
## Probabilidad de no tener tipo de sangre O (alternativa): 0.55
# Visualización (Diagrama de Venn Conceptual)
# Imagina un rectángulo (toda la población) dividido en cuatro regiones separadas
# que no se superponen, cada región representando un tipo de sangre (A, B, AB, O).
# Estos son eventos mutuamente excluyentes. El evento "A u O" conceptualmente
# incluye las regiones de los tipos A y O. El evento "No O" incluye las regiones
# de los tipos A, B y AB.
Región (Visualización Conceptual): Imagina un rectángulo (espacio muestral de toda la población) dividido en cuatro áreas separadas que no se intersectan, etiquetadas como Tipo A, Tipo B, Tipo AB y Tipo O. Estas áreas representan los eventos mutuamente excluyentes de los tipos de sangre. El evento “A u O” corresponde a la unión de las áreas de Tipo A y Tipo O. El evento “No O” corresponde a la unión de las áreas de Tipo A, Tipo B y Tipo AB.
Las reglas básicas de probabilidad establecen los principios matemáticos para cuantificar la incertidumbre en experimentos aleatorios.
Para dos eventos \(A\) y \(B\): \[ P(A \cup B) = P(A) + P(B) - P(A \cap B) \]
Caso especial: Eventos mutuamente excluyentes (\(A \cap B = \emptyset\)): \[ P(A \cup B) = P(A) + P(B) \]
\[ P(A \cap B) = P(A) \cdot P(B|A) = P(B) \cdot P(A|B) \]
Eventos independientes: \[ P(A \cap B) = P(A) \cdot P(B) \]
\[ P(A|B) = \frac{P(A \cap B)}{P(B)} \quad \text{si } P(B) > 0 \]
\[ P(A^c) = 1 - P(A) \]
Para una partición \(\{B_1, B_2, ..., B_n\}\) de \(\Omega\): \[ P(A) = \sum_{i=1}^n P(A|B_i)P(B_i) \]
\[ P(B_i|A) = \frac{P(A|B_i)P(B_i)}{\sum_{j=1}^n P(A|B_j)P(B_j)} \]
Problema: En una escuela, 40% de estudiantes juegan fútbol, 30% juegan baloncesto y 20% juegan ambos. ¿Cuál es la probabilidad de que un estudiante juegue al menos uno de estos deportes?
Solución en R:
P_F <- 0.4
P_B <- 0.3
P_FyB <- 0.2
# Regla de la suma
P_FoB <- P_F + P_B - P_FyB
cat("P(Fútbol ∪ Baloncesto) =", P_FoB)
## P(Fútbol ∪ Baloncesto) = 0.5
Resultado:
\(P(F \cup B) = 0.4 + 0.3 - 0.2 =
0.5\)
Problema: En una fábrica, 5% de los productos son defectuosos. Si un producto es defectuoso, la probabilidad de que sea detectado por el inspector es 0.9. ¿Cuál es la probabilidad de que un producto sea defectuoso y sea detectado?
Solución:
P_D <- 0.05
P_T_dado_D <- 0.9
# Regla del producto
P_DyT <- P_D * P_T_dado_D
cat("P(Defectuoso ∩ Detectado) =", P_DyT)
## P(Defectuoso ∩ Detectado) = 0.045
Resultado:
\(P(D \cap T) = 0.05 \times 0.9 =
0.045\)
Problema: Se lanzan dos dados justos. ¿Cuál es la probabilidad de obtener un 3 en el primero y un número par en el segundo?
Solución en R Markdown:
P_3 <- 1/6
P_par <- 3/6 # {2,4,6}
# Eventos independientes
P_3yPar <- P_3 * P_par
cat("P(3 en primero ∩ par en segundo) =", P_3yPar)
## P(3 en primero ∩ par en segundo) = 0.08333333
Resultado:
\(P = \frac{1}{6} \times \frac{3}{6} =
\frac{1}{12} \approx 0.0833\)
Problema: Una enfermedad afecta al 1% de la población. Una prueba detecta la enfermedad en el 99% de los casos, pero da falsos positivos en el 5%. Si una persona da positivo, ¿cuál es la probabilidad de que realmente tenga la enfermedad?
Solución:
P_E <- 0.01
P_Pos_dadoE <- 0.99
P_Pos_dadoNoE <- 0.05
# Teorema de Bayes
P_EdadoPos <- (P_Pos_dadoE * P_E) / (P_Pos_dadoE * P_E + P_Pos_dadoNoE * (1 - P_E))
cat("P(Enfermo|Positivo) =", round(P_EdadoPos, 4))
## P(Enfermo|Positivo) = 0.1667
Resultado:
\(P(E|Pos) \approx 0.1667\) (sólo
~16.67% de positivos son realmente enfermos)
library(VennDiagram)
grid.newpage()
draw.pairwise.venn(
area1 = 40, area2 = 30, cross.area = 20,
category = c("Fútbol (40%)", "Baloncesto (30%)"),
fill = c("blue", "green"),
alpha = 0.5,
cex = 1.5, cat.cex = 1.2
)
## (polygon[GRID.polygon.55], polygon[GRID.polygon.56], polygon[GRID.polygon.57], polygon[GRID.polygon.58], text[GRID.text.59], text[GRID.text.60], text[GRID.text.61], text[GRID.text.62], text[GRID.text.63])
Interpretación:
- Azul: Sólo fútbol (20%) - Verde: Sólo baloncesto (10%) - Intersección:
Ambos deportes (20%) - Área total coloreada: 50% (resultado del Ejemplo
1)
Problema: Se lanzan dos monedas justas. ¿Cuál es la probabilidad de obtener al menos una cara?
Solución en Markdown:
El espacio muestral para el lanzamiento de dos monedas es \(\Omega = \{CC, CX, XC, XX\}\), donde \(C\) representa cara y \(X\) representa cruz. Cada resultado tiene una probabilidad de \(\frac{1}{4}\) asumiendo que las monedas son justas e independientes.
El evento \(A\) = “obtener al menos una cara” está compuesto por los siguientes resultados: \(A = \{CC, CX, XC\}\).
Usando la probabilidad clásica: \[P(A) = \frac{|A|}{|\Omega|} = \frac{3}{4}\]
Alternativamente, podemos calcular la probabilidad del evento complementario \(A^c\) = “no obtener ninguna cara” = “obtener dos cruces”, que es \(A^c = \{XX\}\). \[P(A^c) = \frac{|A^c|}{|\Omega|} = \frac{1}{4}\] Entonces, la probabilidad de \(A\) es: \[P(A) = 1 - P(A^c) = 1 - \frac{1}{4} = \frac{3}{4}\]
Solución en R:
# Espacio muestral
omega <- c("CC", "CX", "XC", "XX")
# Evento A: al menos una cara
A <- c("CC", "CX", "XC")
# Probabilidad clásica
prob_A <- length(A) / length(omega)
print(paste("La probabilidad de obtener al menos una cara es:", prob_A))
## [1] "La probabilidad de obtener al menos una cara es: 0.75"
# Probabilidad del complemento
A_complemento <- setdiff(omega, A)
prob_A_complemento <- length(A_complemento) / length(omega)
print(paste("La probabilidad de no obtener ninguna cara es:", prob_A_complemento))
## [1] "La probabilidad de no obtener ninguna cara es: 0.25"
# Probabilidad de A usando el complemento
prob_A_complemento_usado <- 1 - prob_A_complemento
print(paste("La probabilidad de obtener al menos una cara (usando complemento) es:", prob_A_complemento_usado))
## [1] "La probabilidad de obtener al menos una cara (usando complemento) es: 0.75"
Problema: Se elige un punto al azar en un segmento de recta de longitud 10 cm. ¿Cuál es la probabilidad de que el punto se encuentre a una distancia no mayor de 2 cm de uno de los extremos del segmento?
Solución en Markdown:
El espacio muestral \(\Omega\) es el segmento de longitud 10 cm. Podemos representarlo como el intervalo \([0, 10]\). La “medida” de \(\Omega\) es su longitud, \(|\Omega| = 10\).
El evento \(A\) = “el punto se encuentra a una distancia no mayor de 2 cm de uno de los extremos” ocurre si el punto está en el intervalo \([0, 2]\) (cerca del extremo 0) o en el intervalo \([8, 10]\) (cerca del extremo 10). Estos dos intervalos son ajenos.
La longitud del primer subintervalo es \(2 - 0 = 2\) cm. La longitud del segundo subintervalo es \(10 - 8 = 2\) cm.
La “medida” del evento \(A\) es la suma de las longitudes de estos dos subintervalos: \(|A| = 2 + 2 = 4\) cm.
Usando la probabilidad geométrica: \[P(A) = \frac{|A|}{|\Omega|} = \frac{4}{10} = 0.4\]
Solución en R (simulación):
# Número de simulaciones
n_simulaciones <- 10000
# Simular la elección de puntos en el segmento [0, 10]
puntos <- runif(n_simulaciones, min = 0, max = 10)
# Verificar si cada punto está a no más de 2 cm de los extremos
evento_A <- (puntos >= 0 & puntos <= 2) | (puntos >= 8 & puntos <= 10)
# Calcular la frecuencia relativa del evento A
prob_A_simulada <- sum(evento_A) / n_simulaciones
print(paste("La probabilidad simulada de que el punto esté a no más de 2 cm de los extremos es:", prob_A_simulada))
## [1] "La probabilidad simulada de que el punto esté a no más de 2 cm de los extremos es: 0.4044"
Problema: En una caja hay 3 bolas rojas, 4 bolas azules y 2 bolas verdes. Se extrae una bola al azar. Sean los eventos: * \(R\): La bola extraída es roja. * \(A\): La bola extraída es azul. * \(V\): La bola extraída es verde.
Calcula la probabilidad de cada evento y la probabilidad de extraer una bola roja o azul.
Solución en Markdown:
El espacio muestral \(\Omega\) consiste en todas las bolas de la caja. El número total de bolas es \(3 + 4 + 2 = 9\).
Los eventos \(R\), \(A\) y \(V\) son mutuamente excluyentes (ajenos), ya que una bola no puede ser de dos colores al mismo tiempo.
Usando la probabilidad clásica: * \(P(R) = \frac{\text{Número de bolas rojas}}{\text{Número total de bolas}} = \frac{3}{9} = \frac{1}{3}\) * \(P(A) = \frac{\text{Número de bolas azules}}{\text{Número total de bolas}} = \frac{4}{9}\) * \(P(V) = \frac{\text{Número de bolas verdes}}{\text{Número total de bolas}} = \frac{2}{9}\)
Para calcular la probabilidad de extraer una bola roja o azul (\(R \cup A\)), como \(R\) y \(A\) son eventos ajenos, podemos usar la propiedad de aditividad de la probabilidad axiomática: \[P(R \cup A) = P(R) + P(A) = \frac{3}{9} + \frac{4}{9} = \frac{7}{9}\]
Solución en R:
# Número de bolas de cada color
n_rojas <- 3
n_azules <- 4
n_verdes <- 2
total_bolas <- n_rojas + n_azules + n_verdes
# Probabilidad de cada evento
prob_roja <- n_rojas / total_bolas
print(paste("La probabilidad de extraer una bola roja es:", prob_roja))
## [1] "La probabilidad de extraer una bola roja es: 0.333333333333333"
prob_azul <- n_azules / total_bolas
print(paste("La probabilidad de extraer una bola azul es:", prob_azul))
## [1] "La probabilidad de extraer una bola azul es: 0.444444444444444"
prob_verde <- n_verdes / total_bolas
print(paste("La probabilidad de extraer una bola verde es:", prob_verde))
## [1] "La probabilidad de extraer una bola verde es: 0.222222222222222"
# Probabilidad de extraer una bola roja o azul (eventos ajenos)
prob_roja_o_azul <- prob_roja + prob_azul
print(paste("La probabilidad de extraer una bola roja o azul es:", prob_roja_o_azul))
## [1] "La probabilidad de extraer una bola roja o azul es: 0.777777777777778"
La propiedad de continuidad de la probabilidad establece dos resultados importantes relacionados con secuencias de eventos:
Esta propiedad es fundamental para trabajar con probabilidades de límites de eventos.
Una \(\sigma\)-álgebra (sigma álgebra) sobre un conjunto \(\Omega\) es una colección \(\mathcal{F}\) de subconjuntos de \(\Omega\) que satisface las siguientes tres propiedades:
De estas propiedades se pueden deducir otras, como la cerradura bajo intersecciones numerables ($ {i=1}^{} A_i = ({i=1}^{} A_ic)c $).
El par \((\Omega, \mathcal{F})\) se denomina espacio medible. Los conjuntos en \(\mathcal{F}\) se denominan conjuntos medibles.
La \(\sigma\)-álgebra de Borel \(\mathcal{B}(\mathbb{R})\) sobre el conjunto de los números reales \(\mathbb{R}\) (o sobre cualquier espacio topológico) es la \(\sigma\)-álgebra generada por los intervalos abiertos de \(\mathbb{R}\). Esto significa que \(\mathcal{B}(\mathbb{R})\) es la \(\sigma\)-álgebra más pequeña que contiene a todos los intervalos abiertos de la forma \((a, b)\), donde \(a, b \in \mathbb{R}\) y \(a < b\).
La \(\sigma\)-álgebra de Borel también contiene:
En esencia, la \(\sigma\)-álgebra de Borel contiene todos los subconjuntos de \(\mathbb{R}\) que son “razonables” desde un punto de vista analítico.
Un espacio de probabilidad es una tripleta \((\Omega, \mathcal{F}, P)\), donde:
El principio de multiplicación establece que si una tarea se puede realizar en \(n_1\) formas diferentes, y después de realizarla, una segunda tarea se puede realizar en \(n_2\) formas diferentes, y así sucesivamente hasta una \(k\)-ésima tarea que se puede realizar en \(n_k\) formas diferentes (independientemente de las elecciones anteriores), entonces el número total de formas en que se pueden realizar todas las tareas en secuencia es el producto de los números de formas individuales: \[N = n_1 \times n_2 \times \cdots \times n_k\]
Ejemplo: Si tienes 3 opciones de camisa y 2 opciones de pantalón, tienes \(3 \times 2 = 6\) formas diferentes de vestirte.
Una ordenación con repetición de \(n\) objetos tomados de un conjunto de \(m\) objetos distintos, donde se permite la repetición, es una secuencia ordenada de longitud \(n\) formada por elementos del conjunto de \(m\) objetos. El número total de tales ordenaciones es: \[N = m^n\]
Ejemplo: El número de secuencias de longitud 3 que se pueden formar con las letras {A, B} (con repetición permitida) es \(2^3 = 8\): AAA, AAB, ABA, ABB, BAA, BAB, BBA, BBB.
Una ordenación sin repetición de \(n\) objetos tomados de un conjunto de \(m\) objetos distintos (donde \(n \le m\)) es una secuencia ordenada de longitud \(n\) formada por elementos distintos del conjunto de \(m\) objetos. El número total de tales ordenaciones se denota por \(P(m, n)\) o \(_mP_n\) y se calcula como: \[P(m, n) = \frac{m!}{(m - n)!} = m \times (m - 1) \times \cdots \times (m - n + 1)\] Si se ordenan los \(m\) objetos distintos, el número de permutaciones de los \(m\) objetos es \(P(m, m) = m!\).
Ejemplo: El número de formas de elegir y ordenar 2 letras distintas del conjunto {A, B, C} es \(P(3, 2) = \frac{3!}{(3 - 2)!} = \frac{6}{1} = 6\): AB, AC, BA, BC, CA, CB.
Una combinación de \(n\) objetos tomados de un conjunto de \(m\) objetos distintos (donde \(n \le m\)) es una selección de \(n\) objetos sin importar el orden. El número total de tales combinaciones se denota por \(C(m, n)\), \(\binom{m}{n}\) o \(_mC_n\) y se calcula como: \[C(m, n) = \binom{m}{n} = \frac{m!}{n!(m - n)!}\]
Ejemplo: El número de formas de elegir 2 letras del conjunto {A, B, C} sin importar el orden es \(\binom{3}{2} = \frac{3!}{2!(3 - 2)!} = \frac{6}{2 \times 1} = 3\): {A, B}, {A, C}, {B, C}.
Una muestra sin orden y con reemplazo de tamaño \(n\) tomada de un conjunto de \(m\) objetos distintos es una selección de \(n\) objetos donde el orden no importa y se permite seleccionar el mismo objeto más de una vez. El número total de tales muestras es dado por la fórmula de “combinaciones con repetición”: \[\binom{m + n - 1}{n} = \frac{(m + n - 1)!}{n!(m - 1)!}\]
Ejemplo: Si queremos elegir 2 helados de 3 sabores (chocolate, vainilla, fresa) y podemos repetir sabores, las posibles combinaciones son (sin importar el orden): {C, C}, {C, V}, {C, F}, {V, V}, {V, F}, {F, F}. Usando la fórmula: \(\binom{3 + 2 - 1}{2} = \binom{4}{2} = \frac{4!}{2!2!} = \frac{24}{4} = 6\).
Problema: Considera el experimento de lanzar una moneda justa una vez. * Define el espacio muestral \(\Omega\). * Define la \(\sigma\)-álgebra \(\mathcal{F}\) de todos los subconjuntos de \(\Omega\) (el álgebra de partes). * Define una función de probabilidad \(P\) sobre \((\Omega, \mathcal{F})\). * Calcula la probabilidad de cada evento en \(\mathcal{F}\).
Solución en Markdown:
El espacio muestral para el lanzamiento de una moneda es \(\Omega = \{C, X\}\), donde \(C\) es cara y \(X\) es cruz.
La \(\sigma\)-álgebra \(\mathcal{F}\) de todos los subconjuntos de \(\Omega\) (el álgebra de partes, \(\mathcal{P}(\Omega)\)) es: \[\mathcal{F} = \{\emptyset, \{C\}, \{X\}, \{C, X\}\}\]
Definimos una función de probabilidad \(P\) tal que, para una moneda justa: * \(P(\{C\}) = 0.5\) * \(P(\{X\}) = 0.5\)
Usando los axiomas de probabilidad: * \(P(\emptyset) = 0\) (por una propiedad básica de la probabilidad) * \(P(\{C, X\}) = P(\Omega) = 1\) (axioma 2)
También podemos verificar la aditividad para eventos ajenos: \(P(\{C\} \cup \{X\}) = P(\{C\}) + P(\{X\}) = 0.5 + 0.5 = 1 = P(\{C, X\})\).
Por lo tanto, el espacio de probabilidad es \((\{C, X\}, \{\emptyset, \{C\}, \{X\}, \{C, X\}\}, P)\), donde \(P(\emptyset) = 0\), \(P(\{C\}) = 0.5\), \(P(\{X\}) = 0.5\), y \(P(\{C, X\}) = 1\).
Solución en R:
# Espacio muestral
omega <- c("C", "X")
# Sigma álgebra (lista de todos los subconjuntos)
sigma_algebra <- list(NULL, "C", "X", omega)
names(sigma_algebra) <- c("vacio", "Cara", "Cruz", "Omega")
# Función de probabilidad
probabilidad <- function(evento) {
if (is.null(evento)) {
return(0)
} else if (identical(evento, "C")) {
return(0.5)
} else if (identical(evento, "X")) {
return(0.5)
} else if (identical(evento, omega)) {
return(1)
} else {
return(NA) # Para eventos no en la sigma álgebra definida
}
}
# Calcular la probabilidad de cada evento en la sigma álgebra
print(paste("P(vacío) =", probabilidad(sigma_algebra$vacio)))
## [1] "P(vacío) = 0"
print(paste("P({C}) =", probabilidad(sigma_algebra$Cara)))
## [1] "P({C}) = 0.5"
print(paste("P({X}) =", probabilidad(sigma_algebra$Cruz)))
## [1] "P({X}) = 0.5"
print(paste("P(Omega) =", probabilidad(sigma_algebra$Omega)))
## [1] "P(Omega) = 1"
Problema: ¿Cuántos números de 3 dígitos se pueden formar utilizando los dígitos {1, 2, 3, 4, 5} si: a) Los dígitos se pueden repetir? b) Los dígitos no se pueden repetir?
Solución en Markdown:
Con repetición: Tenemos 5 opciones para el primer dígito, 5 opciones para el segundo dígito y 5 opciones para el tercer dígito (principio de multiplicación y ordenaciones con repetición con \(m=5\) y \(n=3\)). \[N = 5 \times 5 \times 5 = 5^3 = 125\] Se pueden formar 125 números de 3 dígitos con repetición.
Sin repetición: Tenemos 5 opciones para el primer dígito, 4 opciones restantes para el segundo dígito y 3 opciones restantes para el tercer dígito (permutaciones sin repetición, \(P(5, 3)\)). \[N = P(5, 3) = \frac{5!}{(5 - 3)!} = \frac{120}{2} = 60\] Se pueden formar 60 números de 3 dígitos sin repetición.
Solución en R2:
# a) Con repetición
m <- 5 # Número de dígitos disponibles
n <- 3 # Longitud del número
con_repeticion <- m^n
print(paste("Número de números de 3 dígitos con repetición:", con_repeticion))
## [1] "Número de números de 3 dígitos con repetición: 125"
# b) Sin repetición
sin_repeticion <- factorial(m) / factorial(m - n)
print(paste("Número de números de 3 dígitos sin repetición:", sin_repeticion))
## [1] "Número de números de 3 dígitos sin repetición: 60"
Problema: Se debe formar un comité de 4 personas a partir de un grupo de 10 personas. ¿De cuántas formas se puede formar el comité si: a) No hay restricciones en la selección? b) Dos personas específicas deben estar en el comité?
Solución en Markdown:
Sin restricciones: Necesitamos seleccionar 4 personas de 10 sin importar el orden (combinaciones sin repetición, \(\binom{10}{4}\)). \[N = \binom{10}{4} = \frac{10!}{4!(10 - 4)!} = \frac{362880}{24 \times 720} = \frac{362880}{17280} = 210\] El comité se puede formar de 210 formas diferentes.
Dos personas específicas deben estar en el comité: Si dos personas específicas ya están en el comité, necesitamos seleccionar las 2 personas restantes de las \(10 - 2 = 8\) personas restantes. \[N = \binom{8}{2} = \frac{8!}{2!(8 - 2)!} = \frac{40320}{2 \times 720} = \frac{40320}{1440} = 28\] El comité se puede formar de 28 formas diferentes si esas dos personas específicas deben estar incluidas.
Solución en R3:
# a) Sin restricciones
n_total <- 10
n_seleccionar <- 4
combinaciones_sin_restricciones <- choose(n_total, n_seleccionar)
print(paste("Número de formas de formar el comité sin restricciones:", combinaciones_sin_restricciones))
## [1] "Número de formas de formar el comité sin restricciones: 210"
# b) Dos personas específicas deben estar en el comité
personas_fijas <- 2
n_restantes_total <- n_total - personas_fijas
n_restantes_seleccionar <- n_seleccionar - personas_fijas
combinaciones_con_restricciones <- choose(n_restantes_total, n_restantes_seleccionar)
print(paste("Número de formas de formar el comité con dos personas específicas:", combinaciones_con_restricciones))
## [1] "Número de formas de formar el comité con dos personas específicas: 28"
La probabilidad condicional de un evento \(A\) dado que ha ocurrido un evento \(B\) se denota por \(P(A|B)\) y se define como: \[P(A|B) = \frac{P(A \cap B)}{P(B)}, \quad \text{si } P(B) > 0\] Esta fórmula nos dice cómo la probabilidad de un evento \(A\) se ve afectada por el conocimiento de que otro evento \(B\) ha sucedido.
Sea \(\{B_1, B_2, ..., B_n\}\) un conjunto de eventos mutuamente excluyentes y exhaustivos (es decir, forman una partición del espacio muestral \(\Omega\), donde \(\bigcup_{i=1}^{n} B_i = \Omega\) y \(B_i \cap B_j = \emptyset\) para \(i \neq j\)), y sea \(A\) cualquier otro evento. Entonces, la probabilidad de \(A\) se puede calcular como: \[P(A) = \sum_{i=1}^{n} P(A|B_i) P(B_i)\] Este teorema es útil cuando la probabilidad de un evento \(A\) es difícil de calcular directamente, pero es más fácil conocer sus probabilidades condicionales dado un conjunto de eventos que particionan el espacio muestral.
El Teorema de Bayes relaciona la probabilidad condicional de un evento \(A\) dado \(B\) con la probabilidad condicional de \(B\) dado \(A\). Utilizando la misma partición \(\{B_1, B_2, ..., B_n\}\) del espacio muestral \(\Omega\), y para cualquier evento \(A\) con \(P(A) > 0\), el teorema establece que: \[P(B_i|A) = \frac{P(A|B_i) P(B_i)}{P(A)} = \frac{P(A|B_i) P(B_i)}{\sum_{j=1}^{n} P(A|B_j) P(B_j)}\] El Teorema de Bayes es fundamental para actualizar nuestras creencias (probabilidades) a la luz de nueva evidencia.
Dos eventos \(A\) y \(B\) se dicen independientes si la ocurrencia de uno no afecta la probabilidad de ocurrencia del otro. Matemáticamente, \(A\) y \(B\) son independientes si y solo si se cumple alguna de las siguientes condiciones (asumiendo probabilidades mayores que cero): * \(P(A|B) = P(A)\) * \(P(B|A) = P(B)\) * \(P(A \cap B) = P(A) P(B)\)
Para un conjunto de \(n\) eventos \(\{A_1, A_2, ..., A_n\}\), se dice que son mutuamente independientes si para cualquier subconjunto de estos eventos \(\{A_{i_1}, A_{i_2}, ..., A_{i_k}\}\) (donde \(1 \le k \le n\)), se cumple: \[P(A_{i_1} \cap A_{i_2} \cap \cdots \cap A_{i_k}) = P(A_{i_1}) P(A_{i_2}) \cdots P(A_{i_k})\]
Una variable aleatoria (v.a.) es una función que asigna un valor numérico real a cada resultado en el espacio muestral \(\Omega\) de un experimento aleatorio. Formalmente, una variable aleatoria \(X\) es una función \(X: \Omega \to \mathbb{R}\).
Para una variable aleatoria discreta \(X\) que toma valores en un conjunto contable \(\{x_1, x_2, ...\}\), la función de probabilidad (probability mass function, pmf) es una función \(p_X(x)\) definida como: \[p_X(x) = P(X = x)\] La función de probabilidad satisface las siguientes propiedades: 1. \(p_X(x_i) \ge 0\) para todo \(i\). 2. \(\sum_{i} p_X(x_i) = 1\). 3. Para cualquier conjunto de valores \(A\), \(P(X \in A) = \sum_{x_i \in A} p_X(x_i)\).
Para una variable aleatoria continua \(X\) que toma valores en un intervalo (o una unión de intervalos), la función de densidad de probabilidad (probability density function, pdf) es una función \(f_X(x)\) tal que la probabilidad de que \(X\) tome un valor en un intervalo \([a, b]\) está dada por la integral de la función de densidad sobre ese intervalo: \[P(a \le X \le b) = \int_{a}^{b} f_X(x) dx\] La función de densidad de probabilidad satisface las siguientes propiedades: 1. \(f_X(x) \ge 0\) para todo \(x \in \mathbb{R}\). 2. \(\int_{-\infty}^{\infty} f_X(x) dx = 1\). 3. \(P(X = a) = \int_{a}^{a} f_X(x) dx = 0\) para cualquier valor específico \(a\).
La función de distribución acumulativa (cumulative distribution function, cdf) de una variable aleatoria \(X\), denotada por \(F_X(x)\), se define como la probabilidad de que la variable aleatoria \(X\) tome un valor menor o igual a \(x\): \[F_X(x) = P(X \le x)\] Esta definición es válida tanto para variables aleatorias discretas como continuas.
La función de distribución acumulativa \(F_X(x)\) tiene las siguientes propiedades: 1. \(0 \le F_X(x) \le 1\) para todo \(x \in \mathbb{R}\). 2. \(F_X(x)\) es una función no decreciente: si \(x_1 \le x_2\), entonces \(F_X(x_1) \le F_X(x_2)\). 3. \(\lim_{x \to -\infty} F_X(x) = 0\). 4. \(\lim_{x \to \infty} F_X(x) = 1\). 5. \(F_X(x)\) es continua por la derecha: \(\lim_{h \to 0^+} F_X(x + h) = F_X(x)\).
Para variables aleatorias discretas, \(F_X(x)\) es una función escalonada que aumenta en los puntos donde la pmf es positiva. Para variables aleatorias continuas, \(F_X(x)\) es una función continua y se relaciona con la pdf por: \[F_X(x) = \int_{-\infty}^{x} f_X(t) dt\]
La función de distribución acumulativa se puede utilizar para calcular probabilidades de diversos eventos relacionados con la variable aleatoria \(X\): * \(P(X > a) = 1 - F_X(a)\) * \(P(a < X \le b) = F_X(b) - F_X(a)\) * \(P(a \le X \le b) = F_X(b) - F_X(a) + P(X = a)\) (para el caso general, si \(X\) es continua, \(P(X=a)=0\)) * \(P(a < X < b) = F_X(b^-) - F_X(a)\) (donde \(F_X(b^-) = \lim_{x \to b^-} F_X(x)\)) * \(P(X = a) = F_X(a) - F_X(a^-)\) (para variables discretas, esta probabilidad es la altura del salto en \(a\))
Problema: Una compañía tiene dos máquinas, M1 y M2, que producen el 40% y el 60% de los artículos respectivamente. Se sabe que el 5% de los artículos producidos por M1 son defectuosos, mientras que el 3% de los artículos producidos por M2 son defectuosos. Si se selecciona un artículo al azar y resulta ser defectuoso, ¿cuál es la probabilidad de que haya sido producido por la máquina M1?
Solución en Markdown:
Definamos los siguientes eventos: * \(M_1\): El artículo fue producido por la máquina M1. * \(M_2\): El artículo fue producido por la máquina M2. * \(D\): El artículo es defectuoso.
Tenemos las siguientes probabilidades: * \(P(M_1) = 0.40\) * \(P(M_2) = 0.60\) * \(P(D|M_1) = 0.05\) * \(P(D|M_2) = 0.03\)
Queremos encontrar \(P(M_1|D)\). Usando el Teorema de Bayes: \[P(M_1|D) = \frac{P(D|M_1) P(M_1)}{P(D)}\]
Primero, necesitamos calcular \(P(D)\) usando el Teorema de Probabilidad Total: \[P(D) = P(D|M_1) P(M_1) + P(D|M_2) P(M_2)\] \[P(D) = (0.05)(0.40) + (0.03)(0.60) = 0.020 + 0.018 = 0.038\]
Ahora, podemos calcular \(P(M_1|D)\): \[P(M_1|D) = \frac{(0.05)(0.40)}{0.038} = \frac{0.020}{0.038} \approx 0.5263\]
La probabilidad de que un artículo defectuoso haya sido producido por la máquina M1 es aproximadamente 52.63%.
Solución en R:
# Probabilidades dadas
P_M1 <- 0.40
P_M2 <- 0.60
P_D_dado_M1 <- 0.05
P_D_dado_M2 <- 0.03
# Calcular P(D) usando el Teorema de Probabilidad Total
P_D <- (P_D_dado_M1 * P_M1) + (P_D_dado_M2 * P_M2)
print(paste("P(D) =", P_D))
## [1] "P(D) = 0.038"
# Calcular P(M1|D) usando el Teorema de Bayes
P_M1_dado_D <- (P_D_dado_M1 * P_M1) / P_D
print(paste("P(M1|D) =", P_M1_dado_D))
## [1] "P(M1|D) = 0.526315789473684"
Problema: Se lanzan dos dados justos. Sea \(A\) el evento de que la suma de los resultados es 7, y sea \(B\) el evento de que el resultado del primer dado es 4. ¿Son \(A\) y \(B\) eventos independientes?
Solución en Markdown:
El espacio muestral \(\Omega\) tiene \(6 \times 6 = 36\) resultados posibles, todos igualmente probables con probabilidad \(\frac{1}{36}\).
El evento \(A\) (suma es 7) ocurre con los siguientes resultados: \(\{(1, 6), (2, 5), (3, 4), (4, 3), (5, 2), (6, 1)\}\), por lo que \(P(A) = \frac{6}{36} = \frac{1}{6}\).
El evento \(B\) (el primer dado es 4) ocurre con los siguientes resultados: \(\{(4, 1), (4, 2), (4, 3), (4, 4), (4, 5), (4, 6)\}\), por lo que \(P(B) = \frac{6}{36} = \frac{1}{6}\).
La intersección \(A \cap B\) (la suma es 7 y el primer dado es 4) ocurre solo con el resultado \(\{(4, 3)\}\), por lo que \(P(A \cap B) = \frac{1}{36}\).
Para que \(A\) y \(B\) sean independientes, debe cumplirse \(P(A \cap B) = P(A) P(B)\). \[P(A) P(B) = \left(\frac{1}{6}\right) \left(\frac{1}{6}\right) = \frac{1}{36}\] Como \(P(A \cap B) = \frac{1}{36}\) y \(P(A) P(B) = \frac{1}{36}\), los eventos \(A\) y \(B\) son independientes.
Solución en R:
# Espacio muestral (implícito) con 36 resultados igualmente probables
# Probabilidad del evento A (suma es 7)
P_A <- 6 / 36
# Probabilidad del evento B (primer dado es 4)
P_B <- 6 / 36
# Probabilidad de la intersección A y B (primer dado es 4 y la suma es 7, es decir, (4, 3))
P_A_interseccion_B <- 1 / 36
# Verificar independencia
independientes <- (P_A_interseccion_B == (P_A * P_B))
print(paste("P(A) =", P_A))
## [1] "P(A) = 0.166666666666667"
print(paste("P(B) =", P_B))
## [1] "P(B) = 0.166666666666667"
print(paste("P(A intersección B) =", P_A_interseccion_B))
## [1] "P(A intersección B) = 0.0277777777777778"
print(paste("¿Son A y B independientes?", independientes))
## [1] "¿Son A y B independientes? TRUE"
Problema: Considera el experimento de lanzar una moneda justa tres veces. Sea \(X\) la variable aleatoria que representa el número de caras obtenidas. a) Encuentra la función de probabilidad \(p_X(x)\). b) Encuentra la función de distribución acumulativa \(F_X(x)\). c) Calcula \(P(X \le 2)\).
Solución en Markdown:
El espacio muestral es \(\{CCC, CCX, CXC, XCC, CXX, XCX, XXC, XXX\}\), con 8 resultados igualmente probables. La variable aleatoria \(X\) puede tomar los valores 0, 1, 2, 3.
Así, la función de probabilidad es: \[p_X(x) = \begin{cases} \frac{1}{8} & \text{si } x = 0 \\ \frac{3}{8} & \text{si } x = 1 \\ \frac{3}{8} & \text{si } x = 2 \\ \frac{1}{8} & \text{si } x = 3 \\ 0 & \text{en otro caso} \end{cases}\]
Dos variables aleatorias \(X\) e \(Y\) se dicen independientes si el conocimiento del valor que toma una de ellas no proporciona información sobre el valor que puede tomar la otra. Formalmente, \(X\) e \(Y\) son independientes si para todos los posibles valores \(x\) e \(y\):
Un conjunto de \(n\) variables aleatorias \(X_1, X_2, ..., X_n\) son mutuamente independientes si para cualquier subconjunto de ellas \(\{X_{i_1}, X_{i_2}, ..., X_{i_k}\}\) (donde \(1 \le k \le n\)) y para todos los posibles valores \(x_{i_1}, x_{i_2}, ..., x_{i_k}\), se cumple:
La esperanza de una variable aleatoria \(X\), denotada por \(E[X]\) o \(\mu_X\), es el valor promedio de \(X\). Se calcula de la siguiente manera:
La esperanza también se conoce como la media o el valor esperado de la variable aleatoria.
Si \(g(X)\) es una función de la variable aleatoria \(X\), entonces la esperanza de \(g(X)\) se calcula como:
Si tenemos una función de dos variables aleatorias \(g(X, Y)\), entonces:
La esperanza tiene varias propiedades importantes:
La varianza de una variable aleatoria \(X\), denotada por \(Var(X)\), \(\sigma_X^2\) o \(\sigma^2\), mide la dispersión de los valores de \(X\) alrededor de su media \(\mu_X = E[X]\). Se define como la esperanza del cuadrado de la desviación de \(X\) respecto a su media:
\[Var(X) = E[(X - \mu_X)^2]\]
La varianza también se puede calcular usando la siguiente fórmula:
\[Var(X) = E[X^2] - (E[X])^2 = E[X^2] - \mu_X^2\]
La desviación estándar de \(X\), denotada por \(SD(X)\) o \(\sigma_X\) o \(\sigma\), es la raíz cuadrada positiva de la varianza:
\[SD(X) = \sqrt{Var(X)}\]
La varianza tiene las siguientes propiedades:
El \(n\)-ésimo momento de orden \(k\) alrededor de \(a\) de una variable aleatoria \(X\) se define como \(E[(X - a)^k]\).
La función generadora de momentos (MGF) de una variable aleatoria \(X\), denotada por \(M_X(t)\), se define como:
\[M_X(t) = E[e^{tX}]\]
para todos los valores de \(t\) para los cuales la esperanza existe (en un intervalo alrededor de 0).
La MGF tiene las siguientes propiedades:
La función generadora de probabilidad (PGF) se utiliza principalmente para variables aleatorias discretas que toman valores no negativos enteros (\(0, 1, 2, ...\)). Se define como:
\[G_X(z) = E[z^X] = \sum_{k=0}^{\infty} P(X = k) z^k\]
para todos los valores de \(z\) para los cuales la serie converge (al menos para \(|z| \le 1\)).
La PGF tiene las siguientes propiedades:
Una variable aleatoria \(X\) tiene una distribución uniforme discreta en el conjunto \(\{x_1, x_2, ..., x_n\}\) si toma cada uno de estos valores con igual probabilidad:
\[P(X = x_i) = \frac{1}{n}, \quad \text{para } i = 1, 2, ..., n\]
Una variable aleatoria \(X\) tiene una distribución de Bernoulli con parámetro \(p\) (donde \(0 \le p \le 1\)) si toma solo dos valores posibles: 1 (éxito) con probabilidad \(p\), y 0 (fracaso) con probabilidad \(1 - p = q\):
\[P(X = 1) = p\] \[P(X = 0) = 1 - p = q\]
Una variable aleatoria \(X\) tiene una distribución binomial con parámetros \(n\) (el número de ensayos independientes) y \(p\) (la probabilidad de éxito en cada ensayo), denotada por \(Bin(n, p)\), si representa el número de éxitos en \(n\) ensayos de Bernoulli independientes e idénticamente distribuidos. La función de probabilidad es:
\[P(X = k) = \binom{n}{k} p^k (1 - p)^{n - k}, \quad \text{para } k = 0, 1, ..., n\]
donde \(\binom{n}{k} = \frac{n!}{k!(n - k)!}\) es el coeficiente binomial.
Problema: Sean \(X\) e \(Y\) dos variables aleatorias independientes con esperanzas \(E[X] = 2\) y \(E[Y] = -1\). Calcula la esperanza de \(Z = 3X - 2Y + 5\).
Solución en Markdown:
Usando la propiedad de linealidad de la esperanza: \[E[Z] = E[3X - 2Y + 5]\] \[E[Z] = E[3X] + E[-2Y] + E[5]\] \[E[Z] = 3E[X] - 2E[Y] + 5\] Sustituyendo los valores dados: \[E[Z] = 3(2) - 2(-1) + 5\] \[E[Z] = 6 + 2 + 5 = 13\]
Solución en R:
# Definir las esperanzas
EX <- 2
EY <- -1
# Calcular la esperanza de Z
EZ <- 3 * EX - 2 * EY + 5
print(paste("La esperanza de Z es:", EZ))
## [1] "La esperanza de Z es: 13"
Problema: Sean \(X\) e \(Y\) dos variables aleatorias independientes con varianzas \(Var(X) = 4\) y \(Var(Y) = 9\). Calcula la varianza de \(W = 2X + Y - 3\).
Solución en Markdown:
Usando las propiedades de la varianza para variables aleatorias independientes: \[Var(W) = Var(2X + Y - 3)\] \[Var(W) = Var(2X) + Var(Y) + Var(-3)\] \[Var(W) = 2^2 Var(X) + Var(Y) + 0\] \[Var(W) = 4 Var(X) + Var(Y)\] Sustituyendo los valores dados: \[Var(W) = 4(4) + 9\] \[Var(W) = 16 + 9 = 25\]
Solución en R:
# Definir las varianzas
VarX <- 4
VarY <- 9
# Calcular la varianza de W
VarW <- (2^2) * VarX + VarY + 0
print(paste("La varianza de W es:", VarW))
## [1] "La varianza de W es: 25"
Problema: Se lanzan 5 monedas justas. Sea \(X\) el número de caras obtenidas. a) ¿Cuál es la probabilidad de obtener exactamente 3 caras? b) ¿Cuál es la esperanza del número de caras? c) ¿Cuál es la varianza del número de caras?
Solución en Markdown:
Este es un experimento binomial con \(n = 5\) ensayos (lanzamientos de moneda) y probabilidad de éxito (obtener cara) \(p = 0.5\) en cada ensayo.
La probabilidad de obtener exactamente \(k = 3\) caras es: \[P(X = 3) = \binom{5}{3} (0.5)^3 (1 - 0.5)^{5 - 3}\] \[P(X = 3) = \binom{5}{3} (0.5)^3 (0.5)^2\] \[\binom{5}{3} = \frac{5!}{3!(5 - 3)!} = \frac{120}{6 \cdot 2} = 10\] \[P(X = 3) = 10 \cdot (0.125) \cdot (0.25) = 10 \cdot 0.03125 = 0.3125\]
La esperanza del número de caras es: \[E[X] = np = 5 \cdot 0.5 = 2.5\]
La varianza del número de caras es: \[Var(X) = np(1 - p) = 5 \cdot 0.5 \cdot (1 - 0.5) = 5 \cdot 0.5 \cdot 0.5 = 1.25\]
Solución en R:
# Parámetros de la distribución binomial
n <- 5
p <- 0.5
# a) Probabilidad de obtener exactamente 3 caras
prob_3_caras <- dbinom(3, size = n, prob = p)
print(paste("La probabilidad de obtener exactamente 3 caras es:", prob_3_caras))
## [1] "La probabilidad de obtener exactamente 3 caras es: 0.3125"
# b) Esperanza del número de caras
esperanza <- n * p
print(paste("La esperanza del número de caras es:", esperanza))
## [1] "La esperanza del número de caras es: 2.5"
Una variable aleatoria \(X\) tiene una distribución geométrica con parámetro \(p\) (donde \(0 < p \le 1\)) si representa el número de ensayos de Bernoulli independientes necesarios hasta obtener el primer éxito. La función de probabilidad es:
\[P(X = k) = (1 - p)^{k - 1} p = q^{k - 1} p, \quad \text{para } k = 1, 2, 3, ...\]
donde \(q = 1 - p\) es la probabilidad de fracaso en cada ensayo.
La distribución geométrica también se puede definir como el número de fracasos antes del primer éxito. Si se usa esta definición, la función de probabilidad es \(P(Y = k) = (1 - p)^k p = q^k p\) para \(k = 0, 1, 2, ...\), y la esperanza es \(E[Y] = \frac{1 - p}{p} = \frac{q}{p}\), con la misma varianza. Es importante especificar cuál definición se está utilizando. En este desarrollo, utilizaremos la definición del número de ensayos hasta el primer éxito.
Una variable aleatoria \(X\) tiene una distribución binomial negativa con parámetros \(r\) (el número de éxitos deseados) y \(p\) (la probabilidad de éxito en cada ensayo, donde \(0 < p \le 1\)) si representa el número de ensayos de Bernoulli independientes necesarios hasta obtener el \(r\)-ésimo éxito. La función de probabilidad es:
\[P(X = k) = \binom{k - 1}{r - 1} p^r (1 - p)^{k - r} = \binom{k - 1}{r - 1} p^r q^{k - r}, \quad \text{para } k = r, r + 1, r + 2, ...\]
donde \(q = 1 - p\) y \(\binom{k - 1}{r - 1} = \frac{(k - 1)!}{(r - 1)!(k - r)!}\).
La distribución binomial negativa puede interpretarse como una secuencia de ensayos de Bernoulli donde estamos interesados en el número de ensayos requeridos para alcanzar un número predefinido de éxitos.
Una variable aleatoria \(X\) tiene una distribución hipergeométrica con parámetros \(N\) (el tamaño de la población), \(K\) (el número de éxitos en la población) y \(n\) (el tamaño de la muestra extraída sin reemplazo) si representa el número de éxitos obtenidos en la muestra. La función de probabilidad es:
\[P(X = k) = \frac{\binom{K}{k} \binom{N - K}{n - k}}{\binom{N}{n}}, \quad \text{para } k = \max(0, n - (N - K)), ..., \min(n, K)\]
donde \(\binom{a}{b} = 0\) si \(b < 0\) o \(b > a\).
La distribución hipergeométrica se utiliza en situaciones donde se realiza un muestreo sin reemplazo de una población finita que contiene un número conocido de elementos de cada tipo (éxitos y fracasos).
Problema: Se lanza un dado justo repetidamente hasta obtener un 6 por primera vez. a) ¿Cuál es la probabilidad de que se necesiten exactamente 3 lanzamientos? b) ¿Cuál es el número esperado de lanzamientos necesarios?
Solución en Markdown:
Este es un experimento con una distribución geométrica donde el “éxito” es obtener un 6, y la probabilidad de éxito en cada lanzamiento es \(p = \frac{1}{6}\).
La probabilidad de que se necesiten exactamente \(k = 3\) lanzamientos es: \[P(X = 3) = (1 - p)^{3 - 1} p = \left(\frac{5}{6}\right)^{2} \left(\frac{1}{6}\right) = \frac{25}{36} \cdot \frac{1}{6} = \frac{25}{216} \approx 0.1157\]
El número esperado de lanzamientos necesarios es: \[E[X] = \frac{1}{p} = \frac{1}{1/6} = 6\] En promedio, se esperan 6 lanzamientos para obtener un 6 por primera vez.
Solución en R:
# Parámetro de la distribución geométrica
p <- 1/6
# a) Probabilidad de exactamente 3 lanzamientos
prob_3_lanzamientos <- dgeom(2, prob = p) # dgeom(k-1, p) en R
print(paste("La probabilidad de exactamente 3 lanzamientos es:", prob_3_lanzamientos))
## [1] "La probabilidad de exactamente 3 lanzamientos es: 0.115740740740741"
# b) Número esperado de lanzamientos
esperanza <- 1 / p
print(paste("El número esperado de lanzamientos es:", esperanza))
## [1] "El número esperado de lanzamientos es: 6"
Problema: Un jugador de baloncesto tiene una probabilidad de encestar un tiro libre del 70% (\(p = 0.7\)). ¿Cuál es la probabilidad de que necesite realizar exactamente 5 tiros libres para encestar su tercer tiro libre (\(r = 3\))?
Solución en Markdown:
Este es un problema de distribución binomial negativa donde un “éxito” es encestar, \(p = 0.7\), y queremos el número de ensayos (\(k = 5\)) para obtener el \(r = 3\)-ésimo éxito.
La probabilidad es: \[P(X = 5) = \binom{5 - 1}{3 - 1} (0.7)^3 (1 - 0.7)^{5 - 3}\] \[P(X = 5) = \binom{4}{2} (0.7)^3 (0.3)^2\] \[\binom{4}{2} = \frac{4!}{2!(4 - 2)!} = \frac{24}{2 \cdot 2} = 6\] \[P(X = 5) = 6 \cdot (0.343) \cdot (0.09) = 6 \cdot 0.03087 = 0.18522\]
Solución en R:
# Parámetros de la distribución binomial negativa
r <- 3
p <- 0.7
k <- 5
# Probabilidad de exactamente 5 tiros para el tercer enceste
prob_5_tiros <- dnbinom(k - r, size = r, prob = p) # dnbinom(x, size, prob) en R donde x es el número de fallos
print(paste("La probabilidad de necesitar 5 tiros para el tercer enceste es:", prob_5_tiros))
## [1] "La probabilidad de necesitar 5 tiros para el tercer enceste es: 0.18522"
Problema: Una urna contiene 10 bolas rojas y 5 bolas azules (total \(N = 15\)). Se extraen al azar 4 bolas sin reemplazo (\(n = 4\)). ¿Cuál es la probabilidad de obtener exactamente 3 bolas rojas (\(k = 3\))?
Solución en Markdown:
Aquí, la población total es \(N = 15\), el número de “éxitos” en la población (bolas rojas) es \(K = 10\), y el tamaño de la muestra es \(n = 4\). Queremos la probabilidad de obtener \(k = 3\) bolas rojas.
\[P(X = 3) = \frac{\binom{10}{3} \binom{15 - 10}{4 - 3}}{\binom{15}{4}}\] \[\binom{10}{3} = \frac{10!}{3!7!} = \frac{10 \cdot 9 \cdot 8}{3 \cdot 2 \cdot 1} = 120\] \[\binom{5}{1} = \frac{5!}{1!4!} = 5\] \[\binom{15}{4} = \frac{15!}{4!11!} = \frac{15 \cdot 14 \cdot 13 \cdot 12}{4 \cdot 3 \cdot 2 \cdot 1} = 1365\] \[P(X = 3) = \frac{120 \cdot 5}{1365} = \frac{600}{1365} \approx 0.4396\]
Solución en R:
# Parámetros de la distribución hipergeométrica
N <- 15 # Tamaño de la población
K <- 10 # Número de éxitos en la población (bolas rojas)
n <- 4 # Tamaño de la muestra
k <- 3 # Número de éxitos en la muestra deseado
# Probabilidad de obtener exactamente 3 bolas rojas
prob_3_rojas <- dhyper(k, K, N - K, n)
print(paste("La probabilidad de obtener exactamente 3 bolas rojas es:", prob_3_rojas))
## [1] "La probabilidad de obtener exactamente 3 bolas rojas es: 0.43956043956044"
Problema: Un proceso de producción tiene una probabilidad de producir un artículo defectuoso del 5% (\(p = 0.05\)). Los artículos se inspeccionan uno por uno hasta encontrar el primer defectuoso. a) ¿Cuál es la probabilidad de que el primer defectuoso se encuentre en la quinta inspección? b) Si se inspeccionan 10 artículos, ¿cuál es la probabilidad de encontrar exactamente 2 defectuosos (asumiendo independencia)?
Solución en Markdown:
Encontrar el primer defectuoso en la quinta inspección sigue una distribución geométrica con \(p = 0.05\). Queremos \(P(X = 5)\): \[P(X = 5) = (1 - 0.05)^{5 - 1} (0.05) = (0.95)^4 (0.05) \approx 0.8145 \cdot 0.05 \approx 0.0407\]
Encontrar exactamente 2 defectuosos en 10 inspecciones (asumiendo independencia y una probabilidad constante de defecto) sigue una distribución binomial con \(n = 10\) y \(p = 0.05\). Queremos \(P(Y = 2)\): \[P(Y = 2) = \binom{10}{2} (0.05)^2 (1 - 0.05)^{10 - 2}\] \[\binom{10}{2} = \frac{10!}{2!8!} = \frac{10 \cdot 9}{2 \cdot 1} = 45\] \[P(Y = 2) = 45 \cdot (0.0025) \cdot (0.95)^8 \approx 45 \cdot 0.0025 \cdot 0.6634 \approx 0.0746\]
Solución en R:
# Parámetros
p_defecto <- 0.05
# a) Distribución geométrica: primer defectuoso en la quinta inspección
prob_geom <- dgeom(4, prob = p_defecto) # dgeom(k-1, p) en R
print(paste("La probabilidad del primer defectuoso en la quinta inspección es:", prob_geom))
## [1] "La probabilidad del primer defectuoso en la quinta inspección es: 0.0407253125"
# b) Distribución binomial: exactamente 2 defectuosos en 10 inspecciones
n_inspecciones <- 10
k_defectuosos <- 2
prob_binom <- dbinom(k_defectuosos, size = n_inspecciones, prob = p_defecto)
print(paste("La probabilidad de exactamente 2 defectuosos en 10 inspecciones es:", prob_binom))
## [1] "La probabilidad de exactamente 2 defectuosos en 10 inspecciones es: 0.0746347985200195"
Una variable aleatoria \(X\) tiene una distribución de Poisson con parámetro \(\lambda > 0\) si representa el número de eventos que ocurren en un intervalo de tiempo o espacio fijo, bajo las siguientes condiciones:
La función de probabilidad de una variable aleatoria con distribución de Poisson es:
\[P(X = k) = \frac{e^{-\lambda} \lambda^k}{k!}, \quad \text{para } k = 0, 1, 2, ...\]
donde: * \(e\) es la base del logaritmo natural (\(e \approx 2.71828\)). * \(\lambda\) es la tasa promedio de ocurrencia de los eventos. * \(k\) es el número de eventos que ocurren. * \(k!\) es el factorial de \(k\).
La distribución de Poisson es a menudo utilizada para modelar el número de ocurrencias de un evento en un intervalo de tiempo o espacio específico, como el número de llamadas telefónicas que llegan a un centro de atención al cliente por hora, el número de errores de impresión por página, o el número de accidentes de tráfico en un cruce determinado por semana.
Problema: En promedio, llegan 5 clientes por hora a una pequeña tienda. Asumiendo que el número de llegadas sigue una distribución de Poisson, ¿cuál es la probabilidad de que lleguen exactamente 3 clientes en una hora?
Solución en Markdown:
Este es un problema de distribución de Poisson con una tasa promedio \(\lambda = 5\) clientes por hora. Queremos encontrar la probabilidad de que lleguen exactamente \(k = 3\) clientes en una hora.
Usando la función de probabilidad de Poisson: \[P(X = 3) = \frac{e^{-5} 5^3}{3!}\] \[P(X = 3) = \frac{e^{-5} \cdot 125}{6}\] Usando el valor aproximado de \(e^{-5} \approx 0.006738\): \[P(X = 3) \approx \frac{0.006738 \cdot 125}{6} \approx \frac{0.84225}{6} \approx 0.1404\]
La probabilidad de que lleguen exactamente 3 clientes en una hora es aproximadamente 0.1404.
Solución en R:
# Parámetro de la distribución de Poisson
lambda <- 5
# Probabilidad de exactamente 3 llegadas
prob_3_llegadas <- dpois(3, lambda)
print(paste("La probabilidad de exactamente 3 llegadas es:", prob_3_llegadas))
## [1] "La probabilidad de exactamente 3 llegadas es: 0.140373895814281"
Problema: Un libro contiene un promedio de 2 errores de impresión por página. Si se selecciona una página al azar, ¿cuál es la probabilidad de que contenga: a) Exactamente 0 errores? b) Al menos 2 errores?
Solución en Markdown:
Este es un problema de distribución de Poisson con una tasa promedio \(\lambda = 2\) errores por página.
Probabilidad de exactamente 0 errores (\(k = 0\)): \[P(X = 0) = \frac{e^{-2} 2^0}{0!} = \frac{e^{-2} \cdot 1}{1} = e^{-2} \approx 0.1353\]
Probabilidad de al menos 2 errores (\(P(X \ge 2)\)): \[P(X \ge 2) = 1 - P(X < 2) = 1 - [P(X = 0) + P(X = 1)]\] Primero, calculamos \(P(X = 1)\): \[P(X = 1) = \frac{e^{-2} 2^1}{1!} = \frac{e^{-2} \cdot 2}{1} = 2e^{-2} \approx 2 \cdot 0.1353 = 0.2706\] Ahora, calculamos \(P(X \ge 2)\): \[P(X \ge 2) = 1 - (0.1353 + 0.2706) = 1 - 0.4059 = 0.5941\]
La probabilidad de que una página contenga exactamente 0 errores es aproximadamente 0.1353, y la probabilidad de que contenga al menos 2 errores es aproximadamente 0.5941.
Solución en R:
# Parámetro de la distribución de Poisson
lambda <- 2
# a) Probabilidad de exactamente 0 errores
prob_0_errores <- dpois(0, lambda)
print(paste("La probabilidad de exactamente 0 errores es:", prob_0_errores))
## [1] "La probabilidad de exactamente 0 errores es: 0.135335283236613"
# b) Probabilidad de al menos 2 errores
prob_menos_de_2 <- ppois(1, lambda) # P(X <= 1)
prob_al_menos_2 <- 1 - prob_menos_de_2
print(paste("La probabilidad de al menos 2 errores es:", prob_al_menos_2))
## [1] "La probabilidad de al menos 2 errores es: 0.593994150290162"
Problema: En un cruce peligroso, ocurren en promedio 3 accidentes por semana. Suponiendo una distribución de Poisson, ¿cuál es la probabilidad de que no ocurran accidentes en una semana específica?
Solución en Markdown:
Este es un problema de distribución de Poisson con una tasa promedio \(\lambda = 3\) accidentes por semana. Queremos encontrar la probabilidad de que ocurran \(k = 0\) accidentes en una semana.
Usando la función de probabilidad de Poisson: \[P(X = 0) = \frac{e^{-3} 3^0}{0!} = \frac{e^{-3} \cdot 1}{1} = e^{-3} \approx 0.0498\]
La probabilidad de que no ocurran accidentes en una semana específica es aproximadamente 0.0498.
Solución en R:
# Parámetro de la distribución de Poisson
lambda <- 3
# Probabilidad de 0 accidentes
prob_0_accidentes <- dpois(0, lambda)
print(paste("La probabilidad de 0 accidentes es:", prob_0_accidentes))
## [1] "La probabilidad de 0 accidentes es: 0.0497870683678639"
Problema: Un centro de atención al cliente recibe un promedio de 10 llamadas por cada 5 minutos. ¿Cuál es la probabilidad de que en un intervalo de 10 minutos se reciban más de 20 llamadas?
Solución en Markdown:
Primero, necesitamos determinar la tasa promedio de llamadas para un intervalo de 10 minutos. Si se reciben 10 llamadas en 5 minutos, entonces en 10 minutos se recibirán en promedio \(\lambda = 10 \cdot \frac{10}{5} = 20\) llamadas.
Queremos encontrar la probabilidad de que se reciban más de 20 llamadas, es decir, \(P(X > 20)\). Podemos calcular esto como \(1 - P(X \le 20)\).
\[P(X > 20) = 1 - \sum_{k=0}^{20} \frac{e^{-20} 20^k}{k!}\]
Calcular esta suma directamente es tedioso, pero podemos usar la función de distribución acumulativa de Poisson.
\[P(X > 20) = 1 - F(20; \lambda = 20)\]
Usando un software o calculadora estadística, podemos encontrar el valor de \(P(X \le 20)\) para una distribución de Poisson con \(\lambda = 20\). Este valor es aproximadamente 0.5591.
Por lo tanto, \[P(X > 20) = 1 - 0.5591 = 0.4409\]
La probabilidad de que en un intervalo de 10 minutos se reciban más de 20 llamadas es aproximadamente 0.4409.
Solución en R:
# Parámetro de la distribución de Poisson para 10 minutos
lambda <- 20
# Probabilidad de más de 20 llamadas (es decir, >= 21)
prob_mas_de_20 <- 1 - ppois(20, lambda)
print(paste("La probabilidad de más de 20 llamadas es:", prob_mas_de_20))
## [1] "La probabilidad de más de 20 llamadas es: 0.440907415768675"
Una distribución de probabilidad continua describe las probabilidades de los posibles valores de una variable aleatoria continua (una variable que puede tomar cualquier valor dentro de un rango específico). A diferencia de las distribuciones discretas, donde la probabilidad se concentra en puntos específicos, en las distribuciones continuas la probabilidad se distribuye a lo largo de un intervalo, y la probabilidad de que la variable tome un valor exacto es cero. La probabilidad de que la variable aleatoria \(X\) caiga dentro de un intervalo \([a, b]\) se calcula integrando la función de densidad de probabilidad (pdf), \(f_X(x)\), sobre ese intervalo:
\[P(a \le X \le b) = \int_{a}^{b} f_X(x) dx\]
La pdf debe satisfacer las siguientes condiciones:
Una variable aleatoria \(X\) tiene una distribución uniforme continua en el intervalo \([a, b]\) si su función de densidad de probabilidad es constante en ese intervalo y cero fuera de él. La pdf está dada por:
\[f_X(x) = \begin{cases} \frac{1}{b - a} & \text{para } a \le x \le b \\ 0 & \text{en otro caso} \end{cases}\]
donde \(a\) y \(b\) son los parámetros de la distribución, con \(a < b\).
La distribución uniforme continua modela situaciones donde todos los valores dentro de un intervalo dado son igualmente probables.
Una variable aleatoria \(X\) tiene una distribución exponencial con parámetro \(\lambda > 0\) si su función de densidad de probabilidad está dada por:
\[f_X(x) = \begin{cases} \lambda e^{-\lambda x} & \text{para } x \ge 0 \\ 0 & \text{para } x < 0 \end{cases}\]
donde \(\lambda\) es la tasa de ocurrencia del evento.
La distribución exponencial se utiliza a menudo para modelar el tiempo hasta que ocurre un evento, como el tiempo de vida de un componente electrónico, el tiempo entre llegadas en un proceso de Poisson, o la duración de una llamada telefónica. Una propiedad importante de la distribución exponencial es la falta de memoria, lo que significa que la probabilidad condicional de que un evento ocurra en el futuro no depende de cuánto tiempo haya pasado desde el último evento.
Problema: Un autobús llega a una parada en cualquier momento entre las 10:00 AM y las 10:15 AM, con igual probabilidad. Si una persona llega a la parada exactamente a las 10:05 AM, ¿cuál es la probabilidad de que tenga que esperar más de 5 minutos por el autobús?
Solución en Markdown:
El tiempo de llegada del autobús sigue una distribución uniforme continua en el intervalo \([0, 15]\) minutos después de las 10:00 AM. Aquí, \(a = 0\) y \(b = 15\). La persona llega a los 5 minutos. Tendrá que esperar más de 5 minutos si el autobús llega después de los \(5 + 5 = 10\) minutos. Queremos encontrar \(P(X > 10)\), donde \(X\) es el tiempo de llegada del autobús en minutos después de las 10:00 AM.
La pdf es \(f_X(x) = \frac{1}{15 - 0} = \frac{1}{15}\) para \(0 \le x \le 15\).
\[P(X > 10) = \int_{10}^{15} f_X(x) dx = \int_{10}^{15} \frac{1}{15} dx = \left[\frac{x}{15}\right]_{10}^{15} = \frac{15}{15} - \frac{10}{15} = 1 - \frac{2}{3} = \frac{1}{3}\]
La probabilidad de que la persona tenga que esperar más de 5 minutos es \(\frac{1}{3} \approx 0.3333\).
Solución en R:
# Parámetros de la distribución uniforme
a <- 0
b <- 15
# Probabilidad de que la llegada sea mayor que 10
prob_mayor_10 <- punif(10, min = a, max = b, lower.tail = FALSE)
print(paste("La probabilidad de esperar más de 5 minutos es:", prob_mayor_10))
## [1] "La probabilidad de esperar más de 5 minutos es: 0.333333333333333"
# Crear secuencia de tiempo
x <- seq(0, 15, length.out = 300)
densidad <- dunif(x, min = 0, max = 15)
# Dibujar la función de densidad
plot(x, densidad, type = "l", lwd = 2, col = "blue",
main = "Distribución Uniforme: llegada del autobús",
ylab = "Densidad", xlab = "Minutos después de las 10:00 AM")
# Rellenar la región de interés: X > 10
x_sombra <- seq(10, 15, length.out = 200)
y_sombra <- dunif(x_sombra, min = 0, max = 15)
polygon(c(10, x_sombra, 15), c(0, y_sombra, 0),
col = rgb(1, 0, 0, 0.3), border = NA)
# Agregar líneas de referencia
abline(v = 5, col = "darkgreen", lty = 2)
abline(v = 10, col = "red", lty = 2)
# Agregar texto explicativo
text(7.5, 0.065, "Esperando < 5 minutos", col = "blue")
text(12.5, 0.065, "Esperando > 5 minutos", col = "red")
# Mostrar la probabilidad
prob <- punif(15, 0, 15) - punif(10, 0, 15)
legend("topright", legend = paste("P(X > 10) =", round(prob, 2)),
bty = "n", text.col = "red")
Problema: La vida útil de un componente electrónico sigue una distribución exponencial con una tasa de falla promedio de \(\lambda = 0.02\) por hora. ¿Cuál es la probabilidad de que el componente dure al menos 50 horas?
Solución en Markdown:
La variable aleatoria \(X\) es el tiempo de vida del componente en horas, con una tasa \(\lambda = 0.02\). Queremos encontrar \(P(X \ge 50)\). La función de distribución acumulativa (cdf) de una distribución exponencial es \(F(x) = 1 - e^{-\lambda x}\) para \(x \ge 0\).
\[P(X \ge 50) = 1 - P(X < 50) = 1 - F(50) = 1 - (1 - e^{-0.02 \cdot 50}) = e^{-0.02 \cdot 50} = e^{-1} \approx 0.3679\]
La probabilidad de que el componente dure al menos 50 horas es aproximadamente 0.3679.
Solución en R:
# Parámetro de la distribución exponencial
lambda <- 0.02
# Probabilidad de que dure al menos 50 horas
prob_mayor_igual_50 <- pexp(50, rate = lambda, lower.tail = FALSE)
print(paste("La probabilidad de que el componente dure al menos 50 horas es:", prob_mayor_igual_50))
## [1] "La probabilidad de que el componente dure al menos 50 horas es: 0.367879441171442"
# Parámetro de la distribución
lambda <- 0.02
# Secuencia de tiempo
t <- seq(0, 150, length.out = 500)
f_t <- dexp(t, rate = lambda)
# Graficar función de densidad
plot(t, f_t, type = "l", lwd = 2, col = "blue",
main = "Distribución Exponencial (λ = 0.02)",
ylab = "Densidad", xlab = "Horas")
# Rellenar región T ≥ 50
t_sombra <- seq(50, 150, length.out = 300)
f_sombra <- dexp(t_sombra, rate = lambda)
polygon(c(50, t_sombra, 150), c(0, f_sombra, 0),
col = rgb(1, 0, 0, 0.3), border = NA)
# Línea de referencia
abline(v = 50, col = "red", lty = 2)
# Texto y probabilidad
prob <- pexp(50, rate = lambda, lower.tail = FALSE)
legend("topright", legend = paste("P(T ≥ 50) =", round(prob, 4)),
bty = "n", text.col = "red")
text(100, 0.01, "Área sombreada = P(T ≥ 50)", col = "red")
Problema: En un centro de llamadas, las llamadas llegan a una tasa promedio de 2 por minuto. Suponiendo que el tiempo entre llegadas sigue una distribución exponencial, ¿cuál es la probabilidad de que el tiempo entre dos llamadas consecutivas sea menor de 30 segundos (0.5 minutos)?
Solución en Markdown:
La tasa promedio de llegadas es \(\lambda = 2\) llamadas por minuto. El tiempo entre llegadas sigue una distribución exponencial con la misma tasa \(\lambda = 2\). Queremos encontrar la probabilidad de que el tiempo entre dos llamadas consecutivas sea menor de \(x = 0.5\) minutos, es decir, \(P(X < 0.5)\).
Usando la cdf de la distribución exponencial: \[P(X < 0.5) = F(0.5) = 1 - e^{-\lambda x} = 1 - e^{-2 \cdot 0.5} = 1 - e^{-1} \approx 1 - 0.3679 = 0.6321\]
La probabilidad de que el tiempo entre dos llamadas consecutivas sea menor de 30 segundos es aproximadamente 0.6321.
Solución en R:
# Parámetro de la distribución exponencial
lambda <- 2
# Probabilidad de que el tiempo entre llamadas sea menor de 0.5 minutos
prob_menor_0_5 <- pexp(0.5, rate = lambda, lower.tail = TRUE)
print(paste("La probabilidad de que el tiempo entre llamadas sea menor de 0.5 minutos es:", prob_menor_0_5))
## [1] "La probabilidad de que el tiempo entre llamadas sea menor de 0.5 minutos es: 0.632120558828558"
# Parámetro de la distribución
lambda <- 2
# Secuencia de tiempo (en minutos)
t <- seq(0, 2, length.out = 500)
f_t <- dexp(t, rate = lambda)
# Graficar función de densidad
plot(t, f_t, type = "l", lwd = 2, col = "blue",
main = "Distribución Exponencial (λ = 2 llamadas/min)",
ylab = "Densidad", xlab = "Tiempo entre llamadas (min)")
# Rellenar región T < 0.5
t_sombra <- seq(0, 0.5, length.out = 300)
f_sombra <- dexp(t_sombra, rate = lambda)
polygon(c(0, t_sombra, 0.5), c(0, f_sombra, 0),
col = rgb(1, 0, 0, 0.3), border = NA)
# Línea de referencia
abline(v = 0.5, col = "red", lty = 2)
# Texto y probabilidad
prob <- pexp(0.5, rate = lambda)
legend("topright", legend = paste("P(T < 0.5) =", round(prob, 4)),
bty = "n", text.col = "red")
text(1.2, 1.5, "Área sombreada = P(T < 0.5)", col = "red")
La función gama, denotada por \(\Gamma(z)\), es una extensión de la función factorial a los números complejos. Para un número complejo \(z\) con parte real positiva (\(\text{Re}(z) > 0\)), se define mediante la integral impropia:
\[\Gamma(z) = \int_{0}^{\infty} t^{z - 1} e^{-t} dt\]
Propiedades importantes de la función gama:
La función gama aparece en muchas áreas de las matemáticas, la estadística y la física, incluyendo la definición de varias distribuciones de probabilidad continuas.
Una variable aleatoria \(X\) tiene una distribución gama con parámetros de forma \(\alpha > 0\) y de tasa \(\beta > 0\) (o parámetro de escala \(\theta = 1/\beta > 0\)) si su función de densidad de probabilidad (pdf) está dada por:
\[f(x; \alpha, \beta) = \frac{\beta^{\alpha}}{\Gamma(\alpha)} x^{\alpha - 1} e^{-\beta x}, \quad \text{para } x > 0\]
donde: * \(\alpha\) es el parámetro de forma (shape parameter), que determina la forma de la distribución. * \(\beta\) es el parámetro de tasa (rate parameter), que determina la escala de la distribución. * \(\Gamma(\alpha)\) es la función gama evaluada en \(\alpha\), que asegura que la integral de la pdf sobre su dominio sea igual a 1.
Alternativamente, utilizando el parámetro de escala \(\theta = 1/\beta\):
\[f(x; \alpha, \theta) = \frac{1}{\Gamma(\alpha) \theta^{\alpha}} x^{\alpha - 1} e^{-x / \theta}, \quad \text{para } x > 0\]
Casos especiales de la distribución gama:
La distribución gama es muy flexible y se utiliza para modelar una amplia variedad de fenómenos, como tiempos de espera, duración de eventos y variables económicas.
Problema: El tiempo hasta el fallo de un cierto tipo de componente electrónico (en horas) se modela mediante una distribución gama con parámetro de forma \(\alpha = 2\) y parámetro de tasa \(\beta = 0.01\). ¿Cuál es la probabilidad de que un componente falle antes de las 100 horas?
Solución en Markdown:
Tenemos una distribución gama con \(\alpha = 2\) y \(\beta = 0.01\). Queremos encontrar \(P(X < 100)\), que es la función de distribución acumulativa (cdf) evaluada en \(x = 100\). La cdf de la distribución gama es generalmente compleja y se expresa en términos de la función gama incompleta. Sin embargo, para ciertos valores de \(\alpha\), puede simplificarse.
En R, podemos usar la función pgamma
para calcular la
cdf.
Solución en R:
# Parámetros de la distribución gama
alpha <- 2
beta <- 0.01
# Probabilidad de fallo antes de 100 horas (cdf en 100)
prob_fallo_antes_100 <- pgamma(100, shape = alpha, rate = beta)
print(paste("La probabilidad de fallo antes de 100 horas es:", prob_fallo_antes_100))
## [1] "La probabilidad de fallo antes de 100 horas es: 0.264241117657115"
Resultado (aproximado): La probabilidad de fallo antes de 100 horas es aproximadamente 0.2642.
# Parámetros de la distribución gamma
alpha <- 2 # Forma
beta <- 0.01 # Tasa
# Nota: en R usamos la tasa como 'rate'
# Secuencia de tiempo (horas)
t <- seq(0, 400, length.out = 500)
f_t <- dgamma(t, shape = alpha, rate = beta)
# Graficar función de densidad gamma
plot(t, f_t, type = "l", lwd = 2, col = "blue",
main = "Distribución Gamma (α = 2, β = 0.01)",
ylab = "Densidad", xlab = "Tiempo hasta el fallo (horas)")
# Rellenar la región T < 100
t_sombra <- seq(0, 100, length.out = 300)
f_sombra <- dgamma(t_sombra, shape = alpha, rate = beta)
polygon(c(0, t_sombra, 100), c(0, f_sombra, 0),
col = rgb(1, 0, 0, 0.3), border = NA)
# Línea de referencia
abline(v = 100, col = "red", lty = 2)
# Calcular probabilidad
prob <- pgamma(100, shape = alpha, rate = beta)
# Mostrar probabilidad en el gráfico
legend("topright", legend = paste("P(T < 100) =", round(prob, 4)),
bty = "n", text.col = "red")
text(220, 0.004, "Área sombreada = P(T < 100)", col = "red")
Problema: La duración de un evento (en minutos) se modela con una distribución gama con parámetro de forma \(\alpha = 3\) y parámetro de escala \(\theta = 5\). ¿Cuál es la probabilidad de que el evento dure entre 10 y 20 minutos?
Solución en Markdown:
Tenemos una distribución gama con \(\alpha = 3\) y \(\theta = 5\) (lo que implica \(\beta = 1/5 = 0.2\)). Queremos encontrar \(P(10 \le X \le 20) = P(X \le 20) - P(X < 10)\).
En R, podemos usar pgamma
con el parámetro
scale
.
Solución en R:
# Parámetros de la distribución gama (usando escala)
alpha <- 3
scale <- 5
# Probabilidad de que dure hasta 20 minutos
prob_hasta_20 <- pgamma(20, shape = alpha, scale = scale)
# Probabilidad de que dure hasta 10 minutos
prob_hasta_10 <- pgamma(10, shape = alpha, scale = scale)
# Probabilidad de que dure entre 10 y 20 minutos
prob_entre_10_y_20 <- prob_hasta_20 - prob_hasta_10
print(paste("La probabilidad de que el evento dure entre 10 y 20 minutos es:", prob_entre_10_y_20))
## [1] "La probabilidad de que el evento dure entre 10 y 20 minutos es: 0.438573110629519"
Resultado (aproximado): La probabilidad de que el evento dure entre 10 y 20 minutos es aproximadamente 0.6161.
# Parámetros de la distribución gamma
alpha <- 3 # forma
theta <- 5 # escala
rate <- 1 / theta # convertir a tasa para R
# Secuencia de tiempo (minutos)
t <- seq(0, 50, length.out = 500)
f_t <- dgamma(t, shape = alpha, rate = rate)
# Graficar función de densidad gamma
plot(t, f_t, type = "l", lwd = 2, col = "blue",
main = "Distribución Gamma (α = 3, θ = 5)",
ylab = "Densidad", xlab = "Duración del evento (minutos)")
# Sombrear el área entre 10 y 20 minutos
t_sombra <- seq(10, 20, length.out = 300)
f_sombra <- dgamma(t_sombra, shape = alpha, rate = rate)
polygon(c(10, t_sombra, 20), c(0, f_sombra, 0),
col = rgb(1, 0, 0, 0.3), border = NA)
# Líneas de referencia
abline(v = 10, col = "red", lty = 2)
abline(v = 20, col = "red", lty = 2)
# Calcular probabilidad
prob <- pgamma(20, shape = alpha, rate = rate) - pgamma(10, shape = alpha, rate = rate)
# Mostrar probabilidad en el gráfico
legend("topright", legend = paste("P(10 < T < 20) =", round(prob, 4)),
bty = "n", text.col = "red")
text(30, 0.025, "Área sombreada = P(10 < T < 20)", col = "red")
Problema: Supongamos que el tiempo entre llegadas de clientes a una tienda sigue una distribución exponencial con una tasa de \(\lambda = 0.1\) por minuto. El tiempo total para que lleguen los próximos 4 clientes sigue una distribución gama. ¿Cuáles son los parámetros de esta distribución gama y cuál es la probabilidad de que los próximos 4 clientes lleguen en menos de 30 minutos?
Solución en Markdown:
Si el tiempo entre llegadas sigue una distribución exponencial con tasa \(\lambda\), entonces el tiempo para que ocurran \(\alpha\) eventos sigue una distribución gama con forma \(\alpha\) y tasa \(\lambda\). En este caso, \(\alpha = 4\) (4 clientes) y \(\lambda = \beta = 0.1\) por minuto.
Queremos encontrar \(P(X < 30)\) para una distribución gama con \(\alpha = 4\) y \(\beta = 0.1\).
Solución en R:
# Parámetros de la distribución gama
alpha <- 4
beta <- 0.1
# Probabilidad de que los próximos 4 clientes lleguen en menos de 30 minutos
prob_menos_30 <- pgamma(30, shape = alpha, rate = beta)
print(paste("La probabilidad de que los próximos 4 clientes lleguen en menos de 30 minutos es:", prob_menos_30))
## [1] "La probabilidad de que los próximos 4 clientes lleguen en menos de 30 minutos es: 0.352768111217769"
# Parámetros de la distribución gamma
alpha <- 4 # forma (número de clientes)
beta <- 0.1 # tasa (lambda)
# Nota: en R se usa 'rate' en vez de 'beta'
# Secuencia de tiempo (minutos)
t <- seq(0, 100, length.out = 500)
f_t <- dgamma(t, shape = alpha, rate = beta)
# Graficar función de densidad gamma
plot(t, f_t, type = "l", lwd = 2, col = "blue",
main = "Distribución Gamma - Tiempo hasta 4 clientes (λ = 0.1)",
ylab = "Densidad", xlab = "Tiempo total (minutos)")
# Rellenar área T < 30
t_sombra <- seq(0, 30, length.out = 300)
f_sombra <- dgamma(t_sombra, shape = alpha, rate = beta)
polygon(c(0, t_sombra, 30), c(0, f_sombra, 0),
col = rgb(1, 0, 0, 0.3), border = NA)
# Línea de referencia
abline(v = 30, col = "red", lty = 2)
# Calcular probabilidad
prob <- pgamma(30, shape = alpha, rate = beta)
# Mostrar probabilidad
legend("topright", legend = paste("P(T < 30) =", round(prob, 4)),
bty = "n", text.col = "red")
text(60, 0.01, "Área sombreada = P(T < 30)", col = "red")
La distribución normal es una de las distribuciones de probabilidad continua más importantes en estadística. Se caracteriza por su forma de campana simétrica y está completamente definida por dos parámetros: la media \(\mu\) y la desviación estándar \(\sigma\) (o su cuadrado, la varianza \(\sigma^2\)). Una variable aleatoria \(X\) que sigue una distribución normal se denota como \(X \sim N(\mu, \sigma^2)\).
La función de densidad de probabilidad (pdf) de una distribución normal es:
\[f(x; \mu, \sigma^2) = \frac{1}{\sigma \sqrt{2\pi}} e^{-\frac{1}{2} \left(\frac{x - \mu}{\sigma}\right)^2}, \quad \text{para } -\infty < x < \infty\]
donde: * \(\mu\) es la media de la distribución (ubicación del centro de la campana). * \(\sigma\) es la desviación estándar de la distribución (medida de la dispersión). * \(\pi \approx 3.14159\) * \(e \approx 2.71828\)
Un caso especial importante es la distribución normal estándar, que tiene una media de \(\mu = 0\) y una desviación estándar de \(\sigma = 1\) (varianza \(\sigma^2 = 1\)). Una variable aleatoria que sigue una distribución normal estándar se denota como \(Z \sim N(0, 1)\). Su pdf es:
\[\phi(z) = \frac{1}{\sqrt{2\pi}} e^{-\frac{1}{2} z^2}, \quad \text{para } -\infty < z < \infty\]
Cualquier variable aleatoria normal \(X \sim N(\mu, \sigma^2)\) puede ser estandarizada a una variable normal estándar \(Z\) mediante la transformación:
\[Z = \frac{X - \mu}{\sigma}\]
Esta transformación es útil para calcular probabilidades utilizando tablas de la distribución normal estándar o funciones de software.
Problema: Las calificaciones de un examen siguen una distribución normal con una media de \(\mu = 75\) y una desviación estándar de \(\sigma = 10\). ¿Cuál es la probabilidad de que un estudiante obtenga una calificación entre 80 y 90?
Solución en Markdown:
Sea \(X\) la calificación del examen, entonces \(X \sim N(75, 10^2)\). Queremos encontrar \(P(80 \le X \le 90)\). Podemos estandarizar los valores a una distribución normal estándar \(Z\):
Para \(x = 80\): \(z_1 = \frac{80 - 75}{10} = \frac{5}{10} = 0.5\) Para \(x = 90\): \(z_2 = \frac{90 - 75}{10} = \frac{15}{10} = 1.5\)
Ahora, queremos encontrar \(P(0.5 \le Z \le 1.5) = P(Z \le 1.5) - P(Z < 0.5)\). Usando tablas de la distribución normal estándar o una función de software:
\(P(Z \le 1.5) \approx 0.9332\) \(P(Z < 0.5) \approx 0.6915\)
\[P(0.5 \le Z \le 1.5) = 0.9332 - 0.6915 = 0.2417\]
La probabilidad de que un estudiante obtenga una calificación entre 80 y 90 es aproximadamente 0.2417.
Solución en R:
# Parámetros de la distribución normal
mu <- 75
sigma <- 10
# Probabilidad de obtener una calificación menor o igual a 90
prob_hasta_90 <- pnorm(90, mean = mu, sd = sigma)
# Probabilidad de obtener una calificación menor que 80
prob_hasta_80 <- pnorm(80, mean = mu, sd = sigma)
# Probabilidad de obtener una calificación entre 80 y 90
prob_entre_80_y_90 <- prob_hasta_90 - prob_hasta_80
print(paste("La probabilidad de obtener una calificación entre 80 y 90 es:", prob_entre_80_y_90))
## [1] "La probabilidad de obtener una calificación entre 80 y 90 es: 0.241730337457129"
# Parámetros de la normal
mu <- 75
sigma <- 10
# Secuencia de valores para graficar
x <- seq(40, 110, length.out = 500)
f_x <- dnorm(x, mean = mu, sd = sigma)
# Graficar la densidad
plot(x, f_x, type = "l", lwd = 2, col = "blue",
main = "Distribución Normal (μ = 75, σ = 10)",
ylab = "Densidad", xlab = "Calificación")
# Rellenar el área entre 80 y 90
x_sombra <- seq(80, 90, length.out = 300)
f_sombra <- dnorm(x_sombra, mean = mu, sd = sigma)
polygon(c(80, x_sombra, 90), c(0, f_sombra, 0),
col = rgb(1, 0, 0, 0.3), border = NA)
# Líneas de referencia
abline(v = 80, col = "red", lty = 2)
abline(v = 90, col = "red", lty = 2)
# Calcular la probabilidad
prob <- pnorm(90, mean = mu, sd = sigma) - pnorm(80, mean = mu, sd = sigma)
# Mostrar probabilidad en el gráfico
legend("topright", legend = paste("P(80 < X < 90) =", round(prob, 4)),
bty = "n", text.col = "red")
text(95, 0.015, "Área sombreada = P(80 < X < 90)", col = "red")
Problema: El tiempo de reacción de un individuo a un estímulo sigue una distribución normal con una media de \(\mu = 0.25\) segundos y una desviación estándar de \(\sigma = 0.05\) segundos. ¿Cuál es el tiempo de reacción por debajo del cual se encuentra el 90% de los individuos?
Solución en Markdown:
Sea \(X\) el tiempo de reacción, entonces \(X \sim N(0.25, 0.05^2)\). Queremos encontrar el valor \(x\) tal que \(P(X \le x) = 0.90\). Podemos estandarizar esto a \(P(Z \le z) = 0.90\), donde \(z = \frac{x - 0.25}{0.05}\).
Buscando en las tablas de la distribución normal estándar o usando una función de software, el valor de \(z\) que corresponde a un área acumulada de 0.90 es aproximadamente \(z \approx 1.28\).
Ahora, resolvemos para \(x\): \[1.28 = \frac{x - 0.25}{0.05}\] \[1.28 \cdot 0.05 = x - 0.25\] \[0.064 = x - 0.25\] \[x = 0.25 + 0.064 = 0.314\]
El tiempo de reacción por debajo del cual se encuentra el 90% de los individuos es aproximadamente 0.314 segundos.
Solución en R:
# Parámetros de la distribución normal
mu <- 0.25
sigma <- 0.05
prob <- 0.90
# Encontrar el valor de x tal que P(X <= x) = 0.90
tiempo_reaccion_90_percentil <- qnorm(prob, mean = mu, sd = sigma)
print(paste("El tiempo de reacción por debajo del cual se encuentra el 90% es:", tiempo_reaccion_90_percentil))
## [1] "El tiempo de reacción por debajo del cual se encuentra el 90% es: 0.31407757827723"
# Parámetros
mu <- 0.25
sigma <- 0.05
# Secuencia de tiempos
x <- seq(0.10, 0.40, length.out = 500)
f_x <- dnorm(x, mean = mu, sd = sigma)
# Calcular el percentil 90
x_90 <- qnorm(0.90, mean = mu, sd = sigma)
# Graficar densidad normal
plot(x, f_x, type = "l", lwd = 2, col = "blue",
main = "Distribución Normal - Tiempo de reacción",
ylab = "Densidad", xlab = "Tiempo de reacción (segundos)")
# Sombrear área bajo la curva hasta el percentil 90
x_sombra <- seq(0.10, x_90, length.out = 300)
f_sombra <- dnorm(x_sombra, mean = mu, sd = sigma)
polygon(c(0.10, x_sombra, x_90), c(0, f_sombra, 0),
col = rgb(1, 0, 0, 0.3), border = NA)
# Línea vertical en el percentil 90
abline(v = x_90, col = "red", lty = 2)
# Mostrar valor del percentil
legend("topright", legend = paste("Percentil 90 ≈", round(x_90, 4), "s"),
bty = "n", text.col = "red")
text(0.34, 6, "Área sombreada = 90%", col = "red")
Problema: Si \(Z\) es una variable aleatoria con distribución normal estándar, calcula: a) \(P(Z > 1.96)\) b) \(P(-1 \le Z \le 1)\)
Solución en Markdown:
\(P(Z > 1.96) = 1 - P(Z \le 1.96)\). Usando tablas o software, \(P(Z \le 1.96) \approx 0.9750\). \[P(Z > 1.96) = 1 - 0.9750 = 0.0250\]
\(P(-1 \le Z \le 1) = P(Z \le 1) - P(Z < -1)\). Usando tablas o software: \(P(Z \le 1) \approx 0.8413\) \(P(Z < -1) = P(Z \le -1) \approx 0.1587\) \[P(-1 \le Z \le 1) = 0.8413 - 0.1587 = 0.6826\]
Solución en R:
# a) P(Z > 1.96)
prob_z_mayor_1_96 <- pnorm(1.96, mean = 0, sd = 1, lower.tail = FALSE)
print(paste("P(Z > 1.96) =", prob_z_mayor_1_96))
## [1] "P(Z > 1.96) = 0.0249978951482204"
# b) P(-1 <= Z <= 1)
prob_z_hasta_1 <- pnorm(1, mean = 0, sd = 1)
prob_z_hasta_neg1 <- pnorm(-1, mean = 0, sd = 1)
prob_z_entre_neg1_y_1 <- prob_z_hasta_1 - prob_z_hasta_neg1
print(paste("P(-1 <= Z <= 1) =", prob_z_entre_neg1_y_1))
## [1] "P(-1 <= Z <= 1) = 0.682689492137086"
# Secuencia de valores Z
z <- seq(-4, 4, length.out = 500)
f_z <- dnorm(z)
# Graficar curva normal estándar
plot(z, f_z, type = "l", lwd = 2, col = "blue",
main = "Distribución Normal Estándar",
ylab = "Densidad", xlab = "Z")
# --- a) P(Z > 1.96) ---
z_a <- seq(1.96, 4, length.out = 200)
f_a <- dnorm(z_a)
polygon(c(1.96, z_a, 4), c(0, f_a, 0),
col = rgb(1, 0, 0, 0.3), border = NA)
abline(v = 1.96, col = "red", lty = 2)
# --- b) P(-1 <= Z <= 1) ---
z_b <- seq(-1, 1, length.out = 200)
f_b <- dnorm(z_b)
polygon(c(-1, z_b, 1), c(0, f_b, 0),
col = rgb(0, 1, 0, 0.3), border = NA)
abline(v = -1, col = "darkgreen", lty = 2)
abline(v = 1, col = "darkgreen", lty = 2)
# Calcular probabilidades
prob_a <- pnorm(1.96, lower.tail = FALSE)
prob_b <- pnorm(1) - pnorm(-1)
# Mostrar resultados
legend("topright", legend = c(
paste("a) P(Z > 1.96) ≈", round(prob_a, 4)),
paste("b) P(-1 ≤ Z ≤ 1) ≈", round(prob_b, 4))),
bty = "n", text.col = c("red", "darkgreen"))
text(2.8, 0.05, "Área roja = a)", col = "red")
text(0, 0.3, "Área verde = b)", col = "darkgreen")
Problema: Encuentra el valor \(z\) tal que el área bajo la curva normal estándar a su izquierda sea 0.95.
Solución en Markdown:
Queremos encontrar \(z\) tal que \(P(Z \le z) = 0.95\). Este valor de \(z\) se conoce como el percentil 95 de la distribución normal estándar. Usando tablas o una función de software, encontramos que \(z \approx 1.645\).
Solución en R:
# Encontrar el valor de z tal que P(Z <= z) = 0.95
z_percentil_95 <- qnorm(0.95, mean = 0, sd = 1)
print(paste("El valor de z para el cual el área a la izquierda es 0.95 es:", z_percentil_95))
## [1] "El valor de z para el cual el área a la izquierda es 0.95 es: 1.64485362695147"
# Secuencia de valores Z
z <- seq(-4, 4, length.out = 500)
f_z <- dnorm(z)
# Calcular el percentil 95
z_95 <- qnorm(0.95)
# Graficar la curva de densidad
plot(z, f_z, type = "l", lwd = 2, col = "blue",
main = "Distribución Normal Estándar",
ylab = "Densidad", xlab = "Z")
# Sombrear el área a la izquierda del percentil 95
z_sombra <- seq(-4, z_95, length.out = 300)
f_sombra <- dnorm(z_sombra)
polygon(c(-4, z_sombra, z_95), c(0, f_sombra, 0),
col = rgb(0, 0.5, 1, 0.3), border = NA)
# Línea vertical en z_95
abline(v = z_95, col = "blue", lty = 2)
# Mostrar resultado en la gráfica
legend("topright",
legend = paste("z tal que P(Z ≤ z) = 0.95 →", round(z_95, 4)),
bty = "n", text.col = "blue")
text(z_95 - 0.5, 0.05, "Área sombreada = 0.95", col = "blue")
La distribución beta es una distribución de probabilidad continua definida en el intervalo \((0, 1)\) y parametrizada por dos parámetros positivos, \(\alpha\) (alfa) y \(\beta\) (beta), que controlan la forma de la distribución. Su función de densidad de probabilidad (pdf) es:
\[f(x; \alpha, \beta) = \frac{1}{B(\alpha, \beta)} x^{\alpha - 1} (1 - x)^{\beta - 1}, \quad \text{para } 0 < x < 1\]
donde \(B(\alpha, \beta)\) es la función beta, definida como:
\[B(\alpha, \beta) = \int_{0}^{1} t^{\alpha - 1} (1 - t)^{\beta - 1} dt = \frac{\Gamma(\alpha) \Gamma(\beta)}{\Gamma(\alpha + \beta)}\]
y \(\Gamma(z)\) es la función gama.
La distribución beta es muy versátil y se utiliza a menudo para modelar proporciones, probabilidades, porcentajes o cualquier cantidad que esté limitada al intervalo \((0, 1)\). La forma de la distribución puede variar ampliamente dependiendo de los valores de \(\alpha\) y \(\beta\).
La distribución de Weibull es una distribución de probabilidad continua versátil que se utiliza ampliamente para modelar el tiempo hasta la falla de sistemas mecánicos y eléctricos, así como en otras áreas como la meteorología y la economía. Se caracteriza por dos parámetros:
Su función de densidad de probabilidad (pdf) es:
\[f(x; k, \lambda) = \begin{cases} \frac{k}{\lambda} \left(\frac{x}{\lambda}\right)^{k - 1} e^{-(x / \lambda)^k} & \text{para } x \ge 0 \\ 0 & \text{para } x < 0 \end{cases}\]
La función de distribución acumulativa (cdf) es:
\[F(x; k, \lambda) = 1 - e^{-(x / \lambda)^k}, \quad \text{para } x \ge 0\]
La forma de la distribución de Weibull depende significativamente del parámetro de forma \(k\):
Problema: La proporción de clientes que prefieren un nuevo producto se modela mediante una distribución beta con parámetros \(\alpha = 5\) y \(\beta = 2\). ¿Cuál es la probabilidad de que la proporción de clientes que prefieren el nuevo producto esté entre el 60% y el 80% (es decir, entre 0.6 y 0.8)?
Solución en Markdown:
Sea \(X\) la proporción de clientes que prefieren el nuevo producto, entonces \(X \sim Beta(5, 2)\). Queremos encontrar \(P(0.6 \le X \le 0.8) = P(X \le 0.8) - P(X < 0.6)\). Podemos usar la función de distribución acumulativa (cdf) de la distribución beta.
Solución en R:
# Parámetros de la distribución beta
alpha <- 5
beta <- 2
# Probabilidad de que la proporción sea menor o igual a 0.8
prob_hasta_0_8 <- pbeta(0.8, shape1 = alpha, shape2 = beta)
# Probabilidad de que la proporción sea menor que 0.6
prob_hasta_0_6 <- pbeta(0.6, shape1 = alpha, shape2 = beta)
# Probabilidad de que la proporción esté entre 0.6 y 0.8
prob_entre_0_6_y_0_8 <- prob_hasta_0_8 - prob_hasta_0_6
print(paste("La probabilidad de que la proporción esté entre 0.6 y 0.8 es:", prob_entre_0_6_y_0_8))
## [1] "La probabilidad de que la proporción esté entre 0.6 y 0.8 es: 0.42208"
Resultado (aproximado): La probabilidad de que la proporción esté entre 0.6 y 0.8 es aproximadamente 0.4506.
# Parámetros Beta
alpha <- 5
beta <- 2
# Secuencia para x en [0,1]
x <- seq(0, 1, length.out = 500)
f_x <- dbeta(x, shape1 = alpha, shape2 = beta)
# Calcular probabilidad P(0.6 <= X <= 0.8)
prob <- pbeta(0.8, shape1 = alpha, shape2 = beta) - pbeta(0.6, shape1 = alpha, shape2 = beta)
# Graficar la densidad Beta
plot(x, f_x, type = "l", lwd = 2, col = "purple",
main = "Distribución Beta(5,2)",
ylab = "Densidad", xlab = "Proporción")
# Sombrear el área entre 0.6 y 0.8
x_sombra <- seq(0.6, 0.8, length.out = 200)
f_sombra <- dbeta(x_sombra, shape1 = alpha, shape2 = beta)
polygon(c(0.6, x_sombra, 0.8), c(0, f_sombra, 0),
col = rgb(0.6, 0, 0.6, 0.3), border = NA)
# Mostrar resultado en la gráfica
legend("topright", legend = paste0("P(0.6 ≤ X ≤ 0.8) ≈ ", round(prob, 4)),
bty = "n", text.col = "purple")
text(0.4, max(f_x)*0.9, "Área sombreada = Probabilidad buscada", col = "purple")
Problema: Un analista cree que la probabilidad de éxito de un nuevo proyecto se puede modelar mediante una distribución beta con parámetros \(\alpha = 3\) y \(\beta = 4\). ¿Cuál es la probabilidad esperada de éxito del proyecto?
Solución en Markdown:
Sea \(X\) la probabilidad de éxito, entonces \(X \sim Beta(3, 4)\). La esperanza de una distribución beta es \(E[X] = \frac{\alpha}{\alpha + \beta}\).
\[E[X] = \frac{3}{3 + 4} = \frac{3}{7} \approx 0.4286\]
La probabilidad esperada de éxito del proyecto es aproximadamente 0.4286 o 42.86%.
Solución en R:
# Parámetros de la distribución beta
alpha <- 3
beta <- 4
# Esperanza de la distribución beta
esperanza <- alpha / (alpha + beta)
print(paste("La probabilidad esperada de éxito es:", esperanza))
## [1] "La probabilidad esperada de éxito es: 0.428571428571429"
# Parámetros Beta
alpha <- 3
beta <- 4
# Secuencia para x en [0,1]
x <- seq(0, 1, length.out = 500)
f_x <- dbeta(x, shape1 = alpha, shape2 = beta)
# Esperanza
esperanza <- alpha / (alpha + beta)
# Graficar la densidad Beta
plot(x, f_x, type = "l", lwd = 2, col = "darkgreen",
main = "Distribución Beta(3,4) y Esperanza",
ylab = "Densidad", xlab = "Probabilidad de éxito")
# Línea vertical en la esperanza
abline(v = esperanza, col = "red", lty = 2, lwd = 2)
# Mostrar resultado en la gráfica
legend("topright", legend = paste0("Esperanza = ", round(esperanza, 4)),
bty = "n", text.col = "red")
text(esperanza + 0.05, max(f_x)*0.8, "Esperanza", col = "red")
Problema: El tiempo hasta el fallo (en horas) de un componente sigue una distribución de Weibull con parámetro de forma \(k = 2\) y parámetro de escala \(\lambda = 1000\). ¿Cuál es la probabilidad de que el componente falle antes de las 500 horas?
Solución en Markdown:
Sea \(X\) el tiempo hasta el fallo, entonces \(X \sim Weibull(k = 2, \lambda = 1000)\). Queremos encontrar \(P(X < 500)\), que es la función de distribución acumulativa (cdf) evaluada en \(x = 500\). La cdf es \(F(x; k, \lambda) = 1 - e^{-(x / \lambda)^k}\).
\[P(X < 500) = F(500; 2, 1000) = 1 - e^{-(500 / 1000)^2} = 1 - e^{-(0.5)^2} = 1 - e^{-0.25} \approx 1 - 0.7788 = 0.2212\]
La probabilidad de que el componente falle antes de las 500 horas es aproximadamente 0.2212.
Solución en R:
# Parámetros de la distribución de Weibull
shape <- 2
scale <- 1000
# Probabilidad de fallo antes de 500 horas (cdf en 500)
prob_fallo_antes_500 <- pweibull(500, shape = shape, scale = scale)
print(paste("La probabilidad de fallo antes de 500 horas es:", prob_fallo_antes_500))
## [1] "La probabilidad de fallo antes de 500 horas es: 0.221199216928595"
# Parámetros Weibull
k <- 2
lambda <- 1000
# Secuencia para tiempo (x)
x <- seq(0, 2000, length.out = 500)
f_x <- dweibull(x, shape = k, scale = lambda)
# Probabilidad P(X < 500)
prob <- pweibull(500, shape = k, scale = lambda)
# Graficar la densidad Weibull
plot(x, f_x, type = "l", lwd = 2, col = "darkorange",
main = "Distribución Weibull(k=2, λ=1000)",
ylab = "Densidad", xlab = "Tiempo hasta fallo (horas)")
# Sombrear el área para x < 500
x_sombra <- seq(0, 500, length.out = 200)
f_sombra <- dweibull(x_sombra, shape = k, scale = lambda)
polygon(c(0, x_sombra, 500), c(0, f_sombra, 0),
col = rgb(1, 0.5, 0, 0.3), border = NA)
# Mostrar resultado en la gráfica
legend("topright", legend = paste0("P(X < 500) ≈ ", round(prob, 4)),
bty = "n", text.col = "darkorange")
text(700, max(f_x)*0.8, "Área sombreada = Probabilidad buscada", col = "darkorange")
Problema: Un sistema tiene un tiempo hasta el fallo (en años) modelado por una distribución de Weibull con parámetro de forma \(k = 1.5\) y parámetro de escala \(\lambda = 5\). ¿Cuál es la probabilidad de que el sistema funcione durante al menos 3 años (es decir, su confiabilidad en \(t = 3\))?
Solución en Markdown:
Queremos encontrar la confiabilidad \(R(t) = P(X \ge t) = 1 - F(t; k, \lambda)\). Para \(t = 3\), \(k = 1.5\) y \(\lambda = 5\):
\[R(3) = 1 - (1 - e^{-(3 / 5)^{1.5}}) = e^{-(0.6)^{1.5}} = e^{-0.4648} \approx 0.6284\]
La probabilidad de que el sistema funcione durante al menos 3 años es aproximadamente 0.6284 o 62.84%.
Solución en R:
# Parámetros de la distribución de Weibull
shape <- 1.5
scale <- 5
tiempo <- 3
# Confiabilidad en t = 3 (probabilidad de que funcione al menos 3 años)
confiabilidad <- pweibull(tiempo, shape = shape, scale = scale, lower.tail = FALSE)
print(paste("La probabilidad de que el sistema funcione durante al menos 3 años es:", confiabilidad))
## [1] "La probabilidad de que el sistema funcione durante al menos 3 años es: 0.628287131308998"
# Parámetros Weibull
k <- 1.5
lambda <- 5
# Tiempo
t <- seq(0, 10, length.out = 500)
# Densidad Weibull
f_t <- dweibull(t, shape = k, scale = lambda)
# Probabilidad de fallo antes de 3 años
p_fallo_3 <- pweibull(3, shape = k, scale = lambda)
# Confiabilidad (función de supervivencia) en t=3
confiabilidad_3 <- 1 - p_fallo_3
# Graficar densidad Weibull
plot(t, f_t, type = "l", lwd = 2, col = "darkblue",
main = "Distribución Weibull y Confiabilidad en t=3",
ylab = "Densidad", xlab = "Tiempo (años)")
# Sombrear área de fallo (0 a 3)
t_sombra <- seq(0, 3, length.out = 200)
f_sombra <- dweibull(t_sombra, shape = k, scale = lambda)
polygon(c(0, t_sombra, 3), c(0, f_sombra, 0),
col = rgb(0, 0, 1, 0.3), border = NA)
# Línea vertical en t=3
abline(v = 3, col = "red", lty = 2)
# Mostrar resultados en la gráfica
legend("topright",
legend = c(
paste0("P(X < 3) = ", round(p_fallo_3, 4)),
paste0("Confiabilidad P(X ≥ 3) = ", round(confiabilidad_3, 4))
),
bty = "n", text.col = c("blue", "red"))
text(4, max(f_t)*0.8, "Área sombreada = Probabilidad de fallo < 3", col = "blue")
¡Hola Gemini! ¡Saludos desde esta tarde caribeña en Cartagena! Con gusto te desarrollo el concepto de la distribución ji-cuadrada (o chi-cuadrado) para que lo puedas escribir en R Markdown con la notación matemática adecuada. También te construiré cuatro ejemplos resueltos, tanto en Markdown como en R, para ilustrar su aplicación.
La distribución ji-cuadrada es una distribución de probabilidad continua que surge frecuentemente en estadística, especialmente en pruebas de hipótesis y construcción de intervalos de confianza. Se define como la distribución de la suma de los cuadrados de \(k\) variables aleatorias independientes que siguen una distribución normal estándar. El parámetro \(k\) se conoce como los grados de libertad de la distribución. Una variable aleatoria \(X\) que sigue una distribución ji-cuadrada con \(k\) grados de libertad se denota como \(X \sim \chi^2(k)\).
La función de densidad de probabilidad (pdf) de una distribución ji-cuadrada con \(k\) grados de libertad es:
\[f(x; k) = \frac{1}{2^{k/2} \Gamma(k/2)} x^{k/2 - 1} e^{-x/2}, \quad \text{para } x > 0\]
donde: * \(k\) es el número de grados de libertad (\(k > 0\), generalmente un entero). * \(\Gamma(k/2)\) es la función gama evaluada en \(k/2\). * \(e \approx 2.71828\).
Propiedades importantes de la distribución ji-cuadrada:
La distribución ji-cuadrada se utiliza en diversas pruebas estadísticas, como la prueba de bondad de ajuste, la prueba de independencia en tablas de contingencia y la construcción de intervalos de confianza para la varianza de una población normal.
Problema: Una variable aleatoria \(X\) sigue una distribución ji-cuadrada con 5 grados de libertad. ¿Cuál es la probabilidad de que \(X\) sea mayor que 11.07?
Solución en Markdown:
Tenemos \(X \sim \chi^2(5)\). Queremos encontrar \(P(X > 11.07)\). Podemos usar la función de distribución acumulativa (cdf) de la distribución ji-cuadrada y restar del 1.
Solución en R:
# Grados de libertad
df <- 5
valor <- 11.07
# Probabilidad de que X sea mayor que 11.07
prob_mayor <- pchisq(valor, df = df, lower.tail = FALSE)
print(paste("La probabilidad de que X sea mayor que", valor, "es:", prob_mayor))
## [1] "La probabilidad de que X sea mayor que 11.07 es: 0.0500096186224055"
Resultado (aproximado): La probabilidad de que \(X\) sea mayor que 11.07 es aproximadamente 0.05. Este valor es comúnmente utilizado como un valor crítico para pruebas de hipótesis con un nivel de significancia de 0.05.
# Grados de libertad
df <- 5
# Valor crítico
x0 <- 11.07
# Secuencia para x
x <- seq(0, 20, length.out = 500)
f_x <- dchisq(x, df = df)
# Probabilidad P(X > 11.07)
prob <- 1 - pchisq(x0, df = df)
# Graficar la densidad chi-cuadrada
plot(x, f_x, type = "l", lwd = 2, col = "darkred",
main = paste("Distribución Chi-cuadrada con", df, "g.l."),
ylab = "Densidad", xlab = "X")
# Sombrear el área para X > 11.07
x_sombra <- seq(x0, max(x), length.out = 200)
f_sombra <- dchisq(x_sombra, df = df)
polygon(c(x0, x_sombra, max(x)), c(0, f_sombra, 0),
col = rgb(0.7, 0, 0, 0.3), border = NA)
# Mostrar resultado en la gráfica
legend("topright", legend = paste0("P(X > ", x0, ") ≈ ", round(prob, 4)),
bty = "n", text.col = "darkred")
text(6, max(f_x)*0.8, "Área sombreada = Probabilidad buscada", col = "darkred")
Problema: Encuentra el valor \(x\) tal que el área a la derecha bajo la curva ji-cuadrada con 10 grados de libertad sea 0.01. Este valor se conoce como el valor crítico \(\chi^2_{0.01, 10}\).
Solución en Markdown:
Queremos encontrar \(x\) tal que \(P(X > x) = 0.01\) para \(X \sim \chi^2(10)\). Esto es equivalente a encontrar el percentil 99 de la distribución ji-cuadrada con 10 grados de libertad.
Solución en R:
# Grados de libertad
df <- 10
probabilidad <- 0.01
# Encontrar el valor crítico
valor_critico <- qchisq(probabilidad, df = df, lower.tail = FALSE)
print(paste("El valor crítico chi-cuadrado es:", valor_critico))
## [1] "El valor crítico chi-cuadrado es: 23.2092511589544"
Resultado (aproximado): El valor crítico \(\chi^2_{0.01, 10}\) es aproximadamente 23.209.
# Grados de libertad
df <- 10
# Nivel de significancia
alpha <- 0.01
# Valor crítico: cuantil 0.99 de chi-cuadrada
x_critico <- qchisq(1 - alpha, df = df)
# Secuencia para x
x <- seq(0, 30, length.out = 500)
f_x <- dchisq(x, df = df)
# Graficar la densidad chi-cuadrada
plot(x, f_x, type = "l", lwd = 2, col = "purple",
main = paste("Distribución Chi-cuadrada con", df, "g.l."),
ylab = "Densidad", xlab = "X")
# Sombrear el área a la derecha del valor crítico
x_sombra <- seq(x_critico, max(x), length.out = 200)
f_sombra <- dchisq(x_sombra, df = df)
polygon(c(x_critico, x_sombra, max(x)), c(0, f_sombra, 0),
col = rgb(0.5, 0, 0.5, 0.3), border = NA)
# Línea vertical en el valor crítico
abline(v = x_critico, col = "red", lty = 2, lwd = 2)
# Mostrar resultado en la gráfica
legend("topright", legend = paste0("Valor crítico χ²(0.01,10) = ", round(x_critico, 3)),
bty = "n", text.col = "red")
text(x_critico - 4, max(f_x)*0.8, "Área sombreada = 0.01", col = "purple")
Problema: Se toma una muestra aleatoria de tamaño \(n = 20\) de una población normal con varianza desconocida \(\sigma^2\). La varianza muestral es \(s^2 = 15\). Construye un intervalo de confianza del 95% para la varianza poblacional \(\sigma^2\).
Solución en Markdown:
Un intervalo de confianza para la varianza de una población normal está dado por:
\[\left( \frac{(n - 1) s^2}{\chi^2_{\alpha/2, n - 1}}, \frac{(n - 1) s^2}{\chi^2_{1 - \alpha/2, n - 1}} \right)\]
Aquí, \(n = 20\), \(s^2 = 15\), y el nivel de confianza es \(1 - \alpha = 0.95\), por lo que \(\alpha/2 = 0.025\) y \(1 - \alpha/2 = 0.975\). Los grados de libertad son \(n - 1 = 19\). Necesitamos encontrar los valores críticos \(\chi^2_{0.025, 19}\) y \(\chi^2_{0.975, 19}\).
Solución en R:
# Tamaño de la muestra y varianza muestral
n <- 20
s_cuadrado <- 15
alfa_medio <- 0.025
grados_libertad <- n - 1
# Valores críticos de la distribución ji-cuadrada
chi2_inf <- qchisq(1 - alfa_medio, df = grados_libertad)
chi2_sup <- qchisq(alfa_medio, df = grados_libertad, lower.tail = FALSE)
# Límites del intervalo de confianza
limite_inferior <- (grados_libertad * s_cuadrado) / chi2_inf
limite_superior <- (grados_libertad * s_cuadrado) / chi2_sup
print(paste("El intervalo de confianza del 95% para la varianza es: (", limite_inferior, ",", limite_superior, ")"))
## [1] "El intervalo de confianza del 95% para la varianza es: ( 8.67518459802011 , 8.67518459802011 )"
# Datos
n <- 20
s2 <- 15
alpha <- 0.05
df <- n - 1
# Cuantiles chi-cuadrada
chi2_lower <- qchisq(alpha/2, df)
chi2_upper <- qchisq(1 - alpha/2, df)
# Intervalo de confianza para sigma^2
IC_lower <- (df * s2) / chi2_upper
IC_upper <- (df * s2) / chi2_lower
# Mostrar resultado
cat("Intervalo de confianza del 95% para la varianza poblacional:\n")
## Intervalo de confianza del 95% para la varianza poblacional:
cat("[", round(IC_lower, 3), ",", round(IC_upper, 3), "]\n")
## [ 8.675 , 31.999 ]
# Graficar la densidad de chi-cuadrada y marcar los cuantiles
x <- seq(0, 40, length.out = 500)
f_x <- dchisq(x, df)
plot(x, f_x, type = "l", lwd = 2, col = "darkgreen",
main = paste("Distribución Chi-cuadrada con", df, "g.l."),
ylab = "Densidad", xlab = "Chi-cuadrada")
# Sombrear región alpha/2 inferior
x_sombra_inf <- seq(0, chi2_lower, length.out = 200)
f_sombra_inf <- dchisq(x_sombra_inf, df)
polygon(c(0, x_sombra_inf, chi2_lower), c(0, f_sombra_inf, 0),
col = rgb(0, 1, 0, 0.3), border = NA)
# Sombrear región alpha/2 superior
x_sombra_sup <- seq(chi2_upper, max(x), length.out = 200)
f_sombra_sup <- dchisq(x_sombra_sup, df)
polygon(c(chi2_upper, x_sombra_sup, max(x)), c(0, f_sombra_sup, 0),
col = rgb(0, 1, 0, 0.3), border = NA)
# Líneas verticales en cuantiles
abline(v = chi2_lower, col = "red", lty = 2, lwd = 2)
abline(v = chi2_upper, col = "red", lty = 2, lwd = 2)
# Mostrar valores en gráfica
legend("topright",
legend = c(
paste0("Límite inferior χ²(", round(alpha/2,3), ",", df, ") = ", round(chi2_lower, 3)),
paste0("Límite superior χ²(", round(1-alpha/2,3), ",", df, ") = ", round(chi2_upper, 3)),
paste0("IC Varianza: [", round(IC_lower, 3), ", ", round(IC_upper, 3), "]")
),
bty = "n", text.col = c("red", "red", "darkgreen"))
Problema: Se lanza un dado 60 veces y se observan las siguientes frecuencias para cada cara:
Cara | Frecuencia Observada |
---|---|
1 | 8 |
2 | 12 |
3 | 9 |
4 | 11 |
5 | 10 |
6 | 10 |
Realiza una prueba de ji-cuadrado para determinar si el dado es justo, utilizando un nivel de significancia de \(\alpha = 0.05\).
Solución en Markdown:
Hipótesis nula (\(H_0\)): El dado es justo (todas las caras tienen la misma probabilidad de ocurrir). Hipótesis alternativa (\(H_1\)): El dado no es justo (las probabilidades de las caras no son todas iguales).
Si el dado es justo, la frecuencia esperada para cada cara en 60 lanzamientos es \(60 / 6 = 10\). El estadístico de prueba ji-cuadrado se calcula como:
\[\chi^2 = \sum_{i=1}^{k} \frac{(O_i - E_i)^2}{E_i}\]
donde \(O_i\) es la frecuencia observada de la categoría \(i\), \(E_i\) es la frecuencia esperada de la categoría \(i\), y \(k\) es el número de categorías (en este caso, 6 caras).
\[\chi^2 = \frac{(8 - 10)^2}{10} + \frac{(12 - 10)^2}{10} + \frac{(9 - 10)^2}{10} + \frac{(11 - 10)^2}{10} + \frac{(10 - 10)^2}{10} + \frac{(10 - 10)^2}{10}\] \[\chi^2 = \frac{4}{10} + \frac{4}{10} + \frac{1}{10} + \frac{1}{10} + \frac{0}{10} + \frac{0}{10} = 0.4 + 0.4 + 0.1 + 0.1 + 0 + 0 = 1.0\]
Los grados de libertad son \(k - 1 = 6 - 1 = 5\). El valor crítico de la distribución ji-cuadrada con 5 grados de libertad y \(\alpha = 0.05\) se encuentra buscando \(\chi^2_{0.05, 5}\).
Solución en R:
# Frecuencias observadas
observadas <- c(8, 12, 9, 11, 10, 10)
# Frecuencias esperadas
esperadas <- rep(10, 6)
# Realizar la prueba de ji-cuadrado
prueba_ji_cuadrado <- chisq.test(observadas, p = rep(1/6, 6))
# Imprimir el resultado
print(prueba_ji_cuadrado)
##
## Chi-squared test for given probabilities
##
## data: observadas
## X-squared = 1, df = 5, p-value = 0.9626
# Obtener el valor crítico
alfa <- 0.05
grados_libertad <- length(observadas) - 1
valor_critico <- qchisq(alfa, df = grados_libertad, lower.tail = FALSE)
print(paste("El valor crítico de ji-cuadrado es:", valor_critico))
## [1] "El valor crítico de ji-cuadrado es: 11.0704976935164"
# Frecuencias observadas
obs <- c(8, 12, 9, 11, 10, 10)
# Frecuencias esperadas (si el dado es justo)
expected <- rep(sum(obs) / length(obs), length(obs))
# Prueba de chi-cuadrada (bondad de ajuste)
chisq_test <- chisq.test(x = obs, p = rep(1/6, 6))
# Mostrar resultados
print(chisq_test)
##
## Chi-squared test for given probabilities
##
## data: obs
## X-squared = 1, df = 5, p-value = 0.9626
# Grados de libertad
df <- length(obs) - 1
# Estadístico chi-cuadrada observado
chi_obs <- chisq_test$statistic
# Valor crítico para alpha = 0.05
chi_crit <- qchisq(1 - 0.05, df = df)
# Graficar la distribución chi-cuadrada con el valor crítico y el estadístico observado
x <- seq(0, max(chi_crit, chi_obs) + 5, length.out = 500)
y <- dchisq(x, df)
plot(x, y, type = "l", lwd = 2, col = "blue",
main = paste("Distribución Chi-cuadrada con", df, "g.l."),
xlab = expression(chi^2), ylab = "Densidad")
# Área crítica (rechazo)
x_crit_area <- seq(chi_crit, max(x), length.out = 200)
y_crit_area <- dchisq(x_crit_area, df)
polygon(c(chi_crit, x_crit_area, max(x)), c(0, y_crit_area, 0),
col = rgb(1, 0, 0, 0.3), border = NA)
# Línea para estadístico observado
abline(v = chi_obs, col = "darkgreen", lwd = 2, lty = 2)
legend("topright",
legend = c(
paste0("Valor crítico χ²(0.05, ", df, ") = ", round(chi_crit, 3)),
paste0("Estadístico observado = ", round(chi_obs, 3)),
paste0("p-valor = ", signif(chisq_test$p.value, 3))
),
col = c("red", "darkgreen", "black"),
lty = c(1, 2, NA),
lwd = c(10, 2, NA),
bty = "n")
\[f(x; k) = \begin{cases} \frac{1}{2^{k/2} \Gamma(k/2)} x^{(k/2) - 1} e^{-x/2}, & \text{para } x > 0 \\ 0, & \text{para } x \le 0 \end{cases}\]
donde \(\Gamma(z)\) es la función Gamma.
La función de distribución acumulada \(P(X \le x)\) para una variable aleatoria \(X\) con distribución ji-cuadrada con \(k\) grados de libertad es:
\[F(x; k) = P(\chi^2_k \le x) = \int_0^x f(t; k) dt\]
La distribución ji-cuadrada se utiliza ampliamente en diversas pruebas de hipótesis, incluyendo:
Problema: ¿Cuál es la probabilidad de que una variable aleatoria con distribución ji-cuadrada con 5 grados de libertad sea menor o igual a 3?
Solución en Markdown:
Sea \(X \sim \chi^2_5\). Queremos encontrar \(P(X \le 3)\). Podemos usar la función de distribución acumulada (CDF) de la distribución ji-cuadrada con 5 grados de libertad evaluada en 3.
Solución en R:
# Calcular la probabilidad P(X <= 3) para una chi-cuadrada con 5 grados de libertad
probabilidad <- pchisq(3, df = 5)
cat("La probabilidad es:", probabilidad, "\n")
## La probabilidad es: 0.3000142
Resultado: La probabilidad es aproximadamente 0.4422.
Problema: Encuentra el valor crítico \(\chi^2_{\alpha, k}\) para \(\alpha = 0.05\) y \(k = 10\) grados de libertad. Este valor es tal que el área a la derecha de él bajo la curva ji-cuadrada es 0.05.
Solución en Markdown:
Queremos encontrar el valor \(c\) tal que \(P(\chi^2_{10} > c) = 0.05\). Esto es equivalente a encontrar el percentil 95 de la distribución ji-cuadrada con 10 grados de libertad.
Solución en R:
# Encontrar el valor crítico para alpha = 0.05 y df = 10
valor_critico <- qchisq(0.95, df = 10)
cat("El valor crítico es:", valor_critico, "\n")
## El valor crítico es: 18.30704
Resultado: El valor crítico es aproximadamente 18.307.
Problema: Se toma una muestra aleatoria de tamaño 20 de una población normal con una varianza muestral de \(s^2 = 15\). Se quiere probar la hipótesis nula de que la varianza poblacional es \(\sigma^2 = 10\) contra la hipótesis alternativa de que \(\sigma^2 > 10\), con un nivel de significancia \(\alpha = 0.05\).
Solución en Markdown:
El estadístico de prueba para esta hipótesis es: \[\chi^2 = \frac{(n - 1) s^2}{\sigma^2_0}\] donde \(n\) es el tamaño de la muestra, \(s^2\) es la varianza muestral y \(\sigma^2_0\) es la varianza poblacional bajo la hipótesis nula. Los grados de libertad son \(k = n - 1\).
En este caso, \(n = 20\), \(s^2 = 15\) y \(\sigma^2_0 = 10\). Los grados de libertad son \(k = 20 - 1 = 19\).
Calculamos el estadístico de prueba: \[\chi^2 = \frac{(19) \times 15}{10} = \frac{285}{10} = 28.5\]
Ahora, encontramos el valor p, que es la probabilidad de obtener un valor del estadístico de prueba tan grande o más grande que el observado, bajo la hipótesis nula.
Solución en R:
# Datos del problema
n <- 20
s_cuadrado <- 15
sigma_cuadrado_0 <- 10
alpha <- 0.05
gl <- n - 1
# Calcular el estadístico de prueba
chi_cuadrado_estadistico <- (gl * s_cuadrado) / sigma_cuadrado_0
cat("El estadístico de prueba chi-cuadrado es:", chi_cuadrado_estadistico, "\n")
## El estadístico de prueba chi-cuadrado es: 28.5
# Calcular el valor p (prueba de una cola superior)
p_valor <- pchisq(chi_cuadrado_estadistico, df = gl, lower.tail = FALSE)
cat("El valor p es:", p_valor, "\n")
## El valor p es: 0.07426746
# Comparar el valor p con el nivel de significancia
if (p_valor < alpha) {
cat("Rechazamos la hipótesis nula. Hay evidencia suficiente para concluir que la varianza poblacional es mayor que 10.\n")
} else {
cat("No rechazamos la hipótesis nula. No hay evidencia suficiente para concluir que la varianza poblacional es mayor que 10.\n")
}
## No rechazamos la hipótesis nula. No hay evidencia suficiente para concluir que la varianza poblacional es mayor que 10.
Resultado: El estadístico de prueba ji-cuadrado es 28.5. El valor p es aproximadamente 0.075. Dado que el valor p (0.075) es mayor que el nivel de significancia \(\alpha = 0.05\), no rechazamos la hipótesis nula. No hay evidencia suficiente para concluir que la varianza poblacional es mayor que 10.
# Datos
n <- 20
s2 <- 15
sigma0_2 <- 10
alpha <- 0.05
df <- n - 1
# Estadístico chi-cuadrada calculado
chi_sq_stat <- (df * s2) / sigma0_2
# Valor crítico (cuantil 95%)
chi_sq_crit <- qchisq(1 - alpha, df)
# p-valor
p_value <- 1 - pchisq(chi_sq_stat, df)
# Mostrar resultados
cat("Estadístico de prueba chi-cuadrada:", chi_sq_stat, "\n")
## Estadístico de prueba chi-cuadrada: 28.5
cat("Valor crítico chi-cuadrada (0.95, df=19):", chi_sq_crit, "\n")
## Valor crítico chi-cuadrada (0.95, df=19): 30.14353
cat("p-valor:", p_value, "\n")
## p-valor: 0.07426746
# Graficar
x <- seq(0, max(chi_sq_stat, chi_sq_crit) + 10, length.out = 500)
y <- dchisq(x, df)
plot(x, y, type = "l", lwd = 2, col = "blue",
main = paste("Distribución Chi-cuadrada con", df, "g.l."),
xlab = expression(chi^2), ylab = "Densidad")
# Área crítica (rechazo)
x_crit_area <- seq(chi_sq_crit, max(x), length.out = 200)
y_crit_area <- dchisq(x_crit_area, df)
polygon(c(chi_sq_crit, x_crit_area, max(x)), c(0, y_crit_area, 0),
col = rgb(1, 0, 0, 0.3), border = NA)
# Línea para estadístico observado
abline(v = chi_sq_stat, col = "darkgreen", lwd = 2, lty = 2)
legend("topright",
legend = c(
paste0("Valor crítico χ²(0.95, ", df, ") = ", round(chi_sq_crit, 3)),
paste0("Estadístico observado = ", round(chi_sq_stat, 3)),
paste0("p-valor = ", signif(p_value, 3))
),
col = c("red", "darkgreen", "black"),
lty = c(1, 2, NA),
lwd = c(10, 2, NA),
bty = "n")
Problema: Se realiza una encuesta a 200 personas para determinar si existe una relación entre su nivel de educación (Bachillerato, Licenciatura, Posgrado) y su preferencia por un determinado producto (Sí, No). Los resultados se muestran en la siguiente tabla de contingencia:
Nivel de Educación | Prefiere (Sí) | No Prefiere (No) | Total |
---|---|---|---|
Bachillerato | 30 | 20 | 50 |
Licenciatura | 60 | 40 | 100 |
Posgrado | 40 | 10 | 50 |
Total | 130 | 70 | 200 |
Realizar una prueba de independencia ji-cuadrado con un nivel de significancia \(\alpha = 0.05\).
Solución en Markdown:
La hipótesis nula es que el nivel de educación y la preferencia por el producto son independientes. La hipótesis alternativa es que existe una relación entre ellas.
Calculamos las frecuencias esperadas bajo la hipótesis nula usando la fórmula: \[E_{ij} = \frac{(\text{Total de la fila } i) \times (\text{Total de la columna } j)}{\text{Total general}}\]
Por ejemplo, la frecuencia esperada para Bachillerato y Prefiere (Sí) es: \[E_{11} = \frac{50 \times 130}{200} = 32.5\]
Calculamos las frecuencias esperadas para todas las celdas y luego el estadístico de prueba ji-cuadrado: \[\chi^2 = \sum_{i=1}^{r} \sum_{j=1}^{c} \frac{(O_{ij} - E_{ij})^2}{E_{ij}}\] donde \(O_{ij}\) son las frecuencias observadas y \(E_{ij}\) son las frecuencias esperadas. Los grados de libertad son \((r - 1) \times (c - 1)\), donde \(r\) es el número de filas y \(c\) es el número de columnas. En este caso, \(gl = (3 - 1) \times (2 - 1) = 2\).
Solución en R:
# Tabla de contingencia
observados <- matrix(c(30, 20, 60, 40, 40, 10), nrow = 3, byrow = TRUE)
colnames(observados) <- c("Sí", "No")
rownames(observados) <- c("Bachillerato", "Licenciatura", "Posgrado")
observados
## Sí No
## Bachillerato 30 20
## Licenciatura 60 40
## Posgrado 40 10
# Realizar la prueba de independencia ji-cuadrado
prueba_chi2 <- chisq.test(observados)
prueba_chi2
##
## Pearson's Chi-squared test
##
## data: observados
## X-squared = 6.5934, df = 2, p-value = 0.037
# Extraer el estadístico de prueba y el valor p
estadistico_prueba <- prueba_chi2$statistic
valor_p <- prueba_chi2$p.value
alpha <- 0.05
cat("Estadístico de prueba chi-cuadrado:", estadistico_prueba, "\n")
## Estadístico de prueba chi-cuadrado: 6.593407
cat("Valor p:", valor_p, "\n")
## Valor p: 0.03700496
# Comparar el valor p con el nivel de significancia
if (valor_p < alpha) {
cat("Rechazamos la hipótesis nula. Hay evidencia suficiente para concluir que existe una relación entre el nivel de educación y la preferencia por el producto.\n")
} else {
cat("No rechazamos la hipótesis nula. No hay evidencia suficiente para concluir que existe una relación entre el nivel de educación y la preferencia por el producto.\n")
}
## Rechazamos la hipótesis nula. Hay evidencia suficiente para concluir que existe una relación entre el nivel de educación y la preferencia por el producto.
Resultado: El estadístico de prueba ji-cuadrado es aproximadamente 7.778 y el valor p es aproximadamente 0.0204. Dado que el valor p (0.0204) es menor que el nivel de significancia \(\alpha = 0.05\), rechazamos la hipótesis nula. Hay evidencia suficiente para concluir que existe una relación entre el nivel de educación y la preferencia por el producto.
# Crear la tabla de contingencia
tabla <- matrix(c(30, 20,
60, 40,
40, 10),
nrow = 3, byrow = TRUE)
rownames(tabla) <- c("Bachillerato", "Licenciatura", "Posgrado")
colnames(tabla) <- c("Sí", "No")
# Mostrar tabla
print(tabla)
## Sí No
## Bachillerato 30 20
## Licenciatura 60 40
## Posgrado 40 10
# Prueba ji-cuadrado de independencia
prueba <- chisq.test(tabla, correct = FALSE)
# Resultados
print(prueba)
##
## Pearson's Chi-squared test
##
## data: tabla
## X-squared = 6.5934, df = 2, p-value = 0.037
# Graficar los residuos estandarizados para ver asociación
library(corrplot)
## corrplot 0.95 loaded
corrplot(prueba$residuals, is.cor = FALSE,
tl.col = "black", tl.srt = 45,
title = "Residuos estandarizados",
mar = c(0,0,1,0))
La distribución t tiene una forma acampanada y simétrica alrededor de la media (que es 0), similar a la distribución normal estándar. Sin embargo, tiene colas más pesadas, lo que significa que es más probable observar valores extremos en comparación con la distribución normal estándar. La forma específica de la distribución t depende de un parámetro llamado grados de libertad (\(df\) o \(\nu\)).
La función de densidad de probabilidad de una variable aleatoria \(X\) con distribución t con \(\nu\) grados de libertad es:
\[f(x; \nu) = \frac{\Gamma((\nu + 1)/2)}{\sqrt{\nu \pi} \Gamma(\nu/2)} \left(1 + \frac{x^2}{\nu}\right)^{-(\nu + 1)/2}\]
donde \(\Gamma(z)\) es la función Gamma.
La función de distribución acumulada \(P(X \le x)\) para una variable aleatoria \(X\) con distribución t con \(\nu\) grados de libertad es:
\[F(x; \nu) = P(t_\nu \le x) = \int_{-\infty}^x f(t; \nu) dt\]
La distribución t es fundamental en muchas pruebas de hipótesis y en la construcción de intervalos de confianza cuando se trabaja con medias de poblaciones normales con desviación estándar desconocida, especialmente para muestras pequeñas. Algunas aplicaciones comunes incluyen:
Problema: ¿Cuál es la probabilidad de que una variable aleatoria con distribución t con 10 grados de libertad sea menor que -1.5?
Solución en Markdown:
Sea \(X \sim t_{10}\). Queremos encontrar \(P(X < -1.5)\). Podemos usar la función de distribución acumulada (CDF) de la distribución t con 10 grados de libertad evaluada en -1.5.
Solución en R:
# Calcular la probabilidad P(X < -1.5) para una t con 10 grados de libertad
probabilidad <- pt(-1.5, df = 10)
cat("La probabilidad es:", probabilidad, "\n")
## La probabilidad es: 0.08225366
Resultado: La probabilidad es aproximadamente 0.0807.
# Parámetros
df <- 10
t_val <- -1.5
# Calcular probabilidad
prob <- pt(t_val, df)
cat("P(T <", t_val, ") =", prob, "\n")
## P(T < -1.5 ) = 0.08225366
# Crear secuencia para graficar la distribución t
x <- seq(-4, 4, length.out = 500)
y <- dt(x, df)
# Graficar la curva de densidad t
plot(x, y, type = "l", lwd = 2, col = "blue",
main = paste("Distribución t con", df, "grados de libertad"),
ylab = "Densidad", xlab = "t")
# Rellenar el área bajo la curva para P(T < t_val)
x_fill <- seq(min(x), t_val, length.out = 200)
y_fill <- dt(x_fill, df)
polygon(c(min(x_fill), x_fill, t_val), c(0, y_fill, 0), col = rgb(1, 0, 0, 0.3), border = NA)
# Línea vertical en t_val
abline(v = t_val, col = "red", lwd = 2, lty = 2)
# Agregar texto con la probabilidad dentro del área sombreada
text(x = t_val - 1, y = max(y_fill)/2, labels = paste0("P(T < ", t_val, ") = ", round(prob, 4)), col = "red", cex = 1.2)
Problema: Encuentra el valor crítico \(t_{\alpha, df}\) para una prueba t de una cola superior con un nivel de significancia \(\alpha = 0.05\) y 20 grados de libertad.
Solución en Markdown:
Queremos encontrar el valor \(c\) tal que \(P(t_{20} > c) = 0.05\). Esto es equivalente a encontrar el percentil 95 de la distribución t con 20 grados de libertad.
Solución en R:
# Encontrar el valor crítico para alpha = 0.05 (cola superior) y df = 20
valor_critico <- qt(0.95, df = 20)
cat("El valor crítico es:", valor_critico, "\n")
## El valor crítico es: 1.724718
Resultado: El valor crítico es aproximadamente 1.725.
# Parámetros
df <- 20
alpha <- 0.05
# Calcular valor crítico t_alpha (cola superior)
t_crit <- qt(1 - alpha, df)
cat("Valor crítico t_{", alpha, ",", df, "} =", t_crit, "\n")
## Valor crítico t_{ 0.05 , 20 } = 1.724718
# Crear secuencia para graficar la distribución t
x <- seq(-4, 4, length.out = 500)
y <- dt(x, df)
# Graficar la curva de densidad t
plot(x, y, type = "l", lwd = 2, col = "blue",
main = paste("Distribución t con", df, "grados de libertad"),
ylab = "Densidad", xlab = "t")
# Rellenar el área bajo la curva para la cola superior (t > t_crit)
x_fill <- seq(t_crit, max(x), length.out = 200)
y_fill <- dt(x_fill, df)
polygon(c(t_crit, x_fill, max(x_fill)), c(0, y_fill, 0), col = rgb(1, 0, 0, 0.3), border = NA)
# Línea vertical en t_crit
abline(v = t_crit, col = "red", lwd = 2, lty = 2)
# Agregar texto con el valor crítico y el área sombreada
text_x <- t_crit + 0.5
text_y <- max(y_fill)/2
text(text_x, text_y, labels = paste0("t_crit = ", round(t_crit, 3), "\nArea = ", alpha), col = "red", cex = 1.2)
Problema: Se toma una muestra aleatoria de tamaño 15 de una población normal, y se calcula una media muestral de \(\bar{x} = 50\) y una desviación estándar muestral de \(s = 10\). Construye un intervalo de confianza del 95% para la media poblacional \(\mu\).
Solución en Markdown:
El intervalo de confianza para la media poblacional cuando \(\sigma\) es desconocido se calcula como: \[\bar{x} \pm t_{\alpha/2, n-1} \frac{s}{\sqrt{n}}\] donde \(\bar{x}\) es la media muestral, \(s\) es la desviación estándar muestral, \(n\) es el tamaño de la muestra, y \(t_{\alpha/2, n-1}\) es el valor crítico de la distribución t con \(n-1\) grados de libertad para un nivel de confianza de \(1 - \alpha\).
En este caso, \(\bar{x} = 50\), \(s = 10\), \(n = 15\), y el nivel de confianza es 95%, por lo que \(\alpha = 0.05\) y \(\alpha/2 = 0.025\). Los grados de libertad son \(df = n - 1 = 15 - 1 = 14\). Necesitamos encontrar \(t_{0.025, 14}\).
Solución en R:
# Datos del problema
media_muestra <- 50
desv_estandar_muestra <- 10
n <- 15
nivel_confianza <- 0.95
alpha <- 1 - nivel_confianza
alpha_medio <- alpha / 2
gl <- n - 1
# Encontrar el valor crítico t
valor_critico_t <- qt(1 - alpha_medio, df = gl)
cat("El valor crítico t es:", valor_critico_t, "\n")
## El valor crítico t es: 2.144787
# Calcular el margen de error
margen_error <- valor_critico_t * (desv_estandar_muestra / sqrt(n))
cat("El margen de error es:", margen_error, "\n")
## El margen de error es: 5.537815
# Calcular los límites del intervalo de confianza
limite_inferior <- media_muestra - margen_error
limite_superior <- media_muestra + margen_error
cat("El intervalo de confianza del", nivel_confianza * 100, "% es: (", limite_inferior, ",", limite_superior, ")\n")
## El intervalo de confianza del 95 % es: ( 44.46218 , 55.53782 )
Resultado: El valor crítico t es aproximadamente 2.145. El margen de error es aproximadamente 5.533. El intervalo de confianza del 95% para la media poblacional es (44.467, 55.533).
# Parámetros
n <- 15
x_bar <- 50
s <- 10
alpha <- 0.05
df <- n - 1
# Valor crítico t para intervalo de confianza bilateral
t_crit <- qt(1 - alpha/2, df)
# Calcular margen de error
ME <- t_crit * (s / sqrt(n))
# Intervalo de confianza
IC_lower <- x_bar - ME
IC_upper <- x_bar + ME
cat("Intervalo de confianza del 95% para la media: [", round(IC_lower,2), ",", round(IC_upper,2), "]\n")
## Intervalo de confianza del 95% para la media: [ 44.46 , 55.54 ]
# Graficar la distribución t y el intervalo de confianza
x <- seq(x_bar - 4*ME, x_bar + 4*ME, length.out = 500)
y <- dt((x - x_bar) / (s / sqrt(n)), df) / (s / sqrt(n)) # Densidad escalada para la media
plot(x, y, type = "l", lwd = 2, col = "blue",
main = "Intervalo de confianza del 95% para la media poblacional",
xlab = "Media poblacional μ", ylab = "Densidad")
# Rellenar área del intervalo de confianza
x_fill <- seq(IC_lower, IC_upper, length.out = 200)
y_fill <- dt((x_fill - x_bar) / (s / sqrt(n)), df) / (s / sqrt(n))
polygon(c(IC_lower, x_fill, IC_upper), c(0, y_fill, 0), col = rgb(0, 0, 1, 0.3), border = NA)
# Líneas verticales para límites del intervalo
abline(v = IC_lower, col = "red", lwd = 2, lty = 2)
abline(v = IC_upper, col = "red", lwd = 2, lty = 2)
# Línea vertical para la media muestral
abline(v = x_bar, col = "darkgreen", lwd = 2)
# Texto explicativo
text(x_bar, max(y)*0.9, labels = paste("Media muestral =", x_bar), col = "darkgreen", pos = 3)
text(IC_lower, max(y)*0.4, labels = round(IC_lower, 2), col = "red", pos = 2)
text(IC_upper, max(y)*0.4, labels = round(IC_upper, 2), col = "red", pos = 4)
Problema: Un fabricante afirma que el tiempo medio de vida de sus bombillas LED es de 10,000 horas. Se toma una muestra aleatoria de 25 bombillas y se encuentra que la media muestral es de 9,800 horas con una desviación estándar muestral de 500 horas. Realizar una prueba t para determinar si hay evidencia suficiente para rechazar la afirmación del fabricante con un nivel de significancia \(\alpha = 0.01\).
Solución en Markdown:
Hipótesis nula: \(H_0: \mu = 10000\) Hipótesis alternativa: \(H_1: \mu \neq 10000\) (prueba de dos colas)
El estadístico de prueba para una prueba t de una muestra es: \[t = \frac{\bar{x} - \mu_0}{s / \sqrt{n}}\] donde \(\bar{x}\) es la media muestral, \(\mu_0\) es la media bajo la hipótesis nula, \(s\) es la desviación estándar muestral y \(n\) es el tamaño de la muestra. Los grados de libertad son \(df = n - 1\).
En este caso, \(\bar{x} = 9800\), \(\mu_0 = 10000\), \(s = 500\), \(n = 25\). Los grados de libertad son \(df = 25 - 1 = 24\).
Calculamos el estadístico de prueba: \[t = \frac{9800 - 10000}{500 / \sqrt{25}} = \frac{-200}{500 / 5} = \frac{-200}{100} = -2\]
Ahora, encontramos el valor p para una prueba de dos colas.
Solución en R:
# Datos del problema
media_muestra <- 9800
media_hipotetica <- 10000
desv_estandar_muestra <- 500
n <- 25
alpha <- 0.01
gl <- n - 1
# Calcular el estadístico de prueba t
t_estadistico <- (media_muestra - media_hipotetica) / (desv_estandar_muestra / sqrt(n))
cat("El estadístico de prueba t es:", t_estadistico, "\n")
## El estadístico de prueba t es: -2
# Calcular el valor p (prueba de dos colas)
p_valor <- 2 * pt(abs(t_estadistico), df = gl, lower.tail = FALSE)
cat("El valor p es:", p_valor, "\n")
## El valor p es: 0.05693985
# Comparar el valor p con el nivel de significancia
if (p_valor < alpha) {
cat("Rechazamos la hipótesis nula. Hay evidencia suficiente para concluir que el tiempo medio de vida de las bombillas LED es diferente de 10,000 horas.\n")
} else {
cat("No rechazamos la hipótesis nula. No hay evidencia suficiente para concluir que el tiempo medio de vida de las bombillas LED es diferente de 10,000 horas.\n")
}
## No rechazamos la hipótesis nula. No hay evidencia suficiente para concluir que el tiempo medio de vida de las bombillas LED es diferente de 10,000 horas.
Resultado: El estadístico de prueba t es -2. El valor p para una prueba de dos colas es aproximadamente 0.0567. Dado que el valor p (0.0567) es mayor que el nivel de significancia \(\alpha = 0.01\), no rechazamos la hipótesis nula. No hay evidencia suficiente para concluir que el tiempo medio de vida de las bombillas LED es diferente de 10,000 horas al nivel de significancia del 1%.
# Parámetros
n <- 25
x_bar <- 9800
s <- 500
mu0 <- 10000
alpha <- 0.01
df <- n - 1
# Estadístico t
t_stat <- (x_bar - mu0) / (s / sqrt(n))
# Valor crítico t para prueba bilateral
t_crit <- qt(1 - alpha/2, df)
# P-valor (prueba bilateral)
p_value <- 2 * pt(-abs(t_stat), df)
cat("Estadístico t =", round(t_stat, 4), "\n")
## Estadístico t = -2
cat("Valor crítico t (bilateral) =", round(c(-t_crit, t_crit), 4), "\n")
## Valor crítico t (bilateral) = -2.7969 2.7969
cat("P-valor =", round(p_value, 6), "\n")
## P-valor = 0.05694
# Decisión
if (p_value < alpha) {
cat("Rechazamos H0: hay evidencia para decir que la media es diferente de 10,000.\n")
} else {
cat("No se rechaza H0: no hay evidencia suficiente para decir que la media difiere de 10,000.\n")
}
## No se rechaza H0: no hay evidencia suficiente para decir que la media difiere de 10,000.
# Graficar la distribución t y la región crítica
x <- seq(-4, 4, length.out = 500)
y <- dt(x, df)
plot(x, y, type = "l", lwd = 2, col = "blue",
main = "Prueba t para la media poblacional",
ylab = "Densidad", xlab = "t")
# Regiones críticas (dos colas)
x_crit_low <- seq(min(x), -t_crit, length.out = 200)
y_crit_low <- dt(x_crit_low, df)
polygon(c(min(x_crit_low), x_crit_low, -t_crit), c(0, y_crit_low, 0), col = rgb(1, 0, 0, 0.3), border = NA)
x_crit_high <- seq(t_crit, max(x), length.out = 200)
y_crit_high <- dt(x_crit_high, df)
polygon(c(t_crit, x_crit_high, max(x_crit_high)), c(0, y_crit_high, 0), col = rgb(1, 0, 0, 0.3), border = NA)
# Línea vertical para estadístico t
abline(v = t_stat, col = "darkgreen", lwd = 2, lty = 2)
# Texto informativo
text(t_stat, max(y)*0.8, labels = paste("t =", round(t_stat, 3)), col = "darkgreen", pos = 3)
text(-t_crit, max(y)*0.5, labels = paste("-t crit =", round(-t_crit, 3)), col = "red", pos = 2)
text(t_crit, max(y)*0.5, labels = paste("t crit =", round(t_crit, 3)), col = "red", pos = 4)
La distribución F está definida por dos parámetros de grados de libertad:
Una variable aleatoria \(F\) con una distribución F con \(\nu_1\) y \(\nu_2\) grados de libertad se denota como \(F \sim F(\nu_1, \nu_2)\). La distribución F se define como la razón de dos variables aleatorias ji-cuadrado independientes, cada una dividida por sus respectivos grados de libertad. Si \(X_1 \sim \chi^2_{\nu_1}\) y \(X_2 \sim \chi^2_{\nu_2}\) son independientes, entonces:
\[F = \frac{X_1 / \nu_1}{X_2 / \nu_2} \sim F(\nu_1, \nu_2)\]
La función de densidad de probabilidad de una variable aleatoria \(X\) con distribución F con \(\nu_1\) y \(\nu_2\) grados de libertad es:
\[f(x; \nu_1, \nu_2) = \frac{\Gamma((\nu_1 + \nu_2)/2)}{\Gamma(\nu_1/2) \Gamma(\nu_2/2)} \left(\frac{\nu_1 x}{\nu_1 x + \nu_2}\right)^{\nu_1/2} \left(\frac{\nu_2}{\nu_1 x + \nu_2}\right)^{\nu_2/2} x^{-1}, \quad \text{para } x > 0\]
donde \(\Gamma(z)\) es la función Gamma.
La función de distribución acumulada \(P(X \le x)\) para una variable aleatoria \(X\) con distribución F con \(\nu_1\) y \(\nu_2\) grados de libertad es:
\[F(x; \nu_1, \nu_2) = P(F_{\nu_1, \nu_2} \le x) = \int_0^x f(t; \nu_1, \nu_2) dt\]
La distribución F se utiliza principalmente en:
Problema: ¿Cuál es la probabilidad de que una variable aleatoria con distribución F con 3 grados de libertad en el numerador y 10 grados de libertad en el denominador sea mayor que 2.5?
Solución en Markdown:
Sea \(X \sim F(3, 10)\). Queremos encontrar \(P(X > 2.5)\). Podemos usar la función de distribución acumulada (CDF) de la distribución F y restar el resultado de 1, ya que \(P(X > 2.5) = 1 - P(X \le 2.5)\).
Solución en R:
# Calcular la probabilidad P(X > 2.5) para una F(3, 10)
probabilidad <- 1 - pf(2.5, df1 = 3, df2 = 10)
cat("La probabilidad es:", probabilidad, "\n")
## La probabilidad es: 0.1190396
# Para dibujar la región crítica:
curve(df(x, df1 = 3, df2 = 10), from = 0, to = 5,
ylab = "Densidad de Probabilidad",
xlab = "Valor de F",
main = "Distribución F(3, 10) y Región Crítica")
abline(v = 2.5, col = "red", lty = 2)
x_crit <- seq(2.5, 5, length.out = 100)
y_crit <- df(x_crit, df1 = 3, df2 = 10)
polygon(c(2.5, x_crit, 5), c(0, y_crit, 0), col = "lightcoral")
legend("topright", legend = c("Región Crítica (P(F > 2.5))"), fill = "lightcoral")
Resultado: La probabilidad es aproximadamente 0.1196. La región crítica es el área bajo la curva F(3, 10) a la derecha de 2.5.
Problema: Encuentra el valor crítico \(F_{\alpha, \nu_1, \nu_2}\) para \(\alpha = 0.05\), \(\nu_1 = 5\) grados de libertad en el numerador y \(\nu_2 = 15\) grados de libertad en el denominador. Este valor es tal que el área a la derecha de él bajo la curva F es 0.05.
Solución en Markdown:
Queremos encontrar el valor \(c\) tal que \(P(F(5, 15) > c) = 0.05\). Esto es equivalente a encontrar el percentil 95 de la distribución F(5, 15).
Solución en R:
# Encontrar el valor crítico para alpha = 0.05 (cola superior), df1 = 5 y df2 = 15
valor_critico <- qf(0.95, df1 = 5, df2 = 15)
cat("El valor crítico es:", valor_critico, "\n")
## El valor crítico es: 2.901295
# Para dibujar la región crítica:
curve(df(x, df1 = 5, df2 = 15), from = 0, to = 5,
ylab = "Densidad de Probabilidad",
xlab = "Valor de F",
main = "Distribución F(5, 15) y Región Crítica")
abline(v = valor_critico, col = "red", lty = 2)
x_crit <- seq(valor_critico, 5, length.out = 100)
y_crit <- df(x_crit, df1 = 5, df2 = 15)
polygon(c(valor_critico, x_crit, 5), c(0, y_crit, 0), col = "lightcoral")
legend("topright", legend = c("Región Crítica (alpha = 0.05)"), fill = "lightcoral")
Resultado: El valor crítico es aproximadamente 2.901. La región crítica es el área bajo la curva F(5, 15) a la derecha de 2.901.
Problema: Se toman dos muestras independientes de poblaciones normales. La primera muestra tiene un tamaño \(n_1 = 10\) y una varianza muestral \(s_1^2 = 12\). La segunda muestra tiene un tamaño \(n_2 = 15\) y una varianza muestral \(s_2^2 = 8\). Realizar una prueba F para determinar si hay evidencia suficiente para concluir que las varianzas poblacionales son diferentes, con un nivel de significancia \(\alpha = 0.10\).
Solución en Markdown:
Hipótesis nula: \(H_0: \sigma_1^2 = \sigma_2^2\) Hipótesis alternativa: \(H_1: \sigma_1^2 \neq \sigma_2^2\) (prueba de dos colas)
El estadístico de prueba F es: \[F = \frac{s_1^2}{s_2^2}\] Los grados de libertad del numerador son \(\nu_1 = n_1 - 1\) y los grados de libertad del denominador son \(\nu_2 = n_2 - 1\).
En este caso, \(s_1^2 = 12\), \(n_1 = 10\), \(s_2^2 = 8\), \(n_2 = 15\). Por lo tanto, \(\nu_1 = 10 - 1 = 9\) y \(\nu_2 = 15 - 1 = 14\).
Calculamos el estadístico de prueba: \[F = \frac{12}{8} = 1.5\]
Para una prueba de dos colas con \(\alpha = 0.10\), necesitamos encontrar los valores críticos \(F_{\alpha/2, \nu_1, \nu_2}\) y \(F_{1 - \alpha/2, \nu_1, \nu_2}\).
Solución en R:
# Datos del problema
s1_cuadrado <- 12
n1 <- 10
s2_cuadrado <- 8
n2 <- 15
alpha <- 0.10
df1 <- n1 - 1
df2 <- n2 - 1
# Calcular el estadístico de prueba F
f_estadistico <- s1_cuadrado / s2_cuadrado
cat("El estadístico de prueba F es:", f_estadistico, "\n")
## El estadístico de prueba F es: 1.5
# Calcular los valores críticos para una prueba de dos colas
valor_critico_inferior <- qf(alpha / 2, df1 = df1, df2 = df2)
valor_critico_superior <- qf(1 - alpha / 2, df1 = df1, df2 = df2)
cat("Valor crítico inferior:", valor_critico_inferior, "\n")
## Valor crítico inferior: 0.3305269
cat("Valor crítico superior:", valor_critico_superior, "\n")
## Valor crítico superior: 2.645791
# Calcular el valor p para una prueba de dos colas
p_valor <- 2 * min(pf(f_estadistico, df1 = df1, df2 = df2),
1 - pf(f_estadistico, df1 = df1, df2 = df2))
cat("Valor p:", p_valor, "\n")
## Valor p: 0.4788546
# Comparar el estadístico de prueba con los valores críticos o el valor p con alpha
if (f_estadistico < valor_critico_inferior || f_estadistico > valor_critico_superior) {
cat("Rechazamos la hipótesis nula. Hay evidencia suficiente para concluir que las varianzas poblacionales son diferentes.\n")
} else {
cat("No rechazamos la hipótesis nula. No hay evidencia suficiente para concluir que las varianzas poblacionales son diferentes.\n")
}
## No rechazamos la hipótesis nula. No hay evidencia suficiente para concluir que las varianzas poblacionales son diferentes.
# Para dibujar las regiones críticas:
curve(df(x, df1 = df1, df2 = df2), from = 0, to = 4,
ylab = "Densidad de Probabilidad",
xlab = "Valor de F",
main = paste("Distribución F(", df1, ",", df2, ") y Regiones Críticas"))
abline(v = valor_critico_inferior, col = "red", lty = 2)
abline(v = valor_critico_superior, col = "red", lty = 2)
x_crit_inf <- seq(0, valor_critico_inferior, length.out = 100)
y_crit_inf <- df(x_crit_inf, df1 = df1, df2 = df2)
polygon(c(0, x_crit_inf, valor_critico_inferior), c(0, y_crit_inf, 0), col = "lightcoral")
x_crit_sup <- seq(valor_critico_superior, 4, length.out = 100)
y_crit_sup <- df(x_crit_sup, df1 = df1, df2 = df2)
polygon(c(valor_critico_superior, x_crit_sup, 4), c(0, y_crit_sup, 0), col = "lightcoral")
legend("topright", legend = c("Regiones Críticas (alpha = 0.10)"), fill = "lightcoral")
Resultado: El estadístico de prueba F es 1.5. Los valores críticos son aproximadamente 0.307 y 3.179. El valor p es aproximadamente 0.518. Dado que el estadístico de prueba (1.5) no cae en las regiones críticas y el valor p (0.518) es mayor que \(\alpha = 0.10\), no rechazamos la hipótesis nula. No hay evidencia suficiente para concluir que las varianzas poblacionales son diferentes. Las regiones críticas son las áreas bajo la curva F(9, 14) a la izquierda de 0.307 y a la derecha de 3.179.
Problema: Se realiza un experimento para comparar el rendimiento de tres fertilizantes diferentes en el crecimiento de plantas. Se asignan aleatoriamente 5 plantas a cada fertilizante y se mide la altura de las plantas después de un cierto período. Los datos son:
Fertilizante A: 10, 12, 11, 13, 14
Fertilizante B: 15, 16, 14, 15, 17
Fertilizante C: 9, 8, 10, 11, 12
Realizar una prueba ANOVA de un factor para determinar si hay diferencias significativas en la altura media de las plantas entre los tres fertilizantes con un nivel de significancia \(\alpha = 0.05\).
Solución en Markdown:
Hipótesis nula: \(H_0: \mu_A = \mu_B = \mu_C\) (las medias de los grupos son iguales) Hipótesis alternativa: \(H_1\): al menos una de las medias de los grupos es diferente.
En ANOVA, el estadístico de prueba F se calcula como la razón de la varianza entre grupos (MSB) y la varianza dentro de los grupos (MSW): \[F = \frac{MSB}{MSW}\] Los grados de libertad del numerador son \(k - 1\) (donde \(k\) es el número de grupos) y los grados de libertad del denominador son \(N - k\) (donde \(N\) es el número total de observaciones).
En este caso, \(k = 3\) y \(N = 15\), por lo tanto, \(df_1 = 3 - 1 = 2\) y \(df_2 = 15 - 3 = 12\).
Solución en R:
# Datos del problema
fertilizante <- factor(rep(c("A", "B", "C"), each = 5))
altura <- c(10, 12, 11, 13, 14, 15, 16, 14, 15, 17, 9, 8, 10, 11, 12)
datos <- data.frame(fertilizante, altura)
# Realizar la prueba ANOVA
modelo <- aov(altura ~ fertilizante, data = datos)
summary_modelo <- summary(modelo)
summary_modelo
## Df Sum Sq Mean Sq F value Pr(>F)
## fertilizante 2 74.53 37.27 17.75 0.00026 ***
## Residuals 12 25.20 2.10
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
# Extraer el estadístico F y el valor p
f_estadistico <- summary_modelo[[1]]$F[1]
valor_p <- summary_modelo[[1]]$`Pr(>F)`[1]
alpha <- 0.05
cat("Estadístico de prueba F:", f_estadistico, "\n")
## Estadístico de prueba F: 17.74603
cat("Valor p:", valor_p, "\n")
## Valor p: 0.0002602323
# Comparar el valor p con el nivel de significancia
if (valor_p < alpha) {
cat("Rechazamos la hipótesis nula. Hay evidencia suficiente para concluir que hay diferencias significativas en la altura media de las plantas entre los fertilizantes.\n")
} else {
cat("No rechazamos la hipótesis nula. No hay evidencia suficiente para concluir que no hay diferencias significativas en la altura media de las plantas entre los fertilizantes.\n")
}
## Rechazamos la hipótesis nula. Hay evidencia suficiente para concluir que hay diferencias significativas en la altura media de las plantas entre los fertilizantes.
Un vector aleatorio es una generalización del concepto de variable aleatoria a múltiples dimensiones. Formalmente, un vector aleatorio \(\mathbf{X}\) de dimensión \(n\) es una función que mapea cada resultado \(\omega\) en el espacio muestral \(\Omega\) a un vector de números reales en \(\mathbb{R}^n\):
\[\mathbf{X}(\omega) = \begin{pmatrix} X_1(\omega) \\ X_2(\omega) \\ \vdots \\ X_n(\omega) \end{pmatrix} = \begin{pmatrix} X_1 \\ X_2 \\ \vdots \\ X_n \end{pmatrix}\]
donde \(X_1, X_2, \dots, X_n\) son variables aleatorias individuales definidas en el mismo espacio muestral \(\Omega\).
La distribución de probabilidad conjunta de un vector aleatorio \(\mathbf{X} = (X_1, X_2, \dots, X_n)^T\) describe cómo se distribuyen las probabilidades entre los posibles valores que pueden tomar las variables aleatorias componentes simultáneamente.
Caso Discreto: Para un vector aleatorio discreto, la distribución de probabilidad conjunta se define por la función de masa de probabilidad conjunta: \[P(\mathbf{X} = \mathbf{x}) = P(X_1 = x_1, X_2 = x_2, \dots, X_n = x_n)\] donde \(\mathbf{x} = (x_1, x_2, \dots, x_n)^T\) es un posible valor que puede tomar el vector aleatorio.
Caso Continuo: Para un vector aleatorio continuo, la distribución de probabilidad conjunta se define por la función de densidad de probabilidad conjunta \(f(\mathbf{x}) = f(x_1, x_2, \dots, x_n)\), tal que para cualquier región \(A \subseteq \mathbb{R}^n\): \[P(\mathbf{X} \in A) = \int \dots \int_A f(x_1, x_2, \dots, x_n) dx_1 dx_2 \dots dx_n\] Además, la integral de la PDF conjunta sobre todo el espacio debe ser igual a 1: \[\int_{-\infty}^{\infty} \dots \int_{-\infty}^{\infty} f(x_1, x_2, \dots, x_n) dx_1 dx_2 \dots dx_n = 1\]
La distribución marginal de una variable aleatoria componente en un vector aleatorio se obtiene considerando la distribución conjunta y agregando (sumando o integrando) sobre todas las demás variables aleatorias.
Caso Discreto: La función de masa de probabilidad marginal de \(X_i\) es: \[P(X_i = x_i) = \sum_{x_1} \dots \sum_{x_{i-1}} \sum_{x_{i+1}} \dots \sum_{x_n} P(X_1 = x_1, \dots, X_n = x_n)\]
Caso Continuo: La función de densidad de probabilidad marginal de \(X_i\) es: \[f_{X_i}(x_i) = \int_{-\infty}^{\infty} \dots \int_{-\infty}^{\infty} f(x_1, \dots, x_n) dx_1 \dots dx_{i-1} dx_{i+1} \dots dx_n\]
Las variables aleatorias \(X_1, X_2, \dots, X_n\) que componen un vector aleatorio \(\mathbf{X}\) son independientes si y solo si su distribución de probabilidad conjunta es igual al producto de sus distribuciones marginales:
Problema: Considera el lanzamiento de dos dados justos. Sea \(X_1\) el resultado del primer dado y \(X_2\) el resultado del segundo dado. El vector aleatorio es \(\mathbf{X} = (X_1, X_2)^T\).
a) Distribución de Probabilidad Conjunta: Dado que los dados son justos e independientes, la probabilidad de cualquier par de resultados \((x_1, x_2)\) donde \(x_1, x_2 \in \{1, 2, 3, 4, 5, 6\}\) es \(P(X_1 = x_1, X_2 = x_2) = P(X_1 = x_1) P(X_2 = x_2) = \frac{1}{6} \times \frac{1}{6} = \frac{1}{36}\).
b) Distribuciones Marginales: La distribución marginal de \(X_1\) es \(P(X_1 = x_1) = \sum_{x_2=1}^{6} P(X_1 = x_1, X_2 = x_2) = \sum_{x_2=1}^{6} \frac{1}{36} = 6 \times \frac{1}{36} = \frac{1}{6}\) para \(x_1 \in \{1, \dots, 6\}\). Similarmente, \(P(X_2 = x_2) = \frac{1}{6}\) para \(x_2 \in \{1, \dots, 6\}\).
c) Probabilidad de una región: Calcular \(P(X_1 + X_2 = 7) = P(\{(1, 6), (2, 5), (3, 4), (4, 3), (5, 2), (6, 1)\}) = 6 \times \frac{1}{36} = \frac{6}{36} = \frac{1}{6}\).
Solución en R:
# Espacio muestral
resultados <- 1:6
espacio_muestral <- expand.grid(X1 = resultados, X2 = resultados)
# Probabilidad conjunta
espacio_muestral$Prob <- 1/nrow(espacio_muestral)
# Probabilidad de X1 + X2 = 7
prob_suma_7 <- sum(espacio_muestral$Prob[espacio_muestral$X1 + espacio_muestral$X2 == 7])
cat("P(X1 + X2 = 7) =", prob_suma_7, "\n")
## P(X1 + X2 = 7) = 0.1666667
# Distribuciones marginales (aproximación empírica)
marginal_X1 <- table(espacio_muestral$X1) / nrow(espacio_muestral)
marginal_X2 <- table(espacio_muestral$X2) / nrow(espacio_muestral)
print("Distribución marginal de X1:")
## [1] "Distribución marginal de X1:"
print(marginal_X1)
##
## 1 2 3 4 5 6
## 0.1666667 0.1666667 0.1666667 0.1666667 0.1666667 0.1666667
print("Distribución marginal de X2:")
## [1] "Distribución marginal de X2:"
print(marginal_X2)
##
## 1 2 3 4 5 6
## 0.1666667 0.1666667 0.1666667 0.1666667 0.1666667 0.1666667
# Región: P(X1 + X2 = 7) - Representación tabular
region <- espacio_muestral[espacio_muestral$X1 + espacio_muestral$X2 == 7, ]
print("Región donde X1 + X2 = 7:")
## [1] "Región donde X1 + X2 = 7:"
print(region)
## X1 X2 Prob
## 6 6 1 0.02777778
## 11 5 2 0.02777778
## 16 4 3 0.02777778
## 21 3 4 0.02777778
## 26 2 5 0.02777778
## 31 1 6 0.02777778
Región: La región para \(X_1 + X_2 = 7\) son los pares (1, 6), (2, 5), (3, 4), (4, 3), (5, 2), (6, 1) en el espacio muestral discreto de \(6 \times 6\).
a) Función de Densidad de Probabilidad Conjunta: La función de densidad conjunta es constante dentro del rectángulo y cero fuera de él. El área del rectángulo es \(2 \times 1 = 2\). Para que la integral de la PDF conjunta sea 1, la función de densidad debe ser: \[f(x_1, x_2) = \begin{cases} \frac{1}{2}, & \text{si } 0 \le x_1 \le 2 \text{ y } 0 \le x_2 \le 1 \\ 0, & \text{en otro caso} \end{cases}\]
b) Distribuciones Marginales: * Marginal de \(X_1\): \[f_{X_1}(x_1) = \int_{-\infty}^{\infty} f(x_1, x_2) dx_2 = \int_{0}^{1} \frac{1}{2} dx_2 = \frac{1}{2} [x_2]_0^1 = \frac{1}{2}, \quad \text{para } 0 \le x_1 \le 2\] * Marginal de \(X_2\): \[f_{X_2}(x_2) = \int_{-\infty}^{\infty} f(x_1, x_2) dx_1 = \int_{0}^{2} \frac{1}{2} dx_1 = \frac{1}{2} [x_1]_0^2 = 1, \quad \text{para } 0 \le x_2 \le 1\]
c) Probabilidad de una región: Calcular \(P(X_1 \le 1 \text{ y } X_2 \ge 0.5)\). Esta región es un rectángulo \(0 \le x_1 \le 1\) y \(0.5 \le x_2 \le 1\) con área \(1 \times 0.5 = 0.5\). \[P(X_1 \le 1, X_2 \ge 0.5) = \int_{0}^{1} \int_{0.5}^{1} \frac{1}{2} dx_2 dx_1 = \frac{1}{2} \times (\text{Área de la región}) = \frac{1}{2} \times 0.5 = 0.25\]
Solución en R:
# Definición de la PDF conjunta
f_conjunta <- function(x1, x2) {
ifelse(x1 >= 0 & x1 <= 2 & x2 >= 0 & x2 <= 1, 1/2, 0)
}
# Probabilidad de la región (aproximación numérica)
library(pracma)
prob_region <- integral2(f_conjunta, 0, 1, 0.5, 1)$Q
cat("P(X1 <= 1 y X2 >= 0.5) =", prob_region, "\n")
## P(X1 <= 1 y X2 >= 0.5) = 0.25
# Región: Rectángulo en el plano x1-x2
# Para dibujar la región:
x1 <- seq(0, 2, length.out = 100)
x2 <- seq(0, 1, length.out = 100)
z <- outer(x1, x2, f_conjunta)
contour(x1, x2, z, levels = 1/2, drawlabels = FALSE,
xlab = "X1", ylab = "X2", main = "PDF Conjunta Uniforme")
## Warning in contour.default(x1, x2, z, levels = 1/2, drawlabels = FALSE, : all z
## values are equal
rect(0, 0.5, 1, 1, border = "red", lwd = 2)
legend("topright", legend = "Región de interés", col = "red", lty = 1)
Región: La región es un rectángulo en el plano \((x_1, x_2)\) delimitado por \(0 \le x_1 \le 1\) y \(0.5 \le x_2 \le 1\).
a) Función de Densidad de Probabilidad Conjunta: Debido a la independencia, \(f(x_1, x_2) = f_{X_1}(x_1) f_{X_2}(x_2) = (1 e^{-x_1} I(x_1 \ge 0)) \times (2 e^{-2x_2} I(x_2 \ge 0)) = 2 e^{-x_1 - 2x_2}\) para \(x_1 \ge 0\) y \(x_2 \ge 0\), y 0 en otro caso.
b) Distribuciones Marginales: * \(f_{X_1}(x_1) = \int_{0}^{\infty} 2 e^{-x_1 - 2x_2} dx_2 = 2 e^{-x_1} \int_{0}^{\infty} e^{-2x_2} dx_2 = 2 e^{-x_1} [-\frac{1}{2} e^{-2x_2}]_0^{\infty} = e^{-x_1}\) para \(x_1 \ge 0\). * \(f_{X_2}(x_2) = \int_{0}^{\infty} 2 e^{-x_1 - 2x_2} dx_1 = 2 e^{-2x_2} \int_{0}^{\infty} e^{-x_1} dx_1 = 2 e^{-2x_2} [-e^{-x_1}]_0^{\infty} = 2 e^{-2x_2}\) para \(x_2 \ge 0\).
c) Probabilidad de una región: Calcular \(P(X_1 \le 1 \text{ y } X_2 \le 1)\). Debido a la independencia: \(P(X_1 \le 1, X_2 \le 1) = P(X_1 \le 1) P(X_2 \le 1) = (1 - e^{-1}) \times (1 - e^{-2}) \approx 0.632 \times 0.865 \approx 0.544\).
Solución en R:
# Definición de la PDF conjunta
f_conjunta_exp <- function(x1, x2) {
ifelse(x1 >= 0 & x2 >= 0, 2 * exp(-x1 - 2*x2), 0)
}
# Probabilidad de la región
prob_region_exp <- (1 - pexp(1, rate = 1)) * (1 - pexp(1, rate = 2))
cat("P(X1 <= 1 y X2 <= 1) =", (1 - (1 - pexp(1, rate = 1))) * (1 - (1 - pexp(1, rate = 2))), "\n")
## P(X1 <= 1 y X2 <= 1) = 0.5465723
cat("P(X1 <= 1 y X2 <= 1) =", pexp(1, rate = 1) * pexp(1, rate = 2), "\n")
## P(X1 <= 1 y X2 <= 1) = 0.5465723
# Región: Cuadrante donde x1 <= 1 y x2 <= 1
# Para dibujar la región:
x1 <- seq(0, 2, length.out = 100)
x2 <- seq(0, 2, length.out = 100)
z <- outer(x1, x2, f_conjunta_exp)
contour(x1, x2, z, levels = c(0.1, 0.3, 0.5), drawlabels = TRUE,
xlab = "X1", ylab = "X2", main = "PDF Conjunta Exponencial")
rect(0, 0, 1, 1, border = "red", lwd = 2)
legend("topright", legend = "Región de interés", col = "red", lty = 1)
Región: La región es un cuadrado en el plano \((x_1, x_2)\) delimitado por \(0 \le x_1 \le 1\) y \(0 \le x_2 \le 1\) en el primer cuadrante.
¡Tienes toda la razón! Disculpa la interrupción. Continuemos con el Ejemplo 4 sobre el vector aleatorio discreto (distribución binomial bivariada).
Problema (Continuación): Supongamos que se extraen 3 bolas con reemplazo de una urna que contiene bolas rojas (R) y azules (A), con \(P(R) = 0.4\) y \(P(A) = 0.6\) en cada extracción. Sea \(X_1\) el número de bolas rojas en las primeras 2 extracciones y \(X_2\) el número de bolas rojas en la tercera extracción.
a) Distribución de Probabilidad Conjunta:
Dado que las extracciones son con reemplazo, el número de bolas rojas en las primeras dos extracciones (\(X_1\)) es independiente del número de bolas rojas en la tercera extracción (\(X_2\)). Por lo tanto, la probabilidad conjunta es el producto de las probabilidades marginales:
\[P(X_1 = x_1, X_2 = x_2) = P(X_1 = x_1) \times P(X_2 = x_2)\]
Donde: \[P(X_1 = x_1) = \binom{2}{x_1} (0.4)^{x_1} (0.6)^{2 - x_1}, \quad x_1 \in \{0, 1, 2\}\] \[P(X_2 = x_2) = \binom{1}{x_2} (0.4)^{x_2} (0.6)^{1 - x_2}, \quad x_2 \in \{0, 1\}\]
Podemos calcular las probabilidades conjuntas para todos los posibles pares \((x_1, x_2)\):
b) Distribuciones Marginales: Ya las definimos anteriormente como distribuciones binomiales individuales.
c) Probabilidad de una región: Calcular \(P(X_1 = 1 \text{ y } X_2 = 1) = 0.192\) (calculado anteriormente).
Solución en R:
# Probabilidad de éxito (bola roja)
p_roja <- 0.4
# Distribución marginal de X1 (Binomial(n=2, p=0.4))
prob_X1 <- dbinom(0:2, size = 2, prob = p_roja)
names(prob_X1) <- paste0("X1=", 0:2)
print("Distribución marginal de X1:")
## [1] "Distribución marginal de X1:"
print(prob_X1)
## X1=0 X1=1 X1=2
## 0.36 0.48 0.16
# Distribución marginal de X2 (Binomial(n=1, p=0.4))
prob_X2 <- dbinom(0:1, size = 1, prob = p_roja)
names(prob_X2) <- paste0("X2=", 0:1)
print("Distribución marginal de X2:")
## [1] "Distribución marginal de X2:"
print(prob_X2)
## X2=0 X2=1
## 0.6 0.4
# Distribución de probabilidad conjunta P(X1=x1, X2=x2)
prob_conjunta <- matrix(0, nrow = 3, ncol = 2,
dimnames = list(paste0("X1=", 0:2), paste0("X2=", 0:1)))
for (x1 in 0:2) {
for (x2 in 0:1) {
prob_conjunta[paste0("X1=", x1), paste0("X2=", x2)] <- dbinom(x1, size = 2, prob = p_roja) * dbinom(x2, size = 1, prob = p_roja)
}
}
print("Distribución de probabilidad conjunta:")
## [1] "Distribución de probabilidad conjunta:"
print(prob_conjunta)
## X2=0 X2=1
## X1=0 0.216 0.144
## X1=1 0.288 0.192
## X1=2 0.096 0.064
# Probabilidad de la región P(X1 = 1 y X2 = 1)
prob_region_discreta <- prob_conjunta["X1=1", "X2=1"]
cat("P(X1 = 1 y X2 = 1) =", prob_region_discreta, "\n")
## P(X1 = 1 y X2 = 1) = 0.192
# Región: El punto (X1=1, X2=1) en el espacio muestral discreto
# Representación tabular ya mostrada en 'prob_conjunta'
Región: La región para \(P(X_1 = 1 \text{ y } X_2 = 1)\) es el punto específico \((x_1 = 1, x_2 = 1)\) en el espacio muestral discreto de los posibles valores de \((X_1, X_2)\), que son \(\{(0, 0), (0, 1), (1, 0), (1, 1), (2, 0), (2, 1)\}\). La probabilidad se concentra en estos puntos.
Consideremos un vector aleatorio \(\mathbf{X} = (X, Y)^T\) que consta de dos variables aleatorias, \(X\) e \(Y\), definidas en el mismo espacio muestral. Podemos extender estos conceptos a vectores aleatorios de mayor dimensión.
La función de probabilidad conjunta describe la probabilidad de que \(X\) tome un valor específico \(x\) e \(Y\) tome un valor específico \(y\) simultáneamente. La notación depende de si las variables son discretas o continuas.
La función de probabilidad marginal de una variable aleatoria (ya sea discreta o continua) en un vector aleatorio se obtiene integrando o sumando la función de probabilidad conjunta sobre los valores de la otra variable aleatoria.
La función de probabilidad condicional de una variable aleatoria dado que otra variable aleatoria ha tomado un valor específico describe cómo se modifica la probabilidad de la primera variable al conocer el valor de la segunda.
Problema: La siguiente tabla muestra la distribución de probabilidad conjunta de dos variables aleatorias discretas \(X\) e \(Y\):
X Y | 1 | 2 | 3 |
---|---|---|---|
0 | 0.10 | 0.15 | 0.05 |
1 | 0.20 | 0.30 | 0.20 |
a) Función de Probabilidad Conjunta: La tabla dada es la función de probabilidad conjunta \(P(X = x, Y = y)\).
b) Funciones de Probabilidad Marginal: * \(P(X = 0) = P(0, 1) + P(0, 2) + P(0, 3) = 0.10 + 0.15 + 0.05 = 0.30\) * \(P(X = 1) = P(1, 1) + P(1, 2) + P(1, 3) = 0.20 + 0.30 + 0.20 = 0.70\) * \(P(Y = 1) = P(0, 1) + P(1, 1) = 0.10 + 0.20 = 0.30\) * \(P(Y = 2) = P(0, 2) + P(1, 2) = 0.15 + 0.30 = 0.45\) * \(P(Y = 3) = P(0, 3) + P(1, 3) = 0.05 + 0.20 = 0.25\)
c) Funciones de Probabilidad Condicional: * \(P(X = 0 | Y = 1) = \frac{P(X = 0, Y = 1)}{P(Y = 1)} = \frac{0.10}{0.30} = \frac{1}{3}\) * \(P(Y = 2 | X = 1) = \frac{P(X = 1, Y = 2)}{P(X = 1)} = \frac{0.30}{0.70} = \frac{3}{7}\)
Solución en R:
# Función de probabilidad conjunta
prob_conjunta <- matrix(c(0.10, 0.15, 0.05, 0.20, 0.30, 0.20), nrow = 2, byrow = TRUE,
dimnames = list(X = 0:1, Y = 1:3))
print("Función de probabilidad conjunta:")
## [1] "Función de probabilidad conjunta:"
print(prob_conjunta)
## Y
## X 1 2 3
## 0 0.1 0.15 0.05
## 1 0.2 0.30 0.20
# Funciones de probabilidad marginal
prob_marginal_X <- rowSums(prob_conjunta)
print("Función de probabilidad marginal de X:")
## [1] "Función de probabilidad marginal de X:"
print(prob_marginal_X)
## 0 1
## 0.3 0.7
prob_marginal_Y <- colSums(prob_conjunta)
print("Función de probabilidad marginal de Y:")
## [1] "Función de probabilidad marginal de Y:"
print(prob_marginal_Y)
## 1 2 3
## 0.30 0.45 0.25
# Funciones de probabilidad condicional
prob_condicional_X_dado_Y1 <- prob_conjunta[, "1"] / prob_marginal_Y["1"]
print("P(X | Y = 1):")
## [1] "P(X | Y = 1):"
print(prob_condicional_X_dado_Y1)
## 0 1
## 0.3333333 0.6666667
prob_condicional_Y2_dado_X1 <- prob_conjunta["1", "2"] / prob_marginal_X["1"]
cat("P(Y = 2 | X = 1):", prob_condicional_Y2_dado_X1, "\n")
## P(Y = 2 | X = 1): 0.4285714
# Regiones: Los eventos son puntos discretos en el espacio (x, y).
# La tabla 'prob_conjunta' representa las probabilidades en estas regiones.
Regiones: Las probabilidades se definen en los puntos discretos (0, 1), (0, 2), (0, 3), (1, 1), (1, 2), (1, 3).
Problema: Sea la función de densidad de probabilidad conjunta de \(X\) e \(Y\) dada por: \[f(x, y) = \begin{cases} 1, & \text{si } 0 \le x \le 1 \text{ y } 0 \le y \le 1 \\ 0, & \text{en otro caso} \end{cases}\]
a) Función de Probabilidad Conjunta: La función dada es la PDF conjunta.
b) Funciones de Probabilidad Marginal: * \(f_X(x) = \int_{-\infty}^{\infty} f(x, y) dy = \int_{0}^{1} 1 dy = [y]_0^1 = 1\), para \(0 \le x \le 1\). * \(f_Y(y) = \int_{-\infty}^{\infty} f(x, y) dx = \int_{0}^{1} 1 dx = [x]_0^1 = 1\), para \(0 \le y \le 1\). Ambas son distribuciones uniformes en \([0, 1]\).
c) Funciones de Probabilidad Condicional: * \(f(x | y) = \frac{f(x, y)}{f_Y(y)} = \frac{1}{1} = 1\), para \(0 \le x \le 1\), dado \(0 \le y \le 1\). * \(f(y | x) = \frac{f(x, y)}{f_X(x)} = \frac{1}{1} = 1\), para \(0 \le y \le 1\), dado \(0 \le x \le 1\). Las distribuciones condicionales también son uniformes en \([0, 1]\), lo que indica que \(X\) e \(Y\) son independientes.
Solución en R:
# Función de densidad de probabilidad conjunta
f_conjunta_unif <- function(x, y) {
ifelse(x >= 0 & x <= 1 & y >= 0 & y <= 1, 1, 0)
}
# Funciones de densidad de probabilidad marginal (analíticamente obtenidas)
f_marginal_X_unif <- function(x) {
ifelse(x >= 0 & x <= 1, 1, 0)
}
f_marginal_Y_unif <- function(y) {
ifelse(y >= 0 & y <= 1, 1, 0)
}
# Funciones de densidad de probabilidad condicional (analíticamente obtenidas)
f_condicional_X_dado_y_unif <- function(x) {
ifelse(x >= 0 & x <= 1, 1, 0)
}
f_condicional_y_dado_x_unif <- function(y) {
ifelse(y >= 0 & y <= 1, 1, 0)
}
# Regiones:
# PDF Conjunta: Cuadrado unitario [0, 1] x [0, 1] con densidad 1.
# PDF Marginal X: Intervalo [0, 1] con densidad 1 en el eje x.
# PDF Marginal Y: Intervalo [0, 1] con densidad 1 en el eje y.
# PDF Condicional: Líneas con densidad 1 en los rangos correspondientes.
# Para dibujar las regiones:
library(ggplot2)
# Región conjunta
df_conjunta <- expand.grid(x = seq(0, 1, 0.01), y = seq(0, 1, 0.01))
df_conjunta$density <- apply(df_conjunta, 1, function(row) f_conjunta_unif(row['x'], row['y']))
plot_conjunta <- ggplot(df_conjunta, aes(x = x, y = y, fill = density)) +
geom_tile() +
scale_fill_gradient(low = "white", high = "blue") +
theme_minimal() +
labs(title = "PDF Conjunta Uniforme", x = "X", y = "Y")
print(plot_conjunta)
# Región marginal de X
df_marginal_X <- data.frame(x = seq(-0.5, 1.5, 0.01))
df_marginal_X$density <- sapply(df_marginal_X$x, f_marginal_X_unif)
plot_marginal_X <- ggplot(df_marginal_X, aes(x = x, y = density)) +
geom_line() +
geom_area(alpha = 0.5) +
theme_minimal() +
labs(title = "PDF Marginal de X", x = "X", y = "Densidad")
print(plot_marginal_X)
# Región marginal de Y (similar a X)
df_marginal_Y <- data.frame(y = seq(-0.5, 1.5, 0.01))
df_marginal_Y$density <- sapply(df_marginal_Y$y, f_marginal_Y_unif)
plot_marginal_Y <- ggplot(df_marginal_Y, aes(x = y, y = density)) +
geom_line() +
geom_area(alpha = 0.5) +
theme_minimal() +
labs(title = "PDF Marginal de Y", x = "Y", y = "Densidad")
print(plot_marginal_Y)
# Región condicional (ejemplo: dado Y = 0.5)
df_condicional_X <- data.frame(x = seq(-0.5, 1.5, 0.01))
df_condicional_X$density <- sapply(df_condicional_X$x, f_condicional_X_dado_y_unif)
plot_condicional_X <- ggplot(df_condicional_X, aes(x = x, y = density)) +
geom_line() +
geom_area(alpha = 0.5) +
theme_minimal() +
labs(title = "PDF Condicional de X dado Y = 0.5", x = "X", y = "Densidad")
print(plot_condicional_X)
Regiones: * PDF Conjunta: Un cuadrado en el plano \(xy\) de lados 0 a 1, con una altura de densidad constante de 1. * PDF Marginal de X: Un segmento de línea en el eje \(x\) desde 0 a 1, con una altura de densidad constante de 1. * PDF Marginal de Y: Un segmento de línea en el eje \(y\) desde 0 a 1, con una altura de densidad constante de 1. * PDF Condicional (ejemplo \(f(x|y=0.5)\)): Un segmento de línea vertical en \(y=0.5\), desde \(x=0\) a \(x=1\), con una altura de densidad constante de 1.
Problema: Sean \(X\) e \(Y\) dos variables aleatorias independientes con distribuciones exponenciales con tasas \(\lambda_1 = 1\) y \(\lambda_2 = 2\), respectivamente.
a) Función de Probabilidad Conjunta: \[f(x, y) = f_X(x) f_Y(y) = (1 e^{-x} I(x \ge 0)) (2 e^{-2y} I(y \ge 0)) = 2 e^{-x - 2y}, \quad \text{para } x \ge 0, y \ge 0\]
b) Funciones de Probabilidad Marginal: * \(f_X(x) = \int_{0}^{\infty} 2 e^{-x - 2y} dy = 2 e^{-x} \int_{0}^{\infty} e^{-2y} dy = 2 e^{-x} [-\frac{1}{2} e^{-2y}]_0^{\infty} = e^{-x}\), para \(x \ge 0\). * \(f_Y(y) = \int_{0}^{\infty} 2 e^{-x - 2y} dx = 2 e^{-2y} \int_{0}^{\infty} e^{-x} dx = 2 e^{-2y} [-e^{-x}]_0^{\infty} = 2\)
Consideremos un vector aleatorio \(\mathbf{X} = (X, Y)^T\) que consta de dos variables aleatorias, \(X\) e \(Y\), definidas en el mismo espacio muestral. Podemos extender estos conceptos a vectores aleatorios de mayor dimensión.
La función de distribución acumulada conjunta (CDF conjunta) de dos variables aleatorias \(X\) e \(Y\) se define como la probabilidad de que \(X\) tome un valor menor o igual a \(x\) e \(Y\) tome un valor menor o igual a \(y\) simultáneamente:
\[F_{XY}(x, y) = P(X \le x, Y \le y)\]
Propiedades de la CDF conjunta:
La función de distribución acumulada marginal (CDF marginal) de una variable aleatoria en un vector aleatorio se obtiene tomando el límite de la CDF conjunta cuando la otra variable tiende a infinito.
Para variables continuas, las funciones de densidad de probabilidad marginales se obtienen integrando la PDF conjunta: * \(f_X(x) = \int_{-\infty}^{\infty} f_{XY}(x, y) dy\) * \(f_Y(y) = \int_{-\infty}^{\infty} f_{XY}(x, y) dx\)
Para variables discretas, las funciones de masa de probabilidad marginales se obtienen sumando la PMF conjunta: * \(P(X = x) = \sum_y P(X = x, Y = y)\) * \(P(Y = y) = \sum_x P(X = x, Y = y)\)
La función de distribución acumulada condicional de una variable aleatoria dado que otra variable aleatoria ha tomado un valor específico o pertenece a un cierto rango describe cómo se modifica la distribución de la primera variable al conocer información sobre la segunda.
Función de distribución acumulada condicional de \(X\) dado \(Y = y\) (para el caso continuo, conceptualmente): \[F_{X|Y}(x|y) = P(X \le x | Y = y) = \int_{-\infty}^{x} f(t | y) dt = \int_{-\infty}^{x} \frac{f_{XY}(t, y)}{f_Y(y)} dt\] Para el caso discreto: \[P(X = x | Y = y) = \frac{P(X = x, Y = y)}{P(Y = y)}\] \[F_{X|Y}(x|y) = P(X \le x | Y = y) = \sum_{t \le x} P(X = t | Y = y) = \sum_{t \le x} \frac{P(X = t, Y = y)}{P(Y = y)}\]
Función de distribución acumulada condicional de \(Y\) dado \(X = x\) (para el caso continuo, conceptualmente): \[F_{Y|X}(y|x) = P(Y \le y | X = x) = \int_{-\infty}^{y} f(t | x) dt = \int_{-\infty}^{y} \frac{f_{XY}(x, t)}{f_X(x)} dt\] Para el caso discreto: \[P(Y = y | X = x) = \frac{P(X = x, Y = y)}{P(X = x)}\] \[F_{Y|X}(y|x) = P(Y \le y | X = x) = \sum_{t \le y} P(Y = t | X = x) = \sum_{t \le y} \frac{P(X = x, Y = t)}{P(X = x)}\]
Problema: Usando la misma tabla de probabilidad conjunta del Ejemplo 1 de la sección anterior:
X Y | 1 | 2 | 3 |
---|---|---|---|
0 | 0.10 | 0.15 | 0.05 |
1 | 0.20 | 0.30 | 0.20 |
a) Función de Distribución Conjunta: \(F_{XY}(x, y) = P(X \le x, Y \le y)\). Por ejemplo: * \(F_{XY}(0, 1) = P(X \le 0, Y \le 1) = P(X = 0, Y = 1) = 0.10\) * \(F_{XY}(0, 2) = P(X \le 0, Y \le 2) = P(X = 0, Y = 1) + P(X = 0, Y = 2) = 0.10 + 0.15 = 0.25\) * \(F_{XY}(1, 3) = P(X \le 1, Y \le 3) = P(X = 0, Y = 1) + P(X = 0, Y = 2) + P(X = 0, Y = 3) + P(X = 1, Y = 1) + P(X = 1, Y = 2) + P(X = 1, Y = 3) = 0.10 + 0.15 + 0.05 + 0.20 + 0.30 + 0.20 = 1.00\)
b) Funciones de Distribución Marginal: * \(F_X(x) = P(X \le x)\): * \(F_X(0) = P(X = 0) = 0.30\) * \(F_X(1) = P(X = 0) + P(X = 1) = 0.30 + 0.70 = 1.00\) * \(F_Y(y) = P(Y \le y)\): * \(F_Y(1) = P(Y = 1) = 0.30\) * \(F_Y(2) = P(Y = 1) + P(Y = 2) = 0.30 + 0.45 = 0.75\) * \(F_Y(3) = P(Y = 1) + P(Y = 2) + P(Y = 3) = 0.30 + 0.45 + 0.25 = 1.00\)
c) Funciones de Distribución Condicional: * \(F_{X|Y}(x|1) = P(X \le x | Y = 1)\): * \(F_{X|Y}(0|1) = P(X = 0 | Y = 1) = 1/3\) * \(F_{X|Y}(1|1) = P(X = 0 | Y = 1) + P(X = 1 | Y = 1) = 1/3 + (0.20 / 0.30) = 1/3 + 2/3 = 1\) * \(F_{Y|X}(y|1) = P(Y \le y | X = 1)\): * \(F_{Y|X}(1|1) = P(Y = 1 | X = 1) = 0.20 / 0.70 = 2/7\) * \(F_{Y|X}(2|1) = P(Y = 1 | X = 1) + P(Y = 2 | X = 1) = 2/7 + (0.30 / 0.70) = 2/7 + 3/7 = 5/7\) * \(F_{Y|X}(3|1) = P(Y = 1 | X = 1) + P(Y = 2 | X = 1) + P(Y = 3 | X = 1) = 2/7 + 3/7 + (0.20 / 0.70) = 2/7 + 3/7 + 2/7 = 1\)
Solución en R:
# Función de probabilidad conjunta (misma del ejemplo anterior)
prob_conjunta <- matrix(c(0.10, 0.15, 0.05, 0.20, 0.30, 0.20), nrow = 2, byrow = TRUE,
dimnames = list(X = 0:1, Y = 1:3))
# Función de distribución conjunta
cdf_conjunta <- function(x_val, y_val) {
prob <- 0
for (i in as.numeric(rownames(prob_conjunta))) {
if (i <= x_val) {
for (j in as.numeric(colnames(prob_conjunta))) {
if (j <= y_val) {
prob <- prob + prob_conjunta[as.character(i), as.character(j)]
}
}
}
}
return(prob)
}
cat("F_XY(0, 1) =", cdf_conjunta(0, 1), "\n")
## F_XY(0, 1) = 0.1
cat("F_XY(0, 2) =", cdf_conjunta(0, 2), "\n")
## F_XY(0, 2) = 0.25
cat("F_XY(1, 3) =", cdf_conjunta(1, 3), "\n")
## F_XY(1, 3) = 1
# Funciones de distribución marginal (a partir de la PMF marginal)
prob_marginal_X <- rowSums(prob_conjunta)
cdf_marginal_X <- cumsum(prob_marginal_X)
names(cdf_marginal_X) <- names(prob_marginal_X)
print("CDF Marginal de X:")
## [1] "CDF Marginal de X:"
print(cdf_marginal_X)
## 0 1
## 0.3 1.0
prob_marginal_Y <- colSums(prob_conjunta)
cdf_marginal_Y <- cumsum(prob_marginal_Y)
names(cdf_marginal_Y) <- names(prob_marginal_Y)
print("CDF Marginal de Y:")
## [1] "CDF Marginal de Y:"
print(cdf_marginal_Y)
## 1 2 3
## 0.30 0.75 1.00
# Funciones de distribución condicional (a partir de las PMF condicionales)
prob_condicional_X_dado_Y1 <- prob_conjunta[, "1"] / sum(prob_conjunta[, "1"])
cdf_condicional_X_dado_Y1 <- cumsum(prob_condicional_X_dado_Y1)
names(cdf_condicional_X_dado_Y1) <- rownames(prob_conjunta)
print("CDF Condicional de X dado Y = 1:")
## [1] "CDF Condicional de X dado Y = 1:"
print(cdf_condicional_X_dado_Y1)
## 0 1
## 0.3333333 1.0000000
prob_condicional_Y_dado_X1 <- prob_conjunta["1", ] / sum(prob_conjunta["1", ])
cdf_condicional_Y_dado_X1 <- cumsum(prob_condicional_Y_dado_X1)
names(cdf_condicional_Y_dado_X1) <- colnames(prob_conjunta)
print("CDF Condicional de Y dado X = 1:")
## [1] "CDF Condicional de Y dado X = 1:"
print(cdf_condicional_Y_dado_X1)
## 1 2 3
## 0.2857143 0.7142857 1.0000000
# Regiones: Los eventos son puntos discretos. La CDF evalúa la probabilidad acumulada hasta un punto.
Regiones: La CDF conjunta evalúa la probabilidad acumulada en el rectángulo inferior izquierdo definido por \((x, y)\). Las CDF marginales evalúan la probabilidad acumulada hasta un valor en el eje respectivo. Las CDF condicionales evalúan la probabilidad acumulada hasta un valor dado que la otra variable está fija.
Problema: Sea la función de densidad de probabilidad conjunta del Ejemplo 2 de la sección anterior: \[f_{XY}(x, y) = \begin{cases} 1, & \text{si } 0 \le x \le 1 \text{ y } 0 \le y \le 1 \\ 0, & \text{en otro caso} \end{cases}\]
a) Función de Distribución Conjunta: \[F_{XY}(x, y) = P(X \le x, Y \le y) = \int_{-\infty}^{y} \int_{-\infty}^{x} f_{XY}(u, v) du dv\] Para \(0 \le x \le 1\) y \(0 \le y \le 1\): \[F_{XY}(x, y) = \int_{0}^{y} \int_{0}^{x} 1 du dv = \int_{0}^{y} [u]_0^x dv = \int_{0}^{y} x dv = [xv]_0^y = xy\] En general: \[F_{XY}(x, y) = \begin{cases} 0, & \text{si } x < 0 \text{ o } y < 0 \\ x, & \text{si } 0 \le x \le 1 \text{ y } y \ge 1 \\ y, & \text{si } x \ge 1 \text{ y } 0 \le y \le 1 \\ xy, & \text{si } 0 \le x \le 1 \text{ y } 0 \le y \le 1 \\ 1, & \text{si } x \ge 1 \text{ y } y \ge 1 \end{cases}\]
b) Funciones de Distribución Marginal: * \(F_X(x) = \lim_{y \to \infty} F_{XY}(x, y) = \begin{cases} 0, & x < 0 \\ x, & 0 \le x \le 1 \\ 1, & x > 1 \end{cases}\) (Uniforme en [0, 1]) * \(F_Y(y) = \lim_{x \to \infty} F_{XY}(x, y) = \begin{cases} 0, & y < 0 \\ y, & 0 \le y \le 1 \\ 1, & y > 1 \end{cases}\) (Uniforme en [0, 1])
c) Funciones de Distribución Condicional: * \(f_Y(y) = 1\) para \(0 \le y \le 1\). * \(f(x | y) = f_{XY}(x, y) / f_Y(y) = 1 / 1 = 1\) para \(0 \le x \le 1\). * \(F_{X|Y}(x|y) = \int_{0}^{x} 1 dt = x\) para \(0 \le x \le 1\), dado \(0 \le y \le 1\).
Solución en R:
# CDF Conjunta Uniforme
cdf_conjunta_unif <- function(x, y) {
if (x < 0 | y < 0) {
return(0)
} else if (x >= 1 & y >= 1) {
return(1)
} else if (x >= 1 & y >= 0 & y <= 1) {
return(y)
} else if (x >= 0 & x <= 1 & y >= 1) {
return(x)
} else {
return(x * y)
}
}
cat("F_XY(0.5, 0.5) =", cdf_conjunta_unif(0.5, 0.5), "\n")
## F_XY(0.5, 0.5) = 0.25
cat("F_XY(1.5, 0.8) =", cdf_conjunta_unif(1.5, 0.8), "\n")
## F_XY(1.5, 0.8) = 0.8
Variables Aleatorias Discretas: Dos variables aleatorias discretas \(X\) e \(Y\) son independientes si y solo si su función de masa de probabilidad conjunta (PMF conjunta) es igual al producto de sus funciones de masa de probabilidad marginales (PMF marginales) para todos los posibles valores de \(x\) e \(y\): \[P(X = x, Y = y) = P(X = x) \times P(Y = y), \quad \forall x, y\]
Variables Aleatorias Continuas: Dos variables aleatorias continuas \(X\) e \(Y\) son independientes si y solo si su función de densidad de probabilidad conjunta (PDF conjunta) es igual al producto de sus funciones de densidad de probabilidad marginales (PDF marginales) para todos los posibles valores de \(x\) e \(y\): \[f_{XY}(x, y) = f_X(x) \times f_Y(y), \quad \forall x, y\]
Si \(X\) e \(Y\) son independientes, entonces:
Problema: Considera el lanzamiento de dos dados justos. Sea \(X\) el resultado del primer dado e \(Y\) el resultado del segundo dado. ¿Son \(X\) e \(Y\) independientes?
Solución en Markdown:
La probabilidad de obtener cualquier resultado \(x\) en el primer dado es \(P(X = x) = 1/6\) para \(x \in \{1, 2, 3, 4, 5, 6\}\). Similarmente, \(P(Y = y) = 1/6\) para \(y \in \{1, 2, 3, 4, 5, 6\}\).
La probabilidad conjunta de obtener el resultado \(x\) en el primer dado e \(y\) en el segundo dado es \(P(X = x, Y = y) = 1/36\) debido a que los lanzamientos son independientes.
Verificamos la condición de independencia: \[P(X = x) \times P(Y = y) = \frac{1}{6} \times \frac{1}{6} = \frac{1}{36} = P(X = x, Y = y)\] Como esta igualdad se cumple para todos los posibles valores de \(x\) e \(y\), las variables aleatorias \(X\) e \(Y\) son independientes.
Solución en R:
# Espacio muestral de cada dado
resultados <- 1:6
# Probabilidades marginales
prob_X <- rep(1/6, 6)
names(prob_X) <- paste0("X=", resultados)
prob_Y <- rep(1/6, 6)
names(prob_Y) <- paste0("Y=", resultados)
# Probabilidad conjunta (calculada como el producto de las marginales bajo independencia)
prob_conjunta_ind <- outer(prob_X, prob_Y)
# Probabilidad conjunta real (para dos dados justos)
espacio_muestral <- expand.grid(X = resultados, Y = resultados)
prob_conjunta_real <- matrix(1/nrow(espacio_muestral), nrow = 6, ncol = 6,
dimnames = list(paste0("X=", resultados), paste0("Y=", resultados)))
# Verificar si las probabilidades conjuntas son iguales
all.equal(prob_conjunta_ind, prob_conjunta_real)
## [1] TRUE
# Regiones: La independencia se refleja en la estructura del espacio muestral y las probabilidades.
# En este caso, cada celda de la tabla conjunta tiene la misma probabilidad.
Regiones: En el espacio muestral de \(6 \times 6\) resultados posibles, la probabilidad de cada punto es \(1/36\), que es el producto de las probabilidades marginales de las coordenadas correspondientes (\(1/6 \times 1/6\)).
Problema: Dada la siguiente distribución de probabilidad conjunta de \(X\) e \(Y\), ¿son \(X\) e \(Y\) independientes?
X Y | 0 | 1 |
---|---|---|
0 | 0.15 | 0.15 |
1 | 0.25 | 0.45 |
Solución en Markdown:
Primero, calculamos las probabilidades marginales: \(P(X = 0) = P(0, 0) + P(0, 1) = 0.15 + 0.15 = 0.30\) \(P(X = 1) = P(1, 0) + P(1, 1) = 0.25 + 0.45 = 0.70\) \(P(Y = 0) = P(0, 0) + P(1, 0) = 0.15 + 0.25 = 0.40\) \(P(Y = 1) = P(0, 1) + P(1, 1) = 0.15 + 0.45 = 0.60\)
Ahora, verificamos la condición de independencia para cada par \((x, y)\): * \(P(X = 0, Y = 0) = 0.15\), mientras que \(P(X = 0) P(Y = 0) = 0.30 \times 0.40 = 0.12\). Como \(0.15 \neq 0.12\), \(X\) e \(Y\) no son independientes.
Podríamos haber parado aquí, pero para ilustrar: * \(P(X = 0, Y = 1) = 0.15\), mientras que \(P(X = 0) P(Y = 1) = 0.30 \times 0.60 = 0.18\). Como \(0.15 \neq 0.18\). * \(P(X = 1, Y = 0) = 0.25\), mientras que \(P(X = 1) P(Y = 0) = 0.70 \times 0.40 = 0.28\). Como \(0.25 \neq 0.28\). * \(P(X = 1, Y = 1) = 0.45\), mientras que \(P(X = 1) P(Y = 1) = 0.70 \times 0.60 = 0.42\). Como \(0.45 \neq 0.42\).
Dado que la condición de independencia no se cumple para al menos un par de valores, \(X\) e \(Y\) no son independientes.
Solución en R:
# Función de probabilidad conjunta
prob_conjunta <- matrix(c(0.15, 0.15, 0.25, 0.45), nrow = 2, byrow = TRUE,
dimnames = list(X = 0:1, Y = 0:1))
print("Función de probabilidad conjunta:")
## [1] "Función de probabilidad conjunta:"
print(prob_conjunta)
## Y
## X 0 1
## 0 0.15 0.15
## 1 0.25 0.45
# Probabilidades marginales
prob_marginal_X <- rowSums(prob_conjunta)
print("Probabilidad marginal de X:")
## [1] "Probabilidad marginal de X:"
print(prob_marginal_X)
## 0 1
## 0.3 0.7
prob_marginal_Y <- colSums(prob_conjunta)
print("Probabilidad marginal de Y:")
## [1] "Probabilidad marginal de Y:"
print(prob_marginal_Y)
## 0 1
## 0.4 0.6
# Verificar independencia
prob_conjunta_ind <- outer(prob_marginal_X, prob_marginal_Y)
print("Producto de probabilidades marginales:")
## [1] "Producto de probabilidades marginales:"
print(prob_conjunta_ind)
## 0 1
## 0 0.12 0.18
## 1 0.28 0.42
# Comparar la probabilidad conjunta real con el producto de las marginales
all.equal(prob_conjunta, prob_conjunta_ind)
## [1] "Attributes: < Component \"dimnames\": names for target but not for current >"
## [2] "Mean relative difference: 0.12"
# Regiones: La falta de independencia se ve en que las probabilidades conjuntas no son el producto directo de las marginales.
Regiones: Si las variables fueran independientes, la probabilidad en cada celda de la tabla conjunta sería el producto de las probabilidades marginales de su fila y columna correspondientes. Al no ser iguales, las regiones de alta/baja probabilidad conjunta no se alinean directamente con las regiones de alta/baja probabilidad marginal de forma multiplicativa.
Problema: Sea la función de densidad de probabilidad conjunta de \(X\) e \(Y\) dada por: \[f_{XY}(x, y) = \begin{cases} 2, & \text{si } 0 \le x \le 1, 0 \le y \le 1, \text{ y } x + y \le 1 \\ 0, & \text{en otro caso} \end{cases}\] ¿Son \(X\) e \(Y\) independientes?
Solución en Markdown:
Primero, encontramos las funciones de densidad de probabilidad marginales: \[f_X(x) = \int_{-\infty}^{\infty} f_{XY}(x, y) dy = \int_{0}^{1 - x} 2 dy = [2y]_0^{1 - x} = 2(1 - x), \quad \text{para } 0 \le x \le 1\] \[f_Y(y) = \int_{-\infty}^{\infty} f_{XY}(x, y) dx = \int_{0}^{1 - y} 2 dx = [2x]_0^{1 - y} = 2(1 - y), \quad \text{para } 0 \le y \le 1\]
Ahora, verificamos si \(f_{XY}(x, y) = f_X(x) f_Y(y)\): \[f_X(x) f_Y(y) = (2(1 - x)) (2(1 - y)) = 4(1 - x)(1 - y)\] Esto no es igual a \(f_{XY}(x, y) = 2\) en la región \(0 \le x \le 1, 0 \le y \le 1, x + y \le 1\). Por ejemplo, si \(x = 0.1\) y \(y = 0.1\), entonces \(f_{XY}(0.1, 0.1) = 2\), pero \(f_X(0.1) f_Y(0.1) = 4(0.9)(0.9) = 3.24\).
Dado que la condición de independencia no se cumple, \(X\) e \(Y\) no son independientes.
Solución en R:
# Función de densidad de probabilidad conjunta
f_conjunta <- function(x, y) {
ifelse(x >= 0 & x <= 1 & y >= 0 & y <= 1 & x + y <= 1, 2, 0)
}
# Funciones de densidad de probabilidad marginal (analíticamente obtenidas)
f_marginal_X <- function(x) {
ifelse(x >= 0 & x <= 1, 2 * (1 - x), 0)
}
f_marginal_Y <- function(y) {
ifelse(y >= 0 & y <= 1, 2 * (1 - y), 0)
}
# Verificar independencia en un punto
x_val <- 0.1
y_val <- 0.1
conjunta_val <- f_conjunta(x_val, y_val)
marginal_prod_val <- f_marginal_X(x_val) * f_marginal_Y(y_val)
cat("f_XY(", x_val, ",", y_val, ") =", conjunta_val, "\n")
## f_XY( 0.1 , 0.1 ) = 2
cat("f_X(", x_val, ") * f_Y(", y_val, ") =", marginal_prod_val, "\n")
## f_X( 0.1 ) * f_Y( 0.1 ) = 3.24
cat("¿Son iguales?", conjunta_val == marginal_prod_val, "\n")
## ¿Son iguales? FALSE
# Regiones:
# PDF Conjunta: Densidad constante sobre un triángulo.
# PDF Marginales: Densidad lineal sobre un intervalo.
# La forma de la región conjunta (triángulo) restringe los valores de X e Y de forma dependiente.
# Para dibujar las regiones:
library(ggplot2)
library(dplyr)
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
# Región conjunta
df_conjunta <- expand.grid(x = seq(0, 1, 0.01), y = seq(0, 1, 0.01)) %>%
filter(x + y <= 1) %>%
mutate(density = 2)
plot_conjunta <- ggplot(df_conjunta, aes(x = x, y = y, fill = density)) +
geom_tile() +
scale_fill_gradient(low = "white", high = "blue", limits = c(0, 2), na.value = "white") +
theme_minimal() +
labs(title = "PDF Conjunta (Triángulo)", x = "X", y = "Y")
print(plot_conjunta)
# Región marginal de X
df_marginal_X <- data.frame(x = seq(0, 1, 0.01)) %>%
mutate(density = f_marginal_X(x))
plot_marginal_X <- ggplot(df_marginal_X, aes(x = x, y = density)) +
geom_line() +
geom_area(alpha = 0.5) +
theme_minimal() +
labs(title = "PDF Marginal de X", x = "X", y = "Densidad")
print(plot_marginal_X)
# Región marginal de Y (similar a X)
df_marginal_Y <- data.frame(y = seq(0, 1, 0.01)) %>%
mutate(density = f_marginal_Y(y))
plot_marginal_Y <- ggplot(df_marginal_Y, aes(x = y, y = density)) +
geom_line() +
geom_area(alpha = 0.5) +
theme_minimal() +
labs(title = "PDF Marginal de Y", x = "Y", y = "Densidad")
print(plot_marginal_Y)
# La región conjunta (triángulo) no es un producto cartesiano de las regiones marginales proyectadas en los ejes con densidades multiplicadas.
Regiones: La región donde la PDF conjunta es no nula es un triángulo. Si \(X\) e \(Y\) fueran independientes, esta región debería ser un rectángulo (el producto cartesiano de sus soportes marginales). Además, la densidad conjunta constante no es igual al producto de las densidades marginales lineales.
Problema: Sean \(X \sim Exp(\lambda_1 = 1)\) e \(Y \sim Exp(\lambda_2 = 2)\) independientes. Verificar su independencia usando las PDFs.
Solución en Markdown:
Las funciones de densidad de probabilidad marginales son: \[f_X(x) = e^{-x}, \quad \text{para } x \ge 0\] \[f_Y(y) = 2 e^{-2y}, \quad \text{para } y \ge 0\]
La función de densidad de probabilidad conjunta para variables independientes es el producto de las marginales: \[f_{XY}(x, y) = f_X(x) f_Y(y) = (e^{-x}) (2 e^{-2y}) = 2 e^{-x - 2y}, \quad \text{para } x \ge 0, y \ge 0\]
Si tuviéramos una función de densidad conjunta dada y encontráramos que se factoriza de esta forma (una función solo de \(x\) multiplicada por una función solo de \(y\)), entonces las variables serían independientes. En este caso, por construcción, \(X\) e \(Y\) son independientes.
Solución en R:
# Funciones de densidad de probabilidad marginal
f_marginal_X <- function(x) {
ifelse(x >= 0, dexp(x, rate = 1), 0)
}
f_marginal_Y <- function(y) {
ifelse(y >= 0, dexp(y, rate = 2), 0)
}
# Función de densidad de probabilidad conjunta bajo independencia
f_conjunta_ind <- function(x, y) {
f_marginal_X(x) * f_marginal_Y(y)
}
# Ejemplo de evaluación
x_val <- 0.5
y_val <- 1
conjunta_val <- f_conjunta_ind(x_val, y_val)
marginal_prod_val <- f_marginal_X(x_val) * f_marginal_Y(y_val)
cat("f_XY(", x_val, ",", y_val, ") =", conjunta_val, "\n")
## f_XY( 0.5 , 1 ) = 0.16417
cat("f_X(", x_val, ") * f_Y(", y_val, ") =", marginal_prod_val, "\n")
## f_X( 0.5 ) * f_Y( 1 ) = 0.16417
cat("¿Son iguales?", conjunta_val == marginal_prod_val, "\n")
## ¿Son iguales? TRUE
# Regiones:
# PDF Marginal de X: Decae exponencialmente para x >= 0.
# PDF Marginal de Y: Decae exponencialmente (más rápido) para y >= 0.
# PDF Conjunta: El producto de estas dos exponenciales sobre el primer cuadrante.
# Para dibujar las regiones:
library(ggplot2)
library(dplyr)
# Región conjunta
df_conjunta <- expand.grid(x = seq(0, 3, 0.05), y = seq(0, 3, 0.05)) %>%
mutate(density = f_conjunta_ind(x, y))
plot_conjunta <- ggplot(df_conjunta, aes(x = x, y = y, fill = density)) +
geom_tile() +
scale_fill_gradient(low = "white", high = "blue") +
theme_minimal() +
labs(title = "PDF Conjunta (Exponenciales Indep.)", x = "X", y = "Y")
print(plot_conjunta)
# Región marginal de X
df_marginal_X <- data.frame(x = seq(0, 3, 0.05)) %>%
mutate(density = f_marginal_X(x))
plot_marginal_X <- ggplot(df_marginal_X, aes(x = x, y = density)) +
geom_line() +
geom_area(alpha = 0.5) +
theme_minimal() +
labs(title = "PDF Marginal de X (Exp(1))", x = "X", y = "Densidad")
print(plot_marginal_X)
# Región marginal de Y
df_marginal_Y <- data.frame(y = seq(0, 3, 0.05)) %>%
mutate(density = f_marginal_Y(y))
plot_marginal_Y <- ggplot(df_marginal_Y, aes(x = y, y = density)) +
geom_line() +
geom_area(alpha = 0.5) +
theme_minimal() +
labs(title = "PDF Marginal de Y (Exp(2))", x = "Y", y = "Densidad")
print(plot_marginal_Y)
# La densidad conjunta en cada punto (x, y) es el producto de la altura de la curva marginal de X en x y la altura de la curva marginal de Y en y.