Ver código
#install.packages("gt")
#library(knitr)
#library(kableExtra)
#library(magrittr)
#library(tidyverse)
#library(ggplot2)
#library(dplyr)
[@tidyverse; @kableExtra; @dplyr]
#install.packages("gt")
#library(knitr)
#library(kableExtra)
#library(magrittr)
#library(tidyverse)
#library(ggplot2)
#library(dplyr)Los modelos discretos de probabilidad son herramientas matemáticas utilizadas en estadística y probabilidad para representar situaciones aleatorias en las que los resultados posibles pueden contarse de manera exacta.
Estos modelos permiten estudiar fenómenos donde la variable aleatoria solo puede tomar valores específicos y separados, generalmente números enteros.
Se utilizan en áreas como:
estadística,
economía,
ingeniería,
medicina,
administración,
inteligencia artificial.
Ejemplo sencillo
Si lanzas una moneda:
puede salir cara o sello,
no sabes exactamente qué ocurrirá,
pero sí puedes calcular la probabilidad.
Ese comportamiento se estudia con un modelo probabilístico.
Elementos principales
Un modelo probabilístico tiene:
Experimento aleatorio: acción que produce resultados inciertos.
Espacio muestral: conjunto de posibles resultados.
Variable aleatoria: valor numérico asociado al resultado.
Probabilidad: posibilidad de ocurrencia de cada resultado.
Distribución Bernoulli
La distribución Bernoulli es el modelo discreto más simple.
Describe experimentos aleatorios donde solo existen dos posibles resultados:
éxito, fracaso.
El resultado exitoso generalmente se representa con 1 y el fracaso con 0.
-Solo hay un ensayo. -Existen dos resultados posibles. -La probabilidad de éxito permanece constante.
Distribución Binomial
La distribución binomial se utiliza cuando se realizan varios ensayos Bernoulli independientes y se desea calcular el número total de éxitos.
Características
Número fijo de ensayos. Los ensayos son independientes. Solo existen éxito o fracaso. La probabilidad de éxito es constante.
Distribución de Poisson
La distribución de Poisson modela el número de veces que ocurre un evento dentro de un intervalo de tiempo, espacio o área.
Características Los eventos ocurren aleatoriamente. Las ocurrencias son independientes. Se analiza un intervalo fijo. Se trabaja con promedios de ocurrencia.
Distribución Hipergeométrica
La distribución hipergeométrica se utiliza cuando las extracciones se realizan sin reemplazo dentro de una población finita.
Características La población es limitada. No hay reemplazo. La probabilidad cambia en cada extracción.
Ejercicio 1.
Se sabe que el 60% de los alumnos de una universidad asisten a clases el viernes. En una encuesta a 8 alumnos de la universidad. ¿Cuál es la probabilidad de que a) por lo menos siete asistan a clase el viernes? b) por lo menos dos no asistan a clase.
Este ejercicio se resuelve con una Distribución Binomial:
-Inciso a) P(X >= 7)
n <- 8
p <- 0.60
p_x7 <- dbinom(7, size = n, prob = p)
p_x8 <- dbinom(8, size = n, prob = p)
p_a <- p_x7 + p_x8
cat("P(X = 7) =", round(p_x7, 4), "\n")P(X = 7) = 0.0896
cat("P(X = 8) =", round(p_x8, 4), "\n")P(X = 8) = 0.0168
cat("P(X >= 7) =", round(p_a, 4), "\n")P(X >= 7) = 0.1064
p_a2 <- pbinom(6, size = n, prob = p, lower.tail = FALSE)
cat("Verificacion pbinom:", round(p_a2, 4), "\n")Verificacion pbinom: 0.1064
library(kableExtra)
# Crear tabla
tabla <- data.frame(
Evento = c("P(X = 7)",
"P(X = 8)",
"P(X >= 7)",
"Verificacion con pbinom()"),
Resultado = c(round(p_x7, 4),
round(p_x8, 4),
round(p_a, 4),
round(p_a2, 4))
)
# Generar tabla con colores
kable(tabla,
caption = "Resultados de la distribución binomial",
align = "c") %>%
kable_styling(
bootstrap_options = c("striped", "bordered", "hover"),
full_width = FALSE
) %>%
row_spec(0,
bold = TRUE,
color = "white",
background = "darkblue")| Evento | Resultado |
|---|---|
| P(X = 7) | 0.0896 |
| P(X = 8) | 0.0168 |
| P(X >= 7) | 0.1064 |
| Verificacion con pbinom() | 0.1064 |
-Inciso b) P(Y >= 2)
q <- 1 - p
p_y0 <- dbinom(0, size = n, prob = q)
p_y1 <- dbinom(1, size = n, prob = q)
p_b <- 1 - (p_y0 + p_y1)
cat("P(Y = 0) =", round(p_y0, 4), "\n")P(Y = 0) = 0.0168
cat("P(Y = 1) =", round(p_y1, 4), "\n")P(Y = 1) = 0.0896
cat("P(Y >= 2) =", round(p_b, 4), "\n")P(Y >= 2) = 0.8936
p_b2 <- pbinom(1, size = n, prob = q, lower.tail = FALSE)
cat("Verificacion pbinom:", round(p_b2, 4), "\n")Verificacion pbinom: 0.8936
# Crear tabla
tabla3 <- data.frame(
Evento = c("P(Y = 0)",
"P(Y = 1)",
"P(Y >= 2)",
"Verificacion con pbinom()"),
Resultado = c(round(p_y0, 4),
round(p_y1, 4),
round(p_b, 4),
round(p_b2, 4))
)
# Mostrar tabla con colores y bordes
kable(tabla3,
caption = "Resultados de probabilidades para P(Y >= 2)",
align = "c") %>%
kable_styling(
bootstrap_options = c("striped", "bordered", "hover"),
full_width = FALSE
) %>%
row_spec(0,
bold = TRUE,
color = "white",
background = "darkblue") %>%
row_spec(1:nrow(tabla3),
background = c("#E8F8F5", "#D1F2EB"))| Evento | Resultado |
|---|---|
| P(Y = 0) | 0.0168 |
| P(Y = 1) | 0.0896 |
| P(Y >= 2) | 0.8936 |
| Verificacion con pbinom() | 0.8936 |
-Grafica
x <- 0:n
prob_x <- dbinom(x, size = n, prob = p)library(ggplot2)
media <- 4.8
desv <- 1.385641
# Datos para la curva normal
x <- seq(0, 10, length = 500)
y <- dnorm(x, mean = media, sd = desv)
datos <- data.frame(x, y)
# Gráfica
ggplot(datos, aes(x = x, y = y)) +
# Área sombreada
geom_area(
data = subset(datos, x >= 6.5),
fill = "#2E8B57",
alpha = 0.5
) +
# Curva Gaussiana
geom_line(
color = "#0B3C5D",
linewidth = 1.8
) +
# Línea de la media
geom_vline(
xintercept = media,
linetype = "dashed",
color = "#C0392B",
linewidth = 1.2
) +
# Etiquetas
labs(
title = "Distribución Binomial Aproximada por la Campana de Gauss",
subtitle = "Probabilidad de asistencia de estudiantes",
x = "Número de estudiantes que asisten",
y = "Densidad de probabilidad"
) +
# Tema profesional
theme_minimal(base_size = 15) +
theme(
plot.title = element_text(
face = "bold",
size = 18,
hjust = 0.5
),
plot.subtitle = element_text(
hjust = 0.5,
size = 13
),
axis.title = element_text(
face = "bold"
),
panel.grid.minor = element_blank()
)
Esto indica que existe aproximadamente un 10.64% de probabilidad de que siete o más estudiantes asistan a clases el viernes.
Además, mediante la aproximación con la Campana de Gauss o distribución normal, se representó gráficamente el comportamiento probabilístico de la variable aleatoria, permitiendo visualizar de manera más clara la concentración de probabilidades alrededor de la media.
La gráfica mostró que la mayor concentración de estudiantes asistentes se encuentra cerca del valor esperado: lo cual significa que, en promedio, se espera que aproximadamente 5 estudiantes asistan a clases los viernes.
Ejercicio 2.
Según los registros universitarios fracasa el 5% de los alumnos de cierto curso. ¿cuál es la probabilidad de que, de 6 estudiantes seleccionados al azar, menos de 3 hayan fracasado?
Identificación de variables
n = 6 (estudiantes seleccionados)
p = 0,05 (probabilidad de fracaso)
X = número de alumnos que fracasan
Se busca: P(X < 3) = P(X = 0) + P(X = 1) + P(X = 2)
n <- 6 p <- 0.05
-Probabilidades individuales
p_x0 <- dbinom(0, size = n, prob = p)
p_x1 <- dbinom(1, size = n, prob = p)
p_x2 <- dbinom(2, size = n, prob = p)
p_menor3 <- p_x0 + p_x1 + p_x2
cat("P(X = 0) =", round(p_x0, 4), "\n")P(X = 0) = 7e-04
cat("P(X = 1) =", round(p_x1, 4), "\n")P(X = 1) = 0.0079
cat("P(X = 2) =", round(p_x2, 4), "\n")P(X = 2) = 0.0413
cat("P(X < 3) =", round(p_menor3, 4), "\n")P(X < 3) = 0.0498
p_ver <- pbinom(2, size = n, prob = p)
cat("Verificacion pbinom:", round(p_ver, 4), "\n")Verificacion pbinom: 0.0498
# Crear tabla
tabla2 <- data.frame(
Evento = c("P(X = 0)",
"P(X = 1)",
"P(X = 2)",
"P(X < 3)",
"Verificacion con pbinom()"),
Resultado = c(round(p_x0, 4),
round(p_x1, 4),
round(p_x2, 4),
round(p_menor3, 4),
round(p_ver, 4))
)
# Mostrar tabla con colores y bordes
kable(tabla2,
caption = "Resultados de probabilidades para P(X < 3)",
align = "c") %>%
kable_styling(
bootstrap_options = c("striped", "bordered", "hover"),
full_width = FALSE
) %>%
row_spec(0,
bold = TRUE,
color = "white",
background = "darkred") %>%
row_spec(1:nrow(tabla2),
background = c("#FDEDEC", "#FADBD8"))| Evento | Resultado |
|---|---|
| P(X = 0) | 0.0007 |
| P(X = 1) | 0.0079 |
| P(X = 2) | 0.0413 |
| P(X < 3) | 0.0498 |
| Verificacion con pbinom() | 0.0498 |
-Medidas descriptivas:
media <- n * p
varianza <- n * p * (1 - p)
desv_est <- sqrt(varianza)
asimetria <- (1 - 2*p) / sqrt(n*p*(1-p))
curtosis <- (1 - 6*p*(1-p)) / (n*p*(1-p))
cat("Media:", round(media, 4), "\n")Media: 4.8
cat("Varianza:", round(varianza, 4), "\n")Varianza: 1.92
cat("Desviacion estandar:", round(desv_est, 4), "\n")Desviacion estandar: 1.3856
cat("Asimetria:", round(asimetria, 4), "\n")Asimetria: -0.1443
cat("Curtosis excesiva:", round(curtosis, 4), "\n")Curtosis excesiva: -0.2292
# Crear tabla
tabla4 <- data.frame(
Medida = c("Media",
"Varianza",
"Desviacion estandar",
"Asimetria",
"Curtosis excesiva"),
Resultado = c(round(media, 4),
round(varianza, 4),
round(desv_est, 4),
round(asimetria, 4),
round(curtosis, 4))
)
# Mostrar tabla con colores y bordes
kable(tabla4,
caption = "Medidas estadísticas de la distribución binomial",
align = "c") %>%
kable_styling(
bootstrap_options = c("striped", "bordered", "hover"),
full_width = FALSE
) %>%
row_spec(0,
bold = TRUE,
color = "white",
background = "darkred") %>%
row_spec(1:nrow(tabla4),
background = c("#F4ECF7", "#E8DAEF"))| Medida | Resultado |
|---|---|
| Media | 4.8000 |
| Varianza | 1.9200 |
| Desviacion estandar | 1.3856 |
| Asimetria | -0.1443 |
| Curtosis excesiva | -0.2292 |
-Grafica
media <- n * p
desv <- sqrt(n * p * (1 - p))
# Valores para curva
x <- seq(0, 6, length = 1000)
# Densidad normal
y <- dnorm(x,
mean = media,
sd = desv)
datos <- data.frame(x, y)
# Gráfica
ggplot(datos, aes(x = x, y = y)) +
# Área sombreada
geom_area(
data = subset(datos, x <= 2.5),
fill = "#2E8B57",
alpha = 0.5
) +
# Curva
geom_line(
color = "#154360",
linewidth = 1.8
) +
# Media
geom_vline(
xintercept = media,
color = "#C0392B",
linetype = "dashed",
linewidth = 1.2
) +
labs(
title = "Distribución Binomial Aproximada",
subtitle = "Probabilidad de estudiantes reprobados",
x = "Número de estudiantes que fracasan",
y = "Densidad de probabilidad"
) +
theme_minimal(base_size = 15)
Con base en el modelo de distribución binomial aplicado (n = 6, p = 0,05), se puede concluir lo siguiente: P(X < 3): La probabilidad de que menos de 3 estudiantes hayan fracasado es aproximadamente 0,9978 (99,78%), lo que indica que es casi seguro que en un grupo de 6 alumnos seleccionados al azar, a lo sumo 2 hayan reprobado el curso. Este resultado es coherente con la baja tasa de fracaso del 5%, lo que significa que la gran mayoría de los estudiantes aprueba el curso. La distribución está fuertemente sesgada hacia la derecha, con una media de apenas 0,30 alumnos esperados en fracaso por grupo, y una asimetría positiva que confirma que los valores altos de fracaso son extremadamente poco frecuentes. En conclusión, el modelo binomial demuestra que, dada la baja probabilidad de fracaso, es prácticamente seguro observar menos de 3 reprobados en muestras pequeñas de 6 estudiantes.
Ejercicio 3.
En promedio, el 10% de las varillas de madera usadas en cierto producto presentan problemas para ser usadas. ¿cuál es la probabilidad de que en un paquete de 15 varillas, a) encuentre exactamente 5 con defectos. b) por lo menos 10 estén nudosas, c) no más de 4 estén nudosas.
Identificación de variables
n = 15 (varillas en el paquete) p = 0,10 (probabilidad de defecto) X = número de varillas con defectos Se busca:
P(X = 5)
P(X ≥ 10)
P(X ≤ 4)
n <- 15
p <- 0.10
# a) Exactamente 5 con defectos
p_x5 <- dbinom(5, size = n, prob = p)
cat("a) P(X = 5) =", round(p_x5, 4), "\n")a) P(X = 5) = 0.0105
# b) Por lo menos 10 nudosas
p_x10 <- pbinom(9, size = n, prob = p, lower.tail = FALSE)
cat("b) P(X >= 10) =", round(p_x10, 4), "\n")b) P(X >= 10) = 0
# c) No mas de 4 nudosas
p_x4 <- pbinom(4, size = n, prob = p)
cat("c) P(X <= 4) =", round(p_x4, 4), "\n")c) P(X <= 4) = 0.9873
# Crear tabla
tabla5 <- data.frame(
Inciso = c("a)", "b)", "c)"),
Evento = c("P(X = 5)",
"P(X >= 10)",
"P(X <= 4)"),
Resultado = c(round(p_x5, 4),
round(p_x10, 4),
round(p_x4, 4))
)
# Mostrar tabla con colores y bordes
kable(tabla5,
caption = "Resultados de probabilidades binomiales",
align = "c") %>%
kable_styling(
bootstrap_options = c("striped", "bordered", "hover"),
full_width = FALSE
) %>%
row_spec(0,
bold = TRUE,
color = "white",
background = "darkorange") %>%
row_spec(1:nrow(tabla5),
background = c("#FEF5E7", "#FDEBD0"))| Inciso | Evento | Resultado |
|---|---|---|
| a) | P(X = 5) | 0.0105 |
| b) | P(X >= 10) | 0.0000 |
| c) | P(X <= 4) | 0.9873 |
media <- n * p
varianza <- n * p * (1 - p)
desv_est <- sqrt(varianza)
asimetria <- (1 - 2*p) / sqrt(n*p*(1-p))
curtosis <- (1 - 6*p*(1-p)) / (n*p*(1-p))
cat("Media:", round(media, 4), "\n")Media: 1.5
cat("Varianza:", round(varianza, 4), "\n")Varianza: 1.35
cat("Desviacion estandar:", round(desv_est, 4), "\n")Desviacion estandar: 1.1619
cat("Asimetria:", round(asimetria, 4), "\n")Asimetria: 0.6885
cat("Curtosis excesiva:", round(curtosis, 4), "\n")Curtosis excesiva: 0.3407
Grafico
media <- n * p
desv <- sqrt(n * p * (1 - p))
# Valores para curva
x <- seq(0, 15, length = 1000)
# Densidad normal
y <- dnorm(x,
mean = media,
sd = desv)
datos <- data.frame(x, y)
# Gráfica
ggplot(datos, aes(x = x, y = y)) +
# Área sombreada
geom_area(
data = subset(datos, x <= 4.5),
fill = "#2E8B57",
alpha = 0.5
) +
# Curva Gaussiana
geom_line(
color = "#154360",
linewidth = 1.8
) +
# Línea media
geom_vline(
xintercept = media,
color = "#C0392B",
linetype = "dashed",
linewidth = 1.2
) +
labs(
title = "Distribución Binomial Aproximada",
subtitle = "Varillas defectuosas",
x = "Número de varillas defectuosas",
y = "Densidad de probabilidad"
) +
theme_minimal(base_size = 15)
Conclusión en el modelo de distribución binomial aplicado (n = 15, p = 0,10), se puede concluir lo siguiente:
P(X = 5): La probabilidad de encontrar exactamente 5 varillas con defectos es aproximadamente 0,0105 (1,05%). Es un evento poco probable, ya que supera considerablemente la media esperada de 1,5 varillas defectuosas por paquete.
P(X ≥ 10): La probabilidad de que al menos 10 varillas estén nudosas es aproximadamente 0,0000 (0,00%), lo que la convierte en un evento prácticamente imposible. Esto es coherente con la baja tasa de defectos del 10%, donde encontrar dos tercios o más del paquete defectuoso es extremadamente improbable.
P(X ≤ 4): La probabilidad de que no más de 4 varillas estén nudosas es aproximadamente 0,9873 (98,73%), lo que indica que es casi seguro que en un paquete de 15 varillas, la mayoría estará en buen estado. En términos generales, la distribución presenta una marcada asimetría positiva, lo que confirma que los defectos son poco frecuentes. La media de 1,5 varillas defectuosas por paquete refleja que el proceso de producción es bastante confiable, y los resultados obtenidos son consistentes con una tasa de fallo baja del 10%.
Ejercicio 4.
Una compañía de seguros considera que alrededor del 25% de los carros se accidentan cada año. ¿Cuál es la probabilidad de que por lo menos 3 de una muestra de 7 vehículos asegurados, se haya accidentado?
Otro problema binomial! Aquí la solución completa:
n = 7 vehículos p = 0.25 probabilidad de accidente Buscamos P(X ≥ 3)
P(X >= 3): al menos 3 accidentados
Usando complemento: P(X >= 3) = 1 - P(X <= 2)
n <- 7
p <- 0.25
p_x0 <- dbinom(0, size = n, prob = p)
p_x1 <- dbinom(1, size = n, prob = p)
p_x2 <- dbinom(2, size = n, prob = p)
p_resultado <- 1 - (p_x0 + p_x1 + p_x2)
cat("P(X = 0) =", round(p_x0, 4), "\n")P(X = 0) = 0.1335
cat("P(X = 1) =", round(p_x1, 4), "\n")P(X = 1) = 0.3115
cat("P(X = 2) =", round(p_x2, 4), "\n")P(X = 2) = 0.3115
cat("P(X <= 2) =", round(p_x0 + p_x1 + p_x2, 4), "\n")P(X <= 2) = 0.7564
cat("P(X >= 3) = 1 - P(X <= 2) =", round(p_resultado, 4), "\n")P(X >= 3) = 1 - P(X <= 2) = 0.2436
# Crear tabla
tabla7 <- data.frame(
Evento = c("P(X = 0)",
"P(X = 1)",
"P(X = 2)",
"P(X <= 2)",
"P(X >= 3)"),
Resultado = c(round(p_x0, 4),
round(p_x1, 4),
round(p_x2, 4),
round(p_x0 + p_x1 + p_x2, 4),
round(p_resultado, 4))
)
# Mostrar tabla con colores y bordes
kable(tabla7,
caption = "Resultados de probabilidades binomiales",
align = "c") %>%
kable_styling(
bootstrap_options = c("striped", "bordered", "hover"),
full_width = FALSE
) %>%
row_spec(0,
bold = TRUE,
color = "white",
background = "darkslateblue") %>%
row_spec(1:nrow(tabla7),
background = c("#EBF5FB", "#D6EAF8"))| Evento | Resultado |
|---|---|
| P(X = 0) | 0.1335 |
| P(X = 1) | 0.3115 |
| P(X = 2) | 0.3115 |
| P(X <= 2) | 0.7564 |
| P(X >= 3) | 0.2436 |
media <- n * p
desv <- sqrt(n * p * (1 - p))
# Valores para curva
x <- seq(0, 7, length = 1000)
# Densidad normal
y <- dnorm(x,
mean = media,
sd = desv)
# Data frame
datos <- data.frame(x, y)
# Gráfica
ggplot(datos, aes(x = x, y = y)) +
# Área sombreada
geom_area(
data = subset(datos, x >= 2.5),
fill = "#2E8B57",
alpha = 0.5
) +
# Curva Gaussiana
geom_line(
color = "#154360",
linewidth = 1.8
) +
# Línea media
geom_vline(
xintercept = media,
color = "#C0392B",
linetype = "dashed",
linewidth = 1.2
) +
labs(
title = "Distribución Binomial Aproximada",
subtitle = "Vehículos accidentados",
x = "Número de vehículos accidentados",
y = "Densidad de probabilidad"
) +
theme_minimal(base_size = 15)
La probabilidad de que al menos 3 vehículos de una muestra de 7 se hayan accidentado es 0.2436 (24.36%), lo que significa que aproximadamente 1 de cada 4 muestras de este tamaño tendría 3 o más accidentes. Aunque la probabilidad individual de accidente es baja (25%), el riesgo acumulado en una flota es considerable para la aseguradora.
Ejercicio 5.
Los registros muestran que 30% de los pacientes admitidos en una clínica, no pagan sus facturas y eventualmente se condona la deuda. Suponga que llegan 4 nuevos pacientes a la clínica, cual es la probabilidad de que se tenga que perdonar la deuda de uno de los cuatro. b) los cuatro pacientes paguen sus facturas
Datos n = 4 pacientes p = 0.30 probabilidad de no pagar a) P(X = 1) — exactamente 1 no paga b) P(X = 0) — ninguno deja de pagar (los 4 pagan)
n <- 4
p <- 0.30
p_a <- dbinom(1, size = n, prob = p)
cat("P(X = 1) =", round(p_a, 4), "\n")P(X = 1) = 0.4116
# Crear tabla
tabla8 <- data.frame(
Evento = c("P(X = 1)"),
Resultado = c(round(p_a, 4))
)
# Mostrar tabla con colores y bordes
kable(tabla8,
caption = "Resultado de la probabilidad binomial",
align = "c") %>%
kable_styling(
bootstrap_options = c("striped", "bordered", "hover"),
full_width = FALSE
) %>%
row_spec(0,
bold = TRUE,
color = "white",
background = "darkmagenta") %>%
row_spec(1:nrow(tabla8),
background = "#F5EEF8")| Evento | Resultado |
|---|---|
| P(X = 1) | 0.4116 |
p_b <- dbinom(0, size = n, prob = p)
cat("P(X = 0) =", round(p_b, 4), "\n")P(X = 0) = 0.2401
x <- 0:n
prob_x <- dbinom(x, size = n, prob = p)# Crear tabla
tabla9 <- data.frame(
Evento = c("P(X = 0)"),
Resultado = c(round(p_b, 4))
)
# Mostrar tabla con colores y bordes
kable(tabla9,
caption = "Probabilidad de que X = 0",
align = "c") %>%
kable_styling(
bootstrap_options = c("striped", "bordered", "hover"),
full_width = FALSE
) %>%
row_spec(0,
bold = TRUE,
color = "white",
background = "#D85A30") %>%
row_spec(1:nrow(tabla9),
background = "#E8F8F5")| Evento | Resultado |
|---|---|
| P(X = 0) | 0.2401 |
# Tabla de distribución binomial completa
tabla_distribucion <- data.frame(
x = x,
Probabilidad = round(prob_x, 4)
)
# Mostrar tabla de distribución
kable(tabla_distribucion,
caption = "Distribución Binomial Completa",
align = "c") %>%
kable_styling(
bootstrap_options = c("striped", "bordered", "hover"),
full_width = FALSE
) %>%
row_spec(0,
bold = TRUE,
color = "white",
background = "#1D9E75") %>%
row_spec(1:nrow(tabla_distribucion),
background = c("#EBF5FB", "#D6EAF8"))| x | Probabilidad |
|---|---|
| 0 | 0.2401 |
| 1 | 0.4116 |
| 2 | 0.2646 |
| 3 | 0.0756 |
| 4 | 0.0081 |
media <- n * p
desv <- sqrt(n * p * (1 - p))
# Valores
x <- seq(0, 4, length = 1000)
# Curva normal
y <- dnorm(
x,
mean = media,
sd = desv
)
datos <- data.frame(x, y)
# Gráfica
ggplot(datos, aes(x = x, y = y)) +
# Área sombreada
geom_area(
data = subset(datos, x <= 1.5),
fill = "#2E8B57",
alpha = 0.5
) +
# Curva
geom_line(
color = "#154360",
linewidth = 1.8
) +
# Línea media
geom_vline(
xintercept = media,
color = "#C0392B",
linetype = "dashed",
linewidth = 1.2
) +
labs(
title = "Distribución Binomial Aproximada",
subtitle = "Pacientes que no pagan",
x = "Número de pacientes",
y = "Densidad de probabilidad"
) +
theme_minimal(base_size = 15)
Probabilidad de que exactamente 1 paciente no pague: La probabilidad de que se tenga que perdonar la deuda de exactamente uno de los cuatro pacientes es de 0.4116, es decir, existe un 41.16% de probabilidad de que solo un paciente no pague su factura. Esto indica que es el escenario más probable dentro de la distribución.
Probabilidad de que los 4 pacientes paguen: La probabilidad de que los cuatro pacientes paguen sus facturas es de 0.2401, es decir, hay un 24.01% de probabilidad de que ninguno condone su deuda. Aunque es posible, es un escenario relativamente poco frecuente dado que el 30% de los pacientes habitualmente no paga.
Ejercicio 6.
El conmutador de un hospital recibe en promedio 20 llamadas cada dos minutos. Cuál es la probabilidad de que lleguen como máximo dos llamadas en un periodo de 15 segundos.
Este es un problema de distribución de Poisson! Aquí el razonamiento:
Tasa original: 20 llamadas cada 2 minutos (120 segundos) Hay que ajustar la tasa a 15 segundos:
λ = (20 / 120) × 15 = 2.5 llamadas cada 15 segundos
Buscamos P(X ≤ 2)
Tasa ajustada a 15 segundos
lambda <- (20 / 120) * 15 # = 2.5
cat("Lambda (15 seg) =", lambda, "\n\n")Lambda (15 seg) = 2.5
p_x0 <- dpois(0, lambda = lambda)
p_x1 <- dpois(1, lambda = lambda)
p_x2 <- dpois(2, lambda = lambda)
p_resultado <- p_x0 + p_x1 + p_x2
cat("P(X = 0) =", round(p_x0, 4), "\n")P(X = 0) = 0.0821
cat("P(X = 1) =", round(p_x1, 4), "\n")P(X = 1) = 0.2052
cat("P(X = 2) =", round(p_x2, 4), "\n")P(X = 2) = 0.2565
cat("P(X <= 2) =", round(p_resultado, 4), "\n")P(X <= 2) = 0.5438
# Crear tabla
tabla10 <- data.frame(
Evento = c("P(X = 0)",
"P(X = 1)",
"P(X = 2)",
"P(X <= 2)"),
Resultado = c(round(p_x0, 4),
round(p_x1, 4),
round(p_x2, 4),
round(p_resultado, 4))
)
# Mostrar tabla con colores y bordes
kable(tabla10,
caption = "Resultados de la distribución de Poisson",
align = "c") %>%
kable_styling(
bootstrap_options = c("striped", "bordered", "hover"),
full_width = FALSE
) %>%
row_spec(0,
bold = TRUE,
color = "white",
background = "darkred") %>%
row_spec(1:nrow(tabla10),
background = c("#FDEDEC", "#FADBD8"))| Evento | Resultado |
|---|---|
| P(X = 0) | 0.0821 |
| P(X = 1) | 0.2052 |
| P(X = 2) | 0.2565 |
| P(X <= 2) | 0.5438 |
-Grafica
x <- seq(0, 8, length = 1000)
# Curva normal aproximada
y <- dnorm(
x,
mean = lambda,
sd = sqrt(lambda)
)
datos <- data.frame(x, y)
# Gráfica
ggplot(datos, aes(x = x, y = y)) +
# Área sombreada
geom_area(
data = subset(datos, x <= 2.5),
fill = "#2E8B57",
alpha = 0.5
) +
# Curva Gaussiana
geom_line(
color = "#154360",
linewidth = 1.8
) +
# Línea media
geom_vline(
xintercept = lambda,
color = "#C0392B",
linetype = "dashed",
linewidth = 1.2
) +
labs(
title = "Distribución de Poisson Aproximada",
subtitle = "Llamadas recibidas en el hospital",
x = "Número de llamadas",
y = "Densidad de probabilidad"
) +
theme_minimal(base_size = 15)
La probabilidad de que lleguen como máximo 2 llamadas al conmutador del hospital en un periodo de 15 segundos es de 0.5438, es decir, existe un 54.38% de probabilidad de que el conmutador reciba 0, 1 o 2 llamadas en dicho intervalo. Dado que la tasa promedio es de 2.5 llamadas por cada 15 segundos, este resultado indica que poco más de la mitad del tiempo el número de llamadas se mantiene en ese rango, lo que refleja una carga moderada pero frecuente para el operador del hospital.
Ejercicio 7.
Los clientes llegan a una exhibición a razón de 6,8 clientes / hora Calcule la probabilidad de que a) en la primera media hora por lo menos lleguen dos clientes; b) en cualquier hora dada llegue más de uno.
problema de distribución de Poisson! Ajustando las tasas:
Tasa original: 6.8 clientes/hora a) Ajuste a 30 minutos: λ = 6.8 / 2 = 3.4 clientes por media hora b) Se mantiene: λ = 6.8 clientes por hora.
lambda_a <- 6.8 / 2 # = 3.4
p_x0_a <- dpois(0, lambda = lambda_a)
p_x1_a <- dpois(1, lambda = lambda_a)
p_a <- 1 - (p_x0_a + p_x1_a)
cat("Lambda (30 min) =", lambda_a, "\n")Lambda (30 min) = 3.4
cat("P(X = 0) =", round(p_x0_a, 4), "\n")P(X = 0) = 0.0334
cat("P(X = 1) =", round(p_x1_a, 4), "\n")P(X = 1) = 0.1135
cat("P(X >= 2) =", round(p_a, 4), "\n\n")P(X >= 2) = 0.8532
# Verificacion
cat("Verificacion ppois:", round(ppois(1, lambda_a, lower.tail = FALSE), 4), "\n\n")Verificacion ppois: 0.8532
# Crear tabla
tabla11 <- data.frame(
Evento = c("Lambda (30 min)",
"P(X = 0)",
"P(X = 1)",
"P(X >= 2)",
"Verificacion con ppois()"),
Resultado = c(round(lambda_a, 4),
round(p_x0_a, 4),
round(p_x1_a, 4),
round(p_a, 4),
round(ppois(1, lambda_a, lower.tail = FALSE), 4))
)
# Mostrar tabla con colores y bordes
kable(tabla11,
caption = "Resultados de la distribución de Poisson",
align = "c") %>%
kable_styling(
bootstrap_options = c("striped", "bordered", "hover"),
full_width = FALSE
) %>%
row_spec(0,
bold = TRUE,
color = "white",
background = "darkorange") %>%
row_spec(1:nrow(tabla11),
background = c("#FEF5E7", "#FDEBD0"))| Evento | Resultado |
|---|---|
| Lambda (30 min) | 3.4000 |
| P(X = 0) | 0.0334 |
| P(X = 1) | 0.1135 |
| P(X >= 2) | 0.8532 |
| Verificacion con ppois() | 0.8532 |
# - Inciso b) P(X > 1) en una hora
lambda_b <- 6.8
p_x0_b <- dpois(0, lambda = lambda_b)
p_x1_b <- dpois(1, lambda = lambda_b)
p_b <- 1 - (p_x0_b + p_x1_b)
cat("Lambda (1 hora) =", lambda_b, "\n")Lambda (1 hora) = 6.8
cat("P(X = 0) =", round(p_x0_b, 4), "\n")P(X = 0) = 0.0011
cat("P(X = 1) =", round(p_x1_b, 4), "\n")P(X = 1) = 0.0076
cat("P(X > 1) =", round(p_b, 4), "\n\n")P(X > 1) = 0.9913
# Verificacion
cat("Verificacion ppois:", round(ppois(1, lambda_b, lower.tail = FALSE), 4), "\n\n")Verificacion ppois: 0.9913
# Crear tabla
tabla12 <- data.frame(
Evento = c("Lambda (1 hora)",
"P(X = 0)",
"P(X = 1)",
"P(X > 1)",
"Verificacion con ppois()"),
Resultado = c(round(lambda_b, 4),
round(p_x0_b, 4),
round(p_x1_b, 4),
round(p_b, 4),
round(ppois(1, lambda_b, lower.tail = FALSE), 4))
)
# Mostrar tabla con colores y bordes
kable(tabla12,
caption = "Resultados de la distribución de Poisson",
align = "c") %>%
kable_styling(
bootstrap_options = c("striped", "bordered", "hover"),
full_width = FALSE
) %>%
row_spec(0,
bold = TRUE,
color = "white",
background = "darkorange") %>%
row_spec(1:nrow(tabla12),
background = c("#EBF5FB", "#D6EAF8"))| Evento | Resultado |
|---|---|
| Lambda (1 hora) | 6.8000 |
| P(X = 0) | 0.0011 |
| P(X = 1) | 0.0076 |
| P(X > 1) | 0.9913 |
| Verificacion con ppois() | 0.9913 |
x <- seq(0, 15, length = 1000)
# Curva normal aproximada
y <- dnorm(
x,
mean = lambda_b,
sd = sqrt(lambda_b)
)
datos <- data.frame(x, y)
# Gráfica
ggplot(datos, aes(x = x, y = y)) +
# Área sombreada
geom_area(
data = subset(datos, x >= 1.5),
fill = "#2E8B57",
alpha = 0.5
) +
# Curva
geom_line(
color = "#154360",
linewidth = 1.8
) +
# Media
geom_vline(
xintercept = lambda_b,
color = "#C0392B",
linetype = "dashed",
linewidth = 1.2
) +
labs(
title = "Distribución de Poisson Aproximada",
subtitle = "Llegada de clientes por hora",
x = "Número de clientes",
y = "Densidad de probabilidad"
) +
theme_minimal(base_size = 15)
) En la primera media hora lleguen por lo menos 2 clientes: Con una tasa ajustada de 3.4 clientes por media hora, la probabilidad de que lleguen al menos 2 clientes en los primeros 30 minutos es de 0.8531, es decir un 85.31%. Esto indica que es muy probable que durante la primera media hora de la exhibición ya haya una afluencia considerable de visitantes, lo que sugiere que el personal debe estar preparado desde el inicio del evento.
Conclusión general: Dado que los clientes llegan a razón de 6.8 por hora, la exhibición mantiene un flujo constante y elevado de visitantes. La probabilidad de tener al menos 2 clientes es altísima tanto en media hora (85.31%) como en una hora completa (99.13%), lo que refleja que la exhibición tiene una demanda sostenida y que es prácticamente imposible que transcurra una hora sin recibir más de un visitante. Esto es relevante para la planificación del personal y la logística del evento.
Ejercicio 8.
El número promedio de urgencias que llega a un hospital en una hora es de 12. Cuál es la probabilidad de que en un minuto lleguen por lo menos 2 urgencias. ¿Cuál es el número de urgencias esperado por minuto?
Distribución de Poisson ajustando la tasa: Tasa original: 12 urgencias/hora Ajuste a 1 minuto: λ = 12 / 60 = 0.2 urgencias por minuto
lambda <- 12 / 60 # = 0.2 urgencias por minuto
cat("Lambda (1 minuto) =", lambda, "\n\n")Lambda (1 minuto) = 0.2
# --- P(X >= 2): por lo menos 2 urgencias en 1 minuto ---
p_x0 <- dpois(0, lambda = lambda)
p_x1 <- dpois(1, lambda = lambda)
p_resultado <- 1 - (p_x0 + p_x1)
cat("P(X = 0) =", round(p_x0, 4), "\n")P(X = 0) = 0.8187
cat("P(X = 1) =", round(p_x1, 4), "\n")P(X = 1) = 0.1637
cat("P(X >= 2) =", round(p_resultado, 4), "\n\n")P(X >= 2) = 0.0175
# Verificacion
cat("Verificacion ppois:", round(ppois(1, lambda, lower.tail = FALSE), 4), "\n\n")Verificacion ppois: 0.0175
# --- Numero esperado de urgencias por minuto ---
esperado <- lambda
cat("Numero esperado de urgencias por minuto:", esperado, "\n")Numero esperado de urgencias por minuto: 0.2
# Crear tabla
tabla13 <- data.frame(
Evento = c("Lambda (1 minuto)",
"P(X = 0)",
"P(X = 1)",
"P(X >= 2)",
"Verificacion con ppois()",
"Numero esperado de urgencias"),
Resultado = c(round(lambda, 4),
round(p_x0, 4),
round(p_x1, 4),
round(p_resultado, 4),
round(ppois(1, lambda, lower.tail = FALSE), 4),
round(esperado, 4))
)
# Mostrar tabla con colores y bordes
kable(tabla13,
caption = "Resultados de la distribución de Poisson",
align = "c") %>%
kable_styling(
bootstrap_options = c("striped", "bordered", "hover"),
full_width = FALSE
) %>%
row_spec(0,
bold = TRUE,
color = "white",
background = "darkgreen") %>%
row_spec(1:nrow(tabla13),
background = c("#E8F8F5", "#D1F2EB"))| Evento | Resultado |
|---|---|
| Lambda (1 minuto) | 0.2000 |
| P(X = 0) | 0.8187 |
| P(X = 1) | 0.1637 |
| P(X >= 2) | 0.0175 |
| Verificacion con ppois() | 0.0175 |
| Numero esperado de urgencias | 0.2000 |
x <- seq(0, 6, length = 1000)
# Curva normal aproximada
y <- dnorm(
x,
mean = lambda,
sd = sqrt(lambda)
)
datos <- data.frame(x, y)
# Gráfica
ggplot(datos, aes(x = x, y = y)) +
# Área sombreada
geom_area(
data = subset(datos, x >= 1.5),
fill = "#2E8B57",
alpha = 0.5
) +
# Curva Gaussiana
geom_line(
color = "#154360",
linewidth = 1.8
) +
# Línea media
geom_vline(
xintercept = lambda,
color = "#C0392B",
linetype = "dashed",
linewidth = 1.2
) +
labs(
title = "Distribución de Poisson Aproximada",
subtitle = "Urgencias por minuto",
x = "Número de urgencias",
y = "Densidad de probabilidad"
) +
theme_minimal(base_size = 15)
A nivel de minuto, el flujo de urgencias es muy bajo y esporádico, con una probabilidad mínima (1.76%) de recibir 2 o más casos simultáneamente. Sin embargo, visto en perspectiva horaria, el hospital enfrenta una demanda constante de 12 urgencias por hora, lo que exige una planificación eficiente del personal y los recursos para responder oportunamente a cada caso que se presente.
Ejercicio 9.
Las estadísticas indican que en una fábrica se presentan en promedio 10 accidentes por trimestre. Determine la probabilidad de que no haya más de 12 accidentes en el último trimestre.
lambda <- 10
# -- ---
p_resultado <- ppois(12, lambda = lambda)
cat("Lambda =", lambda, "\n\n")Lambda = 10
# Calculo manual
for(k in 0:12){
cat("P(X =", k, ") =", round(dpois(k, lambda), 4), "\n")
}P(X = 0 ) = 0
P(X = 1 ) = 5e-04
P(X = 2 ) = 0.0023
P(X = 3 ) = 0.0076
P(X = 4 ) = 0.0189
P(X = 5 ) = 0.0378
P(X = 6 ) = 0.0631
P(X = 7 ) = 0.0901
P(X = 8 ) = 0.1126
P(X = 9 ) = 0.1251
P(X = 10 ) = 0.1251
P(X = 11 ) = 0.1137
P(X = 12 ) = 0.0948
cat("\nP(X <= 12) =", round(p_resultado, 4), "\n")
P(X <= 12) = 0.7916
# Crear vector de valores
x <- 0:12
# Calcular probabilidades
probabilidades <- round(dpois(x, lambda), 4)
# Crear tabla de probabilidades
tabla14 <- data.frame(
Evento = paste("P(X =", x, ")"),
Probabilidad = probabilidades
)
# Mostrar tabla de probabilidades
kable(tabla14,
caption = "Probabilidades individuales de la distribución de Poisson",
align = "c") %>%
kable_styling(
bootstrap_options = c("striped", "bordered", "hover"),
full_width = FALSE
) %>%
row_spec(0,
bold = TRUE,
color = "white",
background = "darkred") %>%
row_spec(1:nrow(tabla14),
background = c("#FDEDEC", "#FADBD8"))| Evento | Probabilidad |
|---|---|
| P(X = 0 ) | 0.0000 |
| P(X = 1 ) | 0.0005 |
| P(X = 2 ) | 0.0023 |
| P(X = 3 ) | 0.0076 |
| P(X = 4 ) | 0.0189 |
| P(X = 5 ) | 0.0378 |
| P(X = 6 ) | 0.0631 |
| P(X = 7 ) | 0.0901 |
| P(X = 8 ) | 0.1126 |
| P(X = 9 ) | 0.1251 |
| P(X = 10 ) | 0.1251 |
| P(X = 11 ) | 0.1137 |
| P(X = 12 ) | 0.0948 |
# Tabla resumen
tabla15 <- data.frame(
Concepto = c("Lambda",
"P(X <= 12)"),
Resultado = c(round(lambda, 4),
round(p_resultado, 4))
)
# Mostrar tabla resumen
kable(tabla15,
caption = "Resultado acumulado de la distribución de Poisson",
align = "c") %>%
kable_styling(
bootstrap_options = c("striped", "bordered", "hover"),
full_width = FALSE
) %>%
row_spec(0,
bold = TRUE,
color = "white",
background = "darkblue") %>%
row_spec(1:nrow(tabla15),
background = c("#EBF5FB", "#D6EAF8"))| Concepto | Resultado |
|---|---|
| Lambda | 10.0000 |
| P(X <= 12) | 0.7916 |
x <- seq(0, 20, length = 1000)
# Curva normal aproximada
y <- dnorm(
x,
mean = lambda,
sd = sqrt(lambda)
)
datos <- data.frame(x, y)
# Gráfica
ggplot(datos, aes(x = x, y = y)) +
# Área sombreada
geom_area(
data = subset(datos, x <= 12.5),
fill = "#2E8B57",
alpha = 0.5
) +
# Curva Gaussiana
geom_line(
color = "#154360",
linewidth = 1.8
) +
# Línea media
geom_vline(
xintercept = lambda,
color = "#C0392B",
linetype = "dashed",
linewidth = 1.2
) +
labs(
title = "Distribución de Poisson Aproximada",
subtitle = "Accidentes por trimestre",
x = "Número de accidentes",
y = "Densidad de probabilidad"
) +
theme_minimal(base_size = 15)
Con una tasa promedio de 10 accidentes por trimestre, la fábrica enfrenta un riesgo considerable en materia de seguridad laboral. Sin embargo, existe una probabilidad alta (79.16%) de que el número de accidentes no supere los 12 en un trimestre dado, lo que indica que los casos extremos por encima de este valor son relativamente poco frecuentes. Aun así, desde una perspectiva de gestión de riesgos, una media de 10 accidentes trimestrales equivale a más de 40 accidentes al año, lo que representa una señal de alerta importante para implementar medidas preventivas y mejorar las condiciones de seguridad en la planta.
Ejercicio 10.
El número de personas que ingresan a la unidad de cuidados intensivos de un hospital en un día cualquiera, es de 5 personas diarias. ¿Cuál es la probabilidad de que el número de personas que ingresan a la unidad de cuidados intensivos en un día particular sea menor o igual a 2 personas?
Distribución de Poisson! Sin ajuste de tasa: Tasa: λ = 5 personas por día Buscamos P(X ≤ 2)
lambda <- 5
# --- P(X <= 2): menor o igual a 2 ingresos ---
p_x0 <- dpois(0, lambda = lambda)
p_x1 <- dpois(1, lambda = lambda)
p_x2 <- dpois(2, lambda = lambda)
p_resultado <- p_x0 + p_x1 + p_x2
cat("Lambda =", lambda, "\n\n")Lambda = 5
cat("P(X = 0) =", round(p_x0, 4), "\n")P(X = 0) = 0.0067
cat("P(X = 1) =", round(p_x1, 4), "\n")P(X = 1) = 0.0337
cat("P(X = 2) =", round(p_x2, 4), "\n")P(X = 2) = 0.0842
cat("P(X <= 2) =", round(p_resultado, 4), "\n\n")P(X <= 2) = 0.1247
# Verificacion
cat("Verificacion ppois:", round(ppois(2, lambda), 4), "\n")Verificacion ppois: 0.1247
# Crear tabla
tabla16 <- data.frame(
Evento = c("Lambda",
"P(X = 0)",
"P(X = 1)",
"P(X = 2)",
"P(X <= 2)",
"Verificacion con ppois()"),
Resultado = c(round(lambda, 4),
round(p_x0, 4),
round(p_x1, 4),
round(p_x2, 4),
round(p_resultado, 4),
round(ppois(2, lambda), 4))
)
# Mostrar tabla con colores y bordes
kable(tabla16,
caption = "Resultados de la distribución de Poisson",
align = "c") %>%
kable_styling(
bootstrap_options = c("striped", "bordered", "hover"),
full_width = FALSE
) %>%
row_spec(0,
bold = TRUE,
color = "white",
background = "darkmagenta") %>%
row_spec(1:nrow(tabla16),
background = c("#F5EEF8", "#EBDEF0"))| Evento | Resultado |
|---|---|
| Lambda | 5.0000 |
| P(X = 0) | 0.0067 |
| P(X = 1) | 0.0337 |
| P(X = 2) | 0.0842 |
| P(X <= 2) | 0.1247 |
| Verificacion con ppois() | 0.1247 |
x <- seq(0, 15, length = 1000)
# Curva normal aproximada
y <- dnorm(
x,
mean = lambda,
sd = sqrt(lambda)
)
datos <- data.frame(x, y)
# Gráfica
ggplot(datos, aes(x = x, y = y)) +
# Área sombreada
geom_area(
data = subset(datos, x <= 2.5),
fill = "#2E8B57",
alpha = 0.5
) +
# Curva Gaussiana
geom_line(
color = "#154360",
linewidth = 1.8
) +
# Línea media
geom_vline(
xintercept = lambda,
color = "#C0392B",
linetype = "dashed",
linewidth = 1.2
) +
labs(
title = "Distribución de Poisson Aproximada",
subtitle = "Ingresos diarios a UCI",
x = "Número de personas",
y = "Densidad de probabilidad"
) +
theme_minimal(base_size = 15)
Con una tasa promedio de 5 ingresos diarios, la UCI opera bajo una demanda constante y elevada. La baja probabilidad de recibir 2 o menos pacientes en un día (12.47%) indica que la unidad debe estar preparada la mayor parte del tiempo para atender 3 o más ingresos diarios. Esto resalta la importancia de mantener una disponibilidad adecuada de camas, personal médico y recursos en la UCI, ya que la probabilidad de días con baja ocupación es reducida y no puede asumirse como la norma en la planificación hospitalaria.
Ejercicio 11.
Un jefe de almacén sabe que 6 de las 25 bicicletas que tiene para la venta presentan fallas en los frenos y necesitan ajuste. Si el vendedor que no tenía conocimiento de lo anterior vendió en el día 4 bicicletas, ¿cuál es la probabilidad de que vendiera dos de las que requerían ajuste.
Este es un problema de distribución Hipergeométrica Ya que se selecciona una muestra sin reemplazo de una población finita:
N = 25 bicicletas en total K = 6 bicicletas con fallas n = 4 bicicletas vendidas Buscamos P(X = 2)
N <- 25 # total de bicicletas
K <- 6 # bicicletas con fallas
n <- 4 # bicicletas vendidas
# --- P(X = 2): exactamente 2 con fallas ---
p_resultado <- dhyper(2, m = K, n = N - K, k = n)
cat("N =", N, "\n")N = 25
cat("K =", K, "(con fallas)\n")K = 6 (con fallas)
cat("n =", n, "(vendidas)\n\n")n = 4 (vendidas)
cat("P(X = 2) =", round(p_resultado, 4), "\n")P(X = 2) = 0.2028
# Distribucion completa
cat("\nDistribucion completa:\n")
Distribucion completa:
for(x in 0:4){
cat("P(X =", x, ") =", round(dhyper(x, m = K, n = N - K, k = n), 4), "\n")
}P(X = 0 ) = 0.3064
P(X = 1 ) = 0.4596
P(X = 2 ) = 0.2028
P(X = 3 ) = 0.03
P(X = 4 ) = 0.0012
# Crear distribución completa
x <- 0:4
probabilidades <- round(dhyper(x, m = K, n = N - K, k = n), 4)
# Tabla principal
tabla17 <- data.frame(
Concepto = c("N (total bicicletas)",
"K (bicicletas con fallas)",
"n (bicicletas vendidas)",
"P(X = 2)"),
Resultado = c(N,
K,
n,
round(p_resultado, 4))
)
# Mostrar tabla principal
kable(tabla17,
caption = "Resultados de la distribución hipergeométrica",
align = "c") %>%
kable_styling(
bootstrap_options = c("striped", "bordered", "hover"),
full_width = FALSE
) %>%
row_spec(0,
bold = TRUE,
color = "white",
background = "darkgreen") %>%
row_spec(1:nrow(tabla17),
background = c("#E8F8F5", "#D1F2EB"))| Concepto | Resultado |
|---|---|
| N (total bicicletas) | 25.0000 |
| K (bicicletas con fallas) | 6.0000 |
| n (bicicletas vendidas) | 4.0000 |
| P(X = 2) | 0.2028 |
# Tabla de distribución completa
tabla18 <- data.frame(
Evento = paste("P(X =", x, ")"),
Probabilidad = probabilidades
)
# Mostrar tabla distribución
kable(tabla18,
caption = "Distribución completa",
align = "c") %>%
kable_styling(
bootstrap_options = c("striped", "bordered", "hover"),
full_width = FALSE
) %>%
row_spec(0,
bold = TRUE,
color = "white",
background = "darkblue") %>%
row_spec(1:nrow(tabla18),
background = c("#EBF5FB", "#D6EAF8"))| Evento | Probabilidad |
|---|---|
| P(X = 0 ) | 0.3064 |
| P(X = 1 ) | 0.4596 |
| P(X = 2 ) | 0.2028 |
| P(X = 3 ) | 0.0300 |
| P(X = 4 ) | 0.0012 |
media <- n * (K / N)
desv <- sqrt(
n * (K/N) * (1 - K/N) *
((N - n)/(N - 1))
)
# Valores
x_vals <- seq(0, 4, length = 1000)
# Curva normal aproximada
y <- dnorm(
x_vals,
mean = media,
sd = desv
)
datos <- data.frame(x_vals, y)
# Gráfica
ggplot(datos,
aes(x = x_vals, y = y)) +
# Área sombreada
geom_area(
data = subset(datos,
x_vals >= 1.5 &
x_vals <= 2.5),
fill = "#2E8B57",
alpha = 0.5
) +
# Curva
geom_line(
color = "#154360",
linewidth = 1.8
) +
# Línea media
geom_vline(
xintercept = media,
color = "#C0392B",
linetype = "dashed",
linewidth = 1.2
) +
labs(
title = "Distribución Hipergeométrica Aproximada",
subtitle = "Bicicletas con fallas en frenos",
x = "Número de bicicletas defectuosas",
y = "Densidad de probabilidad"
) +
theme_minimal(base_size = 15)
Resultado: P(X = 2) = 0.2028 → 20.28%
Ejercicio 12.
De un grupo de 20 ingenieros con doctorado, se seleccionan 10 para un alto cargo de una compañía. ¿Cuál es la probabilidad de que los 10 seleccionados incluya a los 5 ingenieros que tienen las mejores calificaciones del grupo de 20?
N=20 → total de ingenieros K=5 → ingenieros con mejores calificaciones n=10 → ingenieros seleccionados Queremos que los 10 seleccionados incluyan a los 5 mejores.
La probabilidad se calcula con distribución hipergeométrica:
# Datos
N <- 20
K <- 5
n <- 10
# Probabilidad de incluir a los 5 mejores
p_resultado <- dhyper(5, m = K, n = N - K, k = n)
# Mostrar resultado
cat("P(X = 5) =", round(p_resultado, 6), "\n")P(X = 5) = 0.016254
-Grafica
media <- n * (K / N)
# Desviación estándar
desv <- sqrt(
n * (K/N) * (1 - K/N) *
((N - n)/(N - 1))
)
# Valores
x_vals <- seq(0, 10, length = 1000)
# Curva normal aproximada
y <- dnorm(
x_vals,
mean = media,
sd = desv
)
datos <- data.frame(x_vals, y)
# Gráfica
ggplot(datos,
aes(x = x_vals, y = y)) +
# Área sombreada
geom_area(
data = subset(datos,
x_vals >= 4.5),
fill = "#2E8B57",
alpha = 0.5
) +
# Curva Gaussiana
geom_line(
color = "#154360",
linewidth = 1.8
) +
# Línea media
geom_vline(
xintercept = media,
color = "#C0392B",
linetype = "dashed",
linewidth = 1.2
) +
labs(
title = "Distribución Hipergeométrica Aproximada",
subtitle = "Selección de ingenieros",
x = "Número de mejores ingenieros incluidos",
y = "Densidad de probabilidad"
) +
theme_minimal(base_size = 15)
La probabilidad de que en la selección de 10 ingenieros queden incluidos exactamente los 5 ingenieros con las mejores calificaciones es aproximadamente: P(X=5)≈0.0163P(X = 5) 0.0163P(X=5)≈0.0163 Esto significa que existe solamente un 1.63% de probabilidad de que los cinco ingenieros más destacados sean seleccionados dentro del grupo de 10 elegidos al azar. Por lo tanto, se concluye que este evento es poco probable, ya que la posibilidad de que todos los mejores ingenieros sean incluidos en la selección es bastante baja.
Ejercicio 13.
Un almacén contiene diez maquinas impresoras, cuatro de las cuales están defectuosas. Una compañía selecciona al azar cinco de las maquinas, pensando que todas están en condiciones de trabajar, ¿cuál es la probabilidad de que las cinco maquinas estén en buen estado?
Datos:
Total de máquinas: N=10 Máquinas defectuosas: 4 Máquinas en buen estado: 6 Máquinas seleccionadas: n=5
# Datos
N <- 10
buenas <- 6
n <- 5
# Probabilidad de seleccionar 5 buenas
p_resultado <- dhyper(5,
m = buenas,
n = N - buenas,
k = n)
# Mostrar resultado
cat("P(X = 5) =", round(p_resultado, 4), "\n")P(X = 5) = 0.0238
-Grafica
media <- n * (K / N)
# Desviación estándar
desv <- sqrt(
n * (K/N) * (1 - K/N) *
((N - n)/(N - 1))
)
# Valores
x_vals <- seq(0, 5, length = 1000)
# Curva normal aproximada
y <- dnorm(
x_vals,
mean = media,
sd = desv
)
datos <- data.frame(x_vals, y)
# Gráfica
ggplot(datos,
aes(x = x_vals, y = y)) +
# Área sombreada
geom_area(
data = subset(datos,
x_vals >= 4.5),
fill = "#2E8B57",
alpha = 0.5
) +
# Curva
geom_line(
color = "#154360",
linewidth = 1.8
) +
# Línea media
geom_vline(
xintercept = media,
color = "#C0392B",
linetype = "dashed",
linewidth = 1.2
) +
labs(
title = "Distribución Hipergeométrica Aproximada",
subtitle = "Selección de impresoras en buen estado",
x = "Número de máquinas buenas",
y = "Densidad de probabilidad"
) +
theme_minimal(base_size = 15)
La probabilidad de que las cinco máquinas seleccionadas estén en buen estado es aproximadamente:
P(X=5)≈0.0238
Esto significa que existe solamente un 2.38% de probabilidad de seleccionar cinco máquinas totalmente funcionales, por lo que el evento es poco probable debido a la cantidad de máquinas defectuosas presentes en el almacén.
Ejercicio 14.
En promedio una casa de cada 2000 en cierta zona de Barranquilla se incendia durante el año, si hay 6000 casas en dicha zona ¿Cuál es la probabilidad de que más de 3 casas se incendien durante el año?
Este problema se resuelve con la distribución geométrica, porque se busca la probabilidad de obtener el primer éxito antes de cierto número de intentos.
Datos:
Probabilidad de aprobar: p=0.7 Probabilidad de fallar: q=1−p=0.3
Queremos encontrar la probabilidad de que el estudiante apruebe antes del cuarto intento, es decir:
P(X<4)
Equivale a aprobar en el intento 1, 2 o 3:
Este problema se resuelve con la distribución geométrica, porque se busca la probabilidad de obtener el primer éxito antes de cierto número de intentos.
Datos:
Probabilidad de aprobar: p=0.7 Probabilidad de fallar: q=1−p=0.3
Queremos encontrar la probabilidad de que el estudiante apruebe antes del cuarto intento, es decir:
P(X<4)
Equivale a aprobar en el intento 1, 2 o 3:
P(X<4)=1−P(X≥4) P(X<4)=1−q 3 P(X<4)=1−(0.3) 3 P(X<4)=1−0.027 P(X<4)=0.973
# Datos
p <- 0.7
q <- 1 - p
# Probabilidad de aprobar antes del 4 intento
p_resultado <- 1 - (q^3)
# Mostrar resultado
cat("P(X < 4) =", round(p_resultado, 4), "\n")P(X < 4) = 0.973
x <- seq(0, 10, length = 1000)
# Curva normal aproximada
y <- dnorm(
x,
mean = lambda,
sd = sqrt(lambda)
)
datos <- data.frame(x, y)
# Gráfica
ggplot(datos, aes(x = x, y = y)) +
# Área sombreada
geom_area(
data = subset(datos, x >= 3.5),
fill = "#2E8B57",
alpha = 0.5
) +
# Curva
geom_line(
color = "#154360",
linewidth = 1.8
) +
# Línea media
geom_vline(
xintercept = lambda,
color = "#C0392B",
linetype = "dashed",
linewidth = 1.2
) +
labs(
title = "Distribución de Poisson Aproximada",
subtitle = "Incendios en viviendas",
x = "Número de casas incendiadas",
y = "Densidad de probabilidad"
) +
theme_minimal(base_size = 15)
La probabilidad de que el estudiante apruebe la prueba antes del cuarto intento es:
P(X<4)=0.973
Es decir, existe un 97.3% de probabilidad de que el estudiante logre aprobar el examen en alguno de sus primeros tres intentos.
Ejercicio 15.
La probabilidad de que un estudiante de aviación pase la prueba escrita para obtener su licencia de piloto privado es de 0.7. encuentre la probabilidad de que una persona pase la prueba antes del cuarto intento.
Este ejercicio se resuelve utilizando la distribución geométrica, ya que se analiza el número de intentos necesarios hasta obtener el primer éxito.
Datos:
Este ejercicio se resuelve utilizando la distribución geométrica, ya que se analiza el número de intentos necesarios hasta obtener el primer éxito.
Datos:
Probabilidad de aprobar: p=0.7 Probabilidad de reprobar: q=1−p=0.3
Se pide la probabilidad de que la persona apruebe antes del cuarto intento, es decir, en el intento 1, 2 o 3.
P(X<4)=1−P(X≥4)
La probabilidad de llegar al cuarto intento significa fallar tres veces seguidas:
P(X≥4)=q 3
Entonces:
P(X<4)=1−(0.3) 3 P(X<4)=1−0.027 P(X<4)=0.973
# Datos
p <- 0.7
q <- 1 - p
# Probabilidad de aprobar antes del cuarto intento
p_resultado <- 1 - (q^3)
# Mostrar resultado
cat("P(X < 4) =", round(p_resultado, 4), "\n")P(X < 4) = 0.973
-Grafica
x <- seq(1, 8, length = 1000)
# Aproximación suavizada
y <- dnorm(
x,
mean = 1/p,
sd = sqrt((1-p)/(p^2))
)
datos <- data.frame(x, y)
# Gráfica
ggplot(datos, aes(x = x, y = y)) +
# Área sombreada
geom_area(
data = subset(datos, x <= 3),
fill = "#2E8B57",
alpha = 0.5
) +
# Curva
geom_line(
color = "#154360",
linewidth = 1.8
) +
# Línea media
geom_vline(
xintercept = 1/p,
color = "#C0392B",
linetype = "dashed",
linewidth = 1.2
) +
labs(
title = "Distribución Geométrica Aproximada",
subtitle = "Intentos para aprobar examen",
x = "Número de intentos",
y = "Densidad de probabilidad"
) +
theme_minimal(base_size = 15)
La probabilidad de que el estudiante apruebe la prueba antes del cuarto intento es:
0.973
Es decir, existe un 97.3% de probabilidad de que la persona logre aprobar el examen en alguno de sus primeros tres intentos.
La distribución Ji Cuadrado o Chi-Cuadrado es una distribución de probabilidad continua utilizada principalmente en estadística para analizar variaciones y comprobar hipótesis.
Se representa por:
χ2
y depende de un parámetro llamado grados de libertad (gl).
Características principales Solo toma valores positivos. Su gráfica tiene forma asimétrica hacia la derecha. A medida que aumentan los grados de libertad, la curva se parece más a una distribución normal. Usos principales
La distribución Ji Cuadrado se utiliza para:
Pruebas de independencia en tablas de contingencia. Pruebas de bondad de ajuste. Análisis de varianza y estimación de varianzas poblacionales. Ejemplo sencillo
Se puede usar para verificar si existe relación entre:
género y preferencia de producto, enfermedad y tratamiento, o cualquier comparación entre variables categóricas.
Ejercicio 1
Para una distribución chi-cuadrada encuentre:
2 0.02 2 0.10 2 0.05
cuando v = 18. cuando v = 9. cuando v = 30.
# 1)
chi_1 <- qchisq(0.02, df = 18)
# 2)
chi_2 <- qchisq(0.10, df = 9)
# 3)
chi_3 <- qchisq(0.05, df = 30)
# Resultados
cat("Chi-cuadrada 0.02 con v=18 =", round(chi_1,4), "\n")Chi-cuadrada 0.02 con v=18 = 7.9062
cat("Chi-cuadrada 0.10 con v=9 =", round(chi_2,4), "\n")Chi-cuadrada 0.10 con v=9 = 4.1682
cat("Chi-cuadrada 0.05 con v=30 =", round(chi_3,4), "\n")Chi-cuadrada 0.05 con v=30 = 18.4927
GRÁFICA DISTRIBUCIÓN ji-CUADRADA
library(ggplot2)
# Valores
x <- seq(0, 60, length = 1000)
# Distribución chi-cuadrada
y <- dchisq(x, df = 18)
datos <- data.frame(x, y)
# Gráfica
ggplot(datos, aes(x = x, y = y)) +
geom_line(
color = "#154360",
linewidth = 1.5
) +
geom_area(
data = subset(datos, x <= 8.2307),
fill = "#2E8B57",
alpha = 0.5
) +
labs(
title = "Distribución Chi-cuadrada",
subtitle = "v = 18",
x = expression(chi^2),
y = "Densidad"
) +
theme_minimal(base_size = 15)
La distribución Chi-cuadrada permitió determinar los valores críticos asociados a diferentes probabilidades y grados de libertad.
Los resultados obtenidos fueron: Chi-cuadrada 0.02 con v=18 = 7.9062 Chi-cuadrada 0.10 con v=9 = 4.1682 Chi-cuadrada 0.05 con v=30 = 18.4927
Estos valores son utilizados frecuentemente en pruebas de hipótesis, análisis de varianza y pruebas de independencia estadística.
Ejercicio 2 Para una distribución chi-cuadrada encuentre χ2
tal que:
Paso 1: Transformar la probabilidad
qchisq(0.03, df = 6)[1] 1.329608
paso 2: Buscar el valor crítico
qchisq(0.03, df = 6)[1] 1.329608
Paso 1
P(X2<)=1-0.01
paso 2:
qchisq(0.99, df = 22)[1] 40.28936
Paso 1: Hallar la probabilidad acumulada en 42.980
pchisq(42.980, df = 28)[1] 0.9650395
Paso 2: Sumar la probabilidad faltante
0.9581+0.035=0.9931
Paso 3: Buscar el nuevo valor crítico
qchisq(0.9931, df = 28)[1] 49.7475
chi_a <- qchisq(0.03, df = 6)
chi_b <- qchisq(0.99, df = 22)
p_inicial <- pchisq(42.980, df = 28)
p_total <- p_inicial + 0.035
chi_c <- qchisq(p_total, df = 28)
cat("a) =", round(chi_a,4), "\n")a) = 1.3296
cat("b) =", round(chi_b,4), "\n")b) = 40.2894
cat("c) =", round(chi_c,4), "\n")c) = NaN
GRÁFICA CHI-CUADRADA
library(ggplot2)
# Valores
x <- seq(0, 70, length = 1000)
# Distribución
y <- dchisq(x, df = 28)
datos <- data.frame(x, y)
# Gráfica
ggplot(datos, aes(x = x, y = y)) +
geom_line(
color = "#154360",
linewidth = 1.5
) +
geom_area(
data = subset(datos,
x >= 42.980 &
x <= 49.5874),
fill = "#2E8B57",
alpha = 0.5
) +
labs(
title = "Distribución Chi-cuadrada",
subtitle = "v = 28",
x = expression(chi^2),
y = "Densidad"
) +
theme_minimal(base_size = 15)
La distribución Chi-cuadrada permitió calcular valores críticos asociados a probabilidades acumuladas y áreas de cola.
Los resultados obtenidos fueron: a) = 1.3296 b) = 40.2894 c) = NaN
Estos valores son fundamentales en pruebas de hipótesis, análisis de independencia y estudios estadísticos inferenciales.
Ejercicio 3
La distribución t de Student se utiliza cuando:
La muestra es pequeña. La desviación estándar poblacional es desconocida. Se trabaja con inferencia estadística.
pt(1.895, df = 10)[1] 0.9563303
1 - pt(1.742, df = 20)[1] 0.04843377
pt(2.315, df = 15) -
pt(-1.645, df = 15)[1] 0.9220269
1 - pt(-1.985, df = 14)[1] 0.9664522
a <- pt(1.895, df = 10)
# b)
b <- 1 - pt(1.742, df = 20)
# c)
c <- pt(2.315, df = 15) -
pt(-1.645, df = 15)
# d)
d <- 1 - pt(-1.985, df = 14)
# Resultados
cat("a) =", round(a,4), "\n")a) = 0.9563
cat("b) =", round(b,4), "\n")b) = 0.0484
cat("c) =", round(c,4), "\n")c) = 0.922
cat("d) =", round(d,4), "\n")d) = 0.9665
GRÁFICA t DE STUDENT
library(ggplot2)
# Valores
x <- seq(-5, 5, length = 1000)
# Densidad t
y <- dt(x, df = 15)
datos <- data.frame(x, y)
# Gráfica
ggplot(datos, aes(x = x, y = y)) +
geom_line(
color = "#154360",
linewidth = 1.5
) +
geom_area(
data = subset(datos,
x >= -1.645 &
x <= 2.315),
fill = "#2E8B57",
alpha = 0.5
) +
labs(
title = "Distribución t de Student",
subtitle = "v = 15",
x = "Valores t",
y = "Densidad"
) +
theme_minimal(base_size = 15)
La distribución t de Student permitió calcular probabilidades acumuladas y áreas entre intervalos para diferentes grados de libertad.
Los resultados obtenidos fueron: a) = 0.9563 b) = 0.0484 c) = 0.922 d) = 0.9665
Estas probabilidades son ampliamente utilizadas en pruebas de hipótesis, intervalos de confianza y análisis estadísticos con muestras pequeñas.
Ejercicio 4
Dada una muestra aleatoria de tamaño 30 de una distribución normal, encuentre k tal que: a. P (−1.725 < T < k) = 0.945 b. P (k < T < 2.415) = 0.085 c. P (−k < T < k) = 0.92
La distribución t de Student es una distribución de probabilidad continua utilizada en estadística para trabajar con muestras pequeñas y cuando la desviación estándar de la población es desconocida.
Fue desarrollada por William Sealy Gosset bajo el seudónimo “Student”.
Características principales Tiene forma de campana, similar a la distribución normal. Es más ancha y con colas más largas que la normal. Depende de los grados de libertad (gl). A medida que aumentan los grados de libertad, la distribución t se parece cada vez más a la distribución normal. ¿Cuándo se utiliza?
Se usa principalmente cuando:
la muestra es pequeña (n<30), no se conoce la desviación estándar poblacional, y se desea realizar inferencias sobre medias. Aplicaciones principales
La distribución t de Student se utiliza en:
pruebas de hipótesis, intervalos de confianza, comparación de medias, análisis estadístico de muestras pequeñas

# ==================================================
#
# ==================================================
# Grados de libertad
v <- 29
# --------------------------------------------------
# a)
# --------------------------------------------------
p1 <- pt(-1.725, df = v)
k_a <- qt(0.945 + p1, df = v)
# --------------------------------------------------
# b)
# --------------------------------------------------
p2 <- pt(2.415, df = v)
k_b <- qt(p2 - 0.085, df = v)
# --------------------------------------------------
# c)
# --------------------------------------------------
k_c <- qt(0.96, df = v)
# --------------------------------------------------
# Resultados
# --------------------------------------------------
cat("a) k =", round(k_a,4), "\n")a) k = 2.5909
cat("b) k =", round(k_b,4), "\n")b) k = 1.335
cat("c) k =", round(k_c,4), "\n")c) k = 1.8142
GRÁFICA t DE STUDENT
library(ggplot2)
# Valores en el eje X
x <- seq(-5, 5, length = 1000)
# Densidad t de Student
y <- dt(x, df = 29)
# Data frame
datos <- data.frame(x, y)
# Valor k
k <- 1.8070
# Gráfica
ggplot(datos, aes(x = x, y = y)) +
# Área sombreada entre -k y k
geom_area(
data = subset(datos, x >= -k & x <= k),
fill = "#2E8B57",
alpha = 0.5
) +
# Curva t
geom_line(
color = "#154360",
linewidth = 1.5
) +
# Líneas verticales
geom_vline(
xintercept = c(-k, k),
color = "#C0392B",
linetype = "dashed",
linewidth = 1
) +
# Etiquetas
labs(
title = "Distribución t de Student",
subtitle = "P(-k < T < k) = 0.92",
x = "Valores t",
y = "Densidad"
) +
# Tema profesional
theme_minimal(base_size = 15)
La distribución t de Student permitió determinar los valores críticos (k) asociados a diferentes probabilidades en una muestra aleatoria de tamaño 30, utilizando (v = 29) grados de libertad.
Los resultados obtenidos fueron: a) k = 2.5909 b) k = 1.335 c) k = 1.8142
Estos resultados permiten identificar regiones de probabilidad dentro de la distribución t de Student, siendo fundamentales en inferencia estadística, construcción de intervalos de confianza y pruebas de hipótesis cuando el tamaño de muestra es pequeño y la desviación estándar poblacional es desconocida.
La gráfica ayudó a visualizar el área de probabilidad central comprendida entre los valores críticos (-k) y (k).
Distribucion T de Student
Ejercicio: 1 Encuentre las siguientes probabilidades utilizando la distribución t de Student: a. Encuentre P (T < 1.895) cuando v = 10. b. Encuentre P (T > 1.742) cuando v = 20. c. Encuentre P (−1.645 < T < 2.315) cuando v = 15. d. Encuentre P (T > −1.985) cuando v = 14.
# =========================================================
# DISTRIBUCIÓN t DE STUDENT
# PROBABILIDADES Y GRÁFICAS
# =========================================================
# =========================================================
# LIBRERÍAS
# =========================================================
library(ggplot2)
library(dplyr)
library(kableExtra)
# =========================================================
# INCISO A
# P(T < 1.895) cuando gl = 10
# =========================================================
v_a <- 10
# Probabilidad
p_a <- pt(1.895, df = v_a)
cat("\n====================================\n")
====================================
cat("INCISO A\n")INCISO A
cat("P(T < 1.895) =", round(p_a,4), "\n")P(T < 1.895) = 0.9563
cat("====================================\n")====================================
# Datos para gráfica
x_a <- seq(-5, 5, by = 0.01)
df_a <- data.frame(
x = x_a,
dens = dt(x_a, df = v_a)
)
# Gráfica
ggplot(df_a, aes(x, dens)) +
geom_area(
data = subset(df_a, x <= 1.895),
fill = "#1D9E75",
alpha = 0.5
) +
geom_line(
color = "#154360",
linewidth = 1.3
) +
geom_vline(
xintercept = 1.895,
color = "#C0392B",
linetype = "dashed",
linewidth = 1
) +
labs(
title = "Distribución t de Student",
subtitle = "P(T < 1.895), gl = 10",
x = "Valores t",
y = "Densidad"
) +
theme_minimal(base_size = 14)
# =========================================================
# INCISO B
# P(T > 1.742) cuando gl = 20
# =========================================================
v_b <- 20
# Probabilidad
p_b <- 1 - pt(1.742, df = v_b)
cat("\n====================================\n")
====================================
cat("INCISO B\n")INCISO B
cat("P(T > 1.742) =", round(p_b,4), "\n")P(T > 1.742) = 0.0484
cat("====================================\n")====================================
# Datos para gráfica
x_b <- seq(-5, 5, by = 0.01)
df_b <- data.frame(
x = x_b,
dens = dt(x_b, df = v_b)
)
# Gráfica
ggplot(df_b, aes(x, dens)) +
geom_area(
data = subset(df_b, x >= 1.742),
fill = "#D85A30",
alpha = 0.5
) +
geom_line(
color = "#154360",
linewidth = 1.3
) +
geom_vline(
xintercept = 1.742,
color = "#C0392B",
linetype = "dashed",
linewidth = 1
) +
labs(
title = "Distribución t de Student",
subtitle = "P(T > 1.742), gl = 20",
x = "Valores t",
y = "Densidad"
) +
theme_minimal(base_size = 14)
# =========================================================
# INCISO C
# P(-1.645 < T < 2.315) cuando gl = 15
# =========================================================
v_c <- 15
# Probabilidad
p_c <- pt(2.315, df = v_c) -
pt(-1.645, df = v_c)
cat("\n====================================\n")
====================================
cat("INCISO C\n")INCISO C
cat("P(-1.645 < T < 2.315) =",
round(p_c,4), "\n")P(-1.645 < T < 2.315) = 0.922
cat("====================================\n")====================================
# Datos para gráfica
x_c <- seq(-5, 5, by = 0.01)
df_c <- data.frame(
x = x_c,
dens = dt(x_c, df = v_c)
)
# Gráfica
ggplot(df_c, aes(x, dens)) +
geom_area(
data = subset(
df_c,
x >= -1.645 & x <= 2.315
),
fill = "#2E8B57",
alpha = 0.5
) +
geom_line(
color = "#154360",
linewidth = 1.3
) +
geom_vline(
xintercept = c(-1.645, 2.315),
color = "#C0392B",
linetype = "dashed",
linewidth = 1
) +
labs(
title = "Distribución t de Student",
subtitle = "P(-1.645 < T < 2.315), gl = 15",
x = "Valores t",
y = "Densidad"
) +
theme_minimal(base_size = 14)
# =========================================================
# INCISO D
# P(T > -1.985) cuando gl = 14
# =========================================================
v_d <- 14
# Probabilidad
p_d <- 1 - pt(-1.985, df = v_d)
cat("\n====================================\n")
====================================
cat("INCISO D\n")INCISO D
cat("P(T > -1.985) =",
round(p_d,4), "\n")P(T > -1.985) = 0.9665
cat("====================================\n")====================================
# Datos para gráfica
x_d <- seq(-5, 5, by = 0.01)
df_d <- data.frame(
x = x_d,
dens = dt(x_d, df = v_d)
)
# Gráfica
ggplot(df_d, aes(x, dens)) +
geom_area(
data = subset(df_d, x >= -1.985),
fill = "#3498DB",
alpha = 0.5
) +
geom_line(
color = "#154360",
linewidth = 1.3
) +
geom_vline(
xintercept = -1.985,
color = "#C0392B",
linetype = "dashed",
linewidth = 1
) +
labs(
title = "Distribución t de Student",
subtitle = "P(T > -1.985), gl = 14",
x = "Valores t",
y = "Densidad"
) +
theme_minimal(base_size = 14)
# =========================================================
# TABLA RESUMEN
# =========================================================
tabla_resultados <- data.frame(
Inciso = c("a", "b", "c", "d"),
Probabilidad = c(
"P(T < 1.895)",
"P(T > 1.742)",
"P(-1.645 < T < 2.315)",
"P(T > -1.985)"
),
Resultado = c(
round(p_a,4),
round(p_b,4),
round(p_c,4),
round(p_d,4)
)
)
# Mostrar tabla bonita
kable(
tabla_resultados,
caption = "Resultados de la Distribución t de Student",
align = "c"
) %>%
kable_styling(
bootstrap_options = c("striped", "bordered", "hover"),
full_width = FALSE
) %>%
row_spec(
0,
bold = TRUE,
color = "white",
background = "darkblue"
)| Inciso | Probabilidad | Resultado |
|---|---|---|
| a | P(T < 1.895) | 0.9563 |
| b | P(T > 1.742) | 0.0484 |
| c | P(-1.645 < T < 2.315) | 0.9220 |
| d | P(T > -1.985) | 0.9665 |
# =========================================================
# DISTRIBUCIÓN t DE STUDENT
# CADA INCISO COMO UNA CURVA DIFERENTE
# =========================================================
library(ggplot2)
# =========================================================
# DATOS
# =========================================================
x <- seq(-5, 5, by = 0.01)
# ---------------------------------------------------------
# INCISO A
# ---------------------------------------------------------
df_a <- data.frame(
x = x,
dens = dt(x, df = 10)
)
# ---------------------------------------------------------
# INCISO B
# ---------------------------------------------------------
df_b <- data.frame(
x = x,
dens = dt(x, df = 20)
)
# ---------------------------------------------------------
# INCISO C
# ---------------------------------------------------------
df_c <- data.frame(
x = x,
dens = dt(x, df = 15)
)
# ---------------------------------------------------------
# INCISO D
# ---------------------------------------------------------
df_d <- data.frame(
x = x,
dens = dt(x, df = 14)
)
# =========================================================
# GRÁFICA
# =========================================================
ggplot() +
# ======================================================
# CURVA INCISO A
# ======================================================
geom_line(
data = df_a,
aes(x = x, y = dens),
color = "#00B894",
linewidth = 1.8
) +
geom_area(
data = subset(df_a, x <= 1.895),
aes(x = x, y = dens),
fill = "#00B894",
alpha = 0.35
) +
geom_vline(
xintercept = 1.895,
color = "#00B894",
linetype = "dashed",
linewidth = 1
) +
# ======================================================
# CURVA INCISO B
# ======================================================
geom_line(
data = df_b,
aes(x = x, y = dens),
color = "#E17055",
linewidth = 1.8
) +
geom_area(
data = subset(df_b, x >= 1.742),
aes(x = x, y = dens),
fill = "#E17055",
alpha = 0.30
) +
geom_vline(
xintercept = 1.742,
color = "#E17055",
linetype = "dashed",
linewidth = 1
) +
# ======================================================
# CURVA INCISO C
# ======================================================
geom_line(
data = df_c,
aes(x = x, y = dens),
color = "#0984E3",
linewidth = 1.8
) +
geom_area(
data = subset(
df_c,
x >= -1.645 & x <= 2.315
),
aes(x = x, y = dens),
fill = "#0984E3",
alpha = 0.25
) +
geom_vline(
xintercept = c(-1.645, 2.315),
color = "#0984E3",
linetype = "dashed",
linewidth = 1
) +
# ======================================================
# CURVA INCISO D
# ======================================================
geom_line(
data = df_d,
aes(x = x, y = dens),
color = "#6C5CE7",
linewidth = 1.8
) +
geom_area(
data = subset(df_d, x >= -1.985),
aes(x = x, y = dens),
fill = "#6C5CE7",
alpha = 0.20
) +
geom_vline(
xintercept = -1.985,
color = "#6C5CE7",
linetype = "dashed",
linewidth = 1
) +
# ======================================================
# ETIQUETAS DE CADA CURVA
# ======================================================
annotate(
"text",
x = 3.5,
y = 0.03,
label = "A",
color = "#00B894",
size = 6,
fontface = "bold"
) +
annotate(
"text",
x = 3.2,
y = 0.06,
label = "B",
color = "#E17055",
size = 6,
fontface = "bold"
) +
annotate(
"text",
x = -3.5,
y = 0.09,
label = "C",
color = "#0984E3",
size = 6,
fontface = "bold"
) +
annotate(
"text",
x = -3.8,
y = 0.045,
label = "D",
color = "#6C5CE7",
size = 6,
fontface = "bold"
) +
# ======================================================
# TÍTULOS
# ======================================================
labs(
title = "Distribuciones t de Student",
subtitle = "Cada inciso representado como una curva independiente",
x = "Valores t",
y = "Densidad"
) +
# ======================================================
# TEMA PROFESIONAL
# ======================================================
theme_minimal(base_size = 16) +
theme(
plot.title = element_text(
face = "bold",
size = 22,
hjust = 0.5
),
plot.subtitle = element_text(
size = 14,
hjust = 0.5,
color = "gray35"
),
axis.title = element_text(
face = "bold"
)
)
Ladistribución de los valores estan determinados por:
a P(T < 1.895)=0.9564 b P(T > 1.742)=0.0483 c P(-1.645 < T < 2.315)=0.9045 d P(T > -1.985)=0.9665
Las gráficas permitieron visualizar las regiones de probabilidad asociadas a cada ejercicio, mostrando cómo la distribución t cambia según los grados de libertad.
Ejercicio 2.
Dada una muestra aleatoria de tamaño 30 de una distribución normal, encuentre k tal que: a. P (−1.725 < T < k) = 0.945 b. P (k < T < 2.415) = 0.085 c. P (−k < T < k) = 0.92
# ==================================================
# DISTRIBUCIÓN t DE STUDENT
# ENCONTRAR VALORES k
# ==================================================
# Librería
library(ggplot2)
# ==================================================
# DATOS GENERALES
# ==================================================
# Grados de libertad
v <- 29
# Valores eje X
x <- seq(-5, 5, by = 0.01)
# ==================================================
# INCISO A
# P(-1.725 < T < k) = 0.945
# ==================================================
# Probabilidad acumulada inicial
p_a1 <- pt(-1.725, df = v)
# Probabilidad acumulada final
p_a2 <- 0.945 + p_a1
# Valor k
k_a <- qt(p_a2, df = v)
cat("====================================\n")====================================
cat("INCISO A\n")INCISO A
cat("k =", round(k_a,4), "\n")k = 2.5909
cat("====================================\n\n")====================================
# Data frame
df_a <- data.frame(
x = x,
dens = dt(x, df = v)
)
# Gráfica
ggplot(df_a, aes(x, dens)) +
geom_area(
data = subset(
df_a,
x >= -1.725 & x <= k_a
),
fill = "#1D9E75",
alpha = 0.5
) +
geom_line(
color = "#154360",
linewidth = 1.3
) +
geom_vline(
xintercept = c(-1.725, k_a),
color = "#C0392B",
linetype = "dashed",
linewidth = 1
) +
labs(
title = "Distribución t de Student",
subtitle = "P(-1.725 < T < k) = 0.945",
x = "Valores t",
y = "Densidad"
) +
theme_minimal(base_size = 14)
# ==================================================
# INCISO B
# P(k < T < 2.415) = 0.085
# ==================================================
# Probabilidad acumulada superior
p_b1 <- pt(2.415, df = v)
# Probabilidad acumulada de k
p_b2 <- p_b1 - 0.085
# Valor k
k_b <- qt(p_b2, df = v)
cat("====================================\n")====================================
cat("INCISO B\n")INCISO B
cat("k =", round(k_b,4), "\n")k = 1.335
cat("====================================\n\n")====================================
# Data frame
df_b <- data.frame(
x = x,
dens = dt(x, df = v)
)
# Gráfica
ggplot(df_b, aes(x, dens)) +
geom_area(
data = subset(
df_b,
x >= k_b & x <= 2.415
),
fill = "#D85A30",
alpha = 0.5
) +
geom_line(
color = "#154360",
linewidth = 1.3
) +
geom_vline(
xintercept = c(k_b, 2.415),
color = "#C0392B",
linetype = "dashed",
linewidth = 1
) +
labs(
title = "Distribución t de Student",
subtitle = "P(k < T < 2.415) = 0.085",
x = "Valores t",
y = "Densidad"
) +
theme_minimal(base_size = 14)
# ==================================================
# INCISO C
# P(-k < T < k) = 0.92
# ==================================================
# Probabilidad acumulada
p_c <- 0.96
# Valor k
k_c <- qt(p_c, df = v)
cat("====================================\n")====================================
cat("INCISO C\n")INCISO C
cat("k =", round(k_c,4), "\n")k = 1.8142
cat("====================================\n\n")====================================
# Data frame
df_c <- data.frame(
x = x,
dens = dt(x, df = v)
)
# Gráfica
ggplot(df_c, aes(x, dens)) +
geom_area(
data = subset(
df_c,
x >= -k_c & x <= k_c
),
fill = "#3498DB",
alpha = 0.5
) +
geom_line(
color = "#154360",
linewidth = 1.3
) +
geom_vline(
xintercept = c(-k_c, k_c),
color = "#C0392B",
linetype = "dashed",
linewidth = 1
) +
labs(
title = "Distribución t de Student",
subtitle = "P(-k < T < k) = 0.92",
x = "Valores t",
y = "Densidad"
) +
theme_minimal(base_size = 14)
# ==================================================
# TABLA DE RESULTADOS
# ==================================================
tabla_resultados <- data.frame(
Inciso = c(
"a",
"b",
"c"
),
Expresion = c(
"P(-1.725 < T < k) = 0.945",
"P(k < T < 2.415) = 0.085",
"P(-k < T < k) = 0.92"
),
Resultado_k = c(
round(k_a,4),
round(k_b,4),
round(k_c,4)
)
)
# Mostrar tabla
print(tabla_resultados) Inciso Expresion Resultado_k
1 a P(-1.725 < T < k) = 0.945 2.5909
2 b P(k < T < 2.415) = 0.085 1.3350
3 c P(-k < T < k) = 0.92 1.8142
# =========================================================
# DISTRIBUCIÓN t DE STUDENT
# CADA INCISO COMO CURVA DIFERENTE
# VALORES k
# =========================================================
library(ggplot2)
# =========================================================
# DATOS GENERALES
# =========================================================
# Grados de libertad
v <- 29
# Valores eje X
x <- seq(-5, 5, by = 0.01)
# =========================================================
# INCISO A
# P(-1.725 < T < k) = 0.945
# =========================================================
p_a1 <- pt(-1.725, df = v)
p_a2 <- 0.945 + p_a1
k_a <- qt(p_a2, df = v)
cat("====================================\n")====================================
cat("INCISO A\n")INCISO A
cat("k =", round(k_a,4), "\n")k = 2.5909
cat("====================================\n\n")====================================
# =========================================================
# INCISO B
# P(k < T < 2.415) = 0.085
# =========================================================
p_b1 <- pt(2.415, df = v)
p_b2 <- p_b1 - 0.085
k_b <- qt(p_b2, df = v)
cat("====================================\n")====================================
cat("INCISO B\n")INCISO B
cat("k =", round(k_b,4), "\n")k = 1.335
cat("====================================\n\n")====================================
# =========================================================
# INCISO C
# P(-k < T < k) = 0.92
# =========================================================
p_c <- 0.96
k_c <- qt(p_c, df = v)
cat("====================================\n")====================================
cat("INCISO C\n")INCISO C
cat("k =", round(k_c,4), "\n")k = 1.8142
cat("====================================\n\n")====================================
# =========================================================
# DATA FRAMES
# =========================================================
df_a <- data.frame(
x = x,
dens = dt(x, df = v)
)
df_b <- data.frame(
x = x,
dens = dt(x, df = v)
)
df_c <- data.frame(
x = x,
dens = dt(x, df = v)
)
# =========================================================
# GRÁFICA PROFESIONAL COMBINADA
# =========================================================
ggplot() +
# ======================================================
# CURVA INCISO A
# ======================================================
geom_line(
data = df_a,
aes(x = x, y = dens),
color = "#00B894",
linewidth = 1.8
) +
geom_area(
data = subset(
df_a,
x >= -1.725 & x <= k_a
),
aes(x = x, y = dens),
fill = "#00B894",
alpha = 0.35
) +
geom_vline(
xintercept = c(-1.725, k_a),
color = "#00B894",
linetype = "dashed",
linewidth = 1
) +
# ======================================================
# CURVA INCISO B
# ======================================================
geom_line(
data = df_b,
aes(x = x, y = dens),
color = "#E17055",
linewidth = 1.8
) +
geom_area(
data = subset(
df_b,
x >= k_b & x <= 2.415
),
aes(x = x, y = dens),
fill = "#E17055",
alpha = 0.30
) +
geom_vline(
xintercept = c(k_b, 2.415),
color = "#E17055",
linetype = "dashed",
linewidth = 1
) +
# ======================================================
# CURVA INCISO C
# ======================================================
geom_line(
data = df_c,
aes(x = x, y = dens),
color = "#0984E3",
linewidth = 1.8
) +
geom_area(
data = subset(
df_c,
x >= -k_c & x <= k_c
),
aes(x = x, y = dens),
fill = "#0984E3",
alpha = 0.25
) +
geom_vline(
xintercept = c(-k_c, k_c),
color = "#0984E3",
linetype = "dashed",
linewidth = 1
) +
# ======================================================
# ETIQUETAS DE CURVAS
# ======================================================
annotate(
"text",
x = 3.2,
y = 0.12,
label = "Inciso A",
color = "#00B894",
size = 5,
fontface = "bold"
) +
annotate(
"text",
x = 3.2,
y = 0.09,
label = "Inciso B",
color = "#E17055",
size = 5,
fontface = "bold"
) +
annotate(
"text",
x = 3.2,
y = 0.06,
label = "Inciso C",
color = "#0984E3",
size = 5,
fontface = "bold"
) +
# ======================================================
# TÍTULOS
# ======================================================
labs(
title = "Distribución t de Student",
subtitle = "Curvas independientes para cada inciso",
x = "Valores t",
y = "Densidad"
) +
# ======================================================
# TEMA PROFESIONAL
# ======================================================
theme_minimal(base_size = 16) +
theme(
plot.title = element_text(
face = "bold",
size = 22,
hjust = 0.5
),
plot.subtitle = element_text(
size = 14,
hjust = 0.5,
color = "gray35"
),
axis.title = element_text(
face = "bold"
)
)
# =========================================================
# TABLA DE RESULTADOS
# =========================================================
tabla_resultados <- data.frame(
Inciso = c(
"a",
"b",
"c"
),
Expresion = c(
"P(-1.725 < T < k) = 0.945",
"P(k < T < 2.415) = 0.085",
"P(-k < T < k) = 0.92"
),
Resultado_k = c(
round(k_a,4),
round(k_b,4),
round(k_c,4)
)
)
print(tabla_resultados) Inciso Expresion Resultado_k
1 a P(-1.725 < T < k) = 0.945 2.5909
2 b P(k < T < 2.415) = 0.085 1.3350
3 c P(-k < T < k) = 0.92 1.8142
La distribución F es una distribución de probabilidad continua utilizada principalmente para comparar varianzas entre dos poblaciones y en análisis estadísticos como ANOVA (Análisis de Varianza).
Fue desarrollada por el estadístico Ronald Fisher, por eso se llama distribución F de Fisher.
Características principales
Solo toma valores positivos.
Tiene forma asimétrica hacia la derecha.
Depende de dos grados de libertad:
v1v_1v1: grados de libertad del numerador
v2v_2v2: grados de libertad del denominador
¿Cuándo se utiliza?
La distribución F se usa principalmente para:
comparar varianzas,
análisis de varianza (ANOVA),
pruebas de hipótesis,
modelos de regresión.
Aplicaciones comunes
Verificar si dos poblaciones tienen varianzas iguales.
Comparar medias de varios grupos mediante ANOVA.
Evaluar modelos estadísticos.
Forma de la gráfica

# =========================================================
# DISTRIBUCIÓN F DE FISHER
# VALORES CRÍTICOS
# =========================================================
# Librería
library(ggplot2)
# =========================================================
# INCISO A
# f0.05 con v1 = 9 y v2 = 18
# =========================================================
alpha_a <- 0.05
v1_a <- 9
v2_a <- 18
f_a <- qf(
1 - alpha_a,
df1 = v1_a,
df2 = v2_a
)
cat("====================================\n")====================================
cat("INCISO A\n")INCISO A
cat("f0.05 =", round(f_a,4), "\n")f0.05 = 2.4563
cat("====================================\n\n")====================================
# =========================================================
# INCISO B
# f0.01 con v1 = 12 y v2 = 10
# =========================================================
alpha_b <- 0.01
v1_b <- 12
v2_b <- 10
f_b <- qf(
1 - alpha_b,
df1 = v1_b,
df2 = v2_b
)
cat("====================================\n")====================================
cat("INCISO B\n")INCISO B
cat("f0.01 =", round(f_b,4), "\n")f0.01 = 4.7059
cat("====================================\n\n")====================================
# =========================================================
# INCISO C
# f0.10 con v1 = 20 y v2 = 25
# =========================================================
alpha_c <- 0.10
v1_c <- 20
v2_c <- 25
f_c <- qf(
1 - alpha_c,
df1 = v1_c,
df2 = v2_c
)
cat("====================================\n")====================================
cat("INCISO C\n")INCISO C
cat("f0.10 =", round(f_c,4), "\n")f0.10 = 1.7175
cat("====================================\n\n")====================================
# =========================================================
# INCISO D
# f0.95 con v1 = 16 y v2 = 30
# =========================================================
alpha_d <- 0.95
v1_d <- 16
v2_d <- 30
f_d <- qf(
alpha_d,
df1 = v1_d,
df2 = v2_d
)
cat("====================================\n")====================================
cat("INCISO D\n")INCISO D
cat("f0.95 =", round(f_d,4), "\n")f0.95 = 1.9946
cat("====================================\n\n")====================================
# =========================================================
# INCISO E
# f0.99 con v1 = 35 y v2 = 14
# =========================================================
alpha_e <- 0.99
v1_e <- 35
v2_e <- 14
f_e <- qf(
alpha_e,
df1 = v1_e,
df2 = v2_e
)
cat("====================================\n")====================================
cat("INCISO E\n")INCISO E
cat("f0.99 =", round(f_e,4), "\n")f0.99 = 3.301
cat("====================================\n\n")====================================
# =========================================================
# DATOS PARA LAS CURVAS
# =========================================================
x <- seq(0, 8, by = 0.01)
# Curvas F
df_a <- data.frame(
x = x,
dens = df(x, v1_a, v2_a)
)
df_b <- data.frame(
x = x,
dens = df(x, v1_b, v2_b)
)
df_c <- data.frame(
x = x,
dens = df(x, v1_c, v2_c)
)
df_d <- data.frame(
x = x,
dens = df(x, v1_d, v2_d)
)
df_e <- data.frame(
x = x,
dens = df(x, v1_e, v2_e)
)
# =========================================================
# GRÁFICA COMBINADA
# =========================================================
ggplot() +
# ======================================================
# INCISO A
# ======================================================
geom_line(
data = df_a,
aes(x, dens),
color = "#00B894",
linewidth = 1.5
) +
geom_vline(
xintercept = f_a,
color = "#00B894",
linetype = "dashed"
) +
# ======================================================
# INCISO B
# ======================================================
geom_line(
data = df_b,
aes(x, dens),
color = "#E17055",
linewidth = 1.5
) +
geom_vline(
xintercept = f_b,
color = "#E17055",
linetype = "dashed"
) +
# ======================================================
# INCISO C
# ======================================================
geom_line(
data = df_c,
aes(x, dens),
color = "#0984E3",
linewidth = 1.5
) +
geom_vline(
xintercept = f_c,
color = "#0984E3",
linetype = "dashed"
) +
# ======================================================
# INCISO D
# ======================================================
geom_line(
data = df_d,
aes(x, dens),
color = "#6C5CE7",
linewidth = 1.5
) +
geom_vline(
xintercept = f_d,
color = "#6C5CE7",
linetype = "dashed"
) +
# ======================================================
# INCISO E
# ======================================================
geom_line(
data = df_e,
aes(x, dens),
color = "#D63031",
linewidth = 1.5
) +
geom_vline(
xintercept = f_e,
color = "#D63031",
linetype = "dashed"
) +
# ======================================================
# ETIQUETAS
# ======================================================
annotate(
"text",
x = 6,
y = 0.75,
label = "A",
color = "#00B894",
size = 6,
fontface = "bold"
) +
annotate(
"text",
x = 6,
y = 0.60,
label = "B",
color = "#E17055",
size = 6,
fontface = "bold"
) +
annotate(
"text",
x = 6,
y = 0.45,
label = "C",
color = "#0984E3",
size = 6,
fontface = "bold"
) +
annotate(
"text",
x = 6,
y = 0.30,
label = "D",
color = "#6C5CE7",
size = 6,
fontface = "bold"
) +
annotate(
"text",
x = 6,
y = 0.15,
label = "E",
color = "#D63031",
size = 6,
fontface = "bold"
) +
# ======================================================
# TÍTULOS
# ======================================================
labs(
title = "Distribución F de Fisher",
subtitle = "Curvas para los incisos A, B, C, D y E",
x = "Valores F",
y = "Densidad"
) +
# ======================================================
# TEMA
# ======================================================
theme_minimal(base_size = 16) +
theme(
plot.title = element_text(
face = "bold",
size = 22,
hjust = 0.5
),
plot.subtitle = element_text(
size = 14,
hjust = 0.5,
color = "gray35"
)
)
# =========================================================
# TABLA DE RESULTADOS
# =========================================================
tabla_resultados <- data.frame(
Inciso = c(
"a",
"b",
"c",
"d",
"e"
),
Expresion = c(
"f0.05 (9,18)",
"f0.01 (12,10)",
"f0.10 (20,25)",
"f0.95 (16,30)",
"f0.99 (35,14)"
),
Resultado = c(
round(f_a,4),
round(f_b,4),
round(f_c,4),
round(f_d,4),
round(f_e,4)
)
)
print(tabla_resultados) Inciso Expresion Resultado
1 a f0.05 (9,18) 2.4563
2 b f0.01 (12,10) 4.7059
3 c f0.10 (20,25) 1.7175
4 d f0.95 (16,30) 1.9946
5 e f0.99 (35,14) 3.3010
Resumen teórico — Taller universitario
La prueba de hipótesis es un procedimiento estadístico que permite tomar decisiones sobre una población usando información obtenida de una muestra.
Se utiliza para verificar si una afirmación sobre una población es verdadera o no.
conseptos
Hipótesis nula H 0
Es la afirmación inicial o la que se quiere comprobar.
Generalmente representa:
igualdad no cambio no diferencia
cat("H0: mu = 50")H0: mu = 50
plot(1:10)
title(
main = expression(H[0] : mu == 50)
)
Hipótesis alternativa H1
expression(alpha)expression(alpha)
Es la afirmación opuesta a la hipótesis nula.
Representa:
diferencia cambio efecto
plot(1:10)
title(
main = expression(alpha)
)
Nivel de significancia α
Es la probabilidad de cometer error al rechazar H 0
plot(1:10)
title(
main = expression(Z ~ "," ~ t ~ "," ~ chi^2 ~ "," ~ F)
)
Los niveles más usados son:
Prueba bilateral
plot(1:10)
title(
main = expression(
H[1] : mu != mu[0]
)
)
Prueba unilateral derecha
Se usa cuando interesa comprobar aumento.
plot(1:10)
title(
main = expression(
H[1] : mu > mu[0]
)
)
Prueba unilateral izquierda
Se usa cuando interesa comprobar disminución.
plot(1:10)
title(
main = expression(
H[1] : mu < mu[0]
)
)
Estadístico de prueba
Es el valor calculado con los datos de la muestra.
Las distribuciones más usadas son:
# ==========================================
# LIBRERÍA
# ==========================================
library(gt)
# ==========================================
# CREAR TABLA
# ==========================================
tabla_distribuciones <- data.frame(
Distribucion = c(
"Z",
"t Student",
"Chi-cuadrada",
"F"
),
Uso = c(
"Muestras grandes",
"Muestras pequeñas",
"Varianzas",
"Comparación de varianzas"
)
)
# ==========================================
# MOSTRAR TABLA
# ==========================================
gt(tabla_distribuciones) |>
tab_header(
title = "Distribuciones Estadísticas"
) |>
cols_label(
Distribucion = "Distribución",
Uso = "Uso principal"
) |>
tab_style(
style = list(
cell_fill(color = "#154360"),
cell_text(
color = "white",
weight = "bold"
)
),
locations = cells_column_labels(
everything()
)
) |>
opt_row_striping()| Distribuciones Estadísticas | |
| Distribución | Uso principal |
|---|---|
| Z | Muestras grandes |
| t Student | Muestras pequeñas |
| Chi-cuadrada | Varianzas |
| F | Comparación de varianzas |
Valor p
Es la probabilidad de obtener un resultado igual o más extremo que el observado.
Regla de decisión
# Librería
library(gt)
# Tabla
tabla <- data.frame(
Condicion = c(
"p < α",
"p ≥ α"
),
Decision = c(
"Rechazar H0",
"No rechazar H0"
)
)
# Tabla con colores
gt(tabla) |>
# Título
tab_header(
title = "Regla de decisión"
) |>
# Nombres columnas
cols_label(
Condicion = "Condición",
Decision = "Decisión"
) |>
# Color encabezados
tab_style(
style = list(
cell_fill(color = "#154360"),
cell_text(
color = "white",
weight = "bold"
)
),
locations = cells_column_labels(
everything()
)
) |>
# Color fila rechazar
tab_style(
style = list(
cell_fill(color = "#FADBD8"),
cell_text(
color = "#922B21",
weight = "bold"
)
),
locations = cells_body(
rows = Decision == "Rechazar H0"
)
) |>
# Color fila no rechazar
tab_style(
style = list(
cell_fill(color = "#D5F5E3"),
cell_text(
color = "#145A32",
weight = "bold"
)
),
locations = cells_body(
rows = Decision == "No rechazar H0"
)
) |>
# Centrar texto
cols_align(
align = "center",
columns = everything()
)| Regla de decisión | |
| Condición | Decisión |
|---|---|
| p < α | Rechazar H0 |
| p ≥ α | No rechazar H0 |
Errores en hipótesis
# Librería
library(gt)
# Tabla
tabla <- data.frame(
Tipo = c(
"Error Tipo I",
"Error Tipo II"
),
Explicacion = c(
"Rechazar H0 siendo verdadera",
"No rechazar H0 siendo falsa"
)
)
# Tabla con colores
gt(tabla) |>
# Título
tab_header(
title = "Errores en pruebas de hipótesis"
) |>
# Cambiar nombres columnas
cols_label(
Tipo = "Tipo de error",
Explicacion = "Explicación"
) |>
# Encabezados azules
tab_style(
style = list(
cell_fill(color = "#154360"),
cell_text(
color = "white",
weight = "bold"
)
),
locations = cells_column_labels(
everything()
)
) |>
# Color Error Tipo I
tab_style(
style = list(
cell_fill(color = "#FADBD8"),
cell_text(
color = "#922B21",
weight = "bold"
)
),
locations = cells_body(
rows = Tipo == "Error Tipo I"
)
) |>
# Color Error Tipo II
tab_style(
style = list(
cell_fill(color = "#FCF3CF"),
cell_text(
color = "#7D6608",
weight = "bold"
)
),
locations = cells_body(
rows = Tipo == "Error Tipo II"
)
) |>
# Centrar texto
cols_align(
align = "center",
columns = everything()
)| Errores en pruebas de hipótesis | |
| Tipo de error | Explicación |
|---|---|
| Error Tipo I | Rechazar H0 siendo verdadera |
| Error Tipo II | No rechazar H0 siendo falsa |
Pasos para resolver una prueba de hipótesis Paso 1
Plantear hipótesis:
# ==========================================
# EJEMPLO DE HIPÓTESIS
# ==========================================
# H0
expression(
H[0] : mu == 50
)expression(H[0]:mu == 50)
# H1
expression(
H[1] : mu != 50
)expression(H[1]:mu != 50)
Paso 2
Definir:
# ==========================================
# PASO 3
# NIVEL DE SIGNIFICANCIA
# ==========================================
# α = 0.05
expression(
alpha == 0.05
)expression(alpha == 0.05)
Paso 3
Calcular el estadístico:
# ==========================================
# PASO 4
# ESTADÍSTICO DE PRUEBA
# ==========================================
expression(
Z ~ "," ~ t ~ "," ~ chi^2 ~ "," ~ F
)expression(Z ~ "," ~ t ~ "," ~ chi^2 ~ "," ~ F)
Paso 4
Encontrar región crítica o valor p.
Paso 5
Tomar decisión:
Rechazar H0
No rechazar H0
Paso 6
Dar conclusión en contexto del problema.
#EJERCICIOS DE LA PARTE 3 DEL TALLER
Antes de la campaña, el promedio de accidentes mortales era:
μ 0
=12
Después de la campaña se registraron durante 6 meses:
8, 11, 9, 7, 10, 9
Se desea comprobar si la campaña fue efectiva, es decir, si el promedio de accidentes disminuyó.
Hipótesis nula
expression(
H[0] : mu == 12
)expression(H[0]:mu == 12)
Hipótesis alternativa
expression(
H[1] : mu < 12
)expression(H[1]:mu < 12)
Es una prueba unilateral izquierda.
Nivel de significancia
alpha <- 0.05# ==========================================
# PRUEBA DE HIPÓTESIS
# CAMPAÑA DE ACCIDENTES
# ==========================================
# Datos
datos <- c(
8, 11, 9, 7, 10, 9
)
# Media hipotética
mu0 <- 12
# Nivel de significancia
alpha <- 0.05
# ==========================================
# PRUEBA t DE STUDENT
# ==========================================
prueba <- t.test(
datos,
mu = mu0,
alternative = "less"
)
# Mostrar resultados
print(prueba)
One Sample t-test
data: datos
t = -5.1962, df = 5, p-value = 0.001739
alternative hypothesis: true mean is less than 12
95 percent confidence interval:
-Inf 10.16339
sample estimates:
mean of x
9
Media muestral x ˉ =9 Estadístico de prueba t≈−4.743 Valor-p p≈0.0025
Media muestral x ˉ =9 Estadístico de prueba t≈−4.743 Valor-p p≈0.0025
p<α 0.0025<0.05
# =========================================================
# CAMPANA DE GAUSS
# PRUEBA DE HIPÓTESIS
# =========================================================
# Librería
library(ggplot2)
# =========================================================
# DATOS
# =========================================================
datos <- c(
8, 11, 9, 7, 10, 9
)
# Parámetros
mu0 <- 12
n <- length(datos)
# Media y desviación
media <- mean(datos)
s <- sd(datos)
# Estadístico t
t_calculado <- (media - mu0) / (s / sqrt(n))
# Grados de libertad
gl <- n - 1
# Valor crítico
t_critico <- qt(0.05, df = gl)
# =========================================================
# CURVA t
# =========================================================
x <- seq(-5, 5, length = 1000)
y <- dt(x, df = gl)
df <- data.frame(
x = x,
y = y
)
# =========================================================
# GRAFICA
# =========================================================
ggplot(df, aes(x, y)) +
# Área rechazo
geom_area(
data = subset(df, x <= t_critico),
fill = "#E74C3C",
alpha = 0.45
) +
# Curva principal
geom_line(
color = "#154360",
linewidth = 1.8
) +
# Línea valor crítico
geom_vline(
xintercept = t_critico,
color = "#C0392B",
linetype = "dashed",
linewidth = 1.2
) +
# Línea estadístico calculado
geom_vline(
xintercept = t_calculado,
color = "#27AE60",
linetype = "dashed",
linewidth = 1.2
) +
# Etiquetas
labs(
title = "Campana de Gauss - Prueba de Hipótesis",
subtitle = "Distribución t de Student",
x = "Valores t",
y = "Densidad"
) +
# Tema elegante
theme_minimal(base_size = 15) +
theme(
plot.title = element_text(
face = "bold",
hjust = 0.5,
color = "#154360"
),
plot.subtitle = element_text(
hjust = 0.5
)
)
Con un nivel de significancia del 5%, existe evidencia estadística suficiente para concluir que la campaña de señalización y educación fue efectiva, ya que logró disminuir el promedio mensual de accidentes mortales.
Se desea verificar si el peso promedio disminuyó.
Hipótesis nula
expression(
H[0] : mu == 53
)expression(H[0]:mu == 53)
Hipótesis alternativa
expression(
H[1] : mu < 53
)expression(H[1]:mu < 53)
Estadístico de prueba Z
Como se conoce la desviación estándar poblacional:
σ=5
se utiliza la distribución Z.
Z = \frac{\bar{x} - \mu_0}{\sigma / \sqrt{n}}
Z = \frac{50 - 53}{5 / \sqrt{16}}
Z = \frac{-3}{1.25}
Z = -2.4
# ==========================================
# TABLA DE VALORES CRÍTICOS
# ==========================================
# Librería
library(gt)
# Crear tabla
tabla_criticos <- data.frame(
Nivel = c(
"α = 0.05",
"α = 0.01"
),
Valor_critico = c(
-1.645,
-2.326
)
)
# Mostrar tabla
gt(tabla_criticos) |>
# Título
tab_header(
title = "Valores críticos de Z"
) |>
# Nombres columnas
cols_label(
Nivel = "Nivel",
Valor_critico = "Valor crítico"
) |>
# Color encabezados
tab_style(
style = list(
cell_fill(color = "#154360"),
cell_text(
color = "white",
weight = "bold"
)
),
locations = cells_column_labels(
everything()
)
) |>
# Filas alternadas
opt_row_striping() |>
# Centrar texto
cols_align(
align = "center",
columns = everything()
)| Valores críticos de Z | |
| Nivel | Valor crítico |
|---|---|
| α = 0.05 | -1.645 |
| α = 0.01 | -2.326 |
Como:
−2.4<−1.645
se rechaza H0
Conclusión al 5%
Existe evidencia estadística suficiente para concluir que el peso promedio de las mujeres entre 30 y 40 años disminuyó respecto al promedio histórico de 53 kilos.
Como:
−2.4<−2.326
también se rechaza H1
Conclusión al 1%
Incluso con un nivel de significancia más estricto del 1%, existe evidencia suficiente para concluir que el peso promedio disminuyó.
# =========================================================
# PRUEBA DE HIPÓTESIS
# PESO PROMEDIO DE MUJERES
# =========================================================
# Datos
mu0 <- 53
sigma <- 5
x_barra <- 50
n <- 16
# =========================================================
# ESTADISTICO Z
# =========================================================
z <- (x_barra - mu0) / (sigma / sqrt(n))
# Mostrar resultado
cat("Valor Z =", round(z,4), "\n")Valor Z = -2.4
# =========================================================
# VALORES CRITICOS
# =========================================================
z_05 <- qnorm(0.05)
z_01 <- qnorm(0.01)
cat("Valor crítico α = 0.05:", round(z_05,4), "\n")Valor crítico α = 0.05: -1.6449
cat("Valor crítico α = 0.01:", round(z_01,4), "\n")Valor crítico α = 0.01: -2.3263
# =========================================================
# CAMPANA DE GAUSS
# PRUEBA Z
# =========================================================
# Librería
library(ggplot2)
# =========================================================
# DATOS
# =========================================================
# Valores eje X
x <- seq(-5, 5, length = 1000)
# Densidad normal
y <- dnorm(x)
# Data frame
df <- data.frame(
x = x,
y = y
)
# Valor calculado
z_calculado <- -2.4
# Valores críticos
z_05 <- -1.645
z_01 <- -2.326
# =========================================================
# GRAFICA
# =========================================================
ggplot(df, aes(x, y)) +
# Región crítica α = 0.05
geom_area(
data = subset(df, x <= z_05),
fill = "#F1948A",
alpha = 0.45
) +
# Región crítica α = 0.01
geom_area(
data = subset(df, x <= z_01),
fill = "#C0392B",
alpha = 0.60
) +
# Curva normal
geom_line(
color = "#154360",
linewidth = 1.8
) +
# Línea Z calculado
geom_vline(
xintercept = z_calculado,
color = "#27AE60",
linetype = "dashed",
linewidth = 1.4
) +
# Línea crítica 5%
geom_vline(
xintercept = z_05,
color = "#E67E22",
linetype = "dashed",
linewidth = 1.2
) +
# Línea crítica 1%
geom_vline(
xintercept = z_01,
color = "#922B21",
linetype = "dashed",
linewidth = 1.2
) +
# Etiquetas
labs(
title = "Campana de Gauss - Prueba Z",
subtitle = "Peso promedio de mujeres",
x = "Valores Z",
y = "Densidad"
) +
# Tema elegante
theme_minimal(base_size = 15) +
theme(
plot.title = element_text(
face = "bold",
hjust = 0.5,
color = "#154360"
),
plot.subtitle = element_text(
hjust = 0.5
)
)
3.En un programa de control de enfermedades crónicas, la hipertensión está incluida como la primera patología a controlar. 15 pacientes hipertensos son sometidos al programa y controlados en su presión antes y después de 6 meses de tratamiento. Los datos son los siguientes:
¿Se puede decir a un nivel de significación del 5% que el tratamiento es efectivo?
Este ejercicio se resuelve con una prueba t para muestras pareadas, porque se mide la presión arterial de los mismos 15 pacientes antes y después del tratamiento.
Inic. 180 200 160 170 180 190 190 180 190 160 170 190 200 210 220 Fin. 140 170 160 140 130 150 140 150 190 170 120 160 170 160 150
# =====================================================
# TABLA HORIZONTAL MEJORADA
# PRESIÓN ARTERIAL ANTES Y DESPUÉS
# =====================================================
# Datos
# ==========================================
# TABLA DE PRESIÓN ARTERIAL
# ==========================================
# Librerías
library(gt)
# Crear tabla
tabla_presion <- data.frame(
Paciente = 1:15,
Inicial = c(
180, 200, 160, 170, 180,
190, 190, 180, 190, 160,
170, 190, 200, 210, 220
),
Final = c(
140, 170, 160, 140, 130,
150, 140, 150, 190, 170,
120, 160, 170, 160, 150
)
)
# Mostrar tabla
gt(tabla_presion) |>
# Título
tab_header(
title = "Control de Hipertensión",
subtitle = "Presión arterial antes y después del tratamiento"
) |>
# Cambiar nombres
cols_label(
Paciente = "Paciente",
Inicial = "Presión inicial",
Final = "Presión final"
) |>
# Encabezados color
tab_style(
style = list(
cell_fill(color = "#154360"),
cell_text(
color = "white",
weight = "bold",
size = "15px"
)
),
locations = cells_column_labels(
everything()
)
) |>
# Filas alternadas
opt_row_striping() |>
# Centrar contenido
cols_align(
align = "center",
columns = everything()
) |>
# Opciones visuales
tab_options(
table.font.size = 13,
data_row.padding = px(6),
heading.background.color = "#D6EAF8"
)| Control de Hipertensión | ||
| Presión arterial antes y después del tratamiento | ||
| Paciente | Presión inicial | Presión final |
|---|---|---|
| 1 | 180 | 140 |
| 2 | 200 | 170 |
| 3 | 160 | 160 |
| 4 | 170 | 140 |
| 5 | 180 | 130 |
| 6 | 190 | 150 |
| 7 | 190 | 140 |
| 8 | 180 | 150 |
| 9 | 190 | 190 |
| 10 | 160 | 170 |
| 11 | 170 | 120 |
| 12 | 190 | 160 |
| 13 | 200 | 170 |
| 14 | 210 | 160 |
| 15 | 220 | 150 |
Sea:
D= Presioˊn inicial−Presioˊn final
Si el tratamiento es efectivo, esperamos que:
μD >0
Entonces:
Hipótesis nula:
H0:μD=0
Hipótesis alternativa:
H1:μ D>0
Nivel de significación:
α=0.05
Diferencias:
Se rechaza H0
Conclusión
Existe evidencia estadística suficiente para afirmar que el programa de control fue efectivo, ya que logró disminuir significativamente la presión arterial de los pacientes hipertensos.
# =========================================================
# GRAFICA
# =========================================================
ggplot(df, aes(x, y)) +
# Región rechazo
geom_area(
data = subset(df, x >= t_critico),
fill = "#E74C3C",
alpha = 0.5
) +
# Curva
geom_line(
color = "#154360",
linewidth = 1.8
) +
# Valor crítico
geom_vline(
xintercept = t_critico,
color = "#C0392B",
linetype = "dashed",
linewidth = 1.3
) +
# t calculado
geom_vline(
xintercept = t_calculado,
color = "#27AE60",
linetype = "dashed",
linewidth = 1.3
) +
# Etiquetas
labs(
title = "Prueba t pareada - Hipertensión",
subtitle = "Programa de control de enfermedades crónicas",
x = "Valores t",
y = "Densidad"
) +
# Tema elegante
theme_minimal(base_size = 15) +
theme(
plot.title = element_text(
face = "bold",
hjust = 0.5,
color = "#154360"
),
plot.subtitle = element_text(
hjust = 0.5
)
)
La eliminación por orina de aldosterona está valorada en individuos normales en 12mgs/24h. en promedio. En 50 individuos con insuficiencia cardiaca se observó una eliminación media de aldosterona de 13mgs/24h. , con una desviación estándar de 2,5mgs/24h. a) Son compatibles estos resultados con los de los individuos normales? Use 5% b) La insuficiencia cardiaca aumenta la eliminación por orina de aldosterona? Use 5% c) ¿Se puede decir a un nivel de confianza del 5% que la varianza poblacional no es igual a 5?.
# =========================================================
# PRUEBA DE HIPÓTESIS
# ALDOSTERONA
# =========================================================
# Datos
mu0 <- 12
x_barra <- 13
s <- 2.5
n <- 50
# =========================================================
# INCISO A Y B
# PRUEBA Z
# =========================================================
z <- (x_barra - mu0) / (s / sqrt(n))
cat("Valor Z =", round(z,4), "\n")Valor Z = 2.8284
# Valores críticos
z_bilateral <- qnorm(0.975)
z_unilateral <- qnorm(0.95)
cat("Z crítico bilateral =", round(z_bilateral,4), "\n")Z crítico bilateral = 1.96
cat("Z crítico unilateral =", round(z_unilateral,4), "\n")Z crítico unilateral = 1.6449
# =========================================================
# INCISO C
# CHI CUADRADO
# =========================================================
chi <- ((n - 1) * s^2) / 5
cat("Chi-cuadrado =", round(chi,4), "\n")Chi-cuadrado = 61.25
\begin{aligned} \chi^2 &= \frac{(n-1)s^2}{\sigma_0^2} \\ \\ \chi^2 &= \frac{49(2.5^2)}{5} \\ \\ \chi^2 &= 61.25 \end{aligned}
Los resultados NO son compatibles con los individuos normales, ya que existe diferencia significativa en la eliminación promedio de aldosterona.
Existe evidencia estadística suficiente para afirmar que la insuficiencia cardiaca aumenta la eliminación urinaria de aldosterona.
Existe evidencia estadística suficiente para afirmar, con un nivel de significancia del 5%, que la varianza poblacional es diferente de 5.
Esto indica que la variabilidad en la eliminación urinaria de aldosterona en pacientes con insuficiencia cardiaca no coincide con la varianza propuesta.
\begin{aligned} \chi^2 &= \frac{(n-1)s^2}{\sigma_0^2} \\ \\ \chi^2 &= \frac{49(2.5^2)}{5} \\ \\ \chi^2 &= 61.25 \end{aligned}
# =========================================================
# CAMPANA DE GAUSS
# =========================================================
library(ggplot2)
# Valores X
x <- seq(-5, 5, length = 1000)
# Densidad normal
y <- dnorm(x)
# Data frame
df <- data.frame(
x = x,
y = y
)
# Valores críticos
z_critico <- 1.96
# =========================================================
# GRAFICA
# =========================================================
ggplot(df, aes(x, y)) +
# Regiones rechazo
geom_area(
data = subset(df, x <= -z_critico),
fill = "#E74C3C",
alpha = 0.45
) +
geom_area(
data = subset(df, x >= z_critico),
fill = "#E74C3C",
alpha = 0.45
) +
# Curva normal
geom_line(
color = "#154360",
linewidth = 1.8
) +
# Z calculado
geom_vline(
xintercept = z,
color = "#27AE60",
linetype = "dashed",
linewidth = 1.4
) +
geom_vline(
xintercept = -z_critico,
color = "#C0392B",
linetype = "dashed"
) +
geom_vline(
xintercept = z_critico,
color = "#C0392B",
linetype = "dashed"
) +
labs(
title = "Campana de Gauss - Prueba Z",
subtitle = "Eliminación urinaria de aldosterona",
x = "Valores Z",
y = "Densidad"
) +
theme_minimal(base_size = 15)
| Parámetro | Valor |
|---|---|
| Media poblacional | (_0 = 12) |
| Media muestral | ({x} = 13) |
| Desviación estándar | (s = 2.5) |
| Tamaño muestra | (n = 50) |
| Nivel significancia | (= 0.05) |
# =====================================================
# TABLA DE PARÁMETROS
# =====================================================
# Crear tabla
parametros <- data.frame(
Parámetro = c(
"Media poblacional",
"Media muestral",
"Desviación estándar",
"Tamaño muestra",
"Nivel significancia"
),
Valor = c(
"μ₀ = 12",
"x̄ = 13",
"s = 2.5",
"n = 50",
"α = 0.05"
)
)
# Mostrar tabla
print(parametros) Parámetro Valor
1 Media poblacional μ₀ = 12
2 Media muestral x̄ = 13
3 Desviación estándar s = 2.5
4 Tamaño muestra n = 50
5 Nivel significancia α = 0.05
Hipótesis nula
H_0 : \mu = 12 Hipótesis alternativa
H_1 : \mu \neq 12 Estadístico Z
\begin{aligned} Z &= \frac{13 - 12}{2.5 / \sqrt{50}} \\ \\ Z &\approx 2.828 \end{aligned} Valor crítico
Z_{0.025} = \pm 1.96 Decisión
Como:
2.828 > 1.96 Se rechaza H0
Conclusión inciso A
Los resultados NO son compatibles con los individuos normales, ya que existe una diferencia significativa en la eliminación promedio de aldosterona.
INCISO B ¿La insuficiencia cardiaca aumenta la eliminación?
Hipótesis Hipótesis nula
H_0 : \mu = 12 Hipótesis alternativa
H_1 : \mu > 12 Prueba unilateral derecha.
Valor crítico Z_{0.05} = 1.645 Decisión
Como: 2.828 > 1.645 Se rechaza H1
Conclusión inciso B
Existe evidencia estadística suficiente para afirmar que la insuficiencia cardiaca aumenta la eliminación urinaria de aldosterona.
INCISO C ¿La varianza poblacional es diferente de 5?
Hipótesis Hipótesis nula
H_0 : \sigma^2 = 5 Hipótesis alternativa
H_1 : \sigma^2 \neq 5 Prueba bilateral Chi-cuadrada.
\chi^2 = \frac{49(2.5^2)}{5}
\chi^2 = 61.25 Conclusión inciso C
Con un nivel de significancia del 5%, existe evidencia estadística suficiente para afirmar que la varianza poblacional es diferente de 5.
Por lo tanto:Se rechaza H0
# =========================================================
# PRUEBA DE HIPÓTESIS
# ELIMINACIÓN DE ALDOSTERONA
# =========================================================
# Datos
mu0 <- 12
x_barra <- 13
s <- 2.5
n <- 50
# =========================================================
# INCISO A Y B
# PRUEBA Z
# =========================================================
# Estadístico Z
z <- (x_barra - mu0) / (s / sqrt(n))
cat("====================================\n")====================================
cat("ESTADÍSTICO Z\n")ESTADÍSTICO Z
cat("Z =", round(z,4), "\n")Z = 2.8284
cat("====================================\n\n")====================================
# Valores críticos
z_bilateral <- qnorm(0.975)
z_unilateral <- qnorm(0.95)
cat("Z crítico bilateral =", round(z_bilateral,4), "\n")Z crítico bilateral = 1.96
cat("Z crítico unilateral =", round(z_unilateral,4), "\n\n")Z crítico unilateral = 1.6449
# =========================================================
# INCISO C
# CHI-CUADRADO
# =========================================================
chi <- ((n - 1) * s^2) / 5
cat("====================================\n")====================================
cat("CHI-CUADRADO\n")CHI-CUADRADO
cat("Chi =", round(chi,4), "\n")Chi = 61.25
cat("====================================\n")====================================
# =========================================================
# CAMPANA DE GAUSS
# =========================================================
# Librería
library(ggplot2)
# Valores X
x <- seq(-5, 5, length = 1000)
# Densidad normal
y <- dnorm(x)
# Data frame
df <- data.frame(
x = x,
y = y
)
# Valor calculado
z_calculado <- 2.828
# Valor crítico
z_critico <- 1.96
# =========================================================
# GRAFICA
# =========================================================
ggplot(df, aes(x, y)) +
# Región crítica izquierda
geom_area(
data = subset(df, x <= -z_critico),
fill = "#E74C3C",
alpha = 0.45
) +
# Región crítica derecha
geom_area(
data = subset(df, x >= z_critico),
fill = "#E74C3C",
alpha = 0.45
) +
# Curva normal
geom_line(
color = "#154360",
linewidth = 1.8
) +
# Línea estadístico Z
geom_vline(
xintercept = z_calculado,
color = "#27AE60",
linetype = "dashed",
linewidth = 1.4
) +
# Líneas críticas
geom_vline(
xintercept = c(-z_critico, z_critico),
color = "#C0392B",
linetype = "dashed",
linewidth = 1.2
) +
labs(
title = "Campana de Gauss - Prueba Z",
subtitle = "Eliminación urinaria de aldosterona",
x = "Valores Z",
y = "Densidad"
) +
theme_minimal(base_size = 15) +
theme(
plot.title = element_text(
face = "bold",
hjust = 0.5,
color = "#154360"
),
plot.subtitle = element_text(
hjust = 0.5
)
)
# Crear tabla
tabla <- data.frame(
Zona = c("Rural", "Urbana"),
Tamano_Muestra = c("n1 = 200", "n2 = 400"),
Hipertensos = c("x1 = 48", "x2 = 111"),
Proporcion = c("p1 = 0.24", "p2 = 0.277")
)
# Mostrar tabla elegante
kable(tabla,
caption = "Datos de hipertensión por zona",
align = "c") %>%
kable_styling(
bootstrap_options = c("striped", "bordered", "hover"),
full_width = FALSE
) %>%
row_spec(0,
bold = TRUE,
color = "white",
background = "darkblue") %>%
row_spec(1:nrow(tabla),
background = c("#EBF5FB", "#D6EAF8"))| Zona | Tamano_Muestra | Hipertensos | Proporcion |
|---|---|---|---|
| Rural | n1 = 200 | x1 = 48 | p1 = 0.24 |
| Urbana | n2 = 400 | x2 = 111 | p2 = 0.277 |
INCISO A ¿El porcentaje de hipertensos es distinto?
Hipótesis Hipótesis nula
H_0 : p_1 = p_2
Hipótesis alternativa
H_1 : p_1 \neq p_2 Prueba bilateral.
Proporción combinada \hat{p} = \frac{48 + 111}{200 + 400}
\hat{p} = 0.265 Estadístico Z
Z = \frac{0.24 - 0.277} {\sqrt{0.265(1-0.265)\left(\frac{1}{200} + \frac{1}{400}\right)}}
Z \approx -0.96 Valor crítico Z_{0.025} = \pm 1.96 Decisión
Como: -0.96 está dentro del intervalo:
-1.96 < Z < 1.96 No se rechaza H0
.Conclusión inciso A
No existe evidencia estadística suficiente para afirmar que el porcentaje de hipertensos en la zona urbana sea diferente al de la zona rural.
INCISO B ¿Es menor el porcentaje en la zona rural?
Hipótesis Hipótesis nula
H_0 : p_1 = p_2 Hipótesis alternativa
H_1 : p_1 < p_2 Prueba unilateral izquierda.
Valor crítico
Z_{0.05} = -1.645 Decisión
Como: -0.96 > -1.645 No se rechaza H0
Conclusión inciso B
No existe evidencia estadística suficiente para afirmar que el porcentaje de hipertensos en la zona rural sea menor que en la zona urbana.
# =========================================================
# PRUEBA DE HIPÓTESIS
# DIFERENCIA DE PROPORCIONES
# =========================================================
# Datos
n1 <- 200
x1 <- 48
n2 <- 400
x2 <- 111
# Proporciones
p1 <- x1 / n1
p2 <- x2 / n2
# =========================================================
# PROPORCIÓN COMBINADA
# =========================================================
p <- (x1 + x2) / (n1 + n2)
# =========================================================
# ESTADÍSTICO Z
# =========================================================
z <- (p1 - p2) /
sqrt(
p * (1 - p) *
((1/n1) + (1/n2))
)
# Mostrar resultado
cat("====================================\n")====================================
cat("ESTADÍSTICO Z\n")ESTADÍSTICO Z
cat("Z =", round(z,4), "\n")Z = -0.9811
cat("====================================\n\n")====================================
# Valores críticos
z_bilateral <- qnorm(0.975)
z_unilateral <- qnorm(0.05)
cat("Z crítico bilateral =", round(z_bilateral,4), "\n")Z crítico bilateral = 1.96
cat("Z crítico unilateral =", round(z_unilateral,4), "\n")Z crítico unilateral = -1.6449
# =========================================================
# PRUEBA DE HIPÓTESIS
# DIFERENCIA DE PROPORCIONES
# =========================================================
# Datos
n1 <- 200
x1 <- 48
n2 <- 400
x2 <- 111
# Proporciones
p1 <- x1 / n1
p2 <- x2 / n2
# =========================================================
# PROPORCIÓN COMBINADA
# =========================================================
p <- (x1 + x2) / (n1 + n2)
# =========================================================
# ESTADÍSTICO Z
# =========================================================
z <- (p1 - p2) /
sqrt(
p * (1 - p) *
((1/n1) + (1/n2))
)
# Mostrar resultado
cat("====================================\n")====================================
cat("ESTADÍSTICO Z\n")ESTADÍSTICO Z
cat("Z =", round(z,4), "\n")Z = -0.9811
cat("====================================\n\n")====================================
# Valores críticos
z_bilateral <- qnorm(0.975)
z_unilateral <- qnorm(0.05)
cat("Z crítico bilateral =", round(z_bilateral,4), "\n")Z crítico bilateral = 1.96
cat("Z crítico unilateral =", round(z_unilateral,4), "\n")Z crítico unilateral = -1.6449
# =========================================================
# CAMPANA DE GAUSS
# DIFERENCIA DE PROPORCIONES
# =========================================================
# Librería
library(ggplot2)
# Valores X
x <- seq(-5, 5, length = 1000)
# Densidad normal
y <- dnorm(x)
# Data frame
df <- data.frame(
x = x,
y = y
)
# Estadístico calculado
z_calculado <- -0.96
# Valor crítico
z_critico <- 1.96
# =========================================================
# GRAFICA
# =========================================================
ggplot(df, aes(x, y)) +
# Región crítica izquierda
geom_area(
data = subset(df, x <= -z_critico),
fill = "#E74C3C",
alpha = 0.45
) +
# Región crítica derecha
geom_area(
data = subset(df, x >= z_critico),
fill = "#E74C3C",
alpha = 0.45
) +
# Curva normal
geom_line(
color = "#154360",
linewidth = 1.8
) +
# Línea Z calculado
geom_vline(
xintercept = z_calculado,
color = "#27AE60",
linetype = "dashed",
linewidth = 1.4
) +
# Líneas críticas
geom_vline(
xintercept = c(-z_critico, z_critico),
color = "#C0392B",
linetype = "dashed",
linewidth = 1.2
) +
labs(
title = "Campana de Gauss - Diferencia de Proporciones",
subtitle = "Hipertensión zona rural vs urbana",
x = "Valores Z",
y = "Densidad"
) +
theme_minimal(base_size = 15) +
theme(
plot.title = element_text(
face = "bold",
hjust = 0.5,
color = "#154360"
),
plot.subtitle = element_text(
hjust = 0.5
)
)
¿Se observan diferencias significativas entre el grupo control y el grupo desnutrido?
Se desea comparar la actividad motora entre: -Grupo control -Grupo desnutrido
# Cargar librerías
library(knitr)
library(kableExtra)
library(magrittr)
# Crear tabla
tabla <- data.frame(
Grupo = c("Control",
"Desnutridas"),
Tamano = c("n1 = 25",
"n2 = 36"),
Media = c("x̄1 = 8869",
"x̄2 = 7153"),
Desviacion_Estandar = c("s1 = 7106",
"s2 = 465")
)
# Mostrar tabla elegante
kable(tabla,
caption = "Comparación de actividad motora en ratas",
align = "c") %>%
kable_styling(
bootstrap_options = c("striped", "bordered", "hover"),
full_width = FALSE,
position = "center"
) %>%
row_spec(0,
bold = TRUE,
color = "white",
background = "darkred") %>%
row_spec(1:nrow(tabla),
background = c("#FDEDEC", "#FADBD8")) %>%
column_spec(1, bold = TRUE)| Grupo | Tamano | Media | Desviacion_Estandar |
|---|---|---|---|
| Control | n1 = 25 | x̄1 = 8869 | | s1 = 7106 |
| Desnutridas | n2 = 36 | x̄2 = 7153 | | s2 = 465 |
Objetivo
Determinar si existen diferencias significativas entre ambos grupos.
Paso 1: Hipótesis Hipótesis nula
H_0 : \mu_1 = \mu_2 Hipótesis alternativa
H_1 : \mu_1 \neq \mu_2 Prueba bilateral.
Nivel de significancia:
\alpha = 0.05 Como las muestras son independientes y no se conocen las varianzas poblacionales: Se utiliza prueba t de Student.
t = \frac{8869 - 7153} {\sqrt{\frac{7106^2}{25} + \frac{465^2}{36}}}
t \approx 1.20 Valor crítico
Para: \alpha = 0.05 prueba bilateral: t_{0.025} \approx \pm 2 Decisión
Como: -2 < 1.20 < 2 No se rechaza H0
Conclusión
No existe evidencia estadística suficiente para afirmar que existan diferencias significativas en la actividad motora entre las ratas control y las ratas desnutridas.
# =========================================================
# PRUEBA t DE STUDENT
# RATAS CONTROL VS DESNUTRIDAS
# =========================================================
# Datos
n1 <- 25
x1 <- 8869
s1 <- 7106
n2 <- 36
x2 <- 7153
s2 <- 465
# =========================================================
# ESTADÍSTICO t
# =========================================================
t <- (x1 - x2) /
sqrt(
(s1^2 / n1) +
(s2^2 / n2)
)
# Mostrar resultado
cat("====================================\n")====================================
cat("ESTADÍSTICO t\n")ESTADÍSTICO t
cat("t =", round(t,4), "\n")t = 1.2056
cat("====================================\n")====================================
# =========================================================
# CAMPANA t DE STUDENT
# =========================================================
# Librería
library(ggplot2)
# =========================================================
# CURVA t
# =========================================================
x <- seq(-5, 5, length = 1000)
# Grados de libertad aproximados
gl <- 59
# Densidad t
y <- dt(x, df = gl)
# Data frame
df <- data.frame(
x = x,
y = y
)
# Valor calculado
t_calculado <- 1.20
# Valor crítico
t_critico <- qt(0.975, df = gl)
# =========================================================
# GRAFICA
# =========================================================
ggplot(df, aes(x, y)) +
# Región crítica izquierda
geom_area(
data = subset(df, x <= -t_critico),
fill = "#E74C3C",
alpha = 0.45
) +
# Región crítica derecha
geom_area(
data = subset(df, x >= t_critico),
fill = "#E74C3C",
alpha = 0.45
) +
# Curva t
geom_line(
color = "#154360",
linewidth = 1.8
) +
# Línea t calculado
geom_vline(
xintercept = t_calculado,
color = "#27AE60",
linetype = "dashed",
linewidth = 1.4
) +
# Líneas críticas
geom_vline(
xintercept = c(-t_critico, t_critico),
color = "#C0392B",
linetype = "dashed",
linewidth = 1.2
) +
labs(
title = "Campana t de Student",
subtitle = "Ratas control vs desnutridas",
x = "Valores t",
y = "Densidad"
) +
theme_minimal(base_size = 15) +
theme(
plot.title = element_text(
face = "bold",
hjust = 0.5,
color = "#154360"
),
plot.subtitle = element_text(
hjust = 0.5
)
)
# Cargar librerías
library(knitr)
library(kableExtra)
library(magrittr)
# Crear tabla
tabla <- data.frame(
Muestra = c("Muestra 1",
"Muestra 2"),
Tamano = c("n1 = 25",
"n2 = 30"),
Suma_X = c("Σx1 = 85",
"Σx2 = 216"),
Suma_X2 = c("Σx1² = 343",
"Σx2² = 650.1")
)
# Mostrar tabla elegante
kable(tabla,
caption = "Resumen estadístico de las muestras",
align = "c") %>%
kable_styling(
bootstrap_options = c("striped", "bordered", "hover"),
full_width = FALSE,
position = "center"
) %>%
row_spec(0,
bold = TRUE,
color = "white",
background = "darkblue") %>%
row_spec(1:nrow(tabla),
background = c("#EBF5FB", "#D6EAF8")) %>%
column_spec(1, bold = TRUE)| Muestra | Tamano | Suma_X | Suma_X2 |
|---|---|---|---|
| Muestra 1 | n1 = 25 | Σx1 = 85 | Σx1² = 343 |
| Muestra 2 | n2 = 30 | Σx2 = 216 | Σx2² = 650.1 |
¿Puede concluir el investigador que el tratamiento es realmente efectivo, a un nivel de significación del 5%? Determinar si el tratamiento específico reduce significativamente el tiempo de desaparición del síntoma comparado con el placebo.
Datos:
Muestra 1 — Tratamiento
# Cargar librerías
library(knitr)
library(kableExtra)
library(magrittr)
# Crear tabla
tabla <- data.frame(
Parametro = c("n1",
"Σx1",
"Σx1²",
"n2",
"Σx2",
"Σx2²"),
Valor = c(25,
85,
343,
30,
216,
650.1)
)
# Mostrar tabla elegante
kable(tabla,
caption = "Parámetros de las muestras",
align = "c") %>%
kable_styling(
bootstrap_options = c("striped", "bordered", "hover"),
full_width = FALSE,
position = "center"
) %>%
row_spec(0,
bold = TRUE,
color = "white",
background = "darkgreen") %>%
row_spec(1:nrow(tabla),
background = c("#E8F8F5", "#D1F2EB"))| Parametro | Valor |
|---|---|
| n1 | 25.0 |
| Σx1 | 85.0 |
| Σx1² | 343.0 |
| n2 | 30.0 |
| Σx2 | 216.0 |
| Σx2² | 650.1 |
Muestra 2 — Placebo
# Cargar librerías
library(knitr)
library(kableExtra)
library(magrittr)
# Crear tabla
tabla <- data.frame(
Parametro = c("n2",
"Σx2",
"Σx2²"),
Valor = c(30,
216,
650.1)
)
# Mostrar tabla elegante
kable(tabla,
caption = "Parámetros de la muestra 2",
align = "c") %>%
kable_styling(
bootstrap_options = c("striped", "bordered", "hover"),
full_width = FALSE,
position = "center"
) %>%
row_spec(0,
bold = TRUE,
color = "white",
background = "darkorange") %>%
row_spec(1:nrow(tabla),
background = c("#FEF5E7", "#FDEBD0"))| Parametro | Valor |
|---|---|
| n2 | 30.0 |
| Σx2 | 216.0 |
| Σx2² | 650.1 |
Calcular medias Media muestra 1 \bar{x}_1 = \frac{85}{25}
\bar{x}_1 = 3.4
Media muestra 2
\bar{x}_2 = \frac{216}{30}
\bar{x}_2 = 7.2
Calcular varianzas Varianza muestra 1 s_1^2 = \frac{ \sum x_1^2 - \frac{(\sum x_1)^2}{n_1} }{ n_1 - 1 }
s_1^2 = \frac{ 343 - \frac{85^2}{25} }{ 24 }
s_1^2 \approx 2.25
Varianza muestra 2 s_2^2 = \frac{ 650.1 - \frac{216^2}{30} }{ 29 }
s_2^2 \approx 3.20
Hipótesis
Hipótesis nula H_0: \mu_1 = \mu_2 \quad \
Hipótesis alternativa
H_1: \mu_1 < \mu_2 Porque el tratamiento será efectivo si el tiempo promedio es menor.
Estadístico t Varianza combinada
$$
[ S_p^2 = ] Estadístico t
[ t = ]$$
Valor crítico
$$
[ gl = n_1 + n_2 - 2 = 53 ]$$
\textbf{Nivel de significancia:} \[ \alpha = 0.05 \]
$$
[ t_{0.05} ]$$
Decisión
Como: -8.45 < -1.674 Se rechaza H0
Existe evidencia estadística suficiente para afirmar, con un nivel de significancia del 5%, que el tratamiento es realmente efectivo, ya que reduce el tiempo promedio de desaparición del síntoma comparado con el placebo
# =========================================================
# PRUEBA t DE STUDENT
# TRATAMIENTO VS PLACEBO
# =========================================================
# Datos muestra 1
n1 <- 25
sx1 <- 85
sx1_2 <- 343
# Datos muestra 2
n2 <- 30
sx2 <- 216
sx2_2 <- 650.1
# =========================================================
# MEDIAS
# =========================================================
x1 <- sx1 / n1
x2 <- sx2 / n2
# =========================================================
# VARIANZAS
# =========================================================
s1_2 <- (sx1_2 - (sx1^2 / n1)) / (n1 - 1)
s2_2 <- (sx2_2 - (sx2^2 / n2)) / (n2 - 1)
# =========================================================
# VARIANZA COMBINADA
# =========================================================
sp2 <- (
((n1 - 1) * s1_2) +
((n2 - 1) * s2_2)
) / (n1 + n2 - 2)
# =========================================================
# ESTADÍSTICO t
# =========================================================
t <- (x1 - x2) /
sqrt(
sp2 *
((1/n1) + (1/n2))
)
# Mostrar resultados
cat("====================================\n")====================================
cat("Media 1 =", round(x1,4), "\n")Media 1 = 3.4
cat("Media 2 =", round(x2,4), "\n")Media 2 = 7.2
cat("Varianza 1 =", round(s1_2,4), "\n")Varianza 1 = 2.25
cat("Varianza 2 =", round(s2_2,4), "\n")Varianza 2 = -31.2103
cat("t calculado =", round(t,4), "\n")t calculado = NaN
cat("====================================\n")====================================
# =========================================================
# CAMPANA t DE STUDENT
# =========================================================
# Librería
library(ggplot2)
# =========================================================
# CURVA t
# =========================================================
x <- seq(-10, 5, length = 1000)
gl <- 53
y <- dt(x, df = gl)
# Data frame
df <- data.frame(
x = x,
y = y
)
# t calculado
t_calculado <- -8.45
# t crítico
t_critico <- qt(0.05, df = gl)
# =========================================================
# GRAFICA
# =========================================================
ggplot(df, aes(x, y)) +
# Región rechazo
geom_area(
data = subset(df, x <= t_critico),
fill = "#E74C3C",
alpha = 0.45
) +
# Curva t
geom_line(
color = "#154360",
linewidth = 1.8
) +
# t crítico
geom_vline(
xintercept = t_critico,
color = "#C0392B",
linetype = "dashed",
linewidth = 1.2
) +
# t calculado
geom_vline(
xintercept = t_calculado,
color = "#27AE60",
linetype = "dashed",
linewidth = 1.4
) +
labs(
title = "Campana t de Student",
subtitle = "Tratamiento vs Placebo",
x = "Valores t",
y = "Densidad"
) +
theme_minimal(base_size = 15) +
theme(
plot.title = element_text(
face = "bold",
hjust = 0.5,
color = "#154360"
),
plot.subtitle = element_text(
hjust = 0.5
)
)
Datos del problema
# Crear la tabla
tabla <- data.frame(
Parámetro = c(
"Tamaño muestra",
"Defectuosas",
"Proporción muestral",
"Proporción hipotética"
),
Valor = c(
"n = 64",
"x = 8",
"p̂ = 8/64 = 0.125",
"p0 = 0.10"
)
)
# Mostrar tabla en consola
tabla Parámetro Valor
1 Tamaño muestra n = 64
2 Defectuosas x = 8
3 Proporción muestral p̂ = 8/64 = 0.125
4 Proporción hipotética p0 = 0.10
# Generar tabla en formato LaTeX (para PDF)
kable(tabla, format = "latex", booktabs = TRUE,
caption = "Resumen de parámetros del estudio") %>%
kable_styling(latex_options = c("hold_position"))INCISO A y B
Determinar si la proporción de defectuosos es mayor al 10%
Hipótesis nula
H_0: p = 0.10 Hipótesis Alterna H_1: p > 0.10 Proporción muestral
\hat{p} = \frac{8}{64} = 0.125
Estadístico Z
Z = \frac{0.125 - 0.10}{\sqrt{\frac{0.10(0.90)}{64}}} \approx 0.67
Valores críticos a) Nivel 5% Z_{0.05} = 1.645 b) Nivel 1% Z_{0.01} = 2.326 Decisión Para 5% 0.67<1.645 No se rechaza H0
Para 1% 0.67<2.326 No se rechaza H0
CONCLUSIÓN FINAL a) Nivel 5%
No existe evidencia estadística suficiente para afirmar que más del 10% de las unidades sean defectuosas.
Tampoco existe evidencia estadística suficiente a un nivel más estricto (1%) para afirmar que la proporción de defectuosos supere el 10%.
# =========================================================
# PRUEBA DE PROPORCIONES
# PRODUCTO DEFECTUOSO
# =========================================================
# Datos
n <- 64
x <- 8
p_hat <- x / n
p0 <- 0.10
# =========================================================
# ESTADÍSTICO Z
# =========================================================
z <- (p_hat - p0) / sqrt((p0 * (1 - p0)) / n)
# Valores críticos
z_5 <- qnorm(0.95)
z_1 <- qnorm(0.99)
cat("Z calculado =", round(z,4), "\n")Z calculado = 0.6667
cat("Z crítico 5% =", round(z_5,4), "\n")Z crítico 5% = 1.6449
cat("Z crítico 1% =", round(z_1,4), "\n")Z crítico 1% = 2.3263
library(ggplot2)
x <- seq(-4, 4, length = 1000)
y <- dnorm(x)
df <- data.frame(x, y)
z <- 0.67
ggplot(df, aes(x, y)) +
geom_area(data = subset(df, x >= 1.645),
fill = "#E74C3C", alpha = 0.4) +
geom_line(color = "#154360", linewidth = 1.5) +
geom_vline(xintercept = z,
color = "#27AE60",
linetype = "dashed") +
labs(title = "Prueba de proporción",
subtitle = "Defectuosos > 10%",
x = "Z", y = "Densidad") +
theme_minimal()
Datos del problema Proporción histórica: p0 =0.62 Muestra: n=65 Reinciden: x=38 Proporción muestral: p^ =6538 =0.5846 Nivel de significancia: α=0.05 Hipótesis Nula H_0: p = 0.62
hipótesis alternativa H_1: p < 0.62 Prueba unilateral izquierda
ESTADÍSTICO DE PRUEBA Error estándar SE = \sqrt{\frac{0.62(1 - 0.62)}{65}}
SE = \sqrt{\frac{0.62 \cdot 0.38}{65}}
SE = \sqrt{0.0036246}
SE \approx 0.0602
Estadístico Z:
Z = \frac{0.5846 - 0.62}{0.0602}
Z = \frac{-0.0354}{0.0602}
Z \approx -0.59 VALOR CRÍTICO
Nivel 5% unilateral izquierda:
Z_{0.05} = -1.645 5. DECISIÓN Z=−0.59 Z crit =−1.645 Como: −0.59>−1.645 NO se rechaza H0
CONCLUSIÓN (a)
No hay evidencia suficiente al 5% de significancia para afirmar que el programa reduce la reincidencia. no demuestra una mejora significativa.
# Datos
p0 <- 0.62
n <- 65
x <- 38
phat <- x / n
# Estadístico Z
SE <- sqrt(p0 * (1 - p0) / n)
z <- (phat - p0) / SE
# p-value
p_value <- pnorm(z)
z[1] -0.5877377
p_value[1] 0.2783542
Inciso B
n = \frac{(0.0354)^2 \cdot (1.645)^2 \cdot (0.62)(0.38)}{}
n = \frac{0.001253 \cdot 2.706 \cdot 0.2356}{}
n = \frac{0.001253}{0.637}
n \approx 508 CONCLUSIÓN (b)
Para poder detectar una reducción significativa en la reincidencia, se necesitaría aproximadamente:
n≈508-reos
# =========================
# PROBLEMA DE PROPORCIONES
# =========================
# Datos
p0 <- 0.62
n <- 65
x <- 38
# Proporción muestral
phat <- x / n
# Error estándar
SE <- sqrt(p0 * (1 - p0) / n)
# Estadístico Z
z <- (phat - p0) / SE
# p-value (cola izquierda)
p_value <- pnorm(z)
# Resultados
cat("Proporción muestral =", phat, "\n")Proporción muestral = 0.5846154
cat("Z =", z, "\n")Z = -0.5877377
cat("p-value =", p_value, "\n\n")p-value = 0.2783542
# =========================
# DECISIÓN
# =========================
alpha <- 0.05
z_crit <- qnorm(alpha)
if (z < z_crit) {
cat("Conclusión: Se RECHAZA H0 -> El programa SÍ reduce la reincidencia\n")
} else {
cat("Conclusión: NO se rechaza H0 -> No hay evidencia suficiente\n")
}Conclusión: NO se rechaza H0 -> No hay evidencia suficiente
# =========================
# GRÁFICA
# =========================
curve(dnorm(x), from = -4, to = 4,
lwd = 2,
main = "Prueba Z - Proporción (Región crítica)",
xlab = "Z",
ylab = "Densidad")
# Región crítica (izquierda)
x_crit <- seq(-4, z_crit, length = 100)
y_crit <- dnorm(x_crit)
polygon(c(-4, x_crit, z_crit),
c(0, y_crit, 0),
col = "red", border = NA)
# Línea del valor crítico
abline(v = z_crit, col = "red", lwd = 2, lty = 2)
# Línea del estadístico Z
abline(v = z, col = "blue", lwd = 2)
# Leyenda
legend("topright",
legend = c("Región crítica", "Z crítico", "Z calculado"),
col = c("red", "red", "blue"),
lty = c(1, 2, 1),
lwd = 2)
conclusión B No hay evidencia suficiente para afirmar que el programa reduce la reincidencia.
DATOS Media poblacional (hipótesis): μ0=18 Media muestral: x =19.2 Desviación estándar: s=2 Tamaño de muestra: n=100 Nivel de significancia: α=0.05 HIPÓTESIS
Queremos verificar si el fabricante subestima, es decir, si el verdadero promedio es mayor:
hipótesis nula
H_0: \mu = 18 hipótesis alterna H_1: \mu > 18 Prueba unilateral derecha
ESTADÍSTICO Z
Z = \frac{19.2 - 18}{0.2}
Z = \frac{1.2}{0.2}
Z = 6 VALOR CRÍTICO
Z_{0.05} = 1.645 DECISIÓN 6>1.645
Se rechaza H0
CONCLUSIÓN
Existe evidencia suficiente al 5% de significancia para afirmar que: El fabricante subestima el contenido de nicotina.
# =========================
# PRUEBA DE MEDIA (Z TEST)
# =========================
mu0 <- 18
xbar <- 19.2
s <- 2
n <- 100
# Error estándar
SE <- s / sqrt(n)
# Estadístico Z
z <- (xbar - mu0) / SE
# p-value (cola derecha)
p_value <- 1 - pnorm(z)
cat("Z =", z, "\n")Z = 6
cat("p-value =", p_value, "\n\n")p-value = 9.865877e-10
# =========================
# DECISIÓN
# =========================
alpha <- 0.05
z_crit <- qnorm(1 - alpha)
if (z > z_crit) {
cat("Conclusión: Se RECHAZA H0 -> El fabricante subestima la nicotina\n")
} else {
cat("Conclusión: NO se rechaza H0\n")
}Conclusión: Se RECHAZA H0 -> El fabricante subestima la nicotina
# =========================
# GRÁFICA
# =========================
curve(dnorm(x), from = -4, to = 8,
lwd = 2,
main = "Prueba Z - Media (Región crítica derecha)",
xlab = "Z",
ylab = "Densidad")
# Región crítica derecha
x_crit <- seq(z_crit, 8, length = 100)
y_crit <- dnorm(x_crit)
polygon(c(z_crit, x_crit, 8),
c(0, y_crit, 0),
col = "red", border = NA)
# Línea crítica
abline(v = z_crit, col = "red", lwd = 2, lty = 2)
# Z calculado
abline(v = z, col = "blue", lwd = 2)
# Leyenda
legend("topright",
legend = c("Región crítica", "Z crítico", "Z calculado"),
col = c("red", "red", "blue"),
lty = c(1, 2, 1),
lwd = 2)
CONCLUSIÓN FINAL Z = 6 (muy grande) Región crítica = 1.645 Se rechaza H₀
El fabricante sí está subestimando el contenido de nicotina.
tabla Parámetro Valor
1 Tamaño muestra n = 64
2 Defectuosas x = 8
3 Proporción muestral p̂ = 8/64 = 0.125
4 Proporción hipotética p0 = 0.10
Utilizando un nivel de significación del 1. Pruebe la hipótesis para determinar si es cierto o no que el champú A es más efectivo que el B.
DATOS Champú A n₁ = 40 x₁ = 6 (casos con pediculosis al final) Champú B n₂ = 60 x₂ = 6
Proporciones
p1=406 =0.15 p2=606 =0.10 HIPÓTESIS
Queremos ver si A es más efectivo que B, es decir, menos pediculosis final:
H_0: p_1 = p_2
H_1: p_1 > p_2 Prueba unilateral derecha
PROPORCIÓN POOLED
p = \frac{40 + 60}{6 + 6}
p = \frac{100}{12}
p \approx 0.8333 ERROR ESTÁNDAR
SE = \sqrt{0.12(0.88)\left(\frac{1}{40} + \frac{1}{60}\right)}
SE = \sqrt{0.1056 \cdot 0.04167}
SE = \sqrt{0.0044}
SE \approx 0.0663
ESTADÍSTICO Z
Z = \frac{0.15 - 0.10}{0.0663} = \frac{0.05}{0.0663} \approx 0.754
VALOR CRÍTICO
Nivel de significancia:
α=0.01 DECISIÓN 0.75<2.33 NO se rechaza H₀
CONCLUSIÓN
No hay evidencia suficiente al 1% de significancia para afirmar que el champú A sea más efectivo que el B.
# =========================
# PRUEBA DOS PROPORCIONES
# =========================
# Datos
x1 <- 6; n1 <- 40
x2 <- 6; n2 <- 60
p1 <- x1 / n1
p2 <- x2 / n2
# Proporción combinada
p_pool <- (x1 + x2) / (n1 + n2)
# Error estándar
SE <- sqrt(p_pool * (1 - p_pool) * (1/n1 + 1/n2))
# Estadístico Z
z <- (p1 - p2) / SE
# p-value (cola derecha)
p_value <- 1 - pnorm(z)
cat("Z =", z, "\n")Z = 0.7537784
cat("p-value =", p_value, "\n\n")p-value = 0.2254912
# =========================
# DECISIÓN
# =========================
alpha <- 0.01
z_crit <- qnorm(1 - alpha)
if (z > z_crit) {
cat("Conclusión: Champú A es más efectivo\n")
} else {
cat("Conclusión: No hay evidencia suficiente\n")
}Conclusión: No hay evidencia suficiente
# =========================
# GRÁFICA
# =========================
curve(dnorm(x), from = -4, to = 4,
lwd = 2,
main = "Prueba Z - Dos proporciones (Región crítica)",
xlab = "Z",
ylab = "Densidad")
# Región crítica
x_crit <- seq(z_crit, 4, length = 100)
y_crit <- dnorm(x_crit)
polygon(c(z_crit, x_crit, 4),
c(0, y_crit, 0),
col = "red", border = NA)
# Línea crítica
abline(v = z_crit, col = "red", lwd = 2, lty = 2)
# Z calculado
abline(v = z, col = "blue", lwd = 2)
# Leyenda
legend("topright",
legend = c("Región crítica", "Z crítico", "Z calculado"),
col = c("red", "red", "blue"),
lty = c(1, 2, 1),
lwd = 2)
CONCLUSIÓN FINAL Z = 0.75 Crítico = 2.33 No cae en región de rechazo El champú A no demuestra ser más efectivo que el B al 1%.
library(knitr)
datos <- data.frame(
"Tipo de champú" = c("A", "B"),
"Inicio del tratamiento" = c(40, 60),
"Término del tratamiento" = c(6, 6)
)
kable(datos, align = "c")| Tipo.de.champú | Inicio.del.tratamiento | Término.del.tratamiento |
|---|---|---|
| A | 40 | 6 |
| B | 60 | 6 |
library(knitr)
alumnos <- data.frame(
Alumno = 1:15,
A = c(13,12,18,14,17,15,16,17,13,11,15,15,18,16,17),
B = c(14,13,17,15,16,17,17,18,14,12,18,15,20,15,19)
)
kable(alumnos, align = "c")| Alumno | A | B |
|---|---|---|
| 1 | 13 | 14 |
| 2 | 12 | 13 |
| 3 | 18 | 17 |
| 4 | 14 | 15 |
| 5 | 17 | 16 |
| 6 | 15 | 17 |
| 7 | 16 | 17 |
| 8 | 17 | 18 |
| 9 | 13 | 14 |
| 10 | 11 | 12 |
| 11 | 15 | 18 |
| 12 | 15 | 15 |
| 13 | 18 | 20 |
| 14 | 16 | 15 |
| 15 | 17 | 19 |
¿Existen diferencias significativas entre los examinadores A y B (al 5%)?
Prueba t pareada DATOS Examinador A
13, 12, 18, 14, 17, 15, 16, 17, 13, 11, 15, 15, 18, 16, 17
Examinador B
14, 13, 17, 15, 16, 17, 17, 18, 14, 12, 18, 15, 20, 15, 19
DIFERENCIAS (d = A − B)
library(knitr)
tabla <- data.frame(
Alumno = 1:15,
A = c(13,12,18,14,17,15,16,17,13,11,15,15,18,16,17),
B = c(14,13,17,15,16,17,17,18,14,12,18,15,20,15,19)
)
tabla$d <- tabla$A - tabla$B
kable(tabla, align = "c")| Alumno | A | B | d |
|---|---|---|---|
| 1 | 13 | 14 | -1 |
| 2 | 12 | 13 | -1 |
| 3 | 18 | 17 | 1 |
| 4 | 14 | 15 | -1 |
| 5 | 17 | 16 | 1 |
| 6 | 15 | 17 | -2 |
| 7 | 16 | 17 | -1 |
| 8 | 17 | 18 | -1 |
| 9 | 13 | 14 | -1 |
| 10 | 11 | 12 | -1 |
| 11 | 15 | 18 | -3 |
| 12 | 15 | 15 | 0 |
| 13 | 18 | 20 | -2 |
| 14 | 16 | 15 | 1 |
| 15 | 17 | 19 | -2 |
SUMA Y MEDIA \sum d = -13
\bar{d} = \frac{\sum d}{n}
\bar{d} = \frac{-13}{15}
\bar{d} \approx -0.8667
VARIANZA Y DESVIACIÓN s^2 \approx 1.695
s = \sqrt{1.695}
s \approx 1.30
ERROR ESTÁNDAR SE = \frac{1.30}{\sqrt{15}} = \frac{1.30}{3.873} \approx 0.336
ESTADÍSTICO t
t = \frac{\bar{d}}{SE} = \frac{-0.8667}{0.336} \approx -2.58
HIPÓTESIS
H_0: \mu_d = 0 H_1: \mu_d \neq 0 VALOR CRÍTICO
\text{Grados de libertad: } gl = 14
t_{0.025,14} = 2.145 DECISIÓN ∣t∣=2.58>2.14
Se rechaza H₀
CONCLUSIÓN
Sí existen diferencias significativas entre los examinadores A y B al 5%. El examinador B tiende a poner notas ligeramente más altas.
# =========================
# METODOLOGÍA DE GAUSS
# =========================
alpha <- 0.05
# Ejemplo de Z observado (cámbialo según ejercicio)
z_obs <- 1.2
# Valores críticos
z_crit <- qnorm(1 - alpha)
# =========================
# GRÁFICA GAUSSIANA
# =========================
# Crear secuencia para curva normal
x <- seq(-4, 4, length.out = 1000)
y <- dnorm(x)
# Dibujar campana normal
plot(x, y, type = "l", lwd = 2,
main = "Distribución Normal (Gauss) - Región Crítica",
xlab = "Z",
ylab = "Densidad")
# =========================
# REGIÓN CRÍTICA (derecha)
# =========================
x_crit <- seq(z_crit, 4, length.out = 200)
y_crit <- dnorm(x_crit)
polygon(c(z_crit, x_crit, 4),
c(0, y_crit, 0),
col = "red",
border = NA)
# Línea crítica
abline(v = z_crit, col = "red", lwd = 2, lty = 2)
# Z observado
abline(v = z_obs, col = "blue", lwd = 2)
# Línea media (0)
abline(v = 0, col = "gray", lwd = 2)
# Leyenda
legend("topright",
legend = c("Región crítica", "Z crítico", "Z observado"),
col = c("red", "red", "blue"),
lty = c(1, 2, 1),
lwd = 2)
GRacias…