scipy stats.beta() | Python
scipy.stats.beta()是一个 beta 连续随机变量,使用标准格式和一些形状参数定义以完成其规范。
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 : beta continuous random variable
代码 #1:创建 beta 连续随机变量
# importing scipy
from scipy.stats import beta
numargs = beta.numargs
[a, b] = [0.6, ] * numargs
rv = beta(a, b)
print ("RV : \n", rv)
输出 :
RV :
代码#2:beta 随机变量和概率分布函数。
import numpy as np
quantile = np.arange (0.01, 1, 0.1)
# Random Variates
R = beta.rvs(a, b, scale = 2, size = 10)
print ("Random Variates : \n", R)
# PDF
R = beta.pdf(quantile, a, b, loc = 0, scale = 1)
print ("\nProbability Distribution : \n", R)
输出 :
Random Variates :
[1.47189604 1.47284574 1.84692416 1.0686604 0.32709236 1.96857076
0.00639731 1.97093898 1.34811881 0.34269426]
Probability Distribution :
[2.62281037 1.04883674 0.84934164 0.76724957 0.73040985 0.72096547
0.73529768 0.77903762 0.8752367 1.1264383 ]
代码#3:图形表示。
import numpy as np
import matplotlib.pyplot as plt
distribution = np.linspace(0, np.maximum(rv.dist.b, 5))
plot = plt.plot(distribution, rv.pdf(distribution))
输出 :
代码#4:改变位置参数
from scipy.stats import arcsine
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0, 1.0, 100)
# Varying positional arguments
y1 = beta.pdf(x, 2.75, 2.75)
y2 = beta.pdf(x, 3.25, 3.25)
plt.plot(x, y1, "*", x, y2, "r--")
输出 :