Kiểm soát quy trình thống kê: Nền tảng của chất lượng
Biểu đồ kiểm soát là nền tảng của kiểm soát quy trình thống kê (SPC), sử dụng độ lệch chuẩn để giám sát tính ổn định quy trình theo thời gian. Được phát triển bởi Walter Shewhart tại Bell Labs vào thập niên 1920, các công cụ mạnh mẽ này phân biệt giữa biến thiên nguyên nhân chung (cố hữu trong quy trình) và biến thiên nguyên nhân đặc biệt (chỉ ra vấn đề cần chú ý).
Sự thiên tài của biểu đồ kiểm soát nằm ở tính đơn giản: vẽ phép đo theo thời gian, thêm giới hạn kiểm soát dựa trên độ lệch chuẩn, và quan sát các điểm hoặc mẫu hình báo hiệu sự cố. Giám sát thời gian thực này ngăn ngừa lỗi trước khi chúng xảy ra, thay vì phát hiện qua kiểm tra sau đó.
Ngành sản xuất, y tế và dịch vụ hiện đại dựa vào biểu đồ kiểm soát để duy trì chất lượng. Từ chế tạo bán dẫn đòi hỏi độ chính xác nanomet đến tỷ lệ nhiễm khuẩn bệnh viện, SPC cung cấp khung công tác phổ quát cho cải tiến quy trình.
Nguyên nhân chung và đặc biệt
Các loại biểu đồ kiểm soát
Các loại dữ liệu khác nhau cần biểu đồ kiểm soát khác nhau. Chọn biểu đồ đúng đảm bảo giám sát quy trình chính xác:
| Loại biểu đồ | Loại dữ liệu | Trường hợp sử dụng |
|---|---|---|
| X̄-R (X-bar và Khoảng biến thiên) | Liên tục, nhóm con n≤10 | Phép đo sản xuất |
| X̄-S (X-bar và Độ lệch chuẩn) | Liên tục, nhóm con n>10 | Lấy mẫu lô lớn |
| I-MR (Cá thể-Khoảng biến thiên di động) | Phép đo riêng lẻ | Kiểm tra tốn kém/phá hủy |
| p-chart | Tỷ lệ lỗi | Kiểm tra đạt/không đạt |
| c-chart | Số lượng khuyết tật | Khuyết tật trên đơn vị |
Với dữ liệu liên tục (phép đo như chiều dài, trọng lượng, nhiệt độ), biểu đồ X̄-R phổ biến nhất. Bạn thu thập nhóm con mẫu, vẽ trung bình (X̄) trên một biểu đồ và khoảng biến thiên (R) trên biểu đồ khác. Kết hợp lại, chúng giám sát cả tính tập trung và biến thiên của quy trình.
Tính giới hạn kiểm soát
Giới hạn kiểm soát xác định ranh giới biến thiên kỳ vọng. Chúng được đặt tại ±3 độ lệch chuẩn từ đường tâm, nắm bắt 99,73% điểm khi quy trình ổn định:
Giới hạn kiểm soát
Với biểu đồ X̄ sử dụng phương pháp khoảng biến thiên, công thức trở thành:
Giới hạn biểu đồ X-bar
Trong đó X̿ là trung bình tổng, R̄ là khoảng biến thiên trung bình, và A₂ là hằng số phụ thuộc kích thước nhóm con (ví dụ: A₂ = 0,577 cho n=5).
Giới hạn kiểm soát ≠ Giới hạn kỹ thuật
Hằng số giới hạn kiểm soát
| n | A₂ | D₃ | D₄ |
|---|---|---|---|
| 2 | 1,880 | 0 | 3,267 |
| 3 | 1,023 | 0 | 2,574 |
| 4 | 0,729 | 0 | 2,282 |
| 5 | 0,577 | 0 | 2,114 |
Quy tắc Western Electric để phát hiện vấn đề
Một điểm ngoài giới hạn kiểm soát không phải tín hiệu duy nhất cho thấy có sự cố. Quy tắc Western Electric phát hiện các mẫu hình tinh vi hơn bằng cách chia biểu đồ thành các vùng dựa trên độ lệch chuẩn:
- Vùng C:Trong phạm vi 1σ từ đường tâm
- Vùng B:Giữa 1σ và 2σ từ tâm
- Vùng A:Giữa 2σ và 3σ từ tâm
Bốn quy tắc chính
Quy tắc 1: Điểm đơn lẻ
Quy tắc 2: Chuỗi 9
Quy tắc 3: Xu hướng 6
Quy tắc 4: Mẫu hình vùng
Nhận diện mẫu hình phổ biến
Người có kinh nghiệm học cách nhận diện các mẫu hình trực quan chỉ ra vấn đề cụ thể:
| Mẫu hình | Hình dạng | Nguyên nhân có thể |
|---|---|---|
| Dịch chuyển | Thay đổi mức đột ngột | Nhân viên mới, lô nguyên liệu, điều chỉnh thiết bị |
| Xu hướng | Trôi dạt dần lên/xuống | Mòn dụng cụ, trôi nhiệt độ, mệt mỏi |
| Chu kỳ | Mẫu hình lặp lên/xuống | Thay ca, chu kỳ môi trường, lịch luân chuyển |
| Bám sát | Điểm tập trung gần tâm | Giới hạn không chính xác, dữ liệu bị làm tròn/chỉnh sửa |
| Phân tầng | Điểm tránh tâm | Dòng hỗn hợp, nhiều máy |
Triển khai Python
Tạo biểu đồ kiểm soát X̄-R với kiểm tra quy tắc tự động:
import numpy as np
import matplotlib.pyplot as plt
def create_xbar_chart(data, subgroup_size=5):
"""Create X-bar control chart with control limits."""
# Reshape data into subgroups
n_subgroups = len(data) // subgroup_size
subgroups = data[:n_subgroups * subgroup_size].reshape(n_subgroups, subgroup_size)
# Calculate subgroup means and ranges
xbar = subgroups.mean(axis=1)
R = subgroups.max(axis=1) - subgroups.min(axis=1)
# Control chart constants (for n=5)
A2 = 0.577
D3, D4 = 0, 2.114
# Calculate control limits
xbar_bar = xbar.mean()
R_bar = R.mean()
UCL = xbar_bar + A2 * R_bar
LCL = xbar_bar - A2 * R_bar
# Check for out-of-control points
ooc = (xbar > UCL) | (xbar < LCL)
# Plot
plt.figure(figsize=(12, 5))
plt.plot(xbar, 'b-o', markersize=4)
plt.axhline(xbar_bar, color='g', linestyle='-', label='CL')
plt.axhline(UCL, color='r', linestyle='--', label='UCL')
plt.axhline(LCL, color='r', linestyle='--', label='LCL')
plt.scatter(np.where(ooc)[0], xbar[ooc], color='red', s=100, zorder=5)
plt.xlabel('Subgroup')
plt.ylabel('X-bar')
plt.title('X-bar Control Chart')
plt.legend()
plt.show()
return {'xbar': xbar, 'UCL': UCL, 'LCL': LCL, 'ooc': ooc}
# Example: Monitor a manufacturing process
np.random.seed(42)
# Simulate 100 measurements (20 subgroups of 5)
measurements = np.random.normal(100, 2, 100)
# Add a shift at subgroup 15
measurements[75:] += 3
result = create_xbar_chart(measurements)