|
|
1
19
数值积分从…起 现代物理学中的计算 威廉·吉布斯:
你真的建立了一个表来转换范围
拒绝:
同样,头脑简单,但清晰且有效。对于概率很低的分布(长尾巴的峰值),它可能会很慢。 使用这两种方法,您可以 如果不需要阶跃函数直方图,则使用分段多项式拟合或样条曲线近似数据,以生成平滑曲线,但将其留待以后,因为这可能是过早的优化。 对于特殊情况,可能存在更好的方法。 所有这些都是相当标准的,如果我需要更多的细节,应该出现在任何数值分析教科书中。 |
|
|
2
2
关于这个问题的更多信息将是有用的。例如,直方图覆盖哪些类型的值?它们是分类的(例如颜色、字母)还是连续的(例如高度、时间)? 如果直方图超过了分类数据,我认为可能很难对分布进行参数化,除非类别之间存在许多相关性。
无论哪种方式,您都可能想了解更多关于 mixture models . |
|
3
1
所以,为了生成一个给定的概率分布,我想要的是一个 Quantile Function cumulative distribution function 正如@dmckee所说。 问题是:生成和存储描述给定连续直方图的分位数函数的最佳方法是什么?我有一种感觉,答案将在很大程度上取决于输入的形状——如果它遵循任何类型的模式,那么在最一般的情况下应该进行简化。我会在这里更新。
本周我有一次谈话提醒了我这个问题。如果我放弃将柱状图描述为一个等式,而只存储表格,我可以在O(1)时间内进行选择吗?事实证明,您可以在不损失任何精度的情况下,以O(N lgN)构造时间为代价。 创建N个项目的数组。在数组中进行均匀随机选择将发现概率为1/N的项目。对于每个项目,存储实际应选择此项目的命中分数,以及如果未选择此项目,将选择的另一个项目的索引。 加权随机抽样,C实现:
经过一点研究,我发现甚至可以在O(N)时间内完成构建。通过仔细跟踪,您无需对阵列进行排序即可找到大小箱子。 Updated implementation here |
|
|
4
0
如果需要使用离散点的加权分布提取大量样本,请查看 an answer to a similar question .
|
|
|
5
0
要从直方图(原始或缩小)中进行选择, Walker's alias method 它快速而简单。 |
|
|
feasega · 聚合物模拟-2个节点之间的最短路线,适用于所有节点 1 年前 |
|
|
Alisa Petrova · 在有向图中更改一对顶点以创建循环 1 年前 |
|
|
b39b332d · 使用C++标准库实现高效间隔存储 2 年前 |
|
ABGR · 二叉树的直径——当最长路径不通过根时的失败案例 2 年前 |
|
|
EpicAshman · 数独棋盘程序中同一列和同一行出现两次的数字 2 年前 |