from SALib.sample import saltelli
import numpy as np
problem = {
'num_vars': 3,
'names': ['x1', 'x2', 'x3'],
'bounds': [-10,10]
}
Run Code Online (Sandbox Code Playgroud)
必须bounds是均匀分布吗?它可能是其他概率分布吗?如正态、二项式、泊松、Beta...
我想对 Calvin Whealton 的回答进行补充,该回答基于 Calvin Whealton 的这篇博文(我想也是一样的):
SALib 支持在问题字典中定义不同的输入参数分布,尽管在他们的官方网站上似乎没有记录此功能。您只需要向'dists'问题字典添加一个新键并给出一个对分布类型进行编码的字符串列表。
这种情况下的问题定义如下所示:
# problem definition
prob_dists_code = {
'num_vars':6,
'names': ['P1','P2','P3','P4','P5','P6'],
'bounds':[[0.0,1.0], [1.0, 0.75], [0.0, 0.2], [0.0, 0.2], [-1.0,1.0], [1.0,0.25]],
'dists':['unif','triang','norm','lognorm','unif','triang']
}
Run Code Online (Sandbox Code Playgroud)
“界限”中给出的值则对应于每个分布的参数,例如在正态分布的情况下对应于平均值和标准偏差。更多细节可以在博客文章中找到。
| 归档时间: |
|
| 查看次数: |
808 次 |
| 最近记录: |