Está en la página 1de 8

DISTRIBUCIONES DE PROBABILIDAD EN R

El paquete stats de R (que se instala por defecto al instalar R, y se carga en memoria


siempre que iniciamos sesión) implementa numerosas funciones para la realización de cálculos
asociados a distintas distribuciones de probabilidad.

Entre las utilizadas más comúnmente cabe citar:

Distribuciones Discretas Distribuciones Continuas


Distribución Nombre en R Distribución Nombre en R
Binomial binom Uniforme unif
Poisson pois Normal norm
Geométrica geom t Student t
Hipergeométrica hyper F Fisher F
Binomial Negativa nbinom Chi-Cuadrado chisq
Exponencial exp
Gamma gamma
Weibull weibull
W de Wilcoxon wilcox

Para cada distribución, R dispone de cuatro funciones. Se puede acceder a cada una de
ellas simplemente precediendo el nombre de la distribución que figura en la tabla anterior por
la letra que se indica a continuación:

d: función de densidad o de probabilidad.

p: función de distribución

q: función para el cálculo de cuantiles.

r: función para simular datos con dicha distribución.

Así, por ejemplo, para la distribución normal, la función de densidad se obtiene


como: dnorm (), la función de distribución como: pnorm (), los cuantiles se calculan
mediante: qnorm () y se pueden generar valores aleatorios con la distribución normal
mediante: rnorm ().

Puede consultarse la ayuda, help(dnorm) para conocer la sintaxis específica de estas


funciones.
DISTRIBUCIÓN BINOMIAL
DISTRIBUCIÓN BINOMIAL
Si X sigue una distribución binomial B(n , p) :
P( X = k) = dbinom(k , n, p)
P( X  k) = pbinom(k , n, p)

Código en R

# Si x~Bi (10, 0.6), P(x=8) #


> dbinom (8,10,0.6)
[1] 0.1209324

# P(x<=8) #
> pbinom (8,10, 0.6)
[1] 0.9536426

Representación de la función de probabilidad de la distribución binomial (opcional):


Código en R

> plot (dbinom (0:10,10,0.6), type ="h", xlab="k", ylab="P (X=k


" main ="Función de Probabilidad B (10,0.6)")

Función de Probabilidad B(10,0.6)


0.25
0.20
0.15
P(X=k)

0.10
0.05
0.00

2 4 6 8 10

Representación de la Función de Distribución de la binomial (opcional):


Código en R:
Plot (stepfun (0:10, pbinom (0:11,10,0.6)), xlab ="k", ylab="F(k)", ma
in="Función de distribución B (10,0.6)")
Función de distribución B(10,0.6)

1.0
0.8
0.6
F(k)

0.4
0.2
0.0
0 2 4 6 8 10

DISTRIBUCIÓN NORMAL

DISTRIBUCIÓN NORMAL
Si X sigue una distribución normal N ( , ):
f (x = k) = dnorm(k ,  , )
P( X  k) = pnorm(k ,  , )

Supóngase que X≈N (170,12):

Se desea calcular: f (178)


Código en R:
dnorm (171,170,12)
## [1] 0.03312996

La representación gráfica de la función de densidad se obtiene:


Código en R
curve (dnorm (x,170,12, xlim =c (130,210), col="blue", lwd=2,
xlab="x", ylab="f(x)", main="Función de Densidad N (170,12)")

Representación de la función de distribución:


Código en R:
curve(pnorm(x,170,12), xlim =c (130,210), col="blue",lwd =2,
xlab="x", ylab="F(x)", main="Función de Distribución N (170,12))

Calculo de la probabilidad P(X≤180)


Código en R:
pnorm (180,170,12)
## [1] 0.7976716

P(X>168)
Código en R:
1-pnorm (168,170,12)
## [1] 0.5661838

P(150≤X≤168)
Código en R:
pnorm (168,170,12)-pnorm (150,170,12)
## [1] 0.3860258

DISTRIBUCIÓN EXPONENCIAL

Características de la distribución exponencial

Se dice que una variable aleatoria continua X sigue una distribución exponencial, con
parámetro λ > 0 y se representa: X ~ Exp (λ) si su función de densidad es f ( x ) =   e−x , x≥0,

λ>0. Para realizar en R, un gráfico de la distribución exponencial con media = 1:

Código en R:
library (ggplot2)
data <- data. frame (value = c (t (rexp (1000, rate = 1))))
ggplot (data, aes(x=value)) +
geom_histogram(aes(y=..density..),binwidth=.25, col="black", fill="lig
htblue")+labs (title= "Distribución exponencial con media 1") + xlab("
x") + ylab("y")

Probabilidad acumulada hasta un valor x:


Con la función pexp ().
Código en R:
pexp (q = x, rate = lambda)
## [1] 0.3934693

Por defecto, la probabilidad acumulada es la cola a la izquierda, si se desea calcular


una probabilidad mayor que x, ello representa la cola a la derecha, por lo que debe restarse
dicha probabilidad de 1.

También puede utilizarse el argumento lower. tail= FALSE en la función pexp () para
indicarle a R que se trata de la cola a la derecha o bien, que la probabilidad es mayor o igual al
valor de x especificado.

¿cuál es la probabilidad a la izquierda de x= 0.5?

f (x≤0.5)
Código en R:
prob = round (pexp (q = 0.5, rate = lambda), 6)
paste ("La probabilidad área bajo la curva es ...", prob, "aproximadam
ente", prob * 100, "%")
DISTRIBUCIÓN DE POISSON

En la distribución de Poisson, interesa calcular la probabilidad de obtener un cierto


número de “éxitos” en un intervalo de espacio o tiempo y viene representado por la variable
aleatoria X.
Por ejemplo, si analizamos un fenómeno de Poisson, con un promedio lambda de 15.2
“éxitos” por día, los resultados posibles de la variable X son 0, 1, 2, 3, 4, 5, … hasta el infinito.

La función dpois calcula la probabilidad puntual para cada valor de X, es decir, P (X


= x).

Código en R:
x <- c (0, 1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 12, 13)
dpois (x, lambda = 15.2)
## [1] 2.504516e-07 3.806865e-06 2.893217e-05 1.465897e-04 5.570408e-0
4
## [6] 1.693404e-03 4.289957e-03 9.315334e-03 2.989187e-02 4.543565e-0
2
## [11] 6.278380e-02 7.952615e-02 9.298442e-02

Separadamente:

#P (X = 0)
dpois (0, lambda = 15.2)
## [1] 2.504516e-07
#P (X = 1)
dpois (1, lambda = 15.2)
## [1] 3.806865e-06
#P (X = 2)
dpois (2, lambda = 15.2)
## [1] 2.893217e-05

La función ppois calcula la probabilidad acumulada para cada valor de X, es decir, P (X


<= x).

Código en R:
#P (X = 1)
ppois (1, lambda = 15.2)
## [1] 4.057317e-06
#P (X = 2)
ppois (2, lambda = 15.2)
## [1] 3.298949e-05
#P (X = 7)
Ppois (7, lambda = 15.2)
## [1] 0.01603532
Ejemplo práctico

En una farmacia, se sabe que llegan en promedio 20 clientes por hora.

Asumiendo que el nº de clientes que llegan en 1 h sigue la distribución de Poisson


el nº medio de clientes por hora define el parámetro: lambda = 20
¿Qué probabilidad existe, de que en la siguiente hora lleguen exactamente 12 clientes
a la farmacia?

Para responder a la pregunta, debe calcularse la probabilidad de que X sea igual a


12 con la función dpois.
P (X = 12)
Código en R:
# P (X = 12)
dpois (12, lambda = 20)
## [1] 0.01762517

¿Qué probabilidad hay de que en la siguiente hora lleguen como máximo 12 clientes a
la farmacia?

Para responder a la pregunta, debe calcularse la probabilidad de que X sea 0 clientes o


1 cliente o 2 clientes, así hasta 12 clientes, para ello se suman las probabilidades puntuales de
cada caso con la función dpois o se calcula la probabilidad acumulada hasta 12 con la
función ppois.

P (X <= 12)
Código en R:
Calculando directamente la probabilidad acumulada --> P (X <= 12)
ppois (12, lambda = 20)
## [1] 0.03901199

¿Qué probabilidad hay de que en la siguiente hora lleguen al menos 12 clientes a la


farmacia?

Para responder a la pregunta, se calcula la probabilidad de un suceso y su


complementario, por tanto, debe restarse a 1 la probabilidad del suceso complementario
que sería la llegada de menos de 12 clientes.
P (X >= 12)
Equivalente a 1 – P (X < 12)
Código en R:
1 – ppois (11, lambda = 20)
## [1] 0.9786132

¿Qué probabilidad hay de que en la siguiente hora lleguen más de 12 clientes a la


farmacia?

Para responder a la pregunta, se calcula la probabilidad de un suceso y su


complementario, por lo tanto, debe restarse a 1 la probabilidad del suceso
complementario que sería la llegada de máximo 12 clientes.

P (X > 12)
Equivalente a 1 – P (X <= 12)
Código en R:
1 – ppois (12, lambda = 20)
## [1] 0.960988

DISTRIBUCIÓN DE PROBABILIDAD UNIFORME

Siempre que la probabilidad sea proporcional a la longitud del intervalo, la variable


aleatoria estará distribuida uniformemente

Deben cargarse funciones de las cuales, interesa una función para visualizar gráficas de
distribuciones uniformes: plotunif ().

Ejemplo: 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 comprendido entre 120 minutos a 140 minutos.
Dado que la variable aleatoria X toma cualquier valor en dicho intervalo, X es una
variable aleatoria continua y no una variable aleatoria discreta y sigue una distribución
uniforme.

¿Cuál es la probabilidad de que el tiempo de vuelo se encuentre


entre 120 y 130 minutos?

¿cuál es P (120 ≤ X ≤ 130)?


Código en R:
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 1
20 y 130 minutos es del: 50 %"

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


Código en R:
prob.x <- (b - a) * dunif (x = a, min = a.min, max = b.max)
prob.x
## [1] 0.5

¿cuál es la probabilidad de que el tiempo de vuelo esté entre 128 y 136 minutos?
Código en R:
a <- 128
b <- 136
prob.x <- altura * (b-a)
prob.x
## [1] 0.4
## [1] "La probabilidad de que el tiempo de vuelo se encuentre entre
128 y 136 minutos es del: 40 %"

También podría gustarte