Statistické řízení procesů: Základ kvality
Regulační diagramy jsou základním kamenem statistického řízení procesů (SPC) a využívají směrodatnou odchylku k monitorování stability procesů v čase. Tyto účinné nástroje, které vyvinul Walter Shewhart v Bell Labs ve 20. letech 20. století, rozlišují mezi variabilitou ze společných příčin (vlastní procesu) a variabilitou ze zvláštních příčin (indikující problémy vyžadující pozornost).
Genialita regulačních diagramů spočívá v jejich jednoduchosti: vyneste svá měření v čase, přidejte regulační meze založené na směrodatné odchylce a sledujte body nebo vzorce signalizující problémy. Toto monitorování v reálném čase předchází vadám dříve, než vzniknou, namísto jejich odhalování dodatečnou kontrolou.
Moderní výroba, zdravotnictví a služby spoléhají na regulační diagramy k udržení kvality. Od výroby polovodičů vyžadující nanometrovou přesnost po nemocniční míry infekce poskytuje SPC univerzální rámec pro zlepšování procesů.
Společné vs. zvláštní příčiny
Typy regulačních diagramů
Různé typy dat vyžadují různé regulační diagramy. Výběr správného diagramu zajišťuje přesné monitorování procesu:
| Typ diagramu | Typ dat | Použití |
|---|---|---|
| X̄-R (průměr a rozpětí) | Spojitá data, podskupiny n≤10 | Výrobní měření |
| X̄-S (průměr a SO) | Spojitá data, podskupiny n>10 | Vzorkování velkých dávek |
| I-MR (individuální-klouzavé rozpětí) | Individuální měření | Nákladné/destruktivní testování |
| p-diagram | Podíl vadných | Kontrola jakosti (splňuje/nesplňuje) |
| c-diagram | Počet vad | Vady na jednotku |
Pro spojitá data (měření jako délka, hmotnost, teplota) je nejběžnější diagram X̄-R. Sbíráte podskupiny vzorků, vynášíte průměr (X̄) na jeden diagram a rozpětí (R) na druhý. Společně monitorují jak centrování procesu, tak jeho variabilitu.
Výpočet regulačních mezí
Regulační meze definují hranice očekávané variability. Nastavují se na ±3 směrodatné odchylky od centrální linie a zachycují 99,73 % bodů, pokud je proces pod kontrolou:
Regulační meze
Pro diagram X̄ s použitím metody rozpětí jsou vzorce:
Meze diagramu X-bar
Kde X̿ je celkový průměr, R̄ je průměrné rozpětí a A₂ je konstanta závisející na velikosti podskupiny (např. A₂ = 0,577 pro n=5).
Regulační meze ≠ Specifikační meze
Konstanty pro regulační meze
| 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 |
Western Electric pravidla pro detekci problémů
Jeden bod mimo regulační meze není jediným signálem problému. Western Electric pravidla detekují jemnější vzorce rozdělením diagramu do zón podle směrodatných odchylek:
- Zóna C:V rozmezí 1σ od centrální linie
- Zóna B:Mezi 1σ a 2σ od centrální linie
- Zóna A:Mezi 2σ a 3σ od centrální linie
Čtyři základní pravidla
Pravidlo 1: Jednotlivý bod
Pravidlo 2: Série 9 bodů
Pravidlo 3: Trend 6 bodů
Pravidlo 4: Vzorec v zónách
Rozpoznávání typických vzorců
Zkušení praktici se naučí rozpoznávat vizuální vzorce indikující konkrétní problémy:
| Vzorec | Vzhled | Pravděpodobná příčina |
|---|---|---|
| Posun | Náhlá změna úrovně | Nový operátor, šarže materiálu, seřízení zařízení |
| Trend | Postupný posun nahoru/dolů | Opotřebení nástroje, teplotní drift, únava |
| Cykly | Opakující se vzorec nahoru/dolů | Střídání směn, cykly prostředí, rotační plány |
| Ulpívání | Body shluknuté kolem středu | Nesprávné meze, zaokrouhlená/upravená data |
| Stratifikace | Body se vyhýbají středu | Smíšené toky, více strojů |
Implementace v Pythonu
Vytvoření regulačního diagramu X̄-R s automatickou kontrolou pravidel:
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)