2016-02-24 32 views
1

背景总和多分布

我估计一下用空间直观数据的地理区域内潜在的能源供应。为此,我构建了一个贝叶斯网络(HydeNet软件包)并将其附加到R中的栅格堆栈中。贝叶斯网络模型从栅格堆栈中读取每个单元位置的输入数据(例如资源供应,转换效率)并计算相应的能源供应(MCMC模拟)。因此,我获得了一个新的拉斯特层,其具有每个栅格单元的预期能源供应的特定概率分布。

但是,我对研究区域内的总能源供应同样感兴趣。这意味着我需要汇总(总计)所有栅格单元的潜在供应量,以获得该区域内的整体供应潜力。

Click here for visual example

研究

数学运算我想要做的就是所谓的卷积。 R提供了称为convolve的相应功能,该功能利用了快速傅立叶变换的

到目前为止我发现的例子(例如1,2)仅限于一次添加两个分布。但是,我想总结多个分布(数千,数百万)。

问题

我如何总结式(卷积)多probabilty分布?

我有多达18,000,000个概率分布。因此计算效率肯定会是一个大问题。 此外,我主要对R中的解决方案感兴趣,但其他解决方案(特别是Python)也受到赞赏。

回答

0

我不知道是否一次卷积多个分布会导致速度增加。不会像a123 = convolve(a1, a2, a3)幕后简化为a12 = convolve(a1, a2); a123 = convolve(a12, a30)?无论如何,在R中你可以尝试的是使用foreach包并且并行执行所有卷积。如果你真的想要更快的速度,你可以尝试使用OpenCL包来查看你是否可以在GPU上并行执行这些计算,但这是编程方式,而不是编程方式容易进入。如果我是你,我会更专注于这些解决方案,而不是试图加速卷积函数。