【发布时间】:2015-10-30 18:59:04
【问题描述】:
如何使用 ruby 将 z-score 转换为概率?
例子:
z_score = 0
probability should be 0.5
z_score = 1.76
probability should be 0.039204
【问题讨论】:
标签: ruby math probability standard-deviation
如何使用 ruby 将 z-score 转换为概率?
例子:
z_score = 0
probability should be 0.5
z_score = 1.76
probability should be 0.039204
【问题讨论】:
标签: ruby math probability standard-deviation
根据https://stackoverflow.com/a/16197404/1062711 的帖子,这里是从 z 分数中为您提供 p proba 的函数
def getPercent(z)
return 0 if z < -6.5
return 1 if z > 6.5
factk = 1
sum = 0
term = 1
k = 0
loopStop = Math.exp(-23)
while term.abs > loopStop do
term = 0.3989422804 * ((-1)**k) * (z**k) / (2*k+1) / (2**k) * (z**(k+1)) /factk
sum += term
k += 1
factk *= k
end
sum += 0.5
1-sum
end
puts getPercent(1.76)
【讨论】:
return 1 if z < -6.5和return 0 if 6.5 < z吗?
Math 模块和微不足道的 26 种方法。来 ruby-lang.org,是时候扩展它了——Std-lib 中的 Math::Stats 模块也不错。