Objetivo

Identificar variables aleatorias discretas o continuas y calcular la función de densidad, probabilidades, valor esperado, varianza y desviación estándar con la distribución de probabilidad uniforme. para ciertos valores del intervalo a y b.

Descripción

Realizar ejercicios del uso de variables discretas o continuas mediante la distribució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_estadistica_2008].

Como en cualquier punto determinado el área bajo la gráfica de \(f(x)\) es cero, una de las consecuencias de la definición de la probabilidad de una variable aleatoria continua es que la probabilidad de cualquier valor determinado de la variable aleatoria es cero.

En la siguiente imagen, se presenta una distribución de una variable aleatoria continua, por ejemplo, el peso en kgs. de algún producto que se tiene que enviar por servicio de paquetería.

El rango de toda la población sería entre 10 y 60 kgs aproximadamente. Se observa de manera muy general en la imagen que el valor de la media \(μ\) del producto es entre \(\text{36 o 37}\), tal vez \(\text{36.5, o 36.7}\). El área total en color azul vale el \(100\%\).

La idea de la variable aleatoria continua es determinar cuál es la probabilidad de un intervalo, por ejemplo de entre \(\text{30 y 35 kgs.}\) o de cuál es la probabilidad de una variable continua que está entre \(\text{34 y 38}\). Esto se observa en la siguiente figura.

Sin embargo no todas las variables continuas tienen una representación como la curva en forma de campana, es posible encontrarlas como un rectángulo tal como se observa en la figura siguiente:

Se puede deducir que lo que se busca en términos de probabilidad es cuánto vale el área en el intervalo \(c1\) y \(c2\) y también tal vez el área bajo la curva (rectángulo) \(d1\) y \(d2\), si toda el área vale el 100%.

Distribución uniforme

La distribución uniforme es una distribución de probabilidad que modela la igualdad de posibilidad entre los eventos en un rango determinado. Puede ser discreta o continua, dependiendo del conjunto de valores que puede tomar la variable aleatoria.

La distribución uniforme discreta se utiliza cuando la variable aleatoria solo puede tomar un número finito de valores, y la probabilidad de cada valor es igual. Por ejemplo, si lanzamos un dado justo, cada número del 1 al 6 tiene la misma probabilidad de 1/6 de aparecer.

Por otro lado, la distribución uniforme continua se utiliza cuando la variable aleatoria puede tomar cualquier valor en un intervalo continuo, y la probabilidad de cada valor es igual. Por ejemplo, si elegimos un número al azar entre 0 y 1, cada número en ese intervalo tiene la misma probabilidad de aparecer

La diferencia entre una distribución uniforme discreta y una distribución uniforme continua se encuentra en sus posibles valores.

La distribución uniforme discreta solo puede tomar algunos valores dentro de un intervalo además de que los valores de x’s son enteros; en cambio, la distribución uniforme continua puede tomar cualquier valor dentro del intervalo en el que está definida incluyendo enteros y números reales.

En general, las distribuciones uniformes discretas solo pueden tomar valores enteros, mientras que las distribuciones uniformes continuas también pueden tomar valores decimales.

La distribución uniforme continua es una familia de distribuciones de probabilidad para variables aleatorias continuas, tales que para cada miembro de la familia, todos los intervalos de igual longitud en la distribución en su rango son igualmente probables. El dominio está definido por dos parámetros, \(a\) y \(b\), que son sus valores mínimo y máximo respectivamente.

La distribución o modelo uniforme puede considerarse como proveniente de un proceso de extracción aleatoria .El planteamiento radica en el hecho de que la probabilidad se distribuye uniformemente a lo largo de un intervalo . Así : dada una variable aleatoria continua, \(x\) , definida en el intervalo \([a,b]\) de la recta real, se dice que \(x\) tiene una distribución uniforme en el intervalo \([a,b]\).

Funciones de R para distribución uniforme

  • dunif(x, min = 0, max = 1, log = FALSE)

  • punif(q, min = 0, max = 1, lower.tail = TRUE, log.p = FALSE)

  • qunif(p, min = 0, max = 1, lower.tail = TRUE, log.p = FALSE)

  • runif(n, min = 0, max = 1)

Función de densidad de distribución de probabilidad uniforme

\[ f(x) = \begin{cases} \frac{1}{b-a} &,\, \text{para }a\leq x \leq b ,\\ 0&,\, \text{en cualquier otro caso } \end{cases} \]

La gráfica de esta función, conocida como curva o función de densidad, es un rectángulo, por ello la distribución uniforme continua se conoce también como distribución rectangular y es la más simple de las distribuciones continuas. [@lifeder].

En R la función de densidad se utiliza dunif()

Función de probabilidad F(x)

Para calcular probabilidades se puede determinar a función de la distribución \(F(X)\) o lo que es lo mismo la Función Acumulada de probabilidad de la distribución uniforme con la siguiente fórmula:

\[ P(x) = F(x) = \begin{cases}0; \text{ para }x \le a \\\frac{x-a}{b-a} \text{ para } a\le x \le b \\1 ; \text{ para } x >b \end{cases} \]

La probabilidad únicamente depende del valor de \((x-a)\)

En donde:

  • \(F(x)\)es la función de distribución o función de probabilidad acumulada

  • \(x\) es la variable aleatoria uniforme

  • \(a\) y \(b\) son los valores del intervalo mínimo y máximo respectivamente.

En R la función de probabilidad uniforme se puede utilziar punif() para calcular probabilidades.

Valor Esperado

El cálculo del valor esperado y de la varianza de una variable aleatoria continua es análogo al de una variable aleatoria discreta. Sin embargo, como en este caso interviene el cálculo integral la deducción de estas fórmulas queda fuera de los ejercicios de este caso.

\[E(x) = \frac{(a+b)}{2}\]

Varianza

\[Var(x) = \frac{(b-a)^2}{12}\]

Desviación

\[\alpha = \sqrt{Var(x)}\]

Desarrollo

Cargar librerías

  • Posiblemente se utilicen algunas de ellas
library(ggplot2)
library(dplyr)
library(knitr)
options(scipen = 999) # Notación normal

Cargar funciones preparadas de las cuales interesa una función para visualizar gráficas de distribuciones uniformes plotunif().

# source ("https://raw.githubusercontent.com/rpizarrog/Trabajos-en-R-AD2021/main/funciones/funciones.para.distribuciones.r")

Densidad en R

Con R, se puede determinar las probabilidades de la distribución uniforme calculando el área bajo el rectángulo haciendo las operaciones siguientes:

\[ prob = (b - a) \times f.dens(x) \]

siempre y cuando se haya determinado el valor de la densidad f.dens que es precisamente la altura del rectángulo.

o utilizar la función dunif() para calcular la densidad del área

\[ prob = (b-a) \times dunif(x = a:b, min = min, max = max) \]

[@rcoder]

o bien por medio de la función punif() que calcula y encuentra la probabilidad acumulada \(\frac{x-a}{b-a}\)

\[ prob = punif(q=\text{vector de valores}, min = min.intervalo, max=max.intervalo) \]

Solución de ejercicios

Se identifican ejercicios de distribución de probabilidad uniforme.

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 140 minutos [@anderson_estadistica_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 140 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_estadistica_2008].

Función de densidad

La función de densidad de la distribución uniforme se calcula mediante al fórmula y ésta como tal no da la probabilidad, pero sirve para obtener la probabilidad determinando el área bajo la curva.

Tratándose de una distribución uniforme el área bajo la curva es la parte proporcional del rectángulo.

La variable f.dens que se utiliza, es la función de densidad o la altura del rectángulo.

a.min <- 120
b.max <- 140
f.dens <- 1 / (b.max -a.min) # Es la altura

\[ f(x) = \begin{cases} \frac{1}{140-120}=\frac{1}{20} &,\, \text{para }120\leq x \leq 140,\\ 0&,\, \text{en cualquier otro caso } \end{cases} \]

Se inicializan y utilizan las variables a.min y b.max como coordenadas de x, y, y la altura que es la función de densidad previamente calculada.

altura <- f.dens
x <- c(a.min, b.max) # 120, 140
 y <- c(altura, altura) # 0.5, 0.5
datos <- data.frame(x, y)
datos
##     x    y
## 1 120 0.05
## 2 140 0.05

Se muestra el área bajo la curva usando geom_area() en la función ggplot() en programación R.

ggplot(data = datos, aes(x,y )) +
  geom_area(fill = "lightblue") +
  xlim(100, 160) +
  ggtitle(label = "Distribución uniforme continua", subtitle = paste("f(x) = ",f.dens))

¿Cuál es la probabilidad de que el tiempo de vuelo se encuentre entre 120 y 130 minutos?

  • ¿cuál es \(P(120 \leq x \leq 130)\)?

  • La \(P(120 \leq x \leq 130) = 0.50\)

Gráfica del área bajo el rectángulo con plotunif() y unif_area()
Densidad 120-140
ggplot(datos) + 
  geom_area(aes(x = x, y = y),
            fill = 'lightblue') +
  xlim(100, 160) +
  ggtitle(label = "Distribución uniforme continua", subtitle = paste("f(x) = ",f.dens))

Densidad 120-130

Se agregan nuevas coordenadas para el rectángulo de color rosa

datos <- cbind(datos, x2=c(120,130), y2=y)
datos
##     x    y  x2   y2
## 1 120 0.05 120 0.05
## 2 140 0.05 130 0.05
ggplot(datos) + 
  geom_area(aes(x = x, y = y),
            fill = 'lightblue') +
  geom_area(aes(x = x2, y = y2),
            fill = 'pink') +
  xlim(100, 160) +
  ggtitle(label = "Distribución uniforme continua", subtitle = paste("f(x) = ",f.dens))

Se busca saber cual es la densidad de el área de color rosa

Solución aritmética

Para encontrar la probabilidad de vuelo entre 130 y 120 es encontrar el área bajo la curva (el rectángulo en la distribución uniforme).

Si el área total de manera uniforme en un intervalo de 120 a 140 es es 0.05, entonces en un intervalo de 120 a 130 es la mitad del área.

La variable altura es igual al valor de la función de densidad en la distribución uniforme, las variables a y b son los valores del nuevo intervalo que por supuesto están dentro del intervalo original de 120 y 140.

Esta área es rectangular y el área de un rectángulo es simplemente el ancho multiplicado por la altura. Si el ancho del intervalo es igual a \(130 - 120 = 10\) y la altura es igual al valor de la función de densidad de probabilidad \[f(x) = 1/20=0.05\], se tiene, \[ área = ancho \times alto \] entonces, \[10 \times (\frac{1}{20}) = 10 \times 0.05 = .50\]. [@anderson_estadistica_2008].

a <- 120
b <- 130
prob.x <- (b-a) * f.dens 
paste("La probabilidad de que el tiempo de vuelo se encuentre entre ", a , " y ", b, " minutos es del:", prob.x * 100, "%")
## [1] "La probabilidad de que el tiempo de vuelo se encuentre entre  120  y  130  minutos es del: 50 %"
Solución por medio de la función de densidad dunif()

Da el mismo resultado que usando la solución aritmética encontrando el área del rectángulo correspondiente.

prob.x <- (b - a) * dunif(x = a, min = a.min, max = b.max) 
prob.x
## [1] 0.5
Solución por medio de la función de probabilidad punif()

Significa las probabilidad de que el vuelo tarde menos que \(130\) minutos o lo que es lo mismo que esté entre \(120\) y \(130\) minutos

punif(q = 130, min = 120, max = 140) - punif(q = 120, min = 120, max = 140)
## [1] 0.5

o de conforme a la fórmula de la probabilidad acumulada.

\(prob = \frac{x-a}{b-a}\)

prob <- (130 - 120) / (140-120)
prob
## [1] 0.5

¿cuál es la probabilidad de un tiempo de vuelo entre 128 y 136 minutos?

  • ¿cuál es \(P(128 \leq x \leq 136)\)?
  • La \(P(128 \leq x \leq 136) = 0.40\)
Solución aritmética
a <- 128
b <- 136
prob.x <- altura * (b-a)
prob.x
## [1] 0.4
paste("La probabilidad de que el tiempo de vuelo se encuentre entre ", a , " y ", b, " minutos es del:", prob.x * 100, "%")
## [1] "La probabilidad de que el tiempo de vuelo se encuentre entre  128  y  136  minutos es del: 40 %"
x2 <- c(a, b)
y2 <- c(altura, altura)
datos$x2 <- x2
datos$y2 <- y2
datos
##     x    y  x2   y2
## 1 120 0.05 128 0.05
## 2 140 0.05 136 0.05
ggplot(datos) + 
  geom_area(aes(x = x, y = y),
            fill = 'lightblue') +
  geom_area(aes(x = x2, y = y2),
            fill = 'pink') +
  xlim(100, 160) +
  ggtitle(label = "Distribución uniforme continua", subtitle = paste("f(x) = ",f.dens))

Solución por medio de la función de densidad dunif()

Debe dar el mismo resultado

prob.x <- (b - a) * dunif(x = a, min = a.min, max = b.max) 
prob.x
## [1] 0.4
Solución por medio de la función de probabilidad punif()

Se muestran todas las probabilidades acumuladas desde 120 a 140 bajo la distribución uniforme.

distribucion <- data.frame(x=120:140, prob = dunif(x = 120:140, min = a.min, max = b.max), prob.acum = punif(q = 120:140, min = a.min, max = b.max))
distribucion
##      x prob prob.acum
## 1  120 0.05      0.00
## 2  121 0.05      0.05
## 3  122 0.05      0.10
## 4  123 0.05      0.15
## 5  124 0.05      0.20
## 6  125 0.05      0.25
## 7  126 0.05      0.30
## 8  127 0.05      0.35
## 9  128 0.05      0.40
## 10 129 0.05      0.45
## 11 130 0.05      0.50
## 12 131 0.05      0.55
## 13 132 0.05      0.60
## 14 133 0.05      0.65
## 15 134 0.05      0.70
## 16 135 0.05      0.75
## 17 136 0.05      0.80
## 18 137 0.05      0.85
## 19 138 0.05      0.90
## 20 139 0.05      0.95
## 21 140 0.05      1.00

punif() determina la probabilidad acumulada, entonces de la probabilidad acumulada hasta 136 se le resta la probabilidad acumulada hasta 128 y con ello la diferencia es la probabilidad entre 128 y 136.

ggplot(data = distribucion, mapping = aes(x = x, y = prob.acum)) + 
  geom_line()

con punif()

punif(q = b, min = 120, max = 140) - punif(q = a, min = 120, max = 140)
## [1] 0.4

\(prob = \frac{x=136-a}{b-a} - \frac{x=128-a}{b-a}\)

prob <- (136-120)/(140-120) - (128-120)/(140-120)
prob
## [1] 0.4

Valor esperado

\[E(x) = \frac{(120+ 140)}{2}=130\]

VE <- (a.min + b.max) / 2
paste("El valor esperado es de: ", VE)
## [1] "El valor esperado es de:  130"
  • El valor esperado es el tiempo medio en que puede llegar el avión.

Varianza

\[Var(x) = \frac{(140-120)^2}{12}=33.33\]

varianza.x <- (b.max - a.min)^2 / 12
paste("La varianza es: ", round(varianza.x,2))
## [1] "La varianza es:  33.33"

Desviación

\[\alpha = \sqrt{Var(x)} = \sqrt{33.33} = 5.77\]

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"
Interpretación del ejercicio

El ejercicio del avion es una distribución uniforme dado que presenta un intérvalo de 120 a 140 minutos el tiempo que tarda el vuelo de una ciudad a otra, es decir los valores iniciales de \(a\) y \(b\) respectivaente.

La probabilidad de que el vuelo tarde \(130\) minutos es de \(50%\) dado que densidad es de \(0.05\) y el intervalo es de \(10\) o sea \(130 -120\) entonces el área bajo la curva es de \(0.05 * 10 = 0.50\).

La probabilidad de que el vuelo tarde de \(128 \text{ a } 136\) minutos, significa que hay un intervalo de \(8\) minutos y si se multiplica por la altura de \(0.05\) entonces la probabilidad es del \(40%\).

La densidad de una distribución uniforme puede encontrare por medio de la función base de dunif() y la probabilidad acumula o la función de probabilidad se puede encontrar por medio de la función punif().

Otra alternativa para calcular la densidad y probabilidades de una distribución uniforme es mediante la fórmula \(f(x) = \frac {1} {b-a}\) y el cálculo de probabilidades puede hacer mediante la fórmula \(F(x) = \frac{x-a}{b-a}\)

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).[@aqueronte_r_2009]

Se determina lo siguiente:

  • Función de densidad

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

  • ¿Cuál es la probabilidad de que sea inferior a 22 (mil dólares)?

  • ¿Cuál es la probabilidad de que rebase los 24 (mil dólares)?

  • ¿Cuál es el valor esperado?

  • ¿Cuál es la varianza?

  • ¿Cuál es la desviación estándar?

Función de densidad

a.min <- 20
b.max <- 25
f.dens <- 1 / (b.max - a.min)
f.dens
## [1] 0.2

\[ f(x) = \begin{cases} \frac{1}{25-20}=\frac{1}{5} &,\, \text{para }20\leq x \leq 25,\\ 0&,\, \text{en cualquier otro caso } \end{cases} \]

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

  • ¿\(P(22 \leq x \leq 24)\)?

  • La \(P(22 \leq x \leq 24) = 0.40\)

Solución aritmética
a <- 22
b <- 24
p.x <- f.dens * (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 %"
Solución por medio de la función de densidad punif()
p.x <- (b - a) * dunif(x = a, min = a.min, max = b.max) 
p.x
## [1] 0.4
Solución con punif()
prob <- punif(q = 24, min = 20, max = 25) - punif(q = 22, min = 20, max = 25)
prob
## [1] 0.4
Solución con F(x)
a <- 20
b <- 25
prob <- (x=24-a) / (b-a) - (x=22-a) / (b-a)
prob
## [1] 0.4
a.min <- 20
b.max <- 25
altura <- f.dens <- 1 / (b.max - a.min)
x <- c(a.min, b.max)
y <- c(altura, altura)
datos <- data.frame(x = x, y=y, x2 =c(22,24), y2 = y)
datos
##    x   y x2  y2
## 1 20 0.2 22 0.2
## 2 25 0.2 24 0.2
ggplot(datos) + 
  geom_area(aes(x = x, y = y),
            fill = 'lightblue') +
  geom_area(aes(x = x2, y = y2),
            fill = 'pink') +
  xlim(15, 30) +
  ggtitle(label = "Distribución uniforme continua", subtitle = paste("f(x) = ",f.dens))

Cuál es la probabilidad de que sea inferior a 22 (mil dólares)?

Solución aritmética
a <- 20
b <- 22
p.x <- f.dens * (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()
a <- 20
b <- 22
p.x <- (b - a) * dunif(x = a, min = a.min, max = b.max) 
p.x
## [1] 0.4
a.min <- 20
b.max <- 25
altura <- f.dens <- 1 / (b.max - a.min)
x <- c(a.min, b.max)
y <- c(altura, altura)
datos <- data.frame(x = x, y=y, x2 =c(20,22), y2 = y)
datos
##    x   y x2  y2
## 1 20 0.2 20 0.2
## 2 25 0.2 22 0.2
ggplot(datos) + 
  geom_area(aes(x = x, y = y),
            fill = 'lightblue') +
  geom_area(aes(x = x2, y = y2),
            fill = 'pink') +
  xlim(15, 30) +
  ggtitle(label = "Distribución uniforme continua", subtitle = paste("f(x) = ",f.dens))

Probabilidad de que rebase los 24 (mil dólares)

El atributo lower.tail = TRUE en la función punif() significa que es el complemento para llegar a 1. Es decir \(1 - P(x > 24)\).

punif(q = 20:25, min = 20, max = 25)
## [1] 0.0 0.2 0.4 0.6 0.8 1.0
b = 25
a = 24
p.x <- (b - a) * dunif(x = a, min = a.min, max = b.max) 
p.x
## [1] 0.2
prob <- punif(q = 24, min = 20, max = 25, lower.tail = FALSE) 
paste("La probabilidad de que sea mayor a 24 es: ", prob)
## [1] "La probabilidad de que sea mayor a 24 es:  0.2"
a.min <- 20
b.max <- 25
altura <- f.dens <- 1 / (b.max - a.min)
x <- c(a.min, b.max)
y <- c(altura, altura)
prob <- c(punif(q = 24, min = 20, max = 25, lower.tail = TRUE), punif(q = 24, min = 20, max = 25, lower.tail = FALSE))
datos <- data.frame(x = x, y=y, x2 =c(24,25), y2 = y, prob = prob)
datos
##    x   y x2  y2 prob
## 1 20 0.2 24 0.2  0.8
## 2 25 0.2 25 0.2  0.2
ggplot(datos) + 
  geom_area(aes(x = x, y = y),
            fill = 'lightblue') +
  geom_area(aes(x = x2, y = y2),
            fill = 'pink') +
  geom_text(aes(x = x2, y = y, label = prob), position = position_dodge(0.5), colour = "brown") +
  xlim(15, 30) +
  ggtitle(label = "Distribución uniforme continua", subtitle = paste("f(x) = ",f.dens))

Taxis en Durango

En la zona centro de la ciudad de Durango, México el tiempo de espera para tomar un taxi es de 0 a 15 minutos.

  • Valor mínimo es 0

  • Valor máximo es de 15

Función de densidad

f.dens <- dunif(0, min = 0, max = 15)
f.dens
## [1] 0.06666667

¿Cuál es la probabilidad de tomar un taxi en menos de 5 minutos?Solución aritmética

a <- 0
b <- 5
prob <- (b-a) * f.dens 
prob
## [1] 0.3333333
Solución con dunif()
prob <- (b-a) * dunif(0, min = 0, max = 15)
prob
## [1] 0.3333333
Solución con punif()
prob <- punif(q = 5, min = 0, max = 15) - punif(q = 0, min = 0, max = 15)
prob
## [1] 0.3333333
Solución F(x)
x <- 5
a <- 0
b <- 15
prob <- (x-a)/(b-a)
prob
## [1] 0.3333333
Solución gráfica
a.min <- 0
b.max <- 15
altura <- f.dens <- round(1 / (b.max - a.min),4)
x <- c(a.min, b.max)
y <- c(altura, altura)
x2 <- c(0,5)
y2 <- y
prob <- c(round(punif(q = 5, min = 0, max = 15, lower.tail = TRUE), 4), round(punif(q = 5, min = 0, max = 15, lower.tail = FALSE), 4))
datos <- data.frame(x = x, y=y, x2 = x2, y2 = y, prob = prob)
datos
##    x      y x2     y2   prob
## 1  0 0.0667  0 0.0667 0.3333
## 2 15 0.0667  5 0.0667 0.6667
ggplot(datos) + 
  geom_area(aes(x = x, y = y),
            fill = 'lightblue') +
  geom_area(aes(x = x2, y = y2),
            fill = 'pink') +
  geom_text(aes(x = x2, y = y, label = prob), position = position_dodge(0.5), colour = "brown") +
  xlim(0, 30) +
  ggtitle(label = "Distribución uniforme continua", subtitle = paste("f(x) = ",f.dens))

Compañía de luz

Una compañía que brinda servicio eléctrico provee niveles de voltajes uniformemente distribuidos, entre 123.0 V y 125.0 V. Esto significa que en la toma doméstica es posible obtener cualquier valor de voltaje que pertenezca a dicho intervalo.

¿Cual es el valor de la función de densidad?

a <- 123
b <- 125
1 / (b-a)
## [1] 0.5
f.dens <- dunif(123, min = 123, max = 125)
f.dens
## [1] 0.5
a.min <- 123
b.max <- 125
altura <- f.dens <- round(1 / (b.max - a.min),4)
x <- c(a.min, b.max)
y <- c(altura, altura)
#x2 <- c(0,5)
#y2 <- y
# prob <- c(round(punif(q = 5, min = 0, max = 15, lower.tail = TRUE), 4))
datos <- data.frame(x = x, y=y)
datos
##     x   y
## 1 123 0.5
## 2 125 0.5
ggplot(datos) + 
  geom_area(aes(x = x, y = y),
            fill = 'lightblue') +
  xlim(120, 130) +
  ggtitle(label = "Distribución uniforme continua", subtitle = paste("f(x) = ",f.dens))

¿Cuál es la probabilidad de que la compañía envíe un voltaje menor a 123.5 V?

#unif_area(min = 123, max = 125, lb = 123, ub = 123.5,main = paste('f(123 <= x <= 125) = ? y F(x<123.5) = ?' ), acolor = "lightblue")
Solución aritmética calculando el área con dunif()
b <- 123.5
a <- 123
prob <- (b-a) * f.dens
prob
## [1] 0.25
Solución con punif()

Se muestra la tabla de distribución con la probabilidad acumulada con valores de variables aleatorias generados por una secuencia a con valor inicial de \(123\) con saltos de \(0.1\) en \(0.1\) hasta llegar a un valor de \(125\).

variables <- seq(from=123, to=125, by=0.1) 
tabla <- data.frame(variables, prob.acum = punif(q = variables, min = 123, max = 125))
tabla
##    variables prob.acum
## 1      123.0      0.00
## 2      123.1      0.05
## 3      123.2      0.10
## 4      123.3      0.15
## 5      123.4      0.20
## 6      123.5      0.25
## 7      123.6      0.30
## 8      123.7      0.35
## 9      123.8      0.40
## 10     123.9      0.45
## 11     124.0      0.50
## 12     124.1      0.55
## 13     124.2      0.60
## 14     124.3      0.65
## 15     124.4      0.70
## 16     124.5      0.75
## 17     124.6      0.80
## 18     124.7      0.85
## 19     124.8      0.90
## 20     124.9      0.95
## 21     125.0      1.00
prob <- punif(q = 123.5, min = 123, max = 125) - punif(q = 123, min = 123, max = 125)
prob
## [1] 0.25
Solución con \((x-a)/(b-a)\)
prob <- (x=123.5 - 123) / (125 - 123) - (x=123 - 123) / (125 - 123)
prob
## [1] 0.25

¿Cuál es el valor esperado?

VE <- (a.min + b.max) / 2
paste("El valor esperado es de: ", VE)
## [1] "El valor esperado es de:  124"

¿Cuál es la varianza y la desviación estándar de la distribución?

varianza.x <- (b.max - a.min)^2 / 12
paste("La varianza es: ", round(varianza.x,2))
## [1] "La varianza es:  0.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 :  0.58  que significa que ese valor se dispersa conforme al valor medio esperado de  124"

Ir al trabajo de una persona

Demuestre en R el siguiente ejercicio:

El tiempo en minutos que tarda un señor para ir de su casa al trabajo oscila de forma uniforme entre 20 y 30. Si debe llegar al trabajo a las 8 de la mañana,

Demuestre en R ¿a qué hora debe salir de su casa para tener una probabilidad de 0.9 o del 90% de no llegar tarde?

Si X denota el tiempo en ir de casa al trabajo (en minutos), su distribución es U(20,30).

Se busca el valor de a tal que \(P(X ≤ a) = 0.9\).

\[ {X ≤ a} = FX(a) = \frac{a − 20}{30 − 20} = \frac{a − 20}{10} = 0.9 \therefore a = 29 \] Por tanto, debe salir de casa a las 7h 31m.

¿Cual es el valor de la función de densidad?

densidad_uniforme <- function(x) {
  ifelse(x >= 20 & x <= 30, 1/10, 0)
}

Visualizar la probabilidad

densidad_uniforme <- function(x) {
  ifelse(x >= 20 & x <= 30, 1/10, 0)
}


curve(densidad_uniforme, from = 10, to = 40, xlab = "Tiempo de llegada (minutos)", ylab = "Probabilidad", main = "Distribución uniforme de llegada")

¿Cuál es la probabilidad de la persona llegue entre en 26 minutos si sale a las 7:30? Pendiente

Demuestre en R que el tiempo medio que tarda en ir de casa al trabajo es de 25 minutos, y la desviación típica de 2.88 minutos.

densidad_uniforme <- function(x) {
  ifelse(x >= 20 & x <= 30, 1/10, 0)
}


p_llegar_26 <- punif(26, min = 20, max = 30)
p_llegar_26
## [1] 0.6

Valor Esperado

a <- 20
b <- 30


media <- (a + b) / 2
desviacion_estandar <- (b - a) / sqrt(12)


print(paste("Media:", media))
## [1] "Media: 25"

Varianza

varianza.x <- (b.max - a.min)^2 / 12
paste("La varianza es: ", round(varianza.x,2))
## [1] "La varianza es:  0.33"

Desviación Estándar

print(paste("Desviación estándar:", desviacion_estandar))
## [1] "Desviación estándar: 2.88675134594813"

Interpretación de los ejercicios

En esta caso se aplican las distribuciones uniformes, tanto discretas como continuas, para modelar situaciones donde todos los valores posibles tienen la misma probabilidad de ocurrir dentro de un intervalo definido.

Referencias bibliográficas