首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用SALib工具箱对实测数据进行Python灵敏度分析

用SALib工具箱对实测数据进行Python灵敏度分析
EN

Stack Overflow用户
提问于 2017-11-14 12:41:16
回答 1查看 2.7K关注 0票数 3

我想了解,如何使用SALib python工具箱进行Sobol灵敏度分析(研究参数和交叉参数的影响)

从最初的例子来看,我应该这样做:

代码语言:javascript
运行
复制
from SALib.sample import saltelli
from SALib.analyze import sobol
from SALib.test_functions import Ishigami
import numpy as np

problem = {
  'num_vars': 3,
  'names': ['x1', 'x2', 'x3'],
  'bounds': [[-np.pi, np.pi]]*3
}

# Generate samples
param_values = saltelli.sample(problem, 1000)

# Run model (example)
Y = Ishigami.evaluate(param_values)

# Perform analysis
Si = sobol.analyze(problem, Y, print_to_console=True)
# Returns a dictionary with keys 'S1', 'S1_conf', 'ST', and 'ST_conf'
# (first and total-order indices with bootstrap confidence intervals

因为在我的例子中,我是从实验中得到数据的,我没有连接习和Yi的模型。我只有一个输入矩阵和输出矩阵。

如果我们假设我的输入数据是从一个拉丁超立方体(一个很好的统计重新划分)生成的,那么如何使用Salib来评估我的参数的敏感性呢?根据我在代码中看到的:

代码语言:javascript
运行
复制
Si = sobol.analyze(problem, Y, print_to_console=True)

我们只使用输入参数边界和输出。但是有了这种方法,怎么可能知道哪一个参数在两个集合之间进化呢?

谢谢你的帮忙!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-01-12 13:06:11

没有根据您对数据的描述使用SAlib直接计算Sobol索引的方法。SAlib通过生成两个矩阵(A和B)来计算一阶和全阶指数,然后使用矩阵A中矩阵B中的值交叉采样产生的附加值。下图显示了如何做到这一点。当代码评估索引时,它期望模型输出按此顺序进行。这种计算索引的方法是基于Saltelli等人发表的方法。(2010)。因为这不是一种拉丁超立方体抽样方法,所以实验数据很可能不起作用。

一个可能的方法,仍然完成一个敏感性分析,是使用代理或元模型从您的实验数据。在这种情况下,您可以使用实验数据来拟合真实模型的近似。这种近似可以由SAlib或其他灵敏度软件包进行分析。代理项模型通常是多项式或基于克里格的。Iooss等人(2006年)描述了一些方法。该方法的一些软件包括基于UQlab (http://www.uqlab.com/,MATLAB-)和BASS (https://cran.r-project.org/web/packages/BASS/index.html,R包)等,这取决于您想要使用的特定类型的模型和拟合技术。

另一种可能性是找到一个不基于Saltelli等人(2010)方法的估计量。我不确定是否存在这样的估计,但最好在“数学”或“概率和统计堆栈交换”中发布这个问题。

参考文献:

书名/作者责任者: B .(2006)。“环境剂量计算模型的响应面和灵敏度分析”。可靠性工程与系统安全91:1241-1251。

Saltelli,A.,P. Annoni,I. Azzini,F. Campolongo,M. Ratto,S. Tarantola.2010年。“基于方差的模型输出灵敏度分析。总灵敏度指数的设计与估计”。计算机物理通信181:259-270。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47286191

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档