2016-07-22 31 views
-1

我希望使用現有的影響評估方法之一進行ecoinvent過程的影響分配,進行蒙特卡羅模擬。有沒有一個例子的筆記本電腦或說明這樣做?獲取LCIA的結果分佈

回答

0

下面是做到這一點(一個隨機的活動和方法),最簡單的方法:

from brightway2 import *
import numpy as np
ecoinvent = Database("ecoinvent 3.2 cutoff")

蒙特卡洛類從LCA類派生,並進行實例化,就像LCA對象。
my_MC = MonteCarloLCA({ecoinvent.random():1}, methods.random())

說你要獲得1000個樣本:
iterations = 1000

您可以創建一個空numpy的陣列收集的結果:
scores = np.zeros([1, iterations])

然後,計算使用next得分您object:

for iteration in range(1000): 
    next(my_MC) 
    scores[0, iteration] = my_MC.score 

在這個例子中,這將是一個1000個元素的numpy數組。然後,您可以使用任何易於使用的統計模塊來分析此陣列。

還有其他幾個基於Monte Carlo的類,允許其他功能。看看source code,你可能會發現一些有用的東西。

+0

當我嘗試運行您提供的代碼時,出現以下錯誤:「NameError:name'MonteCarlo'未定義」。 「MonteCarlo」類似乎沒有在您引用的源代碼中定義。 Brightway2的「入門」示例(https://brightwaylca.org/examples/getting-started.html)爲該課程使用「MonteCarloLCA」,並且這似乎適用於您提供的代碼。你有推薦使用哪個班級或如何使「MonteCarlo」成爲一個定義的班級? –

+0

謝謝@Calvin,類名確實是MonteCarloLCA。 – MPa