Controlo Estatístico de Processos: A Base da Qualidade
As cartas de controlo são a pedra angular do controlo estatístico de processos (CEP), utilizando o desvio-padrão para monitorizar a estabilidade dos processos ao longo do tempo. Desenvolvidas por Walter Shewhart nos Laboratórios Bell na década de 1920, estas ferramentas poderosas distinguem entre variação de causa comum (inerente ao processo) e variação de causa especial (indicando problemas que necessitam de atenção).
A genialidade das cartas de controlo reside na sua simplicidade: representas as tuas medições ao longo do tempo, adicionas limites de controlo baseados no desvio-padrão e observas pontos ou padrões que sinalizam problemas. Esta monitorização em tempo real previne defeitos antes que ocorram, em vez de os detetar através de inspeção posterior.
A indústria moderna, a saúde e os serviços dependem das cartas de controlo para manter a qualidade. Desde a fabricação de semicondutores que exige precisão nanométrica até às taxas de infeção hospitalar, o CEP proporciona um quadro universal para a melhoria de processos.
Causa Comum vs. Causa Especial
Tipos de Cartas de Controlo
Diferentes tipos de dados requerem diferentes cartas de controlo. Escolher a carta correta garante uma monitorização precisa do processo:
| Tipo de Carta | Tipo de Dados | Caso de Uso |
|---|---|---|
| X̄-R (X-barra e Amplitude) | Contínuos, subgrupos n≤10 | Medições industriais |
| X̄-S (X-barra e DP) | Contínuos, subgrupos n>10 | Amostragem de lotes grandes |
| I-MR (Individual-Amplitude Móvel) | Medições individuais | Testes dispendiosos/destrutivos |
| Carta p | Proporção defeituosa | Inspeção aprovado/reprovado |
| Carta c | Contagem de defeitos | Defeitos por unidade |
Para dados contínuos (medições como comprimento, peso, temperatura), a carta X̄-R é a mais comum. Recolhes subgrupos de amostras, representas a média (X̄) numa carta e a amplitude (R) noutra. Em conjunto, monitorizam tanto o centramento como a variabilidade do processo.
Calcular Limites de Controlo
Os limites de controlo definem as fronteiras da variação esperada. São definidos a ±3 desvios-padrão da linha central, captando 99,73% dos pontos quando o processo está sob controlo:
Limites de Controlo
Para uma carta X̄ utilizando o método da amplitude, as fórmulas tornam-se:
Limites da Carta X-barra
Onde X̿ é a média global, R̄ é a amplitude média e A₂ é uma constante dependente da dimensão do subgrupo (e.g., A₂ = 0,577 para n=5).
Limites de Controlo ≠ Limites de Especificação
Constantes dos Limites de Controlo
| 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 |
Regras Western Electric para Detetar Problemas
Um único ponto fora dos limites de controlo não é o único sinal de problema. As regras Western Electric detetam padrões mais subtis, dividindo a carta em zonas baseadas em desvios-padrão:
- Zona C:Dentro de 1σ da linha central
- Zona B:Entre 1σ e 2σ do centro
- Zona A:Entre 2σ e 3σ do centro
As Quatro Regras Principais
Regra 1: Ponto Único
Regra 2: Sequência de 9
Regra 3: Tendência de 6
Regra 4: Padrão de Zona
Reconhecer Padrões Comuns
Profissionais experientes aprendem a reconhecer padrões visuais que indicam problemas específicos:
| Padrão | Aparência | Causa Provável |
|---|---|---|
| Mudança | Alteração súbita de nível | Novo operador, lote de material, ajuste de equipamento |
| Tendência | Desvio gradual para cima/baixo | Desgaste de ferramenta, variação de temperatura, fadiga |
| Ciclos | Padrão repetitivo para cima/baixo | Mudanças de turno, ciclos ambientais, rotações |
| Aglomeração | Pontos agrupam-se junto ao centro | Limites incorretos, dados arredondados/editados |
| Estratificação | Pontos evitam o centro | Fluxos misturados, múltiplas máquinas |
Implementação em Python
Criar uma carta de controlo X̄-R com verificação automática de regras:
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)