Distribuciones discretas

Distribución uniforme discreta

Una variable aleatoria discreta X tiene una distribución uniforme discreta si para cada valor en su rango tiene igual probabilidad. Entonces:

\[f(x_i)=\frac{1}{n}\]

Una empresa nacional de videojuegos genera ganancias que siguen una distribución uniforme discreta entre los $20 y 25 millones (resolución igual a millones de pesos). A) Calcule la probabilidad de que las ventas del siguiente mes no superen los $22 millones. B) La probabilidad de que las ventas en el siguiente mes superen los 24 millones. C) Calcule el promedio de ventas y desviación estándar. D) ¿Cuántos ingresos se conseguirán como máximo el siguiente mes considerando un 20% de probabilidad?

#=============================================
#Préambulo: Creación de distribución en R (1/n)
#=============================================
#Distribución
#install.packages('extraDistr')
library("extraDistr")
millones=seq(15,30) #Defino el rango a graficar
distribucion=ddunif(millones, min = 20, max = 25) #Calculo la distribución [20, 25]
datos=data.frame(millones,distribucion,acumulado=cumsum(distribucion))
#Gráfico
library("ggplot2")
grafico = ggplot(data=datos,aes(x=millones,y=distribucion))
grafico = grafico + geom_bar(stat="identity",fill="lightblue3")
grafico = grafico + theme_bw() + ggtitle("Distribución de probabilidades")
grafico = grafico + xlab("Millones en ventas") + ylab("Probabilidad")
plot(grafico)

#=============================================
# Pregunta A - P(x<=22) - pdunif
#=============================================
preguntaA = pdunif(q=22, min = 20, max = 25, lower.tail = TRUE)
print(preguntaA)
## [1] 0.5
#=============================================
# Pregunta B - 1-P(x<=24) - pdunif
#=============================================
preguntaB = pdunif(q=24, min = 20, max = 25, lower.tail = FALSE)
print(preguntaB)
## [1] 0.1666667
#=============================================
# Pregunta C
#=============================================
preguntaC1 = mean(millones)
preguntaC2 = sqrt(((25-20+1)^2-1)/12)
print(preguntaC1)
## [1] 22.5
print(preguntaC2)
## [1] 1.707825
#=============================================
# Pregunta D - P(X<=?) = 0.25 - qdunif
#=============================================
preguntaD = qdunif(p=0.2, min = 20, max = 25, lower.tail = TRUE)
print(preguntaD)
## [1] 21

Distribución Bernoulli

Una distribución de Bernoulli considera una variable aleatoria X que mide el número de éxitos de un único experimento aleatorio considerando dos eventos posibles.

Ejemplo

En mi refrigerador hay 12 cervezas, 3 Brewmeister Snake Venom y 9 Cristal. ¿Cuál es la probabilidad de que si tomo una cerveza al azar en la oscuridad ésta sea Brewmeister Snake Venom?

#========================
# Preámbulo
#========================
#install.packages('Rlab')
library("Rlab")
## Rlab 4.0 attached.
## 
## Attaching package: 'Rlab'
## The following objects are masked from 'package:extraDistr':
## 
##     dbern, pbern, qbern, rbern
## The following objects are masked from 'package:stats':
## 
##     dexp, dgamma, dweibull, pexp, pgamma, pweibull, qexp, qgamma,
##     qweibull, rexp, rgamma, rweibull
## The following object is masked from 'package:datasets':
## 
##     precip
rango = seq(-5,5)
distribucion = dbern(rango, prob = 3/12)
datos=data.frame(rango,distribucion)
#Gráfico
library("ggplot2")
grafico = ggplot(data=datos,aes(x=rango,y=distribucion))
grafico = grafico + geom_bar(stat="identity",fill="lightblue3")
grafico = grafico + theme_bw() + ggtitle("Distribución de
probabilidades")
grafico = grafico + xlab("Rango") + ylab("Probabilidad")
plot(grafico)

#========================
# Pregunta 1
#========================
prob_BSV=dbern(1, 3/12, log = FALSE)
prob_CC=dbern(0, 3/12, log = FALSE)

Distribución binomial

La distribución binomial es una distribución de probabilidades que se utiliza para calcular la probabilidad de ocurrencia de eventos que se presentan bajo dos modalidades: éxito o fracaso. Estas denominaciones son completamente arbitrarias y no necesariamente significan cosas buenas o malas.

La distribución binomial cuenta el número de éxitos en una secuencia de n ensayos de Bernoulli independientes entre sí, con una probabilidad fija p de ocurrencia del éxito entre los ensayos.

Ejemplo

Según cifras de la Comisión Nacional del Tránsito durante el año 2019 en nuestro país se produjeron 89,983 accidentes de tránsito, teniendo un parque automotriz de 5,718,409 ¿Cuál es la probabilidad de que si este año todas las personas del curso usamos autos diferentes, una de ellas tenga un accidente? Considere 30 personas.

  • La probabilidad de que un auto tenga un accidente es: 89,983/5,718,409 = 0.01573567 ≈ 0.02
#========================
# Preámbulo
#========================
library("Rlab")
rango = seq(0,30)
distribucion = dbinom(rango, size = 30,prob = 0.02)
datos=data.frame(rango,distribucion)
#Gráfico
library("ggplot2")
grafico = ggplot(data=datos,aes(x=rango,y=distribucion))
grafico = grafico + geom_bar(stat="identity",fill="lightblue3")
grafico = grafico + theme_bw() + ggtitle("Distribución de probabilidades")
grafico = grafico + xlab("Rango") + ylab("Probabilidad")
plot(grafico)

#========================
# Pregunta 1
#========================
pregunta1 = dbinom(1, size = 30,prob = 0.02)
print(pregunta1)
## [1] 0.33397
#========================
# Probabilidad de que tod@s nos accidentemos
#========================
todos = dbinom(30, size = 30,prob = 0.02)
print(todos)
## [1] 1.073742e-51

Distribución geométrica y binomial negativa

Una distribución geométrica calcula el número de experimentos (sin éxito) que debemos realizar para obtener un primer evento favorable usando una distribución de Bernoulli.

Una distribución binomial negativa es una extensión del caso anterior, correspondiendo al número de ensayos que debemos realizar hasta obtener r casos favorables.

Ejemplo

Una distribución binomial negativa es una extensión del caso anterior, correspondiendo al número de ensayos que debemos realizar hasta obtener r casos favorables.

Respuesta 1- Una pareja sin problemas de fertilidad que mantiene relaciones sexuales en época fértil tiene un 25% de probabilidades de conseguir un embarazo en un mes. ¿Cuál es la probabilidad de que al quinto mes se produzca recién el embarazo? La probabilidad de la pareja no consiga ser padres luego de 4 meses es aproximadamente 0.079.

#========================
# Preámbulo
#========================
library("Rlab")
meses = seq(0,12)
distribucion = dgeom(x=meses, prob=0.25)
datos=data.frame(meses,distribucion)
#Gráfico
library("ggplot2")
grafico = ggplot(data=datos,aes(x=meses,y=distribucion))
grafico = grafico + geom_bar(stat="identity",fill="lightblue3")
grafico = grafico + theme_bw() + ggtitle("Distribución de
probabilidades")
grafico = grafico + xlab("Meses") + ylab("Probabilidad")
plot(grafico)

#========================
# Pregunta 1
#========================
print(dgeom(x=4, prob=0.25))
## [1] 0.07910156

2- Una familia desea planificar los nacimientos de sus descendientes. Calcular la probabilidad de que se necesiten 4 nacimientos para conseguir dos mujeres de sexo biológico. Respuesta La probabilidad de la pareja tenga dos mujeres al 4 nacimiento es 0.1875.

#========================
# Preámbulo
#========================
library("Rlab")
hijas = seq(0,10)
intentos_fallidos=2
distribucion = dnbinom(x=hijas, size=intentos_fallidos, prob=0.5)
datos=data.frame(hijas,distribucion)
#Gráfico
library("ggplot2")
grafico = ggplot(data=datos,aes(x=hijas,y=distribucion))
grafico = grafico + geom_bar(stat="identity",fill="lightblue3")
grafico = grafico + theme_bw() + ggtitle("Distribución de
probabilidades")
grafico = grafico + xlab("Hijas") + ylab("Probabilidad")
plot(grafico)

#========================
# Pregunta 1
#========================
print(dnbinom(x=2, size=2, prob=0.5))
## [1] 0.1875

Distribución hipergeométrica

Ejemplo:

Para un componente específico de un automóvil, una empresa de repuestos tiene un stock de 10 elementos del fabricante A y 20 elementos del fabricante B. Si se venden 4 productos de este tipo, ¿cuál es la probabilidad de que tres de ellas sean del proveedor A?

Respuesta

La probabilidad de que luego de 4 ventas, 3 repuestos sean del fabricante A es aproximadamente 0.088.

#========================
# Preámbulo
#========================
library("Rlab")
provedorA=10 #Exitos
provedorB=20 #Fracasos
ventas=4 #Experimentos
exitos=seq(0:10) #Exitos
distribucion = dhyper(x=exitos, m=provedorA, k=ventas, n=provedorB)
datos=data.frame(exitos,distribucion)
#Gráfico
library("ggplot2")
grafico = ggplot(data=datos,aes(x=exitos,y=distribucion))
grafico = grafico + geom_bar(stat="identity",fill="lightblue3")
grafico = grafico + theme_bw() + ggtitle("Distribución de
probabilidades")
grafico = grafico + xlab("Productos de A") + ylab("Probabilidad")
plot(grafico)

#========================
# Pregunta 1
#========================
exitos=3 #Exitos
print(dhyper(x=exitos, m=provedorA, k=ventas, n=provedorB))
## [1] 0.08757526

Distribución de Poisson

Se expresa, a partir de una frecuencia de ocurrencia media (λ), la probabilidad de que ocurra un determinado número de eventos durante cierto período de tiempo (k). Concretamente, se especializa en la probabilidad de ocurrencia de sucesos con probabilidades muy pequeñas, o sucesos “raros”.

Ejemplo:

En un peaje un empleado atiente en promedio a 30 personas por hora ¿cuál es la probabilidad que en la siguiente hora atienda solo a 20 personas? (k = 20, λ = 30)

Respuesta

La probabilidad de que lleguen 20 autos al peaje en una hora es 0.01341115.

#========================
# Preámbulo
#========================
library("Rlab")
autos=seq(1:40)
lambda=30
distribucion = dpois(autos,lambda)
datos=data.frame(autos,distribucion)
#Gráfico
library("ggplot2")
grafico = ggplot(data=datos,aes(x=autos,y=distribucion))
grafico = grafico + geom_bar(stat="identity",fill="lightblue3")
grafico = grafico + theme_bw() + ggtitle("Distribución de
probabilidades")
grafico = grafico + xlab("Autos") + ylab("Probabilidad")
plot(grafico)

#========================
# Pregunta 1
#========================
print((exp(-30)*30^20)/factorial(20))
## [1] 0.01341115
print(dpois(20,lambda))
## [1] 0.01341115

Distribuciones continuas

Distribución uniforme continua

La distribución uniforme continua es un tipo de distribución de probabilidad en la que todos los valores tienen la misma probabilidad de ocurrencia. Se utiliza para describir variables continuas con probabilidad constante y para definir procesos aleatorios. Tiene dos parámetros, a y b, que definen el intervalo de equiprobabilidad y se representa como U(a,b). Por ejemplo, si un experimento aleatorio puede tomar cualquier valor entre 5 y 9 con igual probabilidad, se puede simular con una distribución uniforme continua U(5,9).

Ejemplo

Una variable continua X tiene una uniforme en [4.9, 5.1]. La probabilidad de la función de densidad es 𝑓 𝑥 = 5, 4.9 ≤ 𝑥 ≤ 5.1. a. ¿Cuál es la probabilidad que una medición de corriente esté entre 4.95 y 5.0 miliamperes? b. ¿Cuál es la esperanza y varianza asociadas a el rango [4.9, 5.1]?

#=============================================
#Préambulo: Creación de distribución en R
#=============================================
#Distribución
library("extraDistr") #Defino el rango a graficar
distribucion=dunif(millones, min = 4.9, max = 5.1) #Calculo la distribución [20, 25]
datos=data.frame(millones,distribucion,acumulado=cumsum(distribucion))
#Extraído de https://dk81.github.io/dkmathstats_site/rmath-uniform-plots.html
uniform_Plot = function(a, b){
xvals <- data.frame(x = c(a, b)) #Range for x-values
ggplot(data.frame(x = xvals), aes(x = x)) + xlim(c(a, b)) + ylim(0, 1/(b - a)) +
stat_function(fun = dunif, args = list(min = a, max = b), geom = "area",
fill = "green", alpha = 0.35) +
stat_function(fun = dunif, args = list(min = a, max = b)) +
labs(x = "\n u", y = "f(u) \n",
title = paste0("Uniform Distribution \n With Min = ", a, " & Max = ", b, " \n")) +
theme(plot.title = element_text(hjust = 0.5),
axis.title.x = element_text(face="bold", colour="blue", size = 12),
axis.title.y = element_text(face="bold", colour="blue", size = 12)) +
geom_vline(xintercept = a, linetype = "dashed", colour = "red") +
geom_vline(xintercept = b, linetype = "dashed", colour = "red")
}
#=============================================
#Pregunta 1 - P(x<5)-P(x<4.95)
#=============================================
pregunta2=punif(5.0,4.9,5.1)-punif(4.95,4.9,5.1)
print(pregunta2) #0.25
## [1] 0.25
#=============================================
#Pregunta 2
#=============================================
esperanza = (5.1+4.9)/2
print(esperanza) #5
## [1] 5
varianza = (5.1-4.9)^2/12
print(varianza) #0.003333333
## [1] 0.003333333

Distribución normal

La distribución normal es una distribución de probabilidad continua cuya gráfica tiene forma de campana y es simétrica respecto a su media. Es muy importante en estadística ya que permite modelizar un gran número de fenómenos reales y se puede usar para aproximar otros tipos de distribuciones bajo ciertas condiciones. Se representa con la letra mayúscula N y se añade entre paréntesis los valores de su media aritmética y su desviación estándar. También se conoce como distribución de Gauss, distribución gaussiana y distribución de Laplace-Gauss.

Algunos ejemplos de muestras estadísticas que se pueden modelar con una distribución normal son: la estatura de los alumnos de un curso, el coeficiente intelectual de los trabajadores de una empresa, el número de piezas defectuosas producidas en una fábrica durante un día, las notas obtenidas en un examen por los alumnos de un curso y la rentabilidad de las acciones de las empresas que cotizan en bolsa.

Ejemplo

Se estima que el tiempo en horas semanales que se necesita para estudiar Estadística Computacional es una variable aleatoria normal, cuya media y varianza se desconocen. Calcular la media y la desviación típica de esta distribución, si se sabe que las tres cuartas partes del estudiantado necesita más de 3 horas de estudio a la semana y que el 5% necesita más de 6 horas.

#================
#Respuesta
#================
#Considerando u=0 y sd=1
#P(x>3)=0.75
p3=qnorm(p=1-0.75, mean = 0, sd = 1)
print(p3) #0.6744898
## [1] -0.6744898
#P(x>6)=0.05
p6=qnorm(p=1-0.05, mean = 0, sd = 1)
print(p6) #1.644854
## [1] 1.644854
#Según la normalización de puntuación exacta sabemos que:
# Z = X-mu/dev
# 0.6744898 = (3 - mu)/sd -> mu - sd*0.6744898 = 3
# -1.644854 = (6 - mu)/sd -> mu + sd*1.644854 = 6
# Planteamos un Sistema de ecuaciones:
A=matrix(c(1,1,p3,p6),nrow=2,ncol=2)
B=matrix(c(3,6),nrow=2,ncol=1)
Resultado=solve(A, B) #mu=3.872432 y sd=1.293470
print((exp(-30)*30^20)/factorial(20))
## [1] 0.01341115
print(dpois(20,lambda))
## [1] 0.01341115