将正态分布转换为线性分布



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

问题是我的数据似乎是正态分布的,即有很多0.999943和0.99902的值。所以,如果我把所有的值都画出来,你就看不清前十名。

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

既然是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%。

最新更新