gpt4 book ai didi

python - 从 Python scipy.stats ppf 函数获取多个值

转载 作者:行者123 更新时间:2023-12-01 03:08:00 34 4
gpt4 key购买 nike

对于我的数据集,我能够使用 scipy.stats 函数拟合最佳分布。例如,最佳分布是:

In[94]: best_dist
Out[94]: <scipy.stats._continuous_distns.chi_gen at 0x119649cd0>

In[95]: best_fit_params
Out[95]:
(0.40982879700171049,
0.10387428783818109,
-4.5566762564110859e-19,
0.89837054605455657)

现在我尝试使用 ppf 函数获取与 CDF 曲线 95% 面积相对应的值。这给出:

In[96]: best_dist.ppf(0.95,best_fit_params)
Out[96]: array([ 1.44854045, 0.74815691, nan, 1.89330302])

我无法理解为什么当我只期望一个值时却返回长度为 4 的数组?如果我的答案是其中之一,那么那是哪一个?

最佳答案

正确的用法是解压您的best_fit_param:

In [1]: param = (0.40982879700171049,
...: 0.10387428783818109,
...: -4.5566762564110859e-19,
...: 0.89837054605455657)

In [2]: from scipy.stats import beta

In [3]: beta.ppf(0.95, *param) # notice the asterisk
Out[3]: 0.89837054605311872

说明:beta.shapes"a, b",因此 beta.ppf 的签名实际上是 ppf( self、q、a、b、loc=0、scale=1)。您的 best_fit_param 是一个由四个值组成的元组,分别表示 a、b、loc 和 scale。

但是我不确定你的In[96]。我认为,在任何最近的 scipy 安装中,使用两个参数调用 ppf 都会出错(因为它至少需要三个:一个用于 q ,另外两个用于 ab)。

关于python - 从 Python scipy.stats ppf 函数获取多个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43148697/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com