将正态分布转换为线性

Transform a normal distribution to linear

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

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

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

0 < Your data < 1 以来,使用 Math.log10 计算数据的以 10 为底的对数怎么样?

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

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

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