我有一个不寻常的采样问题,我正在尝试为蒙特卡罗技术实现。我知道有关于完全积极问题的相关问题和答案。
我有一个n个权重w_1,...,w_n的列表,我需要选择k个元素,标记为s_1,...,s_k说。我想要采样的概率分布是
p(s_1,...,s_k)= | w_s_1 + ... + w_s_k | / P_total
其中P_total是归一化因子(所有可能的p(s,...)的总和,没有P_total)。我并不真正关心如何为我的目的订购元素。
请注意,某些w_i可能小于零,绝对幅度符号高于零。纯粹非负的w_i这种分布通过抽样而不需要替换是相对简单的 - 据我所知,树方法是最有效的。但是,对于一些负权重,我觉得我必须采用明确的方式来写出每个可能性并从这个指数大的集合中抽样。任何建议或见解将不胜感激!
答案 0 :(得分:1)
拒绝抽样值得一试。计算样本的最大权重(k最小值和最大值k的最大值)。重复生成一个统一的随机样本,并以超过最大权重的概率接受它,直到样本被接受为止。