Pav*_*v31 1 ruby math probability standard-deviation
如何使用ruby将z分数转换为概率?
例:
z_score = 0
probability should be 0.5
z_score = 1.76
probability should be 0.039204
Run Code Online (Sandbox Code Playgroud)
根据此/sf/answers/1133818311/帖子,这是从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)
Run Code Online (Sandbox Code Playgroud)