scipy stats.genexpon () | python

scipy.stats.genexpon () is a generalized exponential continuous random variable that is defined by a standard format and some form parameters to complete its specification.

Parameters:
– & gt; q: lower and upper tail probability
– & gt; x: quantiles
– & gt; loc: [optional] location parameter. Default = 0
– & gt; scale: [optional] scale parameter. Default = 1
– & gt; size: [tuple of ints, optional] shape or random variates.
– & gt; a, b, c: shape parameters
– & gt; moments: [optional] composed of letters [`mvsk`]; `m` = mean, `v` = variance, `s` = Fisher`s skew and `k` = Fisher`s kurtosis. (default = `mv`).

Results: generalized exponential continuous random variable

Code # 1: Generate generalized exponential continuous random variable

from scipy.stats import genexpon 

  

numargs = genexpon .numargs

[a, b, c] = [ 0.7 ,] * numargs

rv = genexpon (a, b, c)

  

print ( " RV: " , rv) 

Output:

 RV: & lt; scipy.stats._distn_infrastructure.rv_frozen object at 0x0000018D57997F60 & gt; 

Code # 2: generalized exponential random variables.

import numpy as np

quantile = np.arange ( 0.01 , 1 , 0.1 )

  
# Random Variants

R = genexpon.rvs (a, scale = 2 , size = 10 )

print   ( "Random Variates:" , R)

Output:

 Random Variates: [0.74505484 2.02790441 2.06823675 3.96275674 1.24274054 3.71331036 0.53957521 0.37359838 2.53934153 2.36254065] Probability Distribution: [0.43109163 0.45222638 0.47102054 0.48773188 0.50258763 0.51578837 0.52751153 0.5135300. 

import numpy as np

import matplotlib.pyplot as plt

 

distribution = np.linspace ( 0 , np.minimum (rv.dist.b, 3 ))

print ( "Distribution:" , distribution)

 

plot = plt.plot (distribution, rv.pdf (distribution))

Output:

 Distribution: [0. 0.06122449 0.12244898 0.18367347 0.24489796 0.30612245 0.36734694 0.42857143 0.48979592 0.55102041 0.6122449 0.67346939 0.73469388 0.79591837 0.85714286 0.91836735 0.97959184 1.04081633 1.10204082 1.16326531 1.2244898 1.28571429 1.34693878 1.40816327 1.46938776 1.53061224 1.59183673 1.65306122 1.71428571 1.7755102 1.83673469 1.89795918 1.95918367 2.02040816 2.08163265 2.14285714 2.20408163 2.26530612 2.32653061 2.3877551 2.44897959 2.51020408 2.57142857 2.63265306 2.69387755 2.75510204 2.81632653 2.87755102 2.93877551 3. ] 

Code # 4: Various Positional Arguments

import matplotlib. pyplot as plt

import numpy as np

 

x = np.linspace ( 0 , 5 , 100 )

 
# Various positional arguments

y1 = genexpon.pdf (x, a, 1 , 3 )

y2 = genexpon.pdf ( x, a, 1 , 4 )

plt.plot (x, y1, " * " , x, y2, " r-- " )

Output: