将正态分布转换为线性
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.000024755491006670377
而Math.log10(0.99902 ) = -0.00042581727682710913
,那么如果你愿意,你可以将结果与100000
相乘,得到结果-2.4
和-42
,方差被夸大了,它们的关系没有改变,因为log10
是单调递增函数。
对于任何具有累积分布函数 F(x) 的连续随机变量 X,通过 F(x) 变换观测值使它们均匀分布在 0 和 1 之间。以概念上略有不同的方式表达相同的想法,呈现 p 值而不是原始观察值以突出极值。
这样做的好处是,如果转换后的值高于 0.95,您可以直接声明该观察值位于分布的前 5%。
我有大约 1000 个浮点数的数组,都在 0 和 1 之间。我想在条形图中显示它们,其中最高的 10 个值明显突出。
问题是我的数据似乎呈正态分布,即有很多 0.999943 和 0.99902 值。因此,如果我绘制所有值,您将不会清楚地看到前 10 个值。
我可以通过什么样的函数来传递数组值以扩大范围高端的方差?
自 0 < Your data < 1
以来,使用 Math.log10 计算数据的以 10 为底的对数怎么样?
比如Math.log10(0.999943) = -0.000024755491006670377
而Math.log10(0.99902 ) = -0.00042581727682710913
,那么如果你愿意,你可以将结果与100000
相乘,得到结果-2.4
和-42
,方差被夸大了,它们的关系没有改变,因为log10
是单调递增函数。
对于任何具有累积分布函数 F(x) 的连续随机变量 X,通过 F(x) 变换观测值使它们均匀分布在 0 和 1 之间。以概念上略有不同的方式表达相同的想法,呈现 p 值而不是原始观察值以突出极值。
这样做的好处是,如果转换后的值高于 0.95,您可以直接声明该观察值位于分布的前 5%。