library(ggplot2)
# Rango:
a <- 1
b <- 10
x <- a:b
# Función de masa de probabilidad
pmf <- rep(1 / 10, length(x))
df <- data.frame(x = x, pmf = pmf)
#Gráfico de la función de masa de probabilidad:
ggplot(df, aes(x = factor(x), y = pmf)) +
geom_segment(aes(x = x, xend = x, y = 0, yend = pmf),
linetype = "dotted", color = "red", linewidth = 1.5) +
geom_point(size = 3, color = "red") +
labs(title = "Función de Masa de Probabilidad - Uniforme Discreta",
x = "x",
y = "f(x)") +
scale_x_discrete() +
ylim(0, 0.2) +
theme_minimal()
# Función de distribución acumulada:
cdf <- cumsum(pmf)
df <- data.frame(x = x, cdf = cdf)
# Gráfico de la función de distribución acumulada
ggplot(df, aes(x = x, y = cdf)) +
geom_segment(aes(x = x - 1, xend = x, y = cdf, yend = cdf), color = "blue", linewidth = 1) +
geom_point(aes(x = x - 1), size = 3, color = "blue") +
labs(title = "Función de Distribución Acumulada - Uniforme Discreta",
x = "x",
y = "F(x)") +
scale_x_continuous(breaks = 1:10) +
theme_minimal() +
theme(
plot.title = element_text(hjust = 0.5),
axis.title.x = element_text(margin = margin(t = 10)),
axis.title.y = element_text(margin = margin(r = 10))
)
n <- 10
p <- 0.5
x <- 0:n #Valores posibles de X
pmf <- dbinom(x, size = n, prob = p) #masa de probabilidad
cdf <- pbinom(x, size = n, prob = p) #distribucion
# Función de masa de probabilidad:
plot(x, pmf, type = "h", lwd = 2, lty = 2, col = "blue",
main = "Función de Masa de Probabilidad - Binomial",
xlab = "x", ylab = "f(x)")
points(x, pmf, pch = 16, col = "blue")
grid()
# Función de distribucion
plot(x, cdf, type = "s", lwd = 2, col = "red",
main = "Función de Distribución Acumulada - Binomial",
xlab = "x", ylab = "F(x)",
axes = TRUE, pch = 16)
points(x, cdf, pch = 16, col = "red")
grid()
#NOTA: tenga en cuenta que para no volver más extenso el código del gráfico de la función
#de distribución, esta la graficaremos de ahora en adelante como una escalera,
#Pero la forma correcta de graficar una función de distribución para una
#variable aleatoria discreta es como lo hicimos en el ejemplo de la uniforme
#discreta (visto previamente).
# Parámetros:
N <- 20
M <- 7
n <- 10
x <- 0:n
pmf_h <- dhyper(x, M, N - M, n) # masa de probabilidad
cdf_h <- phyper(x, M, N - M, n) # distribución acumulada
# Función de masa de probabilidad:
plot(x, pmf_h, type = "h", lwd = 2, lty = 2, col = "blue",
main = "Función de Masa de Probabilidad - hipergeométrica ",
xlab = "x", ylab = "f(x)")
points(x, pmf_h, pch = 16, col = "blue")
grid()
# Función de distribucion
plot(x, cdf_h, type = "s", lwd = 2, col = "red",
main = "Función de Distribución Acumulada - hipergeométrica",
xlab = "x", ylab = "F(x)",
axes = TRUE, pch = 16)
points(x, cdf_h, pch = 16, col = "red")
grid()
#Parámetros
k <- 5
p <- 0.4
x <- 0:20
pmf_bn <- dnbinom(x, size = k, prob = p) # Fmasa de probabilidad
cdf_bn <- pnbinom(x, size = k, prob = p) # Fdistribución acumulada
# Función de masa de probabilidad:
plot(x, pmf_bn, type = "h", lwd = 2, lty = 2, col = "blue",
main = "Función de Masa de Probabilidad - Binomial negativa ",
xlab = "x", ylab = "f(x)")
points(x, pmf_bn, pch = 16, col = "blue")
grid()
# Función de distribucion
plot(x, cdf_bn, type = "s", lwd = 2, col = "red",
main = "Función de Distribución Acumulada - Binomial negativa",
xlab = "x", ylab = "F(x)",
axes = TRUE, pch = 16)
points(x, cdf_bn, pch = 16, col = "red")
grid()
Recordemos que la distribución geométrica es un caso en específico de la binomial negativa cual el número de éxitos es igual a 1, es decir, k=1.
#Parámetros:
k <- 1
p <- 0.4
x <- 0:20
pmf_ge <- dnbinom(x, size = k, prob = p) # Fmasa de probabilidad
cdf_ge <- pnbinom(x, size = k, prob = p) # Fdistribución acumulada
# Función de masa de probabilidad:
plot(x, pmf_ge, type = "h", lwd = 2, lty = 2, col = "blue",
main = "Función de Masa de Probabilidad - Geométrica ",
xlab = "x", ylab = "f(x)")
points(x, pmf_ge, pch = 16, col = "blue")
grid()
# Función de distribucion
plot(x, cdf_ge, type = "s", lwd = 2, col = "red",
main = "Función de Distribución Acumulada - Geométrica",
xlab = "x", ylab = "F(x)",
axes = TRUE, pch = 16)
points(x, cdf_ge, pch = 16, col = "red")
grid()
Empleando las funciones dgeom y pgeom deberíamos llegar a los mismo
p <- 0.4
x <- 0:20
pmf_gee <- dgeom(x, prob = p)
cdf_gee <- pgeom(x, prob = p)
plot(x, pmf_gee, type = "h", lwd = 2, lty = 2, col = "blue",
main = "Función de Masa de Probabilidad - Geométrica",
xlab = "x", ylab = "f(x)")
points(x, pmf_gee, pch = 16, col = "blue")
grid()
# Función de distribucion
plot(x, cdf_gee, type = "s", lwd = 2, col = "red",
main = "Función de Distribución Acumulada - Geométrica",
xlab = "x", ylab = "F(x)",
axes = TRUE, pch = 16)
points(x, cdf_gee, pch = 16, col = "red")
grid()
lambda <- 4
x <- 0:15
pmf_pois <- dpois(x, lambda) # Fmasa de probabilidad
cdf_pois <- ppois(x, lambda) # Fdistribución acumulada
plot(x, pmf_pois, type = "h", lwd = 2, lty = 2, col = "blue",
main = "Función de Masa de Probabilidad - Poisson ",
xlab = "x", ylab = "f(x)")
points(x, pmf_pois, pch = 16, col = "blue")
grid()
# Función de distribucion
plot(x, cdf_pois, type = "s", lwd = 2, col = "red",
main = "Función de Distribución Acumulada - Poisson",
xlab = "x", ylab = "F(x)",
axes = TRUE, pch = 16)
points(x, cdf_pois, pch = 16, col = "red")
grid()
# Números posibles en la ruleta
total <- 15
# Números inferiores a 5
total_menores <- 4
# Calcular la probabilidad
prob_1 <- total_menores / total
prob_1
## [1] 0.2666667
Veamos la función de distribución acumulada y la función de masa de probabilidad
# Rango:
a <- 1
b <- 15
p <- 1/b
x <- a:b
# Función de masa de probabilidad
pmf <- rep(p, length(x))
df <- data.frame(x = x, pmf = pmf)
#Gráfico de la función de masa de probabilidad:
ggplot(df, aes(x = factor(x), y = pmf)) +
geom_segment(aes(x = x, xend = x, y = 0, yend = pmf),
linetype = "dotted", color = "red", linewidth = 1.5) +
geom_point(size = 3, color = "red") +
labs(title = "Función de Masa de Probabilidad (PMF) - Uniforme Discreta - Ejemplo 1",
x = "x",
y = "f(x)") +
scale_x_discrete() +
ylim(0, 0.2) +
theme_minimal()
# Función de distribución acumulada:
cdf <- cumsum(pmf)
df <- data.frame(x = x, cdf = cdf)
# Gráfico de la función de distribución acumulada
ggplot(df, aes(x = x, y = cdf)) +
geom_segment(aes(x = x - 1, xend = x, y = cdf, yend = cdf), color = "blue", linewidth = 1) +
geom_point(aes(x = x - 1), size = 3, color = "blue") +
labs(title = "Función de Distribución Acumulada (CDF) - Uniforme Discreta",
x = "x",
y = "F(x)") +
scale_x_continuous(breaks = 1:b) +
theme_minimal() +
theme(
plot.title = element_text(hjust = 0.5),
axis.title.x = element_text(margin = margin(t = 10)),
axis.title.y = element_text(margin = margin(r = 10))
)
#Como se tiene una función de distribución Bernoulli entonces:
#Valor esperado: 0.6
p <- 0.6
p
## [1] 0.6
#Varianza:
var <- p*(1-p)
var
## [1] 0.24
n <- 20
p <- 1/6
#Calculamos la probabilidad empleando el complemento:
#Primero calculamos para cuando no sale ningun cuatro, luego para cuando sale uno
prob_3 <- 1 - dbinom(0, size = n, prob = p) - dbinom(1, size = n, prob = p)
prob_3
## [1] 0.8695797
k <- 5
x <- 30
p <- 0.03
# Calcular la probabilidad utilizando dnbinom
prob_4 <- dnbinom(x - k, size = k , prob = p)
prob_4
## [1] 0.0002695141
-¿Cuál es la probabilidad de que se seleccionen exactamente 10 chocolates con imperfecciones?
-Si la selección es independiente por lote ¿Cuál es la probabilidad que en todos los 10 lotes de la semana se tengan exactamente 10 chocolates con imperfecciones?
-Si en lugar de 10 lotes se producen 20 ¿Cuál es la probabilidad de que en 5 lotes se tengan exactamente 10 chocolates con imperfecciones?
#a)
# Parámetros
M <- 100 #Total con imperfecciones
N <- 1000 #Total
n <- 50 #tamaño muestra
x <- 10 #cantidad de chocolates imperfectos en la muestra
prob_5 <- dhyper(x, M, N - M, n)
prob_5
## [1] 0.01375399
#b)
prob_5^10
## [1] 2.422633e-19
#c)
lotes_totales <- 20
lotes_imp <- 5
probab_imp <- prob_5
prob_5_lotes <- dbinom(lotes_imp, size = lotes_totales, prob = probab_imp)
prob_5_lotes
## [1] 6.19964e-06
#Probabilidad X=20
p_6 <- 0.2
prob_20 <- dgeom(20 - 1, prob = p_6)
prob_20
## [1] 0.002882304
#Probabilidad de X >= 2
prob_2 <- 1- pgeom(1 - 1, prob = p_6)
prob_2
## [1] 0.8
#Probabilidad de X>= 3
prob_3 <- 1- pgeom(2 - 1, prob = p_6)
prob_3
## [1] 0.64