【问题标题】:Transform a normal distribution to linear将正态分布转换为线性
【发布时间】:2016-07-29 12:00:41
【问题描述】:

我有一个大约 1000 个浮点数的数组,都在 0 和 1 之间。我想在条形图中显示它们,其中最高的 10 个值清楚地突出。

问题是我的数据似乎是正态分布的,即有很多 0.999943 和 0.99902 值。因此,如果我绘制所有值,您将无法清楚地看到前 10 名。

我可以通过什么样的函数来传递数组值以夸大范围高端的方差?

【问题讨论】:

    标签: javascript math statistics distribution


    【解决方案1】:

    既然0 < Your data < 1,那么使用Math.log10 来计算以10 为底的对数呢?

    例如Math.log10(0.999943) = -0.000024755491006670377Math.log10(0.99902 ) = -0.00042581727682710913,那么如果你喜欢,你可以将结果与100000相乘,得到结果-2.4-42,方差被夸大了,它们的关系没有改变, 因为log10 是一个单调递增函数。

    【讨论】:

      【解决方案2】:

      对于任何具有累积分布函数 F(x) 的连续随机变量 X,将观测值转换为 F(x) 会使它们均匀分布在零和一之间。以概念上略有不同的方式表达相同的想法,呈现 p 值而不是原始观察值以突出显示极值。

      这样做的好处是,例如,如果转换后的值高于 0.95,您可以直接声明该观察值位于分布的前 5%。

      【讨论】:

      • 感谢@pjs 的回答,但恐怕这超出了我的范围!
      • @Seano 这基本上只是获取值的索引。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-09-09
      • 2016-03-04
      • 1970-01-01
      • 2019-02-22
      • 1970-01-01
      • 2015-11-26
      • 1970-01-01
      相关资源
      最近更新 更多