蒙特卡洛分析问题与LCIA的不确定性

时间:2017-06-16 17:46:38

标签: uncertainty brightway

我尝试进行蒙特卡罗分析,并对特征因子进行不确定性分析。代码运行良好(没有错误),但每次迭代的结果总是相同的。计算仅适用于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)

不确定性定义是否有问题?

感谢您的帮助!

1 个答案:

答案 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 documentation

中查看Brightway框架中uncertainty dictionary的架构

你写的就像在stats_arrays documentation中定义的那样。我不知道它们为什么会有所不同,即为什么在一种情况下我们有uncertainty type而在另一种uncertainty_type,但只需删除您的_,您的代码就可以使用。