4. 三参数威布尔分布的位置参数估计

三参数威布尔模型与位置参数的作用

两参数威布尔分布假设寿命从 0 开始就可能失效,但许多产品存在一个“最小寿命”门槛:在门槛之前几乎不可能失效。三参数威布尔分布引入位置参数 γ(也称最小寿命或阈值参数),其可靠度函数为:

R(t) = exp{ −[ (t − γ) / η ]^β },t ≥ γ;当 t < γ 时 R(t) = 1。

其中 β 为形状参数,η 为尺度参数(特征寿命,相对 γ 的偏移量),γ 为位置参数。γ 的物理含义是“最早可能失效的时间”,它把分布整体沿时间轴右移。若忽略 γ 而直接用两参数拟合,会系统性低估早期可靠度、扭曲 β 的估计。

位置参数 γ 对失效密度 f(t) 的影响(β=2.0, η=800h 固定) t / h f(t) 0 200 400 600 800 1000 γ = 0(两参数) γ = 150 h γ = 300 h γ₁ γ₂ γ=0:从 t=0 起可失效 γ=150:150h 前不失效 γ=300:300h 前不失效

从图中可见:γ 越大,密度曲线整体右移,左侧被“截断”。这意味着在 γ 之前的数据点理论上不应出现失效;若试验中在 γ 之前观察到失效,说明模型假设与数据矛盾,需要重新审视失效机理或数据质量。

位置参数估计的实操方法

三参数威布尔分布的 MLE 对 γ 的估计较为敏感,直接三维搜索容易陷入局部最优。工程上常用“条件 MLE + 一维搜索”策略:固定 γ,对剩余数据做两参数 MLE,再以对数似然为目标对 γ 做一维优化。

关键约束:γ 必须小于样本中的最小失效时间 t(1)。若 γ ≥ t(1),则第一个失效点落在分布支撑集之外,似然函数无定义。因此搜索区间为 [0, t(1))。

下面用一组教学示例数据演示完整流程。数据为某轴承的失效时间(小时),共 12 个失效样本,无删失:

t = [152, 198, 245, 310, 380, 455, 530, 620, 710, 820, 950, 1100]

最小失效时间 t(1) = 152 h,因此 γ 的搜索上界为 152。使用 Python 实现条件 MLE 与一维搜索:

import numpy as np
from scipy.optimize import minimize_scalar
from scipy.stats import weibull_min

t = np.array([152, 198, 245, 310, 380, 455, 530, 620, 710, 820, 950, 1100], dtype=float)

def neg_log_lik_gamma(gamma):
    """固定 gamma,对 (t - gamma) 做两参数 Weibull MLE,返回负对数似然"""
    if gamma >= t.min():
        return 1e12  # 约束:gamma 必须小于最小失效时间
    shifted = t - gamma
    # 两参数 Weibull MLE(形状 c,尺度 scale)
    c, loc, scale = weibull_min.fit(shifted, floc=0)
    # 对数似然:sum log f(t_i)
    logpdf = weibull_min.logpdf(shifted, c, loc=0, scale=scale)
    return -np.sum(logpdf)

# 一维搜索 gamma,区间 [0, t_min)
res = minimize_scalar(neg_log_lik_gamma, bounds=(0, t.min() - 1e-6), method='bounded')
gamma_hat = res.x

# 用最优 gamma 重新拟合 beta 和 eta
shifted = t - gamma_hat
beta_hat, _, eta_hat = weibull_min.fit(shifted, floc=0)

print(f"gamma_hat = {gamma_hat:.2f} h")
print(f"beta_hat  = {beta_hat:.4f}")
print(f"eta_hat   = {eta_hat:.2f} h")
print(f"负对数似然 = {res.fun:.4f}")

示例运行结果(教学示例,非实测):

gamma_hat = 98.35 h
beta_hat  = 2.147
eta_hat   = 612.80 h
负对数似然 = 78.42

解释:估计得到最小寿命约 98 h,形状参数约 2.15(略大于 2,说明失效概率随时间缓慢上升),特征寿命(相对 γ)约 613 h,即绝对特征寿命约为 γ + η ≈ 711 h。

拟合优度评估

三参数模型比两参数多一个参数,必须检查增益是否显著。常用方法:

  • 对数似然比检验:比较两参数与三参数模型的 −2ΔlnL,服从 χ²(1) 分布。若 −2ΔlnL > 3.84(α=0.05),则 γ 显著不为 0。
  • Anderson-Darling 统计量:对 (t − γ̂) 做两参数 Weibull 的 AD 检验,观察 p 值是否大于 0.05。
  • 概率图目视检查:将 t 变换为 ln(t − γ̂),在 Weibull 概率纸上应近似直线。

用示例数据计算两参数 MLE 的对数似然,与三参数比较:

# 两参数 MLE(不减去 gamma)
c2, _, scale2 = weibull_min.fit(t, floc=0)
ll2 = np.sum(weibull_min.logpdf(t, c2, loc=0, scale=scale2))
ll3 = -res.fun
lr_stat = 2 * (ll3 - ll2)
print(f"两参数对数似然 = {ll2:.4f}")
print(f"三参数对数似然 = {ll3:.4f}")
print(f"LR 统计量 = {lr_stat:.4f}, 临界值(0.05) = 3.84")
print("结论:", "γ 显著" if lr_stat > 3.84 else "γ 不显著")

示例输出(教学示例):

两参数对数似然 = -80.15
三参数对数似然 = -78.42
LR 统计量 = 3.46, 临界值(0.05) = 3.84
结论:γ 不显著
注意:本例中 LR 统计量 3.46 略低于 3.84,说明在这组数据下位置参数虽被估计为 98 h,但统计上尚不足以拒绝 γ=0。实际工程中应结合物理机理判断:若确有“最小寿命”证据(如材料疲劳极限、磨合期),即使统计不显著也可保留 γ;若纯数据驱动,则优先选两参数模型以避免过拟合。

实操检查清单

检查项判断标准不通过时的处理
γ 是否小于最小失效时间γ̂ < t(1)检查数据中是否有早于 γ 的失效,或重新设定搜索上界
γ 的物理合理性γ̂ 与已知最小寿命/磨合期一致若 γ̂ 过大或过小,检查失效机理是否单一
LR 检验−2ΔlnL > 3.84不显著时考虑退回两参数模型
AD 检验 p 值p > 0.05p 过小说明分布假设不成立,考虑混合模型
概率图线性ln(t−γ̂) 对 Weibull 变换近似直线弯曲说明 β 非常数,可能为混合分布

完成以上步骤后,即可得到三参数威布尔模型的完整参数 (γ̂, β̂, η̂),并据此计算任意时刻的可靠度 R(t) 与分位数寿命 tp = γ + η[−ln(1−p)]1/β。