【问题标题】:z-score to probability and vice verse in rubyruby 中的 z 分数到概率,反之亦然
【发布时间】: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


    【解决方案1】:

    根据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 &lt; -6.5return 0 if 6.5 &lt; z吗?
    • 我是唯一一个对 so much easier in Python 感到沮丧的 Ruby 专家吗?这种原本很好的语言仍然支持Math 模块和微不足道的 26 种方法。来 ruby​​-lang.org,是时候扩展它了——Std-lib 中的 Math::Stats 模块也不错。
    猜你喜欢
    • 2014-01-18
    • 2019-12-27
    • 2019-11-09
    • 1970-01-01
    • 2014-11-08
    • 2012-02-16
    • 2013-08-16
    • 2012-06-27
    • 2017-02-05
    相关资源
    最近更新 更多