Objetivo

Calcular probabilidades con variables aleatorias discretas y con variables aleatorias continuas con distribución uniforme

Desarrollo

Cargar librerías

library(ggplot2)
library(dplyr)
library(gtools)
library(knitr)
library(cowplot) # Gráficas mismo renglones
options(scipen = 999) # Notación normal

Ejercicios con variables discretas

Tirar dos dados

Construir tabla de distribución

dado <- c(1,2,3,4,5,6)
lanzar_dados <- data.frame(permutations(n=6, r = 2, v = dado, repeats.allowed = TRUE))
names(lanzar_dados) <- c("dado1", "dado2")
lanzar_dados <- cbind(lanzar_dados, suma = apply(X = lanzar_dados, MARGIN = 1, FUN = sum))
lanzar_dados
##    dado1 dado2 suma
## 1      1     1    2
## 2      1     2    3
## 3      1     3    4
## 4      1     4    5
## 5      1     5    6
## 6      1     6    7
## 7      2     1    3
## 8      2     2    4
## 9      2     3    5
## 10     2     4    6
## 11     2     5    7
## 12     2     6    8
## 13     3     1    4
## 14     3     2    5
## 15     3     3    6
## 16     3     4    7
## 17     3     5    8
## 18     3     6    9
## 19     4     1    5
## 20     4     2    6
## 21     4     3    7
## 22     4     4    8
## 23     4     5    9
## 24     4     6   10
## 25     5     1    6
## 26     5     2    7
## 27     5     3    8
## 28     5     4    9
## 29     5     5   10
## 30     5     6   11
## 31     6     1    7
## 32     6     2    8
## 33     6     3    9
## 34     6     4   10
## 35     6     5   11
## 36     6     6   12

Contar frecuencias de las sumas

tabla <- lanzar_dados %>%
  group_by(suma) %>%
  summarise(frec = n()) 
tabla <-  data.frame(tabla)

Tabla con nombres de x’s

colnames(tabla) <- c('x', 'casos')
tabla
##     x casos
## 1   2     1
## 2   3     2
## 3   4     3
## 4   5     4
## 5   6     5
## 6   7     6
## 7   8     5
## 8   9     4
## 9  10     3
## 10 11     2
## 11 12     1

Tabla con probabilidades

n <- sum(tabla$casos)
tabla <- tabla %>%
  mutate(f.prob = round(casos / n, 4))
tabla <- tabla %>%
  mutate(f.acum = cumsum(f.prob))
tabla
##     x casos f.prob f.acum
## 1   2     1 0.0278 0.0278
## 2   3     2 0.0556 0.0834
## 3   4     3 0.0833 0.1667
## 4   5     4 0.1111 0.2778
## 5   6     5 0.1389 0.4167
## 6   7     6 0.1667 0.5834
## 7   8     5 0.1389 0.7223
## 8   9     4 0.1111 0.8334
## 9  10     3 0.0833 0.9167
## 10 11     2 0.0556 0.9723
## 11 12     1 0.0278 1.0001

Visualizar frecuencias y el acumulado

gfrecuencias <- ggplot(data = tabla) +
  geom_col(aes(x = x, y = f.prob), fill= 'lightblue') 
gfrecuencias

gacumulada <- ggplot(data = tabla) +
  geom_line(aes(x = x, y = f.acum), col='blue') +
  geom_point(aes(x = x, y = f.acum), col='red')
gacumulada

Calcular probabilidades

Función para calcular probabilidades
# Llamar la función o cargar el archivo en donde estpa la función
source ("https://raw.githubusercontent.com/rpizarrog/probabilidad-y-estad-stica/master/Enero%20Junio%202022/funciones/funciones.para.distribuciones.r")
P(x = 3)

\(P(f(x=3))\)

La probabilidad cuando x sea igual a 3

f.prob.discr(datos = tabla, discreta = 3, tipo = 0)
##   f.prob
## 1 0.0556
P(x = 7)

\(P(f(x=7))\)

La probabilidad cuando x sea igual a 7

f.prob.discr(datos = tabla, discreta = 7, tipo = 0)
##   f.prob
## 1 0.1667
P(x >= 7)

\(P(F(x \ge7))\)

La probabilidad cuando x sea mayor o igual a 7 \(1 - P(F(X=6)) = P(7) + P(8) + P(9) + P(10) + P(11) + P(12)\)

f.prob.discr(datos = tabla, discreta = 7, tipo = 4)
##   f.acum
## 1 0.5833
P(x <= 5)

\(P(F(x \le 5))\)

La probabilidad cuando x sea menor o igual a 5

\(P(F(X\le5)) = P(2) + P(3) + P(4) + P(5)\)

f.prob.discr(datos = tabla, discreta = 5, tipo = 3)
##   f.acum
## 1 0.2778
P(x > 5)

\(P(F(x < 5))\)

La probabilidad cuando x sea menor a 5

\(P(F(X > 5)) = P(6) + P(7) + P(8) ... P(12)\)

f.prob.discr(datos = tabla, discreta = 5, tipo = 2)
##   f.acum
## 1 0.7222

Estudiantes y oferta de empleo

Tres estudiantes agendan entrevistas para un empleo de verano en el Brookwood Institute. En cada caso el resultado de la entrevista será una oferta de trabajo o ninguna oferta. Los resultados experimentales se definen en términos de los resultados de las tres entrevistas. (Lind, Marchal, and Wathen 2015).

  • Enumere los resultados experimentales.

  • Defina una variable aleatoria que represente el número de ofertas de trabajo. ¿Es una variable aleatoria discreta o continua?

  • Dé el valor de la variable aleatoria que corresponde a cada uno de los resultados experimentales. (Lind, Marchal, and Wathen 2015).

    resultado <- c(1,0) # 1 Si le ofrecen, 0 No le ofrecen
    S <- permutations(resultado, n = 2, r = 3, repeats.allowed = TRUE)
    S <- data.frame(S)
    colnames(S) <- c("of1", "of2", "of3")
    S
    ##   of1 of2 of3
    ## 1   0   0   0
    ## 2   0   0   1
    ## 3   0   1   0
    ## 4   0   1   1
    ## 5   1   0   0
    ## 6   1   0   1
    ## 7   1   1   0
    ## 8   1   1   1

Son ocho resultados experimentales que presenta el espacio muestral.

La variable aleatoria es \(x=0\) a ninguno se le ofrece empleo, \(x=1\) a uno de ellos se le ofrece empleo, \(x=2\) a dos de ellos se le ofrece empleo y \(x=3\) a los tres se les ofrece empleo.

Es una variable aleatoria discreta con valores en \(x\) de \(0\) a \(3\).

Tabla de probabilidades con x’s prob y acumulado

Sumando las ofertas

S <- S %>%
    mutate(suma = of1 + of2 + of3)
S
##   of1 of2 of3 suma
## 1   0   0   0    0
## 2   0   0   1    1
## 3   0   1   0    1
## 4   0   1   1    2
## 5   1   0   0    1
## 6   1   0   1    2
## 7   1   1   0    2
## 8   1   1   1    3
# El valor de n
n <- nrow(S)

Construir la tabla

tabla <- S %>%
  group_by(suma) %>%
  summarise(frec = n()) 
tabla <- data.frame(tabla)
colnames(tabla) <- c("x", "casos")
n <- sum(tabla$casos)
tabla <- tabla %>%
  mutate(f.prob = round(casos / n, 4))
tabla <- tabla %>%
  mutate(f.acum = cumsum(f.prob))
tabla
##   x casos f.prob f.acum
## 1 0     1  0.125  0.125
## 2 1     3  0.375  0.500
## 3 2     3  0.375  0.875
## 4 3     1  0.125  1.000

Visualizar frecuencias y el acumulado

gfrecuencias <- ggplot(data = tabla) +
  geom_col(aes(x = x, y = f.prob), fill= 'lightblue') 
gfrecuencias

gacumulada <- ggplot(data = tabla) +
  geom_line(aes(x = x, y = f.acum), col='blue') +
  geom_point(aes(x = x, y = f.acum), col='red')
gacumulada

Calcular probabilidades

P(x=2)

¿Cuál es la probabilidad de que le ofrezcan trabajo a dos estudiantes? \(P(f(x = 2))\).

f.prob.discr(datos = tabla, discreta = 2, tipo = 0)
##   f.prob
## 1  0.375
P(x>=2)

¿Cuál es la probabilidad de que le ofrezcan trabajo a dos o mas estudiantes? \[ P(x \ge 2) = P(2) + P(3) + P(4) \]

\[ P(x \ge 2) = 1 - F(x=1) \]

f.prob.discr(datos = tabla, discreta = 2, tipo = 4)
##   f.acum
## 1    0.5

Ejercicios con variables continuas y distribución uniforme

Espera de autobús

Un autobús para por cierta parada cada 15 minutos. ¿Cuál es la probabilidad de que una persona que llega en un momento dado tenga que esperar el autobús mas de cinco minutos?

¿Cual es la densidad?

Es la altura, es decir para cualquier valor desde 0 a 15 la densidad es la misma. \(0.0666 …\) ó \(\frac{1}{15}\) con estos valores mínimos y máximos de \(0, 15\) respectivamente.

Entonces la densidad para una distribución uniforme puede obtenerse mediante función dunif() o mediante la fórmula \(\frac{1}{b-a)}\) siempre y cuando se identifiquen y se tengan los valores del intervalo mínimo \(a\) y máximo \(b\).

dens <- dunif(x = 0:15, min = 0, max = 15)
dens
##  [1] 0.06666667 0.06666667 0.06666667 0.06666667 0.06666667 0.06666667
##  [7] 0.06666667 0.06666667 0.06666667 0.06666667 0.06666667 0.06666667
## [13] 0.06666667 0.06666667 0.06666667 0.06666667

\(P(x > 5\)

Para calcular la probabilidad puede hacerse calculando el área que representa el intervalo cuya base es desde 5 a 15 es decir, 10 y multiplicada por la altura o la densidad \(\frac{1}{15}\). O se puede encontrar mediante la función punif() de probabilidad de distribución uniforme.

a <- 0
b <- 15
altura <- 1 / (b -a)
altura
## [1] 0.06666667
base <- 10
area <- base * altura
area
## [1] 0.6666667
paste("La probabilidad de esperar mas de 5 minutos es de ", round(area * 100, 2), "%")
## [1] "La probabilidad de esperar mas de 5 minutos es de  66.67 %"

Calcular la probabilidad por medio de la función punif()

\[ P(x>5) \]

x = 5
prob1 <- punif(q = x, min = 0, max = 15)
prob1
## [1] 0.3333333
prob2 <- 1  - punif(q = x, min = 0, max = 15)
prob2
## [1] 0.6666667
prob3 <- punif(q = x, min = 0, max = 15, lower.tail = FALSE)
prob3
## [1] 0.6666667
paste("La probabilidad de esperar mas de 5 minutos es de ", round(prob3 * 100, 2), "%")
## [1] "La probabilidad de esperar mas de 5 minutos es de  66.67 %"

\(P(x < 2\))

¿Cuál es la probabilidad de que una persona espere un tiempo menor que 2 minutos?

a <- 0
b <- 15
altura <- 1 / (b -a)
altura
## [1] 0.06666667
base <- 2
area <- base * altura
area
## [1] 0.1333333
paste("La probabilidad de esperar menos de 2 minutos es de ", round(area * 100, 2), "%")
## [1] "La probabilidad de esperar menos de 2 minutos es de  13.33 %"

Calcular la probabilidad por medio de la función punif()

\[ P(x<=2) \]

x = 2
prob1 <- punif(q = x, min = 0, max = 15)
prob1
## [1] 0.1333333
prob2 <- 1  - punif(q = x, min = 0, max = 15)
prob2
## [1] 0.8666667
prob3 <- punif(q = x, min = 0, max = 15, lower.tail = FALSE)
prob3
## [1] 0.8666667
paste("La probabilidad de esperar menos de 2 minutosminutos es de ", round(prob1 * 100, 2), "%")
## [1] "La probabilidad de esperar menos de 2 minutosminutos es de  13.33 %"

Interpretación

En el ejercicio de los dos dados se hizo una tabla de distribución con las permutaciones y las sumas de sus frecuencias, al ver el gráfico de su acumulado, se puede concluir con que una suma que da 7 es la que cuenta con la mayor probabilidad de ocurrir. También se calcularon las probabilidades de x cuando sea igual, mayor, o menor a diferentes números y se obtuvo que la mayor de estas es cuando x es menor a 5 con un 0.72 y la más chica de x cuando es igual a 3 con un 0.05 de probabilidad.

Para el caso de los estudiantes también se analizaron las frecuencias y su acumulación, así como las probabilidades de que le ofrezcan trabajo a dos estudiantes (0.37) y a dos o más estudiantes (0.5).

En cuanto a la parada de autobús, el cálculo de la densidad o altura fue utilizado para poder determinar la probabilidad de que una persona tenga que esperar el autobús en un intervalo de tiempo dado.

Para calcular la probabilidad de que una persona deba de esperar más de cinco minutos se establece una base de 5 a 15, que es de 10 para luego multiplicarla por la densidad o altura, de ahí obteniendo el valor de 0.66.

Si el intervalo fuera un lapso menor a 2 minutos, el 2 que es el valor máximo es multiplicado por la densidad para obtener una probabilidad de 0.13. # Bibliografía

Lind, Douglas, William Marchal, and Samuel Wathen. 2015. Estadística Aplicada a Los Negocios y La Economía. Decimo Sexta. México, D.F.: McGraw-Hill.