2016-07-22 9 views
-1

モンテカルロシミュレーションを行っている既存の影響評価手法の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を使用してスコアを計算しますオブジェクト:

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

この例では、これは1000個の要素を持つnumpy配列です。この配列を簡単に扱える統計モジュールで分析することができます。

モンテカルロベースのいくつかのクラスがあり、他の機能を使用できます。 source codeをご覧ください。役に立つものがあります。

+0

あなたが提供したコードを実行しようとしたときに、次のエラーが表示されました。 "NameError:name 'MonteCarlo'が定義されていません。 "MonteCarlo"クラスは、参照したソースコードで定義されていないようです。 Brightway2(https://brightwaylca.org/examples/getting-started.html)の「Getting Started」の例では、クラスに「MonteCarloLCA」を使用しています。これは、提供したコードで動作するようです。 「MonteCarlo」を定義クラスにする方法や使用するクラスについての推奨はありますか? –

+0

ありがとう@カルビン、クラス名は確かにMonteCarloLCAです。 – MPa