我正在尝试预先计算几个随机变量的分布。特别是,这些随机变量是在基因组位置评估的函数的结果,因此每个变量将有大约 10^8 或 10^9 个值。这些功能非常流畅,所以我认为只在每 2/10/100 次评估一次不会损失太多准确性?base 左右,但不管怎样都会有大量的样本。我的计划是为每个函数预先计算分位数表(可能是百分位数),并在我的主程序的执行中引用这些表,以避免在每次运行时都计算这些分布统计信息。
但我真的不明白我怎么能轻松做到这一点:存储、排序和减少 10^9 浮点数的数组实际上并不可行,但我想不出另一种不会丢失关于分配。有没有一种方法可以测量样本分布的分位数,而不需要将整个数据存储在内存中?