Excel 中 Beta 发行版的 Python 等价物是什么?在 Excel 中,公式为:
=BETA.DIST(A2,A3,A4,FALSE,A5,A6).
这给出了给定参数的 Beta 概率密度函数,我们得到了一些十进制值的结果。
但是Python SciPy 参考并没有以与 Excel 类似的形式给出函数参数及其定义。
我不知道如何在 SciPy 中执行此操作并正确传递参数。
Excel 中 Beta 发行版的 Python 等价物是什么?在 Excel 中,公式为:
=BETA.DIST(A2,A3,A4,FALSE,A5,A6).
这给出了给定参数的 Beta 概率密度函数,我们得到了一些十进制值的结果。
但是Python SciPy 参考并没有以与 Excel 类似的形式给出函数参数及其定义。
我不知道如何在 SciPy 中执行此操作并正确传递参数。
正如您在此处看到的,scipy 中 beta 分布的概率密度函数具有与 excel( excel 文档)完全相同的三个参数。
ALPHA
等价于a
并表示分布的一个参数。
BETA
等价于b
并表示分布的一个参数。
X
等价于x
应该评估分布的值。
天气与否Cumulativ
excel中的参数为True通过在scipy中调用不同的函数来表示。如果您想要累积分布 ( Cumulativ = True
),您只需调用myBeta.cdf(<myParams>)
,如果您想要概率密度函数 ( Cumulativ = False
),您可以调用myBeta.pdf(<myParams>)
。这意味着:
BETA.DIST(X,Alpha,Beta,TRUE) <=>
scipy.stats.beta.cdf(x,a,b)
和
BETA.DIST(X,Alpha,Beta,FALSE) <=>
scipy.stats.beta.pdf(x,a,b)
对于BETA.DIST
带签名的 Excel 函数
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
区间的长度。
例如,文档BETA.DIST
包括示例
=BETA.DIST(A2,A3,A4,FALSE,A5,A6)
其中A2=2
, A3=8
,和. A4=10
_ 该函数的值被报告为。使用 scipy 对应的表达式为:A5=1
A6=3
1.4837646
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