scipy stats.f () | python



scipy.stats.f () — it is a continuous random variable F that is defined with a standard format and some shape parameters to complete its specification.

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

Results: F continuous random variable

Code # 1: Create F continuous random variable values ​​

from scipy.stats import

 

numargs = f.numargs

[a, b] = [ 0.6 ,] * numargs

rv = f (a, b)

 

print ( "RV:" , rv) 

Output:

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

Code # 2: exponential F of random variables and probability distribution.

import numpy as np

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

 
# Random Variants

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

print ( "Random Variates:" , R)

 
# PDF

R = f.pdf (a, b, quantile, loc = 0 , scale = 1 )

print ( " Probability Distribution: " , R)

Output:

 Random Variates: [2.77609532e + 00 2.55454726e- 04 7.77303742e + 01 2.61642158e + 02 3.39772973e-01 8.63437666e + 02 3.24316832e + 02 5.88915362e + 06 1.27105242e + 03 7.30691909e-01] Probability Distribution: [0.00800042 0.06746857 0.10587056 0.13291306 0 .15295841 0.16837285 0.18056559 0.19043041 0.19856155 0.2053691] 

Code # 3: Graphic representation.

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 = f .pdf (x, 2 , 6 )

y2 = f .pdf (x , 1 , 4 )

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

Output: