Distribución GAMMA en Rstudio

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) 
    
    
    
  #################################################################### 

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Scroll al inicio