Phân tích Weibull là gì? β, η, độ tin cậy R(t) và tuổi thọ B10 | Ví dụ Python
Nội dung bài viết 10 mục
MTBF cho biết “trung bình bao lâu hỏng một lần”, nhưng không cho biết hỏng sớm, ngẫu nhiên hay do mòn. Hai loại vòng bi cùng MTBF 3.000 giờ có thể cần chiến lược bảo trì hoàn toàn khác nhau. Phân tích Weibull trả lời câu hỏi đó và cho phép tính độ tin cậy tại bất kỳ thời điểm nào.
Tóm tắt nhanh
- Phân phối Weibull mô tả dữ liệu tuổi thọ, cho biết hỏng sớm, ngẫu nhiên hay do mòn – điều MTBF không cho biết.
- Độ tin cậy R(t) = exp[−(t/η)^β]; η là tuổi thọ đặc trưng, thời điểm 63,2% tổng thể đã hỏng.
- β < 1 là hỏng sớm, β ≈ 1 là hỏng ngẫu nhiên, β > 1 là hỏng do mòn – mỗi loại có chiến lược bảo trì khác nhau.
- Lỗi lớn: trộn nhiều dạng hỏng trong một tập dữ liệu, bỏ dữ liệu bị cắt, dùng thời gian lịch thay giờ chạy thực.
Phân phối Weibull là gì?
Weibull là phân phối thống kê do Waloddi Weibull công bố năm 1951, linh hoạt đến mức mô tả được hầu hết dữ liệu tuổi thọ cơ khí, điện, vật liệu. Dạng hai tham số:
- Độ tin cậy: R(t) = exp[−(t/η)^β]
- Xác suất hỏng tích lũy: F(t) = 1 − R(t)
- Tốc độ hỏng tức thời: h(t) = (β/η)·(t/η)^(β−1)
Ý nghĩa β và η
| Tham số | Tên | Ý nghĩa |
|---|---|---|
| β (beta) | Tham số hình dạng | Cho biết kiểu hỏng |
| η (eta) | Tham số tỷ lệ (tuổi thọ đặc trưng) | Thời điểm 63,2% tổng thể đã hỏng (vì F(η) = 1 − e⁻¹) |
| Giá trị β | Tốc độ hỏng | Giai đoạn “đường cong bồn tắm” | Chiến lược gợi ý |
|---|---|---|---|
| β < 1 | Giảm dần | Hỏng sớm (lỗi lắp đặt, lỗi chế tạo) | Burn-in, kiểm soát lắp đặt; không thay định kỳ |
| β ≈ 1 | Không đổi | Hỏng ngẫu nhiên (phân phối mũ) | Giám sát tình trạng, chạy đến hỏng nếu hậu quả nhỏ |
| β > 1 | Tăng dần | Hao mòn, mỏi, ăn mòn | Thay thế/đại tu theo thời gian trước khi hỏng |
Với β ≈ 1, MTBF và Weibull cho kết quả như nhau; với β khác 1, chỉ dùng MTBF sẽ dẫn đến kế hoạch bảo trì sai.
Các bước phân tích Weibull
| Bước | Việc làm |
|---|---|
| 1 | Thu thập thời gian đến khi hỏng (giờ chạy, chu kỳ, km) của cùng một dạng hỏng |
| 2 | Sắp xếp tăng dần, gán thứ hạng i |
| 3 | Tính median rank (công thức Bernard): F ≈ (i − 0,3)/(n + 0,4) |
| 4 | Biến đổi: x = ln(t), y = ln[−ln(1 − F)] |
| 5 | Hồi quy tuyến tính y theo x: độ dốc = β, η = exp(−hệ số chặn/β) |
| 6 | Kiểm tra độ khớp (R², điểm có nằm trên đường thẳng không) |
| 7 | Tính R(t), B10, MTTF và ra quyết định bảo trì |
Ví dụ nhà máy Việt Nam (minh hoạ)
Nhà máy dệt ở Nam Định ghi nhận giờ chạy đến khi hỏng của 8 vòng bi trục chính máy dệt (cùng dạng hỏng: tróc rỗ bề mặt): 1.200; 1.850; 2.300; 2.700; 3.100; 3.600; 4.100; 4.900 giờ.
import math
t = [1200, 1850, 2300, 2700, 3100, 3600, 4100, 4900]
n = len(t)
F = [(i - 0.3) / (n + 0.4) for i in range(1, n + 1)]
x = [math.log(v) for v in t]
y = [math.log(-math.log(1 - f)) for f in F]
mx, my = sum(x) / n, sum(y) / n
sxy = sum((a - mx) * (b - my) for a, b in zip(x, y))
sxx = sum((a - mx) ** 2 for a in x)
syy = sum((b - my) ** 2 for b in y)
beta = sxy / sxx
eta = math.exp(-(my - beta * mx) / beta)
r2 = sxy ** 2 / (sxx * syy)
R = lambda tt: math.exp(-(tt / eta) ** beta)
b10 = eta * (-math.log(0.9)) ** (1 / beta)
mttf = eta * math.gamma(1 + 1 / beta)
print(round(beta, 2), round(eta), round(r2, 4)) # 2.39 3385 0.9994
print(round(R(2000), 3), round(R(3000), 3)) # 0.753 0.473
print(round(b10), round(mttf)) # 1322 3000
| Kết quả | Giá trị | Diễn giải |
|---|---|---|
| β | ≈ 2,39 | > 1 → hỏng do hao mòn |
| η | ≈ 3.385 giờ | 63,2% vòng bi hỏng trước mốc này |
| R² | ≈ 0,999 | Dữ liệu khớp rất tốt với Weibull |
| R(2.000 h) | ≈ 75,3% | Cứ 4 vòng bi thì khoảng 1 hỏng trước 2.000 h |
| R(3.000 h) | ≈ 47,3% | Chạy đến MTTF thì hơn nửa đã hỏng |
| B10 | ≈ 1.322 giờ | 10% vòng bi hỏng trước mốc này |
| MTTF | ≈ 3.000 giờ | Tuổi thọ trung bình |
Quyết định: nếu thay vòng bi theo MTTF 3.000 giờ, hơn 50% sẽ hỏng đột xuất trước đó. Vì β > 1, thay chủ động là hợp lý; nhà máy chọn mốc khoảng 1.300 giờ (≈ B10) cho trục chính quan trọng, kết hợp đo rung để kéo dài với máy ít quan trọng. Đây chính là đầu vào cho nhiệm vụ “thay thế theo thời gian” trong RCM.
Kiểm tra lại mốc thay thế: R(1.300 h) = exp[−(1.300/3.385)^2,39] ≈ 0,904, tức khoảng 9–10% vòng bi vẫn hỏng trước khi đến hạn thay – khớp với định nghĩa B10. Nếu muốn rủi ro hỏng đột xuất chỉ 5%, mốc thay phải lùi về B5 ≈ 3.385 × (−ln 0,95)^(1/2,39) ≈ 980 giờ; chi phí thay tăng nhưng dừng máy ngoài kế hoạch giảm. Lựa chọn mốc là bài toán cân đối chi phí, không phải con số cố định.
Độ tin cậy có điều kiện
Một câu hỏi rất hay gặp ở xưởng: “vòng bi đã chạy 2.000 giờ chưa hỏng, xác suất nó chạy thêm 500 giờ nữa là bao nhiêu?”. Đáp án dùng độ tin cậy có điều kiện: R(500 | 2.000) = R(2.500) / R(2.000) ≈ 0,616 / 0,753 ≈ 0,82. So với vòng bi mới, R(500) ≈ 0,99 – rõ ràng vòng bi cũ rủi ro hơn nhiều. Đây là đặc trưng của β > 1; với β = 1 (hỏng ngẫu nhiên), kết quả có điều kiện bằng đúng R(500) của chi tiết mới, nên thay sớm không giúp được gì.
B10 và các mốc tuổi thọ
Bx life là thời điểm x% tổng thể đã hỏng: Bx = η·[−ln(1 − x/100)]^(1/β). B10 là thông số quen thuộc trong catalog vòng bi (tương đương L10). B1 dùng cho chi tiết an toàn.
Làm bằng Excel
- Cột thời gian, cột thứ hạng, cột F = (i−0,3)/(n+0,4).
- x = LN(t); y = LN(−LN(1−F)).
- β = SLOPE(y; x); η = EXP(−INTERCEPT(y; x)/β).
- R(t) = EXP(−(t/η)^β).
- Excel cũng có hàm WEIBULL.DIST để kiểm tra lại.
Lỗi thường gặp
- Trộn nhiều dạng hỏng trong một tập dữ liệu (hỏng do lắp sai lẫn với mòn) – đồ thị cong, β vô nghĩa.
- Bỏ dữ liệu bị cắt (suspension): chi tiết thay khi chưa hỏng vẫn chứa thông tin; cần phương pháp xử lý dữ liệu cắt (Johnson, MLE).
- Dùng thời gian lịch thay vì giờ chạy thực.
- Kết luận từ 3–4 điểm dữ liệu – khoảng tin cậy của β rất rộng.
- Thấy đồ thị cong mà vẫn ép đường thẳng; có thể cần Weibull 3 tham số (thời gian ngưỡng γ) hoặc phân phối khác.
Câu hỏi thường gặp
Cần tối thiểu bao nhiêu điểm dữ liệu? Có thể bắt đầu với 5–6 điểm, nhưng nên có 10 trở lên để β ổn định; luôn báo cáo kèm khoảng tin cậy khi ra quyết định lớn.
Median rank regression hay MLE? Hồi quy median rank trực quan và tốt cho mẫu nhỏ không bị cắt; MLE tốt hơn khi nhiều dữ liệu cắt.
Weibull khác MTBF thế nào? MTBF chỉ là một con số trung bình; Weibull cho cả hình dạng phân phối, từ đó tính được R(t) và Bx.
Bước tiếp theo
Kết hợp kết quả với FMECA để tính criticality, FTA để đưa xác suất hỏng vào cây sự cố, và TPM để triển khai bảo trì kế hoạch.

