对于带有签名的 Excel BETA.DIST 函数
BETA.DIST(x,alpha,beta,cumulative,[A],[B])
与cumulative = FALSE,使用函数scipy.stats.beta.pdf如下:
from scipy import stats
p = stats.beta.pdf(x, alpha, beta, loc=A, scale=B-A)
换句话说,将loc设置为支持区间[A,B]的下限,并将scale设置为区间的长度。
例如,documentation for BETA.DIST 包含示例
=BETA.DIST(A2,A3,A4,FALSE,A5,A6)
其中A2=2、A3=8、A4=10、A5=1 和 A6=3。该函数的值被报告为1.4837646。使用scipy对应的表达式为:
In [59]: from scipy import stats
In [60]: x = 2
In [61]: alpha = 8
In [62]: beta = 10
In [63]: a = 1
In [64]: b = 3
In [65]: stats.beta.pdf(x, alpha, beta, loc=a, scale=b-a)
Out[65]: 1.4837646484375009
对于cumulative=TRUE 的情况,使用函数scipy.stats.beta.cdf。上面给出的相同示例报告 PDF 的值为0.6854706。这是使用 scipy 的计算:
In [66]: stats.beta.cdf(x, alpha, beta, loc=a, scale=b-a)
Out[66]: 0.6854705810546875