- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
最近遇到了关于如何找到给定数字流的第 x 个百分位数的问题。如果流相对较小(可以存储到内存中,排序并可以找到第 x 个值),我对如何实现这一点有一个基本的了解,但我想知道如果数字流相当大,如何近似百分位数大,数量未知。
最佳答案
我想你可以使用 Reservoir sampling从流 S
中均匀地选择 k
元素,然后用这些 k
的第 x 个百分位数近似 S
的第 x 个百分位数> 数字。 k
取决于您有多少内存以及近似值的精度。
编辑
下面是一个测试解决方案的代码示例:
// create random stream of numbers
Random random = new Random(0);
List<Integer> stream = new ArrayList<Integer>();
for (int i = 0; i < 100000; ++i) {
stream.add((int) (random.nextGaussian() * 100 + 30));
}
// get approximate percentile
int k = 1000; // sample size
int x = 50; // percentile
// init priority queue for sampling
TreeMap<Double, Integer> queue = new TreeMap<Double, Integer>();
// sample k elements from stream
for (int val : stream) {
queue.put(random.nextDouble(), val);
if (queue.size() > k) {
queue.pollFirstEntry();
}
}
// get xth percentile from k samples
List<Integer> sample = new ArrayList<Integer>(queue.values());
Collections.sort(sample);
int approxPercent = sample.get(sample.size() * x / 100);
System.out.println("Approximate percentile: " + approxPercent);
// get real value of the xth percentile
Collections.sort(stream);
int percent = stream.get(stream.size() * x / 100);
System.out.println("Real percentile: " + percent);
结果是:
Approximate percentile: 29
Real percentile: 29
我对我使用的每个 x
都有一个很好的近似值,目前我不明白为什么它不适合你的情况。
关于algorithm - 如何估算大量未知数的第 x 个百分位数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45952045/
架构设计(九):估算 作者: Grey 。 原文地址: 博客园:架构设计(九):估算 。 CSDN:架构设计(九):估算 。 估算在系统设计中非常重要,这决定了你的设计是否可以满足要求,
我有以下 JavaScript 代码,它使用 sql.js库与远程 SQL 数据库通信。 var xhr = new XMLHttpRequest(); xhr.open('GET', 'https:
关闭。这个问题需要更多focused .它目前不接受答案。 想改善这个问题吗?更新问题,使其仅关注一个问题 editing this post . 4年前关闭。 Improve this questi
我正在使用启用了 ARC 的 Cocos2d 2.0。我的游戏是一个随机生成的游戏,所以我需要在游戏中间的场景中加载/卸载纹理(spritesheet-batchnode)。我正在尝试从文件中删除 s
我有一个不完整的数据框,incomplete_df,如下所示。我想用相应 id 的平均 amount 来估算缺失的 amount。如果该特定 id 的平均值本身就是 NaN(参见 id=4),我想使用
我正在研究 NOAA AVHRR 31 年的每日海面温度 (SST) 数据。数据采用 NetCDF 格式,维度为 28(经)x 40(纬度)x 11686(天)。我应该计算每月的气候平均值(例如 31
我想为给定现有值的变量估算缺失值。 在 var2 ,我们注意到有很多NA s。 如果任何 2 个 ID 相同,则它们的值 var2是相同的。 如果 id 没有 var2 的值,就像 id==2 的情况
我想了解(大概)读取 Android SD 卡上存储的大文件(50MB 到 100MB)需要多长时间。我在 Google Nexus One 上的 Android 2.3.3 上使用以下代码。这会给我
估计 json 对象(如果 JSon 大小可用)将在 MongoDB 中占用多少存储内存的最佳方法是什么?有某种相关公式吗? 最佳答案 有 Object.bsonsize() 方法 mongo She
我有缺失值的数据框 (DF1),我想从不同的数据框 (DF2) 中估算这些缺失值,同时保留索引而不对它们进行排序(非常重要)。我正试图找到最有效的方法来做到这一点。 DF1: index id t
我正在尝试估算将返回大量结果的应用引擎查询的结果总量。 为了做到这一点,我为每个实体分配了一个介于 0 和 1 之间的随机 float 。然后我执行了我想用以下 3 个设置估计总结果的查询: * I
我正在尝试制作一个简单的 js 机器人,它检查每个区 block 的 eth(或链的主要 token )并将其发送到另一个钱包。 我有一个工作机器人: const { ethers } = requi
我最近一直在考虑将 Azure 作为许多具有 MSSql 数据库后端的小型 asp.net 网站的托管平台。我目前使用非 Microsoft 主机,每月收取固定费用。 我看过的 Azure 演示和网络
我是 C++ 新手。我正在尝试使用计算机系统的随机数生成器根据 Ernesto Cesaro 定理统计确定 Pi 的值。但是我现在所做的可以输入一个种子数并生成100个伪随机数,然后估计pi的值。生成
在我看来,我并不完全理解 FLOPS 的概念。在 CUDA SAMPLES 中,有 Matrix Multiplication Example (0_Simple/matrixMul)。在此示例中,每
我是一名优秀的程序员,十分优秀!