Weibull vs Lognormal:可靠性数据分析的分布选型与B10决策

发布时间:2026/10/14 13:24:46
Weibull vs Lognormal:可靠性数据分析的分布选型与B10决策
做可靠性数据分析的工程师十有八九都遇到过这种争论同一批失效时间数据A工程师用Weibull分布拟合形状参数Beta估出来是1.85概率图上的点排得笔直R方高达0.97得意地把图贴进报告B工程师换了个思路用Lognormal分布拟合发现Sigma约0.62数据点在图上也是一条漂亮直线拟合优度同样好看。两个人谁都没算出错但最后给出的B10寿命和保修期建议却差了近两成吵得不可开交。这种尴尬不是个案而是把Weibull分布和Lognormal分布放在一起对比时必然碰到的难题。它们的概率密度曲线都是右偏的形状都像一根拖长尾巴的斜坡道在中等到小样本量下肉眼几乎分辨不出来可工程结论往往因此南辕北辙。这篇文章就把这两个分布彻底拆开揉碎从失效率行为、概率图识别、参数估计到保修期决策讲清楚它们到底差在哪以及实战里该怎么选。1. Weibull 和 Lognormal 的双胞胎假象图像相似背后的本质分歧1.1 先给上一篇做个简短回顾上一篇已经把两个分布的基本定义讲透了这里不重复推导只把关键点捞出来备用。Weibull分布的概率密度函数是f(t) (β/η)·(t/η)^(β-1)·e^(-(t/η)^β)t ≥ 0其中β是形状参数决定曲线的形状η是尺度参数决定寿命的分散范围。β1时退化为指数分布β1时失效率随时间上升β1时失效率随时间下降。Lognormal分布则干脆得多它说的不是寿命T本身服从正态分布而是寿命取对数之后lnT服从正态分布。于是f(t) 1/(σ·t·√(2π))·e^(-(ln t - μ)²/(2σ²))t 0这里的μ是lnT的均值不是寿命T的均值σ是lnT的标准差。寿命T本身永远右偏但取对数后就变成对称的钟形曲线。1.2 视觉陷阱PDF曲线在中等参数下几乎重叠在工程聊天里大家最常问的一句话是这两个分布到底有啥区别我画出来怎么长得一模一样这问题问得一点都不外行。取β2.2的Weibull分布和σ0.55的Lognormal分布把两条概率密度曲线叠到同一张图上峰值高度、峰值位置、右尾拖沓程度都非常接近不把坐标轴放大到极限很难看出差异。我自己的经验是β在2到3之间的Weibull和σ在0.4到0.7之间的Lognormal在PDF图上几乎无法区分。这个区间恰好覆盖了大量机械零件和电子元件的寿命场景所以才会有那么多工程师在这两个分布之间来回摇摆。视觉图像的相似是假象真正的分歧藏在失效率函数里。1.3 失效率函数一个单调一个非单调判断分布合不合适的核心指标不是概率密度而是失效率函数h(t)它描述的是产品熬到时间t还没坏在下一个瞬间坏掉的概率。Weibull分布的失效率是h(t) (β/η)·(t/η)^(β-1)这是个完全单调的函数β1时递减β1时恒定β1时递增。换句话说两参数Weibull只能描述三种情况——产品越用越好、故障率恒定、产品越用越老。它描述不了失效率先上升再下降这种不规矩的倒U型行为。Lognormal的失效率却是个非单调函数。它的典型形态是从0时刻开始快速上升在中位寿命附近或更早一些到达峰值然后缓慢下降尾巴拉得很长。这和你直觉里的老年期故障率高正好相反——在Lognormal模型下度过了峰值期的老产品反而会表现得越来越稳定。这个差异在实践中的分量非常重。我见过不少工程师拿两参数Weibull去拟合电子元件的失效数据死活拟合不好图形中部总有个明显的S弯改了位置参数也不行。后来换成Lognormal问题一次解决。原因就是这些元件的失效机理本身就带有非单调失效率的特征Weibull天生表达不了。对比维度Weibull分布Lognormal分布参数含义β形状参数、η尺度参数μ为lnT均值、σ为lnT标准差失效率形状单调递减/恒定/递增非单调先升后降至峰值对数变换结果lnT服从极值分布lnT服从正态分布典型失效机理串联系统最弱环、突发失效累积损伤、乘性退化过程常用领域轴承、结构件、绝缘击穿腐蚀扩散、电子迁移、疲劳裂纹扩展2. 概率图判读一张纸就能快速识别分布类型2.1 概率纸的工作原理把非线性变成直线要说分布识别最简单粗暴的手段概率图首选。它不需要任何软件拿一张特制刻度的坐标纸就能做——原理也不难理解。Weibull概率纸的横轴取lnt纵轴取ln(-ln(1-F))。因为对Weibull分布来说ln(-ln(1-F)) β·lnt - β·lnη这是个标准的直线方程斜率为β截距与η相关。数据若真服从Weibull在纸上排成的点就落在一条直线上。Lognormal概率纸的横轴取lnt或在某些软件里直接用原始时间t纵轴取标准正态分位数Φ⁻¹(F)。因为lnT服从正态分布所以数据点也画成直线。两条纸的差别就在这个纵轴上一个用的是极值分布的变换坐标一个用的是正态分布的变换坐标。数据服从哪个分布对应画在哪张纸上就更直。2.2 画错纸会看到什么弯曲方向的判断经验实战里最有用的一个经验就是看弯曲方向。同一组数据如果画在Weibull纸上不直通常会在中部向上拱起、两端向下弯这种弯法往往意味着它更适合Lognormal。反过来一组数据画在Lognormal纸上如果中部向下凹陷、两端上翘那它大概率是Weibull的材料。这个判断在样本量超过20的时候相当可靠我拿模拟数据反复验证过很多次。但要注意样本量少于10时随机噪声很容易把微弱的弯曲掩盖掉强行看图说话就会过度解读。碰到小样本我更倾向于把两个分布的拟合结果打印出来比较残差和AIC而不是单纯凭眼睛判断直线性。2.3 中位秩计算示例手算一次就会了画概率图之前需要先估算每个失效时间对应的累积失效概率F。中等样本而且所有样品都失效时最常用的是Hazen公式也叫中位秩公式F_i (i - 0.3) / (n 0.4)i是失效时间排序后的序号n是样品总数。举个例子假设有8个样品全部失效失效时间按升序排列是305、420、540、680、790、950、1180、1450单位小时n8于是中位秩分别是0.083、0.202、0.321、0.440、0.560、0.679、0.798、0.917拿到这组F值接下来要画Weibull概率图就把lnt作为横坐标、ln(-ln(1-F))作为纵坐标要画Lognormal概率图就把lnt作为横坐标、Φ⁻¹(F)作为纵坐标。两张图各画一次哪张更直哪个分布就更贴切。提示Hazen公式只适用于完全数据也就是所有样品都记录到失效时间的情况。如果试验里存在还没失效就被截尾的样品中位秩估计会失真需要用Kaplan-Meier乘积极限估计算法去处理或者直接用极大似然法做拟合。这一点吃过的亏我记忆犹新。3. 参数估计的实战对比图解法、秩回归与极大似然3.1 三种估计方法的适用边界参数估计的方法大致分三类图解法、秩回归最小二乘拟合和极大似然估计MLE。图解法就是把数据点在概率纸上画出来用尺子拉一条直线从斜率和截距读参数。优点是直观、沟通方便在项目评审会上甩一张图出来比甩一堆数值有说服力得多缺点是主观性强不同人拉出的直线差异肉眼可见。它适合做初步判断不适合作为最终交付结论。秩回归的思路是把概率纸上的线性关系当作回归问题用最小二乘去拟合一条最优直线。它对中部数据的权重较大对尾部不那么敏感因此在样本量中等比如20到50个时表现稳健也是很多商业软件默认使用的方法之一。极大似然估计的理论性质最好一致性和渐近正态性都成立尤其适合存在右删失截尾的数据因为它能充分把只知道还没失效的信息纳入估计。但它有一个常被忽略的毛病小样本下有偏。我在项目里就遇到过n15的完全数据MLE估出的β明显高于秩回归的结果差距达到30%以上这种差异足以更改维修策略。3.2 小样本和截尾数据该怎么处理完全数据配合小样本时我个人更推荐秩回归图形直读法和软件结果可以互相对照。MLE在小样本下给出的β偏高问题很多人压根没意识到。一旦数据里存在截尾情况完全反过来。右删失数据里有一部分样品还在试验中就撤出了只知道它们的寿命大于某个时间秩回归很难把这些信息干净地纳入计算MLE则天然擅长处理。所以我的操作习惯是完整数据先用秩回归有删失就用MLE并且一定要在报告里注明估计方法。3.3 软件实现要点主流可靠性软件都内置了这两个分布的拟合功能开源的Python库reliability也做得不错。一段最小化示例大致长这样from reliability.Fitters import Fit_Weibull_2P, Fit_Lognormal_2P # 12个样品的失效时间小时 data [520, 610, 730, 815, 920, 1030, 1140, 1260, 1390, 1530, 1710, 1920] fw Fit_Weibull_2P(failuresdata) fl Fit_Lognormal_2P(failuresdata) print(Weibull: beta%.3f, eta%.3f % (fw.beta, fw.eta)) print(Lognormal: mu%.3f, sigma%.3f % (fl.mu, fl.sigma))这个库的输出里会直接带AIC值。比较两个非嵌套分布时不要死磕R方AIC才是更合理的判断依据两个模型的AIC差值ΔAIC超过2就说明拟合优度差异已经有了实际意义小于2的话统计上基本分不出高下。4. 案例拆解同一批数据两种拟合寿命结论差多少4.1 一个模拟电子控制模块的完整试验数据为了把前面所有理论串起来我构造了一个模拟项目案例。假设某电子控制模块在高温加速老化条件下做寿命试验12个样品全部失效失效时间就是上面代码里那组数据520、610、730、815、920、1030、1140、1260、1390、1530、1710、1920小时。分别用Weibull和Lognormal做拟合得到的结果整理如下拟合模型参数估计图形直线性AICWeibull 2参数β≈1.82η≈1470小时整体直尾部略散较低Lognormal 2参数μ≈7.07σ≈0.52整体直中部略拱较高高约2.6从AIC看Weibull略微占优从概率图看两组的直线性都不差。如果只看到这一层很多人就直接选Weibull收工了。4.2 B10寿命的工程分岔点重点来了。分别计算两个分布下的B10寿命——即累积失效概率达到10%对应的时间这是保修期决策里最常用的指标。Weibull分布下B10 η·(-ln(0.9))^(1/β) 1470·0.10536^(1/1.82) ≈ 410小时Lognormal分布下B10 e^(μ Φ⁻¹(0.1)·σ) e^(7.07 - 1.2816×0.52) ≈ 449小时两个数字一个约410小时一个约449小时相差接近10%。如果不做对比只凭单一分布下结论保修期的设定要么偏激进导致售后成本超支要么偏保守导致产品竞争力被削弱。这个分岔点在概率图上恰好对应F0.1的横坐标位置。图形直线性的微小差异、AIC的细微高低在10%分位数附近就可能被放大成工程决策上的明显分歧。4.3 保修期决策的正确姿势我见过最粗暴的做法是数据拿来软件拟合一次输出B10直接当保修期。这种流程省事但风险全埋在分布选择里。比较稳妥的做法是双轨并行。第一轨看统计证据分别拟合两个分布比较AIC和概率图的直线性先圈出一个统计上说得过去的候选集。第二轨看失效机理这个模块的失效模式到底是什么如果失效原因是电迁移、金属迁移这类累积损伤过程退化量大致按比例累积这类机理的数学建模天然指向Lognormal。此时就算Weibull的AIC稍微好看一点我也不会放着Lognormal不用。统计拟合只能告诉你哪个分布跟数据更契合只有物理失效机理能告诉你哪个分布更贴近真实世界。5. 选型高频踩坑与我的判断流程5.1 三个高频切入坑第一个坑是只看R方选分布。概率图本身经过了非线性变换数据点之间的相关性天然就高R方在0.9以上是常态在0.95和0.97之间做区分几乎没有统计说服力。R方适合判断这个分布能不能用不适合判断这个分布比另一个好。第二个坑是忽略样本量就下结论。n小于10时概率图上的弯曲会被噪声吞没MLE的小样本有偏也会放大参数误差。我在早期项目里拿8个样品拟合出β3.2信心满满地定了维修间隔后来补样到30个β直接掉到1.9。教训就是小样本结果只配用来做方向性判断不能直接进入量化决策。第三个坑是忘记位置参数。有时候产品寿命的计时起点不是零比如出厂前已经经历了一段时间的老化筛选或者试验从某个累计应力水平才刚开始计时。这时候两参数Weibull会严重低估早期失效率考虑三参数Weibull引入位置参数γ或者换用别的分布是更合理的选择。5.2 一个可复用的分布选择流程我现在带项目时基本固定用下面这套流程不复杂但很管用把失效时间按升序排列计算中位秩画出两种概率图做初步目测分别跑两个分布的拟合记录参数估计、AIC不要只记R方分析失效物理机理是串联系统最弱环导致还是累积损伤乘性退化如果统计证据和机理指向一致直接选不一致时优先尊重机理同时把另一个分布作为敏感性分析的备选样本量不足以支撑判断时延长试验或者增补样品不要硬下结论决策环节用B10寿命的保守端加适当工程系数并做两个分布的对比评审。这套流程看起来平淡但它逼着分析人员把统计结果和工程背景放在一起看而不是让软件输出替你做决定。5.3 机理优先双拟合兜底说回两个分布本身的关系。有人认为Lognormal是Weibull的某种特例这说法不够准确。严格说如果lnT服从极值分布T才服从Weibull而Lognormal对应的是lnT服从正态分布。它们在数学上同属于位置-尺度分布族在对数域下的不同分支天然就是长得像但性格不同的两兄弟。我个人这几年在项目里的体会是凡是涉及抗疲劳、机械断裂、绝缘失效这类由系统最弱环节主导的场景先试Weibull凡是涉及化学反应、扩散、电迁移这类损伤按百分比叠加的退化过程先试Lognormal。两条路都跑一遍把概率图和AIC拿出来对比再结合机理判断。这一套组合拳下来项目里因为分布选型引起的反复争论少了很多。