# Ejemplo 1. Gráfico de una variable de Poisson de parametro lamda = 5
plot(dpois(0:15,5),xlab="k",ylab="P(X=k)",main="Distribución de Poisson - X ~ P(10)", type = "h", lwd = 5, col = 1:10)
###Ejemplo 2: Sea X l número de
infracciones de tránsito por día en un lugar emblemático en cada una de
las ciudades: Cartagena (en promedio 5 semanales), Santa Marta (en
promedio 10) y Barranquilla (en Promedio 20). Dibuje en un solo plano
las distribuciones de probabilidad y en una sola tabla sus
valores.
# Rejilla de valores del eje X
x <- 0:50
#-----------
# lambda: 5
#-----------
lambda <- 5
plot(dpois(x, lambda), type = "h", lwd = 2,
main = "Distribución de Poisson",
ylab = "P(X = x)", xlab = "Número de eventos")
#-----------
# lambda: 10
#-----------
lambda <- 10
lines(dpois(x, lambda), type = "h", lwd = 2, col = rgb(1,0,0, 0.7))
#-----------
# lambda: 20
#-----------
lambda <- 20
lines(dpois(x, lambda), type = "h", lwd = 2, col = rgb(0, 1, 0, 0.7))
# Leyenda
legend("topright", legend = c("Cartagena, 5", " Santa Marta, 10", "Barranquilla, 20"),
title = expression(lambda), title.adj = 0.75,
lty = 1, col = 1:3, lwd = 2, box.lty = 0)
###Ejercicio 1: Sea XX el número
de infracciones de tránsito por día en un lugar emblemático en cada una
de las ciudades: Cartagena (en promedio 25 semanales), Santa Marta (en
promedio 20) y Barranquilla (en Promedio 30).
# Rejilla de valores del eje X
x <- 0:50
#-----------
# lambda: 5
#-----------
lambda <- 25
plot(dpois(x, lambda), type = "h", lwd = 2,
main = "Distribución de Poisson",
ylab = "P(X = x)", xlab = "Número de eventos")
#-----------
# lambda: 10
#-----------
lambda <- 20
lines(dpois(x, lambda), type = "h", lwd = 2, col = rgb(1,0,0, 0.7))
#-----------
# lambda: 20
#-----------
lambda <- 30
lines(dpois(x, lambda), type = "h", lwd = 2, col = rgb(0, 1, 0, 0.7))
# Leyenda
legend("topright", legend = c("Cartagena,25", " Santa Marta, 20", "Barranquilla, 30"),
title = expression(lambda), title.adj = 0.75,
lty = 1, col = 1:3, lwd = 2, box.lty = 0)
##** Ejemplo 3: Hallar la probabilidad que en un dia cualquiera se reciban entre 10 y 15 infracciones en un día en la ciudad de Santa Marta**
dpois(10:15, 10)
## [1] 0.12511004 0.11373640 0.09478033 0.07290795 0.05207710 0.03471807
sum(dpois(10:15, 10))
## [1] 0.4933299
##3.40 Ejemplo 4. La probabilidad de que cierto examen médico dé lugar a una reacción “positiva” es igual a 0.8, ¿cuál es la probabilidad de que ocurran 5 reacciones “negativas” antes de la tercera positiva?
plot(dnbinom(0:10,3,0.8),type="h",xlab="k",ylab="P(X=k)",main="X ~ Bneg(3,0.8)")
##** Ejercicio 2. ¿cuál es la probabilidad de que ocurran 3 reacciones “negativas” antes de la segunda positiva?**
dnbinom(3, 2, 0.8)
## [1] 0.02048
##Ejercicio 3. ¿cuál es la probabilidad de que ocurran almenos de 2 reacciones “negativas” antes de la quinta positiva?
1 - pnbinom(1, 5, 0.8)
## [1] 0.34464
##3.42 Ejemplo 6.. Un cargamento de 20 grabadoras magnetofónicas, contiene 5 defectuosas. Si 10 de ellas son aleatoriamente escogidas para una revisión, ¿cuál es la probabilidad de que 2 estén defectuosas? Se supone que cada grabadora seleccionada no puede ser cambiada por otra
x<-0:5
plot(dhyper(x,10,10,5))
#Resolviendo la pregunta
dhyper(2,10,10,5)
## [1] 0.3482972
##Distribucion Binomial - Ejemplo 7.. En la convocatoria de la selección Colombia el técnico llama a los tres goleadores del momento en el futbol internacional Julio Huetado que en 50 partidos ha marcado 10 goles, Alberto Patiño que en 50 partidos ha marcado 15 goles y Jorge Villalba que en 50 partidos ha marcado 20 goles. Queremos saber cual será su comportamiento en la cancha de juegos conociendo su palmarés de Goles en los próxumos 50 encuentros de las Eliminatorias y amistosos para el 2026
# Rejilla de valores del eje X
x <- 1:50
# n = 50, p = 0.2
plot(dbinom(x, size = 50, prob = 0.2), type = "h", lwd = 2,
main = "Función de probabilidad binomial",
ylab = "P(X = x)", xlab = "Número de goles de Julio, Alberto y Jorge")
# n = 50, p = 0.3
lines(dbinom(x, size = 50, prob = 0.3), type = "h",
lwd = 2, col = rgb(1,0,0, 0.7))
# n = 50, p = 0.4
lines(dbinom(x, size = 50, prob = 0.4), type = "h",
lwd = 2, col = rgb(0, 1, 0, 0.7))
# Añadimos una leyenda
legend("topright", legend = c("50 0.2 Julio", "50 0.3 Alberto", "50 0.4 Jorge"),
title = "n p", title.adj = 0.85,
lty = 1, col = 1:3, lwd = 2, box.lty = 0)
##jercicio 4. En una nueva convocatoria de la selección Colombia el técnico llama a los tres goleadores del momento en el futbol internacional Seferino Marciano que en 30 partidos ha marcado 10 goles, Lucrecio Jupiteriano que en 25 partidos ha marcado 15 goles y Moringo Mercurio que en 30 partidos ha marcado 20 goles. Queremos saber cual será su comportamiento en la cancha de juegos conociendo su palmarés de Goles en los próxumos 50 encuentros de las Eliminatorias y amistosos para el 2030**
# Rejilla de valores del eje X
x <- 0:50 # Goles de 0 a 50
# Probabilidades de gol para cada jugador
p_seferino <- 10 / 30
p_lucrecio <- 15 / 25
p_moringo <- 20 / 30
# Calcular las distribuciones de probabilidad
prob_seferino <- dbinom(x, size = 50, prob = p_seferino)
prob_lucrecio <- dbinom(x, size = 50, prob = p_lucrecio)
prob_moringo <- dbinom(x, size = 50, prob = p_moringo)
# Encontrar el valor máximo de probabilidad para el eje Y
max_prob <- max(prob_seferino, prob_lucrecio, prob_moringo)
# Graficar la distribución binomial para Seferino Marciano
plot(x, prob_seferino, type = "h", lwd = 2,
main = "Distribución de Goles Esperados en 50 Encuentros",
ylab = "P(X = x)", xlab = "Número de Goles",
col = "blue",
ylim = c(0, max_prob * 1.05))
# Añadir la línea para Lucrecio Jupiteriano
lines(x, prob_lucrecio, type = "h",
lwd = 2, col = "red")
# Añadir la línea para Moringo Mercurino
lines(x, prob_moringo, type = "h",
lwd = 2, col = "darkgreen")
# Añadir una leyenda
legend("topright",
legend = c(paste0("Seferino (p=", round(p_seferino, 3), ")"),
paste0("Lucrecio (p=", round(p_lucrecio, 3), ")"),
paste0("Moringo (p=", round(p_moringo, 3), ")")),
col = c("blue", "red", "darkgreen"),
lty = 1, lwd = 2,
title = "Jugador y Prob. de Gol",
box.lty = 0)
##Ejemplo 8. Eligiendo una muestra aleatoria de Tamaño 30 de una poblacion normal.Calcular 30 posibles puntajes de un grupo de Estadistica I en el primer corte, si éstos se distribuyen como una variable normal cuya media se distribuye aleatoriamente y con hiperparametros de mean = 70 y sd = 5
medias<-rnorm(30, mean = 70, sd = 5)
medias
## [1] 62.37926 60.30487 70.54569 77.84936 64.32664 72.90152 67.53725 70.49764
## [9] 72.02795 75.13089 75.12031 73.42073 63.78079 70.00227 71.23271 67.02661
## [17] 71.90389 61.01000 65.50212 70.00939 65.22892 72.90139 66.35429 79.06091
## [25] 74.93998 69.44510 72.45692 69.55858 68.78682 69.24112
Redondeado los valores encontrados
round(medias)
## [1] 62 60 71 78 64 73 68 70 72 75 75 73 64 70 71 67 72 61 66 70 65 73 66 79 75
## [26] 69 72 70 69 69
##Hagamos el histograma de estos datos que siguen una distribución normal
# Rejilla de valores del eje X
x <- round(medias)
hist(x, lwd = 2,
main = "Función densidad de probabilidad", ylim=c(0,20),
ylab = "Numero de Estudiantes", xlab = "Puntaje obtenido", col = 1:10)
##**3.45 Ejemplo 9 (a) *Calcular la probabilidad de que un hombre mida
menos de 66 pulgadas, suponiendo que las alturas de los hombres se
distribuyen normalmente con una media de 70 pulgadas y una desviacion
estandar de 3 pulgadas:P(X≤66)=pnorm(66,μ,σ)**
# P(X<=66) dado que X ~ N (70, 3): Usando RStudio
pnorm(66, mean = 70, sd = 3)
## [1] 0.09121122
# Usando Rstudio para graficar la región
regionX=seq(60,66,0.01) # Intervalo a sombrear
xP <- c(50,regionX,66) # Base de los poligonos que crean el efecto "sombra"
yP <- c(0,dnorm(regionX,70,3),0) # Altura de los poligonos sombreados
curve(dnorm(x,70,3),xlim=c(60,80),yaxs="i",ylim=c(0,0.15),ylab="f(x)",
main='Densidad N(70,3)')
polygon(xP,yP,col="orange1")
box()
legend("topright", legend = round(pnorm(66, 70, 3),5),
title = expression("P(X<=66)"), title.adj = 0.75,
lty = 1, col = "orange1", lwd = 2, box.lty = 0)
##Graficando la región
regionX=seq(66,90,0.01) # Intervalo a sombrear
xP <- c(66,regionX,90) # Base de los poligonos que crean el efecto "sombra"
yP <- c(0,dnorm(regionX,70,3),0) # Altura de los poligonos sombreados
curve(dnorm(x,70,3),xlim=c(60,80),yaxs="i",ylim=c(0,0.15),ylab="f(x)",
main='Densidad N(70,3)')
polygon(xP,yP,col="orange1")
box()
legend("topright", legend = round(pnorm(66, 70, 3, lower.tail = F),3),
title = expression("P(X≥66)"), title.adj = 0.75,
lty = 1, col = "orange1", lwd = 2, box.lty = 0)
##P(64 < X < 76)
# P(64 < X < 76)
pnorm(76,70,3)-pnorm(64,70,3)
## [1] 0.9544997
sum(pnorm(64:76,70,3))
## [1] 6.5
# Usando RStudio
regionX=seq(64,76,0.01) # Intervalo a sombrear
xP <- c(64,regionX,76) # Base de los poligonos que crean el efecto "sombra"
yP <- c(0,dnorm(regionX,70,3),0) # Altura de los poligonos sombreados
curve(dnorm(x,70,3),xlim=c(60,80),yaxs="i",ylim=c(0,0.15),ylab="f(x)",
main='Densidad N(70,3)')
polygon(xP,yP,col="orange1")
box()
legend("topright", legend = round(pnorm(76, 70, 3, lower.tail = T)- pnorm(64, 70, 3, lower.tail = T),3),
title = expression("P(64 < X < 76)"), title.adj = 0.75,
lty = 1, col = "orange1", lwd = 2, box.lty = 0)
##jercicio 5. Repite el ejemplo anterios para calcular P(72 <
X < 78)
# Parámetros de la distribución normal
mu <- 70
sigma <- 3
# Definir el intervalo a sombrear
# El intervalo para P(72 < X < 78)
x_min_sombra <- 72
x_max_sombra <- 78
# Crear la curva de densidad normal
curve(dnorm(x, mean = mu, sd = sigma), xlim = c(mu - 3*sigma, mu + 3*sigma),
main = paste("Densidad N(", mu, ",", sigma, ") con P(", x_min_sombra, " < X < ", x_max_sombra, ")"),
ylab = "f(x)", xlab = "X")
# Definir la región para sombrear
regionX <- seq(x_min_sombra, x_max_sombra, length.out = 100) # Más puntos para una sombra suave
XP <- c(x_min_sombra, regionX, x_max_sombra) # Base del polígono
yP <- c(0, dnorm(regionX, mean = mu, sd = sigma), 0) # Altura del polígono
# Dibujar el polígono sombreado
polygon(XP, yP, col = "orange", border = NA)
# Agregar leyenda con el valor de la probabilidad
prob_value <- pnorm(x_max_sombra, mean = mu, sd = sigma) - pnorm(x_min_sombra, mean = mu, sd = sigma)
legend("topright",
legend = paste0("P(", x_min_sombra, " < X < ", x_max_sombra, ") = ", round(prob_value, 4)),
fill = "orange", border = "black")
box()