Objetivo

Identificar variables aleatorias continuas y calcular la función de densidad con la distribución de probabilidad uniforme.

Descripción

Realizar ejercicios del uso de variables continuas mediante la disribución de probabilidad uniforme.

Fundamento teórico

Una diferencia fundamental entre las variables aleatorias discretas y las variables aleatorias continuas es cómo se calculan las probabilidades.

En las variables aleatorias discretas la función de probabilidad f(x) da la probabilidad de que la variable aleatoria tome un valor determinado.

En las variables aleatorias continuas, la contraparte de la función de probabilidad es la función de densidad de probabilidad, que también se denota f(x).

Cuando se calculan probabilidades de variables aleatorias continuas se calcula la probabilidad de que la variable aleatoria tome alguno de los valores dentro de un intervalo.

La diferencia está en que la función de densidad de probabilidad no da probabilidades directamente. Si no que el área bajo la curva de f(x) que corresponde a un intervalo determinado proporciona la probabilidad de que la variable aleatoria tome uno de los valores de ese intervalo(Anderson et al., 2008).

Distribución de probabilidad uniforme Siempre que una probabilidad sea proporcional a la longitud del intervalo, la variable aleatoria estará distribuida uniformemente (Anderson et al., 2008).

Función de densidad de distribución de probabilidad uniforme: f(x)={1b−a0,para a≤x≤b,,en cualquier otro caso

Valor Esperado: E(x)=(a+b)2

Varianza: Var(x)=(b−a)212

Desviación: α=Var(x)−−−−−−√

1. Cargar librerías

library(ggplot2)
## Warning: package 'ggplot2' was built under R version 3.6.3
library(dplyr)
## Warning: package 'dplyr' was built under R version 3.6.3
## 
## 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(knitr)
## Warning: package 'knitr' was built under R version 3.6.3
options(scipen = 999)

2. Solución de ejercicios

Se identifican ejercicios de distribución de probabilidad uniforme.

2.1. Ejercicio 1. Vuelo de un avión Considere una variable aleatoria x que representa el tiempo de vuelo de un avión que viaja de Chicago a Nueva York. Suponga que el tiempo de vuelo es cualquier valor en el intervalo de 120 minutos a 160 minutos (Anderson et al., 2008).

Dado que la variable aleatoria x toma cualquier valor en este intervalo, x es una variable aleatoria continua y no una variable aleatoria discreta.

Hay que razonar que se cuenta con datos suficientes como para concluir que la probabilidad de que el tiempo de vuelo esté en cualquier intervalo de 1 minuto es el mismo que la probabilidad de que el tiempo de vuelo esté en cualquier otro intervalo de 1 minuto dentro del intervalo que va de 120 a 160 minutos.

Como cualquier intervalo de 1 minuto es igual de probable, se dice que la variable aleatoria x tiene una distribución de probabilidad uniforme (Anderson et al., 2008).

Función de densidad

a.min <- 120
b.max <- 140
altura <- 1 / (b.max -a.min)
a <- 120
b <- 130

p.x <- altura * (b-a)
paste("La probabilidad de que el tiempo de vuelo se encuentre entre ", a , " y ", b, " minutos es del:", p.x * 100, "%")
## [1] "La probabilidad de que el tiempo de vuelo se encuentre entre  120  y  130  minutos es del: 50 %"
p.x <- (b - a) * dunif(x = a, min = a.min, max = b.max) 

p.x
## [1] 0.5
a <- 128
b <- 136

p.x <- altura * (b-a)
p.x
## [1] 0.4
paste("La probabilidad de que el tiempo de vuelo se encuentre entre ", a , " y ", b, " minutos es del:", p.x * 100, "%")
## [1] "La probabilidad de que el tiempo de vuelo se encuentre entre  128  y  136  minutos es del: 40 %"
p.x <- (b - a) * dunif(x = a, min = a.min, max = b.max) 

p.x
## [1] 0.4
VE <- (a.min + b.max) / 2
paste("El valor esperado es de: ", VE)
## [1] "El valor esperado es de:  130"
varianza.x <- (b.max - a.min)^2 / 12

paste("La varianza es: ", round(varianza.x,2))
## [1] "La varianza es:  33.33"
ds <- sqrt(varianza.x)
paste("La desviación estándard es igual a : ", round(ds, 2), " que significa que ese valor se dispersa conforme al valor medio esperado de ", VE)
## [1] "La desviación estándard es igual a :  5.77  que significa que ese valor se dispersa conforme al valor medio esperado de  130"

2.2. Caso de Licitaciones

Al estudiar licitaciones de embarque, una empresa dedicada a la fabricación de circuitos impresos, encuentra que los contratos nacionales tienen licitaciones distribuidas uniformemente entre 20 y 25 unidades (en miles de dólares).

Se determina lo siguiente: * a) Función de densidad * b) ¿Cuál es la probabilidad de que la licitación esté entre 22 y 24 (mil dólares)? * c) ¿Cuál es la probabidiad de que sea inferior a 22 (mil dólares)? * d) ¿Cuál es la probabilidad de que rebase los 24 (mil dólares)? * e) ¿Cuál es el valor esperado? * f) ¿Cuál es la varianza? * g) ¿Cuál es la desviación estándard? * h) ¿Qué se interpreta del caso?

Función de densidad

a.min <- 20
b.max <- 25
altura <- 1 / (b.max - a.min)

b). ¿Cuál es la probabilidad de que la licitación esté entre 22 y 24 (mil dólares)?

a <- 22
b <- 24

p.x <- altura * (b-a)
paste("La probabilidad de que la licitación esté entre ", a , " y ", b, " es del:", p.x * 100, "%")
## [1] "La probabilidad de que la licitación esté entre  22  y  24  es del: 40 %"
p.x <- (b - a) * dunif(x = a, min = a.min, max = b.max) 

p.x
## [1] 0.4
  1. Cuál es la probabilidad de que sea inferior a 22 (mil dólares)? Entonces solo 20 y 21 Sumar la P(X=20)+P(X=21) Solución aritmética
a <- 20
b <- 22

p.x <- altura * (b-a)
paste("La probabilidad de que sea inferior a ", b , " (mil dólares) es del: ", p.x * 100, "%")
## [1] "La probabilidad de que sea inferior a  22  (mil dólares) es del:  40 %"

Solución por medio de la función de densidad dunif() * Pueden sumarse las probabilidades de P(X=20)+P(X=21) o * Utilizar al argumento

a <- 20
b <- 22

suma <- dunif(x=a, min = a.min, max = b.max) + 
        dunif(x=a+1, min = a.min, max = b.max) # Sin contar la x=22
suma
## [1] 0.4
punif
## function (q, min = 0, max = 1, lower.tail = TRUE, log.p = FALSE) 
## .Call(C_punif, q, min, max, lower.tail, log.p)
## <bytecode: 0x00000000101d0cd0>
## <environment: namespace:stats>

Interpretación del caso

Al igual que los casos anteriores vemos como podemos automatizar algunos procedimientos con las funciones utlizadas en este caso, me parece muy interesante saber ésta lógica que parece más facil de interpretar en R que en algun otro ambiente de programacion.