我尝试进行蒙特卡罗分析,并对特征因子进行不确定性分析。代码运行良好(没有错误),但每次迭代的结果总是相同的。计算仅适用于LCA模拟。
以下是代码:
样本LCIA方法的定义
some_exchange = bw.Database('biosphere3').random()
my_cf = [(some_exchange.key,
{"amount": 10,
"uncertainty_type": 4,
"minimum": 0,
"maximum": 20}
)]
uncertain_method = bw.Method(("fake", "method", "with uncertainty"))
uncertain_method.write(my_cf)
简单活动的定义
simple_LCI_db = bw.Database('simple LCI db')
simple_LCI_db.write(
{('simple LCI db', 'some_code'):
{'name': 'fake activity',
'unit': 'amount',
'exchanges':
[
{'input': ('simple LCI db', 'some_code'),
'amount': 1,
'type': 'production'},
{'input': some_exchange.key,
'amount': 1,
'type': 'biosphere'},
]
},
})
蒙特卡罗代码
mc = bw.MonteCarloLCA({('simple LCI db', 'some_code'):1}, ('fake', 'method', 'with uncertainty'))
next(mc)
不确定性定义是否有问题?
感谢您的帮助!
答案 0 :(得分:0)
您只需要稍微不同地定义uncertainty dictionary
:在Brightway中,uncertainty type
不会使用_
,即
my_cf = [(some_exchange.key,
{"amount": 10,
"uncertainty type": 4, #and not "uncertainty_type"
"minimum": 0,
"maximum": 20}
)]
中查看Brightway框架中uncertainty dictionary
的架构
你写的就像在stats_arrays
documentation中定义的那样。我不知道它们为什么会有所不同,即为什么在一种情况下我们有uncertainty type
而在另一种uncertainty_type
,但只需删除您的_
,您的代码就可以使用。