z分数和红宝石中的概率相反

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)

ex0*_*0ns 5

根据此/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)