我希望在Matlab中直接从截断的多变量正态分布中采样。
我知道我可以简单地使用mvnrnd并检查返回值是否在感兴趣的域中。然而,当需要大量样本时,这是一种资源浪费。
Matlab有一个内置的函数truncate reference,它将截断给定的概率分布对象。不幸的是,mvnpdf reference返回给定位置的pdf的值,而不是概率对象参见:pdf。此外,truncate似乎只支持一维问题。
除了简单地忽略感兴趣的域外的数据之外,有什么想法可以直接从截断的多变量正态分布中采样?或者这通常是我将不得不接受的东西?
文件交换的示例似乎实现了某种形式的拒绝采样:
发布于 2020-05-19 00:59:44
显然,从这个分布中采样并不是微不足道的。但这里有一些建议。
https://stackoverflow.com/questions/61843321
复制相似问题