4、寿命数据分析:完全数据与删失数据、Kaplan-Meier估计法、指数分布与威布尔分布的参数估计

各位工程师朋友,咱们今天聊寿命数据分析。这玩意儿说白了,就是回答一个问题:这东西到底能用多久?

我做了十几年可靠性,见过太多人一上来就套公式。结果呢?数据不对,模型选错,最后算出来的MTBF(平均无故障时间)根本没法用。今天咱们就把这块硬骨头啃下来。

4.1 完全数据与删失数据

先说说数据。你手头拿到的寿命数据,其实分两种。

完全数据,就是每个样品都测到了失效。比如我测10个灯泡,一直等到它们全烧坏。每个灯泡的寿命我都知道。这种数据最完美,但现实中很少见。

为什么?因为没那么多时间等。你想想看,一个产品设计寿命10年,你等得起吗?

所以就有了删失数据。我遇到过最典型的情况:项目周期到了,产品还没坏。这时候你只知道它「至少活了这么久」,但不知道具体能活多久。这就是右删失数据。

还有左删失和区间删失。左删失是「不知道什么时候开始坏的」,区间删失是「只知道在某个时间段内坏了」。嗯,这里要注意,删失数据不是坏数据,它同样包含有价值的信息。

核心要点:删失数据告诉我们「下限」,完全数据告诉我们「精确值」。两者结合,才能做出靠谱的寿命评估。

4.2 Kaplan-Meier估计法

好,数据有了,怎么估计生存率?我个人习惯用Kaplan-Meier法,简称K-M法。它是个非参数方法,说白了就是不假设数据服从什么分布,直接算。

K-M法的核心思想很简单:在每个失效时间点,计算「活到这一刻的概率」。公式长这样:

S(t) = ∏ (1 - dᵢ / nᵢ)

其中dᵢ是tᵢ时刻的失效数,nᵢ是tᵢ时刻之前还存活的数量。

我举个例子。假设我们测了10个样品,失效时间分别是:2, 3, 5, 7, 8, 10(月)。还有4个在12个月时被截尾(项目结束,没坏)。

时间t(月) 存活数nᵢ 失效数dᵢ 生存率S(t)
0 10 0 1.000
2 10 1 0.900
3 9 1 0.800
5 8 1 0.700
7 7 1 0.600
8 6 1 0.500
10 5 1 0.400
12(截尾) 4 0 0.400

你看,到第10个月,生存率是40%。那4个截尾的样品,虽然没坏,但它们的贡献在于:让前面的生存率计算更准确

实战技巧:K-M法画出来的阶梯图,每个台阶代表一次失效。台阶越陡,说明那个时间点失效越集中。我曾经用这个方法帮一个客户找到了产品的「早期失效期」——原来是个批次问题。

4.3 指数分布的参数估计

K-M法虽然好,但它只能给出经验生存率。有时候我们需要一个数学模型来预测更长时间的表现。这时候就要请出指数分布了。

指数分布的特点是失效率恒定。说白了,就是产品不会「老化」——它在第1年坏的概率和第10年坏的概率一样。这听起来有点反直觉,但确实适用于某些电子元器件。

它的概率密度函数是:

f(t) = λ · e^(-λt)

其中λ是失效率,MTBF = 1/λ。

参数估计用最大似然法。对于完全数据,λ的估计值就是:

λ̂ = 总失效数 / 总试验时间

举个例子。测了5个产品,失效时间分别是100, 200, 300, 400, 500小时。总试验时间就是100+200+300+400+500=1500小时。λ̂ = 5/1500 = 0.00333。MTBF = 300小时。

如果有删失数据呢?总试验时间要加上删失样品的存活时间。比如上面那个例子,如果第5个产品在500小时时还没坏(删失),那总试验时间就是100+200+300+400+500=1500小时,但失效数只有4。λ̂ = 4/1500 = 0.00267。

注意:指数分布假设失效率恒定。如果你发现产品有「浴盆曲线」特征(早期失效多、后期老化),千万别用指数分布。我曾经见过有人硬套指数分布,结果MTBF算出来偏大50%——后来发现产品有明显的磨损期。

4.4 威布尔分布的参数估计

指数分布太理想化了。现实中,大多数产品都会老化。这时候威布尔分布就派上用场了。

威布尔分布有两个关键参数:

  • 形状参数β:决定失效率的变化趋势。β<1表示早期失效(失效率递减),β=1就是指数分布,β>1表示耗损失效(失效率递增)。
  • 尺度参数η:也叫特征寿命,表示63.2%的产品失效的时间点。

它的概率密度函数是:

f(t) = (β/η) · (t/η)^(β-1) · e^(-(t/η)^β)

参数估计通常用最小二乘法最大似然法。我个人习惯用最大似然法,因为它能很好地处理删失数据。

举个实际案例。我测了一批轴承的寿命(小时):150, 200, 225, 275, 300, 350, 400, 450, 500, 600。用最大似然法算出来:

  • β̂ = 2.8(说明是耗损失效,β>1)
  • η̂ = 380小时(特征寿命)

这意味着什么?到380小时,大约63%的轴承会坏。如果你想保证90%的存活率,可以算一下:

t₀.₉ = η · (-ln(0.9))^(1/β) = 380 · (-ln(0.9))^(1/2.8) ≈ 180小时

也就是说,如果要求90%的轴承在180小时内不坏,这个设计是合格的。

我的经验:威布尔分布的β值是个「诊断工具」。β≈1,说明产品随机失效,可能是设计裕度不够;β>3,说明有明显的磨损机制,该考虑定期更换了。

4.5 知识体系总览

下面这张图,是我自己总结的寿命数据分析流程。你照着走,基本不会跑偏。

寿命数据分析流程 数据采集 数据分类 完全数据 删失数据 非参数估计 (K-M法) 参数估计 (指数/威布尔)

这张图展示了整个分析流程:先采集数据,然后判断是完全数据还是删失数据。接着用K-M法做非参数估计,看看生存率的大致形状。最后根据数据特征,选择指数分布或威布尔分布做参数估计,得到具体的数学模型。

我的建议:别一上来就套参数模型。先用K-M法画个生存曲线,看看趋势。如果曲线是直线下降,考虑指数分布;如果是S形,考虑威布尔分布。这叫「先看后算」,能避免很多坑。

好了,寿命数据分析这块,核心就是这些。数据分类要搞清,K-M法要会用,参数估计要选对模型。你想想看,掌握了这些,是不是对产品的寿命心里就有底了?


公众号:蓝海资料掘金营,微信deep3321