2016-02-24 21 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上並行執行這些計算,但這是編程方式,而不是編程方式容易進入。如果我是你,我會更專注於這些解決方案,而不是試圖加速卷積函數。