Manufacturing Quality Control

# Manufacturing Quality Control

## Introduction & Motivation

Implementing statistical quality control through ML enables real-time monitoring and process adjustment for consistent product quality. ML models detect quality anomalies and suggest corrective actions.

Motivation: Monitor and control manufacturing quality.

Applications: SPC, anomaly detection, process adjustment, quality improvement.

---

## Core Concepts & Theory

### Statistical Process Control

Variation monitoring.

### Control Charts

Trend visualization.

### Six Sigma

Quality metrics.

### Capability Indices

Process capability.

---

## Mathematical Formulation

Control Limits:
$$ ext{UCL} = \mu + 3\sigma$$
$$ ext{LCL} = \mu - 3\sigma$$

Process Capability:
$$C_p = \frac{USL - LSL}{6\sigma}$$

Defects Per Million:
$$ ext{DPMO} = \frac{ ext{defects}}{1,000,000}$$

---

## Advanced Theory & Extensions

### EWMA Control

Exponential weighting.

### Multivariate SPC

Multiple variables.

### Pattern Detection

Special causes.

---

## Computational Considerations

Time Series: O(T·D) complexity.

Control Model: O(D²) network.

Detection: O(D) per sample.

---

## Practical Implementation Strategies

### Sensor Integration

Real-time data.

### Feature Extraction

Control statistics.

### Alert Generation

Anomaly flags.

---

## Benchmark Datasets & Evaluation

Manufacturing Data: Historical records.

Quality Standards: Industry specs.

Case Studies: Examples.

---

## Key Challenges & Limitations

### Noise

Measurement error.

### Seasonal Effects

Regular patterns.

### Concept Drift

Changing processes.

---

## Hyperparameter Tuning

Control limits: 2-4 sigma.

Moving average: 5-20 samples.

Smoothing: 0.1-0.3 rate.

---

## Real-World Applications & Case Studies

Automotive: Part dimensions.

Electronics: Component values.

Food Processing: Consistency.

---

## Integration with Other Methods

QC ML + data collection; + alarms; + corrective actions.

---

## Summary & Key Takeaways

ML enables comprehensive quality control.

Principles:
1. Monitoring: Real-time observation.
2. Control Limits: Specification enforcement.
3. Anomaly Detection: Outlier identification.
4. Root Cause: Problem diagnosis.
5. Correction: Process adjustment.

---

## Appendix: Practical Labs

### Lab 1: Control Chart Data

import numpy as np

def generate_control_chart_data(n_samples=100, mean=100, std=5):
 """Generate sample measurements"""
 data = np.random.normal(mean, std, n_samples)
 
 ucl = mean + 3 * std
 lcl = mean - 3 * std
 
 return data, ucl, lcl

data, ucl, lcl = generate_control_chart_data()

assert len(data) == 100, "Data generation failed"
assert ucl > 100 > lcl, "Control limits failed"
print(f"✓ Control chart data generated: {data.shape}")
print(f"✓ UCL: {ucl:.1f}, LCL: {lcl:.1f}")

### Lab 2: Capability Analysis

import numpy as np

def calculate_process_capability(data, usl, lsl):
 """Calculate process capability index"""
 mean = np.mean(data)
 std = np.std(data)
 
 Cp = (usl - lsl) / (6 * std)
 Cpk = min((usl - mean) / (3 * std), (mean - lsl) / (3 * std))
 
 return Cp, Cpk

data = np.random.normal(100, 5, 100)
usl, lsl = 115, 85

Cp, Cpk = calculate_process_capability(data, usl, lsl)

assert Cp > 0 and Cpk > 0, "Capability calculation failed"
print(f"✓ Cp: {Cp:.2f}, Cpk: {Cpk:.2f}")

### Lab 3: Anomaly Detection

import numpy as np

def detect_anomalies(data, threshold=3):
 """Detect anomalous measurements"""
 mean = np.mean(data)
 std = np.std(data)
 
 z_scores = np.abs((data - mean) / (std + 1e-6))
 anomalies = np.where(z_scores > threshold)[0]
 
 return anomalies

data = np.random.normal(100, 5, 100)
data[10] = 150 # Insert anomaly

anomalies = detect_anomalies(data)

assert len(anomalies) > 0, "Anomaly detection failed"
print(f"✓ Anomalies detected at indices: {anomalies}")

### Lab 4: Quality Metrics

import numpy as np

class QualityMonitor:
 def __init__(self, usl, lsl):
 self.usl = usl
 self.lsl = lsl
 
 def calculate_dpmo(self, defects, samples):
 """Calculate defects per million opportunities"""
 dpmo = (defects / samples) * 1000000
 return dpmo
 
 def calculate_sigma_level(self, dpmo):
 """Estimate sigma level from DPMO"""
 if dpmo <= 3.4:
 return 6.0
 elif dpmo <= 233:
 return 5.0
 else:
 return 4.0

monitor = QualityMonitor(usl=115, lsl=85)
dpmo = monitor.calculate_dpmo(5, 1000)
sigma = monitor.calculate_sigma_level(dpmo)

assert dpmo >= 0, "DPMO calculation failed"
print(f"✓ DPMO: {dpmo:.1f}, Sigma Level: {sigma:.1f}")

---

Go deeper with CFSGPT

Get AI-powered deep-dives, save terms, and run advanced simulations — free account.

Create Free Account