如何解决向量数据集的蒙特卡罗模拟
我有一组 N 个对象的 (x,y,z,u,v,w) 向量。
我想要做的是通过使用蒙特卡罗模拟克隆这些对象来扩展此数据集。
我想知道这是否合理。如果是这样,如何在 Python 中执行此操作,如果不能,替代方案是什么。
+)我习惯于为向量分量设置不确定性值,并进行某种多元分布提取以基本上获得“克隆数据”,即表示不确定性的数据。在这种情况下,我没有不确定性,所以我试图得到一个综合分布。
解决方法
为了能够使用 MC 模拟创建新数据,您需要有一些东西可以模拟。我想从您的问题中并不清楚应该如何进行这种模拟。如果您的意思是您应该创建作为现有数据的其他排列的新数据,我想您可以在某种意义上称该 MC。这可以通过从每个向量中随机选择一个元素来实现。代码示例(未经测试或优化,但在概念上有效):
import numpy as np
data = ...
n_new_data
new_data = np.full((n_new_data,len(data)),np.nan)
for i,vec in enumerate(data):
for j in range(n_new_data):
new_data[j,i] = vec[np.random.random_integers(len(vec)-1)]
如果您只有 data
来处理,这样做可能有些合理。如果变量不是独立的,另一种更复杂但更现实的选择是计算每个样本中变量之间的相关性,然后根据此相关性生成新数据。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。