Últimas entradas de Victor A.Rico (ver todo)
- Medidas Estadísticas de Dispersión Relativa - junio 11, 2024
- Modelos SARIMA(Arima Estacionales).¿Qué son y cómo usarlos para Predecir? - enero 4, 2024
- ¿Qué es el RUIDO BLANCO ? Econometría en R - junio 21, 2023
En probabilidad la Distribución Gamma se utiliza comúnmente en estudios de supervivencia de fiabilidad o para modelar las probabilidades relacionadas con los tiempos de espera. Por ejemplo, la distribución gamma puede describir el tiempo que transcurre para que falle un componente eléctrico.
Hay que tener en cuenta que será usada para modelar valores de datos que sean ASIMÉTRICOS hacia la derecha y mayores que 0. Estará formada por 2 parámetros que son la Forma y la Escala. Aquí te explico un poco sobre esta distribución y muestro las funciones que puedes usar en R para trabajar con ella.
Más abajo tienes el código R del tutorial
CODIGO R DEL TUTORIAL
#DISTRIBUCION GAMMA
#Usaremos las siguientes funciones para trabajar con la distribucion gamma en R
#shape = forma rate = lamda o beta inversa scale = 1/rate
#shape = alfa #scale = Beta # lambda o b-1 = 1/beta
dgamma(x, shape, rate,scale) # función de densidad con una determinada escala y forma
pgamma(q, shape, rate,scale) #función de distribucion acumulada
qgamma(p, shape, rate,scale) #funcion inversa o cuantil
rgamma(n, shape, rate,scale) #numero aleatorios en base a gamma
#####################################3
?dgamma
# How to Use rgamma()
# Semilla para que salgan los mismo valores
set.seed(0)
#Generamos una muestra de 1000 números aleatorios en base a distribución GAMMA
x <- rgamma(n=1000, shape=5, scale=1/3)
#CREAMOS UN HISTOGRAMA
hist(x)
set.seed(0)
x <- rgamma(n=1000, shape=5, rate=3)
hist(x)
# GRÁFICO DISTRIBUCION GAMMA EN R
x = 0:10
curve(dgamma(x, 2, scale=1), xlab = "x", ylab = "f(x;a,ß)", 0, 10, col = 3, lwd = 3,
main = "Gráfico distribución Gamma")
curve(dgamma(x, 1, scale=0.5), xlab = "x", ylab = "f(x;a,ß)", 0, 10, col = 5, lwd = 3,
add = TRUE)
curve(dgamma(x, 11, scale=0.25), xlab = "x", ylab = "f(x;a,ß)", 0, 10, col = 7, lwd = 3,
add = TRUE)
legend("topright", c("a=2,ß=1", "a=1,ß=0.5", "a=11,ß=0.25"), col = c(3, 5, 7), lwd = 3,
inset = 0.05)
#
curve(dgamma(x, 2, 1), xlab = "x", ylab = "f(x;a,ß)", 0, 10, col = 4, lwd = 3,
main = "Distribución Gamma (a=2,ß=1)")
curve(pgamma(x, 2, 1), xlab = "x", ylab = "f(x;a,ß)", 0, 10, col = 4, lwd = 3,
main = " Función de Distribución Acumulada Gamma (a=2,ß=1)")
####
#Ejemplo: Suponga que el tiempo, en
#horas, que toma reparar una bomba es una variable aleatoria x que
#tiene una distribución gamma con parámetros a = 2 y
#b= 1/2. ¿Cuál es la probabilidad de que en el
#siguiente servicio:
#a) tome cuando mucho 1 hora reparar la bomba?
# P(X<=1)
#el propio ejercicio nos da a = 2 y b(escala)= 1/2
pgamma(1, shape=2, scale=1/2)
pgamma(1, shape=2, rate=2)
#b) Al menos se requieren 2 horas para reparar la bomba?
# P (X>=2) ó
# 1 - P(X<=2)
pgamma(2, shape=2, scale=1/2) # P(X<=2)
1- 0.9084218
1-pgamma(2, shape=2, scale=1/2)
#c) que tarde entre 2 y 1
P(1 < X < 2)
pgamma(2, shape=2, scale=1/2) - pgamma(1, shape=2, scale=1/2)
# Funcion inversa.. Si nos dan la probabilidad en vez de q
#^¿cuanto tiempo como mucho tardará en reparar la bomba para una probabilidad
#acumulada de 0.5940
#p=0.5939942
qgamma(0.5939942, shape=2, scale=1/2)
#Si la probabilidad es de 0.09157 cuantas horas al menos se requieren?
1 - 0.09157
qgamma(0.90843, shape=2, scale=1/2)
#EJEMPLO 2
#En una ciudad el consumo de energía diario en millones de kilovatios hora
#puede considerarse como una variable con distribucion gamma
#de parametros a=3 b-1= 0.5
#¿Qué probabilidad hay de que se consuma entre 3 y 8 mill de Kw/hora
#P(3< X < 8)
#aquí para sacar la escala tenemos que hacer 1/0.5
pgamma(8, shape=3, scale =2)-pgamma(3, shape=3, scale=2)
#b) si la planta cap 10 m /h .. ¿prob de que en un día sea insuficiente?
P(X>10)
1-pgamma(10, shape=3, scale=2)
1- pgamma(10, shape=3, rate=1/2)
####################################################################