首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >来自scipy.stats的Ruby版本的scipy.stats

来自scipy.stats的Ruby版本的scipy.stats
EN

Stack Overflow用户
提问于 2022-07-29 11:36:13
回答 1查看 34关注 0票数 1

正如标题所示,我试图找到一个函数,它可以接受一个浮动数组,并找到一个适合我的数据的发行版。

从这里开始,我将使用它来查找我正在传递的新数据的CDF。

我已经安装并查看了sciruby分发版和NArray文档,但是没有任何东西可以与“fit”方法相匹配。

python代码如下所示

代码语言:javascript
复制
# 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)

提前谢谢你

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-08-01 15:53:49

在深入研究了其他软件包和来自“交叉验证”论坛的人的大量帮助后,我有了所需的答案。

为了获得所需的'alpha‘和’β‘值,它将给出伽马分布的形状和速率,你需要发现数据中的’方差‘值是什么。

要实现这一点,有几种方法。有关更多信息,请参见这里;

代码示例;

代码语言:javascript
复制
data = [<insert your numbers>]
sum = data.sum
sum_square_mean = (sum**2) / data.size
all_square = data.map { |n| n**2 }.sum
net_square = all_square - sum_square_mean
minus_one = data.size - 1
variance = net_square / minus_one
mean = data.sum(0.0) / data.size
mean_squared = mean**2
alpha = mean_squared / variance
beta = mean / variance
theta = variance / mean

行'minus_one‘并不是完全必要的,但它是在统计中完成的,以降低错误率。查一下贝塞尔的修正。您只需从net_square / data.size获得差异即可。

第二个选项使用“统计”gem

代码语言:javascript
复制
require('descriptive_statistics')
# doesn't account for bessel's correction

@alpha = (data.mean**2) / data.variance
@beta = data.mean / data.variance
@theta = data.variance / data.mean

有了这些值之后,就可以使用分布宝石,docs 这里中的cdf函数了。

下一个阶段是将值传递给这个函数,该函数将返回一个百分位数。

确保使用'1 over beta‘计算,否则它将无法工作。

代码语言:javascript
复制
percentile = 100 - (100 * Distribution::Gamma::Ruby_.cdf(x, alpha, 1 / beta))

你可能注意到我也算过@theta

这是一个单独的函数,这意味着我也可以通过传递百分位数从伽马分布中返回值。用得像这样

代码语言:javascript
复制
value = Distribution::Gamma.quantile(0.5, alpha, theta)

这个函数也被称为“逆cdf”、“逆累积分布函数”、“概率点函数”或“百分位函数”。这里简单地命名为“分位数”。

有关伽马分布的更多信息,请参见wiki。

伽马分布

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73166080

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档