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.
library(ggplot2)
library(dplyr)
library(knitr)
library(gtools)
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.
include_graphics("../imagenes/taim.jpg")
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 \leq x \leq 130)\)?
La \(P(120 \leq x \leq 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 \times alto \]
entonces
\[ 10 \times (\frac{1}{20}) = 10 \times 0.05 = .50 \]
(Anderson, Sweeney, and Williams 2008).
include_graphics("../imagenes/taimm.jpg")
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
¿Cuál es \(P(128\leq x \leq 136)\) ?
La \(P(128\leq x \leq 136)=0.40\)
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"
Nos plantean la situación de que una variable aleatoria denominada x es el tiempo de un vuelo de Chicago a Nueva York, esta variable va entre los 120 a los 140 minutos. Lo primero a realizar es la función de densidad, representa el área debajo de las curvas realizasas por las gráficas. Se nos hace la siguiente pregunta: ¿cuál es la probabilidad de que el tiempo de vuelo se encuentre entre 120 y 130 minutos? la respuesta fue 0.50 o 50%. Luego se procede a resolver por los métodos aritméticos, notamos que la figura que se forma en la gráfica es un rectángulo por lo que usamos la fórmula para calcular el área de dicha figura, el ancho es representado por los intervalos entre 120 a 130, por lo que corresponde a 10, la altura es el valor de la función de la densidad de probabilidad: 1/20=0.05, tal cual seguimos la fórmula, el producto es 0.50, mismo resultado que el anterior mencionado. También re resolvió con las funciones dunif() y punif() que utilizan mínimos y máximos. De la misma manera resolvimos la probabilidad de que el tiempo de vuelo sea de 128 a 136 minutos. Por último se obtuvieron los valores del valor esperado dando como resultado 130, la varianza que fue de 33.33, y la desviación que nos da 5.77.
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\leq x \leq 24)?\)
La \(P(22\leq x \leq 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)
Solución aritmética
a <- 24
b <- 25
p.x <- f.dens * (b-a)
paste("La probabilidad de que sea superior a ", a , " (mil dólares) es del: ", p.x * 100, "%")
## [1] "La probabilidad de que sea superior a 24 (mil dólares) es del: 20 %"
Solución por medio de la función de densidad dunif()
a <- 24
b <- 25
p.x <- (b - a) * dunif(x = a, min = a.min, max = b.max)
p.x
## [1] 0.2
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
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.03333333
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
VE <- (a + b)/2
paste("El valor esperado es de: ", VE)
## [1] "El valor esperado es de: 123.25"
Varianza:
varianza.x <- (b - a)^2 / 12
paste("La varianza es: ", round(varianza.x,2))
## [1] "La varianza es: 0.02"
Desviación:
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.14 que significa que ese valor se dispersa conforme al valor medio esperado de 123.25"
En el presente caso, caso número 15 abarcamos los temas de probabilidad uniforme que, como definimos al incio… “siempre que una probabilidad sea proporcional a la longitud del intervalo, la variable aleatoria estará distribuida uniformemente”; con ello, la función de probabilidad, valor esperado, varianza y desviación estándar, teniendo una estrecha relación entre todos, conociendo sus respectivas fórmulas para llegar a los resultados esperados, y con el uso del software R, tener precisión en estos. Más que nada, en este caso, vimos muchas maneras de conseguir un mismo resultado con diferentes funciones en R, es como dicen por ahí, todos los caminos conducen a Roma, mientras el resultado sea el correcto, no importa si el procedimiento que se llevó a cabo es más largo que los demás.
A lo largo de la práctica, resolvimos 4 ejercicios, el primero implicaba el tiempo de vuelo de un avión, el segundo era sobre licitaciones en una empresa, el tercero manejaba taxis en la ciudad de Durango haciéndonos la pregunta de alrededor de cuánto tiempo tardaríamos en tomar un taxi, y el último nos habla de una compañía de luz, dándonos valores de entre 123 V y 125 V, con las respectivas fórmulas llegamos a los resultados de resultado esperado, la varianza y la desviación estándar.
Con ayuda de las diferentes librerías de R studio pudimos visualizar los problemas planteados con gráficas, como el área marcada por algunas funciones que suele calcularse con integrales, esto nos da un mejor entendimiento del caso. Aquí aprendimos nuevos términos como la probabilidad uniforme y sus relacionados que algunos reafirmamos puesto que ya antes los habíamos tratado, tal es el caso de la varianza y la desviación estándar. Un caso que deja bastantes nuevos aprendizajes.
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.