library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
library(flextable)
library(MASS)
## 
## Attaching package: 'MASS'
## The following object is masked from 'package:dplyr':
## 
##     select
library(ggplot2)

Introducción

En esta parte del curso se verá el concepto de variable aleatoria, se tratarán los dos tipos de variables aleatorias, se mostrarán ejemplos con cada una de ellas y se propondrán ejercicios.

Defición 1

Una variable aleatoria es una función que asigna a cada uno de los elementos del espacio mustral, un número real. Las variables aleatorias se simbolizan con letras mayúsculas, generalmente las últimas del alfabeto occidental.

Las variables aleatorias pueden ser discretas o continuas y dependen del conjunto que representa el espacio muestral.

Definición 2

Una variable aleatoria es discreta si el espacio muestral es finito o infinito numerable.

Ejemplo 1

La variable \(X\) representa el número de hermanos en una encuesta. En teoría, los valores que puede tomar \(X\) SON \(x = 0,1,2,...\)

Ejemplo 2

Teoricamente un individuo alcoholizado puede intentar infinitamente abrir la puerta con un manojo de llaves.

Ejemplo 3

Se tiene una urna con 5 bolas negras y 4 bolas blancas, el experimento consiste en extraer dos bolas sucesivamente sin reemplazo. Sea \(X\) la variable aleatoria que da el número de bolas blancas en ese experimento. Encuentre los valores que toma \(x\)

Solución

\[ S = \{bb, bn, nb, nn\} \]

library(flextable)
tabla1 <- data.frame(S = c("BB", "BN", "NB", "NN"), x =c(2,1,1,0))
flextable(tabla1)

S

x

BB

2

BN

1

NB

1

NN

0

Definición 3

Una variable aleatoria \(X\) se dice continua si el espacio muestral es un subintervalo de los números reales.

Ejemplo 4

Existe interés por la proporción de personas que responden a cierta encuesta enviada por correo. Sea \(X\) tal proporción. \(X\) es una variable aleatoria que toma todos los valores de \(x\) para los cuales $0 x $

Distribuciones discretas de probabilidad

Una función \(f(x)\) se cononce como función de probabilidad de la variable aleatoria \(X\) discreta, si se cumple lo siguiente:

\[ 1. f(x) \ge 0 \] \[ 2. \sum_{x}f(x)=1 \] \[ 3. f(x)= P(X=x) \] Ejemplo 5

Para el ejemplo 3 encuentre la función de probabilidad.

Nota La distribución de probabilidad es una tabla, una fórmula o una gráfica que relaciona los valores que puede tomar \(x\) con su respectiva probabilidad.

Solución

tabla2 <- data.frame(x = c(0,1,2), f.x = c(20/72, 40/72, 12/72))
sum(tabla2$f.x)
## [1] 1
graf1 <- ggplot(tabla2, aes(x=x, y=f.x))+
  geom_point(size=3,col="purple")+
  geom_segment(aes(x=x, xend=x, y=0, yend=f.x), linetype ="dashed", col="purple")+
  labs(title = "Gráfica de la distribución de probabilidad del ejemplo")

graf1

Definición 4 Sea \(X\) una variable aleatoria con función de probabilidad \(f(x)\) entonces, se define la función de distribución acumulativa, \(F(x)\) como:

f(x)= función de probabilidad F(x)= función de distribución acumulada

\[ F(x)= P(x \le x) = \sum_{t \le x}f(t) \]

Ejemplo 6 Encuentre la función $F(X) para el ejemplo de las bolas

$$

F(x)= \[\begin{cases} 0 & \text{si } x < 0, \\ \frac{20}{72} & \text{si } 0 \le x < 1,\\ \frac{60}{72} & \text{si } 1\ le x < 2, \\ 1, & \text{si } x \ge 1 \end{cases}\]

$$

Gráfica de \(F(x)\)

tabla3<- data.frame(x=0:4, f.x=c(0.41,0.37,0.16,0.05,0.01))
tabla3
##   x  f.x
## 1 0 0.41
## 2 1 0.37
## 3 2 0.16
## 4 3 0.05
## 5 4 0.01
x <- 0:4

ggplot(tabla3, aes(x = x, y = f.x))+
  geom_point(size=3,col= "purple")+
  geom_segment(aes(x = x, xend = x, y = 0, yend = f.x),col="purple", linetype="dashed")+
  labs(title = "Grafica de la función de probabilidaddel ejercicio")

Construya la función de distribución acumilativa de X

$$

F(X) =

\[\begin{cases} 0 & \text{si } x < 0, \\ 0.41 & \text{si } 0 \le x < 1, \\ 0.78 & \text{si } 1 \le x < 2, \\ 0.94 & \text{si } 2 \le x < 3, \\ 0.99 & \text{si } 3 \le x < 4, \\ 1 & \text{si } x \ge 4 \end{cases}\]

$$

Elaborar la función de distribución en R

F.x <- function(x){
  ifelse(x<0,0,
         ifelse(x<1,0.41,
                ifelse(x<2, 0.78,
                       ifelse(x<3, 0.94,
                              ifelse(x<4,0.99,1)))))
}

F.x(3.4)
## [1] 0.99

Variables Aleatorias Continuas

Definición 5:

La función \(f(x)\) es una función de densidad de probabilidad (fdp) para la variable aleatoria continua \(X\), definida en el conjunto de números reales, su

\[ 1. f(x) \ge 0 \\ 2. \int_{-\infty}^{\infty}f(x)=1\\ 3. P(a \le X \le b)= \int_{a}^{b}f(x) dx\\ \] NOTA 1 \(P(X = x) = 0\) si \(X\) es continua

NOTA 1.A \(P(X \le x)=P(X<x)\) #(En continuas)

Ejemplo

  1. verifique que f(x) es una función de densidad
  2. calcule \(P(0 < X\le 1)\)
  3. Grafique la función de densidad

Solución

f.x<- function(x){x^2/3}
a<- integrate(f.x, lower= -1, upper = 2)$value
a
## [1] 1
library(MASS)
b <- integrate(f.x, 0,1)$value
fractions(b)
## [1] 1/9

Graficar la función

x <- seq(-1,2, by= 0.001)
y <- sapply(x,f.x)

plot(x, y, type = "l", lwd = 2, col = "hotpink4", 
     main= "Gráfica de la función de densidad", 
     xlab = "x", ylab = "f(x)")

Ggplot

library(ggplot2)

x_total <- seq(-1, 2, by = 0.001)
df_total <- data.frame(x = x_total, y = f.x(x_total))

x_fill <- seq(0, 1, by = 0.001)
df_fill <- data.frame(x = x_fill, y = f.x(x_fill))

ggplot() +
  geom_line(data = df_total, aes(x = x, y = y), color = "hotpink4", linewidth = 1.2) +
  geom_area(data = df_fill, aes(x = x, y = y), fill = "hotpink4", alpha = 0.4) +
  labs(
    title = "Área bajo la curva: P(0 ≤ X ≤ 1)",
    x = "x",
    y = "f(x)"
  ) +
  theme_minimal()

Ejercicio 3.5 Determine el valor de \(c\) de modo que cada una de las siguientes funciones sirva como distribución de probabilidad de la variable aleatoria discreta \(X\) \[ f(x) = c \,(x^2 + 4), \quad \text{para } x = 0,1,2,3 \]

\[ f(x) = c \binom{2}{x} \binom{3}{3-x}, \quad \text{para } x = 0,1,2 \] Solución a)

x <- 0:3
v <- x^2 + 4

c_a <- 1 / sum(v)
c_a
## [1] 0.03333333
fractions(c_a)
## [1] 1/30

Gráfica:

tabla_a <- data.frame(x = x, f_x = c_a * v)

ggplot(tabla_a, aes(x = x, y = f_x)) +
  geom_point(size = 3, col = "hotpink4") +
  geom_segment(aes(xend = x, y = 0, yend = f_x),
               col = "hotpink4", linetype = "dashed") +
  labs(title = NULL,
       x = "x", y = "f(x)")

# x=0 -> C(2,0)*C(3,3)=1*1 = 1
# x=1 -> C(2,1)*C(3,2)=2*3 = 6
# x=2 -> C(2,2)*C(3,1)=1*3 = 3

x2 <- 0:2
v2 <- c(1, 6, 3) 

c_b <- 1 / sum(v2)
c_b
## [1] 0.1
fractions(c_b)
## [1] 1/10

Gráfica

tabla_b <- data.frame(x = x2, f_x = c_b * v2)

ggplot(tabla_b, aes(x = x, y = f_x)) +
  geom_point(size = 3, col = "hotpink4") +
  geom_segment(aes(xend = x, y = 0, yend = f_x),
               col = "hotpink4", linetype = "dashed") +
  labs(title = NULL,
       x = "x", y = "f(x)")

Ejercicio 3.6 La vida útil, en días, para frascos de cierta medicina de prescripción es una variable aleatoria que tiene la siguiente función de densidad:

$$

f(x)= \[\begin{cases} \frac{20.000}{(x+100)^3} & \text{, } x > 0,\\ 0, & \text{en otro caso. } \end{cases}\]

$$ Calcule la probabilidad de que un frasco de esta medicina tenga una vida útil de:

  1. al menos 200 días;
  2. cualquier lapso entre 80 y 120 días

Solución a) Probabilidad de menos de 200 días

library(MASS)

f.x <- function(x){20000/(x+100)^3}
a <- integrate(f.x, lower = 200, upper = Inf)$value
a
## [1] 0.1111111
fractions(a)
## [1] 1/9

Gráfica

library(ggplot2)
x_total <- seq(0, 600, by = 0.01)
df_total <- data.frame(x = x_total, y = f.x(x_total))

x_fill <- seq(200, 600, by = 0.01)
df_fill <- data.frame(x = x_fill, y = f.x(x_fill))

ggplot() +
  geom_line(data = df_total, aes(x, y), color = "hotpink4") +
  geom_area(data = df_fill, aes(x, y), fill = "hotpink4", alpha = 0.4) +
  labs(title = "Área bajo la curva: P(X ≥ 200)", x = "x", y = "f(x)")

  1. Cualquier lapso entre 80 y 120 días
b <- integrate(f.x, lower = 80, upper = 120)$value
b
## [1] 0.1020304
fractions(b)
## [1] 1000/9801

Gráfica

x_fill2 <- seq(80, 120, by = 0.01)
df_fill2 <- data.frame(x = x_fill2, y = f.x(x_fill2))

ggplot() +
  geom_line(data = df_total, aes(x, y), color = "hotpink4") +
  geom_area(data = df_fill2, aes(x, y), fill = "hotpink4", alpha = 0.4) +
  labs(title = "Área bajo la curva: P(80 ≤ X ≤ 120)", x = "x", y = "f(x)")

Ejercicio 3.12

Una empresa de inversiones ofrece a sus clientes bonos municipales que vencen después de varios años. Dado que la función de distribución acumulativa de T, el número de años para el vencimiento de un bono que se elige al azar, es

\[ F(t)= \begin{cases} 0, & t < 1,\\[4pt] \dfrac{1}{4}, & 1 \le t < 3,\\[4pt] \dfrac{1}{2}, & 3 \le t < 5,\\[4pt] \dfrac{3}{4}, & 5 \le t < 7,\\[4pt] 1, & t \ge 7. \end{cases} \]

Calcule: \[ Calcule: \\ a)\ P\ (T=5); \\ b)\ P(T>3); \\ c)\ P(1.4 < T < 6); \\ d)\ P(T \le 5 \mid T \ge 2); \\ \] Solución

F.t <- function(t){
  ifelse(t < 1, 0,
         ifelse(t < 3, 0.25,
                ifelse(t < 5, 0.5,
                       ifelse(t < 7, 0.75, 1))))
}
p_a <- F.t(5) - F.t(5 - 0.0001)
p_a
## [1] 0.25
library(ggplot2)

tabla_a <- data.frame(x = c(5), f_x = c(p_a))

ggplot(tabla_a, aes(x = x, y = f_x)) +
  geom_point(size = 3, col = "hotpink4") +
  geom_segment(aes(xend = x, y = 0, yend = f_x),
               col = "hotpink4", linetype = "dashed") +
  labs(title = "Probabilidad puntual: P(T=5)",
       x = "T", y = "f(T)")

b)

p_b <- 1 - F.t(3)
p_b
## [1] 0.5
tabla_b <- data.frame(x = c(3,7), f_x = c(F.t(3),1))

ggplot(tabla_b, aes(x = x, y = f_x)) +
  geom_point(size = 3, col = "hotpink4") +
  geom_segment(aes(xend = x, y = 0, yend = f_x),
               col = "hotpink4", linetype = "dashed") +
  labs(title = "Probabilidad acumulada: P(T>3)",
       x = "T", y = "F(T)")

c)

p_c <- F.t(6) - F.t(1.4)
p_c
## [1] 0.5
tabla_c <- data.frame(x = c(1.4,6), f_x = c(F.t(1.4),F.t(6)))

ggplot(tabla_c, aes(x = x, y = f_x)) +
  geom_point(size = 3, col = "hotpink4") +
  geom_segment(aes(xend = x, y = 0, yend = f_x),
               col = "hotpink4", linetype = "dashed") +
  labs(title = "Probabilidad: P(1.4 < T < 6)",
       x = "T", y = "F(T)")

d)

p_d <- (F.t(5) - F.t(2)) / (1 - F.t(2))
p_d
## [1] 0.6666667
tabla_d <- data.frame(x = c(2,5), f_x = c(F.t(2),F.t(5)))

ggplot(tabla_d, aes(x = x, y = f_x)) +
  geom_point(size = 3, col = "hotpink4") +
  geom_segment(aes(xend = x, y = 0, yend = f_x),
               col = "hotpink4", linetype = "dashed") +
  labs(title = "Probabilidad condicional: P(T ≤ 5 | T ≥ 2)",
       x = "T", y = "F(T)")