【发布时间】:2012-06-07 23:15:06
【问题描述】:
我想生成符合实际采样数据分布的伪数据。在 C/Obj-C 中寻找一种高效且准确的方法来进行 iphone 开发。目前,已为 1000 个采样事件中 60 个不同类别的发生分配了概率 (0-1)。我想生成 1000 个符合相同概率的新事件。
澄清{
我有一个集合 {1,2,...,60} 的分类分布。我了解此分布中的样本将符合每个类别的概率。因此我需要从这个分布中抽取 1000 个样本。我已经确定(感谢到目前为止的答案)我需要:
通过将值相加并除以每个值来规范化此分布 按总和。
订购它们。
通过将每个值替换为所有先前值的总和来创建 CDF。
-
然后我可以生成一个介于0和1之间的均匀随机数,并在CDF中找到其值小于或等于刚刚选择的数的最大数,并返回这个CDF值对应的类别。
}
第一季度。这是解决问题的正确方法吗?
第二季度。需要注意的是,我使用 NSDecimals 来存储类别概率。 Cocoa 或 Math.h 等中是否有任何可用的库或函数可以用来简单地执行此操作?我愿意尝试新的库,目前这个项目中只有 Core-Plot 和标准 Cocoa 库。谢谢。
【问题讨论】:
-
您的描述不清楚。您是说您有一个现有的 PDF(或至少是一个直方图),并且您想生成符合该 PDF/直方图的新随机数据?
-
更新了问题以进一步澄清。
标签: c cocoa random distribution sample