3. 对数正态分布寿命数据建模
对数正态寿命模型的核心参数
对数正态分布适用于失效时间呈右偏、取对数后近似正态的寿命数据,常见于疲劳裂纹扩展、维修时间、半导体器件退化等场景。若寿命 T 服从对数正态分布,则 Y = ln(T) 服从正态分布 N(μ, σ²)。其中 μ 是对数均值(尺度参数),σ 是对数标准差(形状参数)。可靠度函数为:
R(t) = 1 − Φ[(ln t − μ) / σ],Φ 为标准正态累积分布函数。
参数估计采用最大似然法。对 n 个完全失效数据 t₁, t₂, …, tₙ,令 yᵢ = ln(tᵢ),则:
- 对数均值估计:μ̂ = (1/n) Σ yᵢ
- 对数标准差估计:σ̂ = √[(1/n) Σ (yᵢ − μ̂)²](MLE 形式,分母为 n)
若数据包含右删失,MLE 需用迭代法求解,不能直接用上述闭式公式。本例先以完全失效数据演示闭式估计与可靠度曲线绘制。
参数估计与可靠度计算实操
下面用 Python 对上述 14 个寿命数据完成对数均值、对数标准差估计,并绘制可靠度曲线。代码不依赖外部数据文件,可直接运行。
import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import norm
# 1. 输入寿命数据(小时)
t = np.array([120, 185, 210, 260, 310, 380, 450,
530, 640, 780, 920, 1100, 1350, 1600], dtype=float)
# 2. 对数变换
y = np.log(t)
# 3. MLE 参数估计(完全失效数据)
mu_hat = np.mean(y) # 对数均值
sigma_hat = np.sqrt(np.mean((y - mu_hat)**2)) # 对数标准差(MLE,分母 n)
print(f"mu_hat = {mu_hat:.4f}")
print(f"sigma_hat = {sigma_hat:.4f}")
print(f"中位寿命 t50 = {np.exp(mu_hat):.1f} h")
# 4. 可靠度函数 R(t) = 1 - Phi((ln t - mu)/sigma)
def reliability(t, mu, sigma):
return 1 - norm.cdf((np.log(t) - mu) / sigma)
# 5. 关键寿命点
for r in [0.9, 0.5, 0.1]:
t_r = np.exp(mu_hat + sigma_hat * norm.ppf(1 - r))
print(f"R={r:.1f} 对应寿命 t = {t_r:.1f} h")
# 6. 绘制可靠度曲线
t_grid = np.linspace(1, 2500, 500)
R_grid = reliability(t_grid, mu_hat, sigma_hat)
plt.figure(figsize=(8, 4.5))
plt.plot(t_grid, R_grid, color="#3182ce", lw=2.5, label="对数正态拟合")
plt.scatter(t, np.ones_like(t) * 0.02, marker="|", color="#e53e3e",
label="失效数据位置")
plt.axhline(0.5, color="#a0aec0", ls="--", lw=1)
plt.axvline(np.exp(mu_hat), color="#a0aec0", ls="--", lw=1)
plt.xlabel("寿命 t (h)")
plt.ylabel("可靠度 R(t)")
plt.title("对数正态寿命模型可靠度曲线")
plt.legend()
plt.grid(alpha=0.3)
plt.tight_layout()
plt.show()
结果判读与验证
| 输出项 | 示例结果 | 判读要点 |
|---|---|---|
| μ̂ | 5.958 | 对数均值,e^μ̂ 为中位寿命 |
| σ̂ | 0.812 | 对数标准差,越大寿命越分散 |
| t₅₀ | 387 h | 50% 产品失效的时间点 |
| t₁₀(R=0.9) | 约 137 h | 10% 早期失效点,用于保修评估 |
| t₉₀(R=0.1) | 约 1090 h | 90% 失效点,用于寿命上限评估 |
若数据含右删失(未失效样本),上述闭式公式不再适用,需用 Newton-Raphson 或 EM 算法迭代求解 μ̂ 和 σ̂。此外,建议用 Q-Q 图或 Anderson-Darling 检验验证对数变换后的正态性,若拟合不佳可考虑威布尔或混合分布。