正如标题所示,我试图找到一个函数,它可以接受一个浮点数数组,并找到一个适合我的数据的分布。
从这里,我将使用它来查找我传递给它的新数据的CDF。
我已经安装并查看了scibruby发行版和NArray文档,但似乎没有任何内容与“fit”方法匹配
python代码如下所示
# Approach 2: Model-based percentiles.
# Step 1: Find a Gamma distribution that fits your data
alpha, _, beta = stats.gamma.fit(data, floc = 0.)
# Step 2: Use that distribution's CDF to get percentiles.
scores = 100-100*stats.gamma.cdf(new_data, a = alpha, scale=beta)
print(scores)
先谢谢你了
1条答案
按热度按时间oewdyzsn1#
经过深入研究其他软件包和大量的帮助,有人从'交叉验证'论坛,我有需要的答案。
为了获得所需的“alpha”和“beta”值,以给予伽玛分布的形状和比率,您需要发现数据中的“方差”值。
有几种方法可以实现这一点。
代码示例;
“minus_one”这一行并不是完全必要的,但它在统计学中是为了减少错误率而使用的,可以查一下Bessels的修正,你可以从net_square /data. size中得到方差。
使用'descriptive_statistics' gem的第二个选项
一旦有了这些值,就可以使用Distribution Gem,docs here中的cdf函数
下一个阶段是将值传递给此函数,该函数将返回一个百分点。
请确保使用“1/beta”计算,否则它将不起作用
你可能注意到了我还计算了θ
这是一个单独的函数,也就是说,我也可以通过传入百分位数来返回伽玛分布的值。
这个函数也被称为'反cdf','反累积分布函数','概率点函数'或'百分点点函数',这里简称为'分位数'
有关伽玛分布的更多信息,请参阅wiki
Gamma Distribution