Identificar variables aleatorias continuas y calcular la función de densidad y probabilidades con la distribución de probabilidad uniforme.
Realizar ejercicios del uso de variables continuas mediante la distribución de probabilidad uniforme.
Pendiente
library(ggplot2)
library(dplyr)
library(knitr)
options(scipen = 999) # Notación normal
Cargar funciones de las cuales interesa una función para visualizar gráficas de distribuciones uniformes plotunif().
source ("https://raw.githubusercontent.com/rpizarrog/probabilidad-y-estad-stica/master/funciones/misfunciones.r")
Se identifican ejercicios de distribución de probabilidad uniforme.
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, Sweeney, and Williams 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.
Imagen. Probabilidad de vuelo. Distribución uniforme. [@anderson_estadistica_2008]
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, Sweeney, and Williams 2008).
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 es la función de densidad.
a.min <- 120
b.max <- 140
f.dens <- 1 / (b.max -a.min)
\[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 muestra el área bajo la curva usando geom_area() en la función ggplot() en programamión R.
Se utiliza las variables a.min y b.max como coordenadas de x y la altura que es la probabilidad previamente calculada para presentar el área.
altura <- f.dens
x <- c(a.min, b.max)
y <- c(altura, altura)
datos <- data.frame(x, y)
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 \(P(120≤x≤130)\)?
La \(P(120≤x≤130)=0.50\)
Densidad 120-140
plotunif(min = 120, max = 140, lwd = 2, col = 4, main = "Función de densidad")
Densidad 120-130
unif_area(min = 120, max = 140, lb = 120, ub = 130,main = paste('f(x)=',f.dens))
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 intérvalo de 120 a 140 es es 0.05, entonces en un intérvalo 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 intérvalo que por supuesto están dentro del intérvalo 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×alto\] entonces,
\[10×(120)=10×0.05=.50\]
. (Anderson, Sweeney, and Williams 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 %"
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
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
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 %"
altura <- f.dens
x <- c(128, 136)
y <- c(altura, altura)
datos <- data.frame(x, y)
ggplot(data = datos) +
geom_area(mapping = aes(x = x, y = y), fill = "lightblue") +
xlim(100, 160) +
ggtitle(label = "Distribución uniforme continua", subtitle = paste("f(x) = ",f.dens))
Debe dar el mismo resultado
prob.x <- (b - a) * dunif(x = a, min = a.min, max = b.max)
prob.x
## [1] 0.4
Se muestran todas las probabilidades acumuladas desde 120 a 140 bajo la distribución uniforme.
distribucion <- data.frame(x=120:140, prob.acum = punif(q = 120:140, min = 120, max = 140))
distribucion
## x prob.acum
## 1 120 0.00
## 2 121 0.05
## 3 122 0.10
## 4 123 0.15
## 5 124 0.20
## 6 125 0.25
## 7 126 0.30
## 8 127 0.35
## 9 128 0.40
## 10 129 0.45
## 11 130 0.50
## 12 131 0.55
## 13 132 0.60
## 14 133 0.65
## 15 134 0.70
## 16 135 0.75
## 17 136 0.80
## 18 137 0.85
## 19 138 0.90
## 20 139 0.95
## 21 140 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()
de 128 a 136
unif_area(min = 120, max = 140, lb = 128, ub = 136,main = paste('f(x)=',f.dens))
con punif()
punif(q = 136, min = 120, max = 140) - punif(q = 128, 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
\[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"
\[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"
\[\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"
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 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ándard?
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}\]
¿\(P(22≤x≤24)\)?
La \(P(22≤x≤24)=0.40\)
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 %"
p.x <- (b - a) * dunif(x = a, min = a.min, max = b.max)
p.x
## [1] 0.4
prob <- punif(q = 24, min = 20, max = 25) - punif(q = 22, min = 20, max = 25)
prob
## [1] 0.4
a <- 20
b <- 25
prob <- (x=24-a) / (b-a) - (x=22-a) / (b-a)
prob
## [1] 0.4
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 %"
a <- 20
b <- 22
p.x <- (b - a) * dunif(x = a, min = a.min, max = b.max)
Pendiente
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
f.dens <- dunif(0, min = 0, max = 15)
f.dens
## [1] 0.06666667
unif_area(min = 0, max = 15, lb = 0, ub = 5,main = paste('f(x)=',f.dens), acolor = "lightblue")
a <- 0
b <- 5
prob <- (b-a) * f.dens
prob
## [1] 0.3333333
prob <- (b-a) * dunif(0, min = 0, max = 15)
prob
## [1] 0.3333333
prob <- punif(q = 5, min = 0, max = 15) - punif(q = 0, min = 0, max = 15)
prob
## [1] 0.3333333
x <- 5
a <- 0
b <- 15
prob <- (x-a)/(b-a)
prob
## [1] 0.3333333
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.
a <- 123
b <- 125
1 / (b-a)
## [1] 0.5
f.dens <- dunif(123, min = 123, max = 125)
f.dens
## [1] 0.5
unif_area(min = 123, max = 125, lb = 123, ub = 123.5,main = paste('f(123 <= x <= 125) = ? y F(x<123.5) = ?' ), acolor = "lightblue")
b <- 123.5
a <- 123
prob <- (b-a) * f.dens
prob
## [1] 0.25
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
prob <- (x=123.5 - 123) / (125 - 123) - (x=123 - 123) / (125 - 123)
prob
## [1] 0.25
Anderson, David R., Dennis J. Sweeney, and Thomas A. Williams. 2008. Estadística Para Administración y Economía. 10th ed. Australia • Brasil • Corea • España • Estados Unidos • Japón • México • Reino Unido • Singapur: Cengage Learning,. Aqueronte. 2009. “R: Distribución Uniforme. R: Distribución Uniforme.” 2009. http://unbarquero.blogspot.com/2009/05/r-distribucion-uniforme.html. lifeder. n.d. “Distribución Uniforme Continua: Características, Ejemplos, Aplicaciones.” https://www.lifeder.com/distribucion-uniforme-continua/. R CODER. n.d. “Distribución Uniforme Continua En r.” https://r-coder.com/distribucion-uniforme-r/#:~:text=Distribuci%C3%B3n%20uniforme%20continua%20en%20R&text=La%20distribuci%C3%B3n%20uniforme%20es%20una,distribuci%C3%B3n%20acumulan%20la%20misma%20probabilidad.