Python: distribución exponencial truncada en estadísticas

scipy.stats.truncexpon() es una variable aleatoria continua exponencial truncada. Se hereda de los métodos genéricos como una instancia de la clase rv_continuous . Completa los métodos con detalles específicos para esta distribución en particular.

Parámetros:

q : probabilidad de cola inferior y superior
x : cuantiles
loc : parámetro de ubicación [opcional]. Predeterminado = 0
escala: [opcional] parámetro de escala. Predeterminado = 1
tamaño: [tupla de enteros, opcional] forma o variantes aleatorias.
momentos: [opcional] compuesto por letras [‘mvsk’]; ‘m’ = media, ‘v’ = varianza, ‘s’ = sesgo de Fisher y ‘k’ = curtosis de Fisher. (predeterminado = ‘MV’).

Resultados: variable aleatoria continua exponencial truncada

Código #1: Crear variable aleatoria continua exponencial truncada

# importing library
  
from scipy.stats import truncexpon 
    
numargs = truncexpon .numargs 
a, b = 0.2, 0.8
rv = truncexpon (a, b) 
    
print ("RV : \n", rv)  

Producción :

RV : 
 scipy.stats._distn_infrastructure.rv_frozen object at 0x000002A9D843A9C8

Código n.º 2: variable continua exponencial truncada y distribución de probabilidad

import numpy as np 
quantile = np.arange (0.01, 1, 0.1) 
  
# Random Variates 
R = truncexpon .rvs(a, b, size = 10) 
print ("Random Variates : \n", R) 
  
# PDF 
x = np.linspace(truncexpon.ppf(0.01, a, b),
                truncexpon.ppf(0.99, a, b), 10)
R = truncexpon.pdf(x, 1, 3)
print ("\nProbability Distribution : \n", R) 

Producción :

Random Variates : 
 [0.99383084 0.95156024 0.93450076 0.84059197 0.8335949  0.87300784
 0.96239468 0.80531685 0.85103497 0.9930136 ]

Probability Distribution : 
 [0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]

Código #3: Representación gráfica.

import numpy as np 
import matplotlib.pyplot as plt 
     
distribution = np.linspace(0, np.minimum(rv.dist.b, 3)) 
print("Distribution : \n", distribution) 
     
plot = plt.plot(distribution, rv.pdf(distribution)) 

Producción :

Distribution : 
 [0.         0.04081633 0.08163265 0.12244898 0.16326531 0.20408163
 0.24489796 0.28571429 0.32653061 0.36734694 0.40816327 0.44897959
 0.48979592 0.53061224 0.57142857 0.6122449  0.65306122 0.69387755
 0.73469388 0.7755102  0.81632653 0.85714286 0.89795918 0.93877551
 0.97959184 1.02040816 1.06122449 1.10204082 1.14285714 1.18367347
 1.2244898  1.26530612 1.30612245 1.34693878 1.3877551  1.42857143
 1.46938776 1.51020408 1.55102041 1.59183673 1.63265306 1.67346939
 1.71428571 1.75510204 1.79591837 1.83673469 1.87755102 1.91836735
 1.95918367 2.        ]
  

Código #4: Argumentos Posicionales Variantes

import matplotlib.pyplot as plt 
import numpy as np 
  
x = np.linspace(0, 5, 100) 
     
# Varying positional arguments 
y1 = truncexpon.pdf(x, a, b) 
y2 = truncexpon.pdf(x, a, b) 
plt.plot(x, y1, "*", x, y2, "r--") 

Producción :

Publicación traducida automáticamente

Artículo escrito por mathemagic y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

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