2. Morris方法核心原理
Morris敏感性筛选的核心思想可以用一句话概括:在参数空间的网格上,让每个参数依次“跳一步”,用输出响应的差分来度量该参数的影响力。它不追求精确的方差分解,而是以极低的计算代价给出“哪些参数值得进一步研究”的排序。理解这一节,需要抓住三个基本概念——基本效应、轨迹、网格跳跃,并清楚它与方差分解方法在目标与假设上的本质差异。
一、基本效应:一次跳跃带来的输出变化
设模型有 k 个输入参数,记为 x = (x₁, x₂, …, xk),输出为 y = f(x)。Morris方法首先把每个参数归一化到 [0,1] 区间,并划分为 p 个水平,则相邻水平之间的步长为 Δ = p / (2(p−1))。这个 Δ 的取值不是随意的:它保证在一条轨迹上,每个参数恰好被扰动一次,且扰动后的点仍落在网格上。
对第 i 个参数,其基本效应(Elementary Effect, EE)定义为:
EE_i = [ f(x₁, …, x_i + Δ, …, x_k) − f(x₁, …, x_i, …, x_k) ] / Δ
直观地说,EE_i 就是“只把第 i 个参数沿网格推进一步,输出变化了多少”。由于 Δ 是归一化步长,EE_i 的量纲与输出一致,可正可负:正值表示该参数增大时输出增大,负值表示反向影响。单个 EE 只反映参数空间某一点处的局部斜率,因此 Morris 方法会对每个参数采样多条轨迹,得到 EE 的一个分布,再用该分布的均值 μ 衡量整体影响强度,用标准差 σ 衡量非线性或交互作用的强弱。μ 大说明参数重要,σ 大说明该参数的影响随位置变化剧烈,往往意味着它与其它参数存在交互。
二、轨迹:一次遍历所有参数的路径
Morris 方法不逐个参数单独扰动,而是构造一条轨迹(trajectory):从网格中随机选取一个基点,然后按随机顺序依次对每个参数施加 +Δ 或 −Δ 的扰动,每扰动一次就计算一次输出。一条轨迹包含 k+1 个模型评估点,恰好产生 k 个基本效应,每个参数对应一个 EE。
轨迹的构造有两个关键约束。第一,扰动方向随机(每个参数以等概率取 +Δ 或 −Δ),但必须保证扰动后的点不越出 [0,1] 边界,因此基点要在可行区域内选取。第二,参数扰动顺序随机打乱,避免固定顺序带来的系统性偏差。正是这种“随机基点 + 随机顺序 + 随机方向”的组合,使多条轨迹上的 EE 样本近似独立,从而可以用统计量 μ、σ 对参数重要性做出稳健判断。
实际工程中,轨迹数 r 通常取 10~50 条。总模型评估次数为 r(k+1)。例如 k=20、r=20 时,只需 420 次模型运行,而基于方差分解的 Sobol 方法在同样参数规模下往往需要数万次评估。这正是 Morris 方法在昂贵仿真模型(如 CFD、结构有限元、水文模型)中被广泛用作“预筛选”的原因。
三、网格跳跃:为什么用“跳”而不是“扫”
“网格跳跃”指的是参数在离散网格上以固定步长 Δ 跳变,而不是连续扫描。这一设计带来两个直接好处。其一,计算可复用:一条轨迹上相邻两点只差一个参数,因此每个 EE 只需一次新的模型评估,k 个参数只需 k+1 次评估,效率极高。其二,差分干净:由于每次只动一个参数,EE 是纯粹的“单参数偏效应”,不会混入其它参数同时变化带来的混淆。
但网格跳跃也带来方法假设。首先,它假设参数在 [0,1] 上均匀分布、网格等距,若实际参数分布高度偏斜或存在强相关,需先做变换或分层处理。其次,EE 是局部差分,对强非线性模型,单条轨迹的 EE 可能严重依赖基点位置,因此必须用多条轨迹的统计量而非单个 EE 下结论。第三,Morris 方法给出的是“重要性排序”,不给出方差贡献的定量份额,不能直接回答“该参数解释了输出方差的百分之几”。
四、与方差分解方法的本质区别
以 Sobol 指数为代表的方差分解方法,目标是把输出方差 V(y) 精确拆分为各参数主效应与交互项之和,得到一阶指数 Si 与总效应指数 STi,其定义基于条件期望:Si = V(E(y|xi))/V(y)。它回答的是“方差份额”问题,代价是需要大量样本(通常 N×(2k+2) 次评估,N 常取 512~4096),且对采样策略(如 Sobol 序列、拉丁超立方)敏感。
Morris 方法则完全不同:它不做方差分解,而是用 EE 分布的均值与标准差做筛选排序。它回答的是“哪些参数值得优先关注”,代价是评估次数少一到两个数量级。二者的本质区别可归纳为三点:目标不同(排序 vs 定量份额)、假设不同(网格均匀、局部差分 vs 方差可加分解、样本充分)、成本不同(r(k+1) vs N(2k+2))。工程上常见的做法是先用 Morris 把几十个参数筛到十几个,再对筛出的参数做 Sobol 分析,形成“先筛后分”的两级流程。
需要强调的是,Morris 的 μ 与 σ 不能与 Sobol 的 Si、STi 直接换算。μ 大只说明平均斜率大,不代表方差份额高;σ 大提示交互或非线性,但不给出交互的具体对象。把 Morris 结果当作“方差贡献”来引用,是工程应用中最常见的误用。正确做法是:用 μ-σ 散点图定位重要参数(μ 大、σ 大者优先),把 Morris 输出作为后续定量分析的输入清单,而不是最终结论。