不确定性量化,简称UQ,是研究工程问题中各种不确定性如何影响结果的一门学问。传统的有限元分析一般都是确定性的,输入什么参数就得到什么结果,但实际工程中很多参数都是不确定的,比如材料性能有波动、载荷有变化、尺寸有公差等等。不确定性量化就是要搞清楚这些不确定性会导致结果有多大的波动,以及结果的可靠性有多少。本文将介绍不确定性量化的基本概念、常用方法、应用场景和注意事项。
一、不确定性量化概述
什么是不确定性量化:
- 就是量化各种不确定性对结果的影响
- 输入是不确定的,输出也是不确定的
- 要算输出的分布、概率、可靠性等
- 英文是Uncertainty Quantification,简称UQ
- 也叫不确定性分析、概率分析等
为什么需要不确定性量化:
- 实际工程中很多参数都是不确定的
- 材料性能有分散性
- 载荷有波动
- 几何尺寸有公差
- 模型本身也有误差
- 只给一个确定的结果不够,还要知道可靠性
- 传统的安全系数法比较粗糙
不确定性的来源:
- 物理不确定性:材料、载荷、几何等的随机波动
- 统计不确定性:数据不足导致的参数估计误差
- 模型不确定性:模型本身的近似和假设
- 数值不确定性:数值计算的误差
- 等等,来源很多
不确定性量化的目标:
- 知道输出的概率分布
- 计算失效概率或可靠度
- 知道哪些参数影响最大,也就是灵敏度
- 指导设计,提高可靠性
- 风险评估和决策支持
应用领域:
- 结构可靠性分析
- 疲劳寿命预测
- 优化设计中的可靠性
- 风险评估
- 决策支持
- 等等,很多工程领域都用
二、不确定性的分类
1. 随机不确定性
也叫偶然不确定性。
什么是随机不确定性:
- 是事物本身固有的随机性
- 即使数据再多也消除不了
- 比如材料强度的分散性
- 比如载荷的随机波动
- 英文是aleatory uncertainty
特点:
- 是内在的、不可约的
- 数据再多也只能更准确地描述它,不能消除
- 一般用概率分布来描述
- 是比较常见的一类不确定性
例子:
- 材料的强度和模量
- 风载荷、地震载荷
- 加工尺寸的公差
- 等等
2. 认知不确定性
也叫知识不确定性。
什么是认知不确定性:
- 是因为知识不足、数据不够导致的
- 如果有更多的数据和知识,可以减少
- 比如模型参数不准
- 比如模型形式不对
- 英文是epistemic uncertainty
特点:
- 是可以约减的,知识多了就小了
- 描述方法更多样,不只是概率
- 比如区间、模糊、证据理论等
- 数据少的时候这类不确定性很重要
例子:
- 新材料的性能参数,数据少
- 模型的误差
- 未知的失效模式
- 等等
3. 其他分类
还有其他分法。
比如:
- 参数不确定性:输入参数的不确定
- 模型不确定性:模型本身的不确定
- 数值不确定性:计算的数值误差
了解不同类型的不确定性,有助于选择合适的方法来处理。
三、常用的不确定性量化方法
1. 蒙特卡洛模拟
最经典也最常用的方法。
什么是蒙特卡洛:
- 就是随机抽样,抽很多次,每次算一次
- 然后统计结果的分布
- 是最直接的方法
- 英文是Monte Carlo Simulation,简称MCS
怎么做:
- 确定每个输入参数的概率分布
- 随机生成很多组输入参数
- 每组都算一次模型,得到一个输出
- 统计所有输出,得到输出的分布
- 计算失效概率、均值、方差等
优点:
- 简单直观,容易理解
- 适用范围广,什么问题都能用
- 精度可以通过抽样数来控制
- 结果可靠,是金标准
缺点:
- 计算量太大了,特别是小概率事件
- 要算很多很多次,有时候根本算不动
- 模型复杂的话就更麻烦
- 效率比较低
改进方法:
- 重要性抽样:在重要的地方多抽
- 拉丁超立方抽样:比纯随机好一点
- 子集模拟:专门算小概率的
- 等等,有很多改进的抽样方法
2. 响应面法
用代理模型来加速。
什么是响应面:
- 先在一些样本点上算真实模型
- 然后用一个简单的函数来近似
- 这个近似函数就叫响应面或代理模型
- 然后用代理模型来做不确定性分析
- 这样就快多了
常用的代理模型:
- 多项式响应面:最简单,多项式拟合
- 克里金Kriging:比较常用,插值的
- 径向基函数RBF
- 支持向量机SVM
- 神经网络
- 等等,很多种
优点:
- 计算效率高,建好代理模型后就快了
- 样本数比蒙特卡洛少很多
- 适合计算量大的模型
- 工程上用得很多
缺点:
- 代理模型有误差,不一定准
- 样本点的选择很重要
- 高维问题比较难
- 需要一定的技巧
3. 摄动法
基于泰勒展开的方法。
什么是摄动法:
- 把输出在均值点做泰勒展开
- 保留前几阶
- 然后推导输出的均值和方差
- 是一种近似方法
优点:
- 计算量小,效率高
- 有解析的表达式
- 适合小不确定性的情况
- 灵敏度分析也方便
缺点:
- 只适合不确定性比较小的情况
- 大偏差就不准了
- 高阶的话又比较复杂
- 只能算均值方差,得不到完整分布
4. 一阶可靠度方法FORM
可靠性分析常用的。
什么是FORM:
- First Order Reliability Method的缩写
- 是计算失效概率的方法
- 找最可能失效点,也就是设计点
- 然后用一阶近似算失效概率
- 是结构可靠性里很经典的方法
怎么做:
- 把随机变量变换到标准正态空间
- 找原点到极限状态面的最短距离
- 这个距离叫可靠度指标β
- 然后用正态分布算失效概率
- 是一阶近似
优点:
- 效率比较高
- 适合结构可靠性分析
- 有明确的可靠度指标
- 工程上用得很多
缺点:
- 是近似方法,有误差
- 高度非线性的问题不准
- 多个失效模式的话要处理
- 需要优化,找设计点
还有二阶可靠度方法SORM,比FORM准一点,但也更复杂。
5. 其他方法
还有很多其他方法。
比如:
- 矩方法:用输出的各阶矩来估计分布
- 点估计法:用几个点来估计矩
- 随机有限元:直接在有限元里考虑随机性
- 区间分析:不知道分布,只知道范围
- 模糊理论:处理模糊的不确定性
- 证据理论:处理更复杂的不确定性
- 等等,方法很多
怎么选方法:
- 根据问题的类型
- 根据不确定性的类型
- 根据计算资源
- 根据精度要求
- 根据自己的熟悉程度
四、不确定性量化的一般步骤
1. 识别不确定性来源
先搞清楚哪些是不确定的。
要做的:
- 列出所有可能的不确定因素
- 分类:哪些是随机的,哪些是认知的
- 评估每个因素的重要性
- 确定哪些要考虑,哪些可以忽略
注意:
- 不要什么都考虑,太多了算不动
- 也不要漏掉重要的
- 先做初步的筛选
- 重点关注影响大的
2. 量化不确定性
给每个不确定因素建模。
怎么做:
- 收集数据,比如实验数据、历史数据
- 选择合适的概率分布
- 估计分布的参数
- 数据少的话可以用专家经验
- 或者用区间、模糊等方法
常见的分布:
- 正态分布:最常见
- 对数正态分布:比如强度、寿命
- 均匀分布:比如公差
- 威布尔分布:比如寿命
- 极值分布:比如最大载荷
- 等等
注意:
- 数据很重要,没有数据就瞎猜了
- 分布的选择要合理
- 参数估计要可靠
- 数据少的话要注意认知不确定性
3. 选择分析方法
选合适的UQ方法。
考虑因素:
- 模型的计算量:算一次要多久
- 不确定性的大小
- 精度要求
- 要算什么:分布、失效概率、灵敏度
- 计算资源
建议:
- 简单的、计算快的模型可以直接蒙特卡洛
- 计算慢的模型用代理模型
- 可靠性分析可以用FORM/SORM
- 小概率事件用重要性抽样或子集模拟
- 从简单的开始试,不行再换复杂的
4. 传播不确定性
算输入的不确定性怎么传到输出。
怎么做:
- 用选好的方法计算
- 得到输出的统计特征
- 比如均值、方差、分布
- 比如失效概率、可靠度
- 比如置信区间
注意:
- 检查结果是否合理
- 注意方法的适用范围
- 结果的精度有多少
- 不要过度解读
5. 灵敏度分析
看哪些参数影响最大。
什么是灵敏度分析:
- 看每个输入参数对输出的影响大小
- 找出最重要的参数
- 也叫参数重要性分析
为什么重要:
- 知道哪些参数是关键的
- 可以重点关注和控制关键参数
- 不重要的参数可以简化
- 指导数据收集和实验设计
- 优化设计也有帮助
常用的灵敏度指标:
- 相关系数:线性相关的程度
- 秩相关系数:非线性也能用
- 偏导数:局部灵敏度
- 方差贡献率:全局灵敏度,比如Sobol指数
- 等等
6. 结果解读和应用
结果怎么用。
能得到什么:
- 输出的概率分布
- 失效概率或可靠度
- 置信区间
- 参数灵敏度
- 等等
怎么用:
- 评估设计的可靠性
- 风险评估
- 指导设计改进
- 优化设计,比如可靠性优化
- 决策支持
- 等等
注意:
- 结果是概率性的,不是绝对的
- 要理解结果的含义
- 不要误用和滥用
- 结合工程经验来判断
五、ANSYS中的不确定性量化
1. 相关的功能
ANSYS里有哪些。
ANSYS的UQ功能:
- ANSYS有概率分析模块
- 可以做参数的概率分布
- 可以做蒙特卡洛模拟
- 可以做灵敏度分析
- 可以做可靠性分析
- 等等
具体来说:
- DesignXplorer里有相关功能
- 可以定义随机输入参数
- 可以做抽样和分析
- 可以看输出的分布
- 可以算灵敏度
- 等等
注意:
- 不同版本功能可能不一样
- 有些可能需要专门的模块
- 可以查帮助文档看具体有哪些
- 根据需要选择
2. 概率设计系统PDS
ANSYS经典里的。
什么是PDS:
- Probabilistic Design System的缩写
- 是ANSYS经典里的概率分析模块
- 可以做不确定性分析
- 可以做可靠性分析
- 等等
能做什么:
- 定义随机变量和分布
- 蒙特卡洛模拟
- 响应面法
- 可靠性分析
- 灵敏度分析
- 等等
3. Workbench中的功能
Workbench里的。
Workbench里的:
- DesignXplorer里有概率分析
- 可以定义输入参数的分布
- 可以做抽样分析
- 可以看输出的统计结果
- 可以做灵敏度分析
- 等等
特点:
- 图形界面,比较方便
- 和参数化分析结合
- 容易上手
- 适合工程应用
六、不确定性量化的挑战和注意事项
1. 数据不足
这是最常见的问题。
为什么是问题:
- 不确定性量化需要数据来确定分布
- 数据少的话,分布参数就不准
- 甚至分布类型都不知道
- 结果的可靠性就差
怎么应对:
- 尽量收集数据,实验、历史数据
- 数据少的话用专家经验
- 考虑认知不确定性
- 用区间、模糊等方法
- 做敏感性分析,看数据不准的影响有多大
- 重要的参数尽量多做实验
2. 计算量太大
也是常见的问题。
为什么大:
- 不确定性分析要算很多次模型
- 特别是蒙特卡洛,要算成千上万次
- 模型本身又慢的话就更麻烦
- 经常算不动
怎么应对:
- 用代理模型,减少真实模型的计算次数
- 用更高效的方法,比如FORM/SORM
- 减少随机变量的数量,只保留重要的
- 并行计算,同时算多个样本
- 模型降阶,简化模型
- 从粗到细,先用简单模型筛选
3. 方法选择
不知道用什么方法。
怎么选:
- 先了解各种方法的优缺点
- 根据自己的问题特点选
- 从简单的开始试
- 对比不同方法的结果
- 不要追求复杂,够用就行
建议:
- 先做灵敏度分析,筛掉不重要的参数
- 计算快的模型直接蒙特卡洛
- 计算慢的用代理模型
- 可靠性问题可以先试试FORM
- 小概率事件用专门的方法
- 重要的结果用不同方法交叉验证
4. 结果解读
怎么理解和使用结果。
注意事项:
- 结果是概率性的,不是确定的
- 失效概率1%不是说一定不会坏,也不是说一定会坏
- 只是概率意义上的估计
- 输入的分布不准的话,结果也不准
- 不要过度精确,小数点后好几位没意义
- 结合工程经验和安全系数来用
常见误区:
- 把概率结果当确定性的用
- 过度相信计算结果
- 忽略模型和数据的不确定性
- 只看失效概率,不看其他信息
- 为了凑结果而调参数
5. 模型验证和确认
模型本身的不确定性。
为什么重要:
- 不确定性量化是在模型的基础上做的
- 模型本身就有误差的话
- 再怎么量化不确定性也没用
- 垃圾进垃圾出
怎么做:
- 先验证模型本身对不对
- 和实验对比
- 和理论对比
- 模型误差也要考虑
- 不要只盯着参数的不确定性
七、总结
不确定性量化是工程分析中很重要的一部分,可以帮助我们了解结果的可靠性,评估风险,指导设计。传统的确定性分析只能给一个结果,不确定性量化能给更多的信息,让决策更科学。
不确定性量化的要点总结:
- 研究输入的不确定性如何影响输出,量化结果的可靠性
- 不确定性分随机不确定性和认知不确定性等不同类型
- 常用方法有蒙特卡洛模拟、响应面法、摄动法、FORM/SORM等
- 一般步骤:识别来源、量化不确定性、选方法、传播、灵敏度分析、应用
- ANSYS中有概率分析和可靠性分析的相关功能
- 挑战包括数据不足、计算量大、方法选择、结果解读、模型验证等
给初学者的建议:
- 先理解基本概念,知道不确定性量化是干什么的
- 从简单的方法开始,比如先试试蒙特卡洛
- 不要一上来就搞很复杂的方法
- 数据很重要,没有好的数据,方法再复杂也没用
- 计算量是大问题,注意效率,用代理模型等加速
- 先做灵敏度分析,找出重要的参数,不重要的可以简化
- 结果要合理解读,不要过度相信和滥用
- 模型本身的验证也很重要,不要只盯着参数的不确定性
- 结合工程经验,不要纯靠数字
- 多做案例,积累经验
不确定性量化是一个很有用的工具,能让我们的分析更全面、更科学。虽然有一定的难度和挑战,但掌握了之后可以解决很多传统方法解决不了的问题。希望本文能帮助大家入门不确定性量化。如果有不确定性分析的经验或问题,欢迎在评论区交流讨论。
|