← Back to Assignments|↑ Back to Module

Group Assignment 4 - Discrete Probability Distributions

Assignment: Probability Distribution Analysis in Semiconductor Manufacturing (Group Assignment)

Assignment 4 Groups - Use this link to join a group. You should work together on a solution and report. Groups can contain 2 or more students. 


Background

You are a quality engineer at NanoChip Technologies, a semiconductor manufacturing company producing microprocessors. The company has collected data from multiple production scenarios that require statistical analysis to improve quality control and predict failure rates. Your task is to analyze these scenarios, identify the appropriate discrete probability distributions, and make data-driven recommendations.


Learning Objectives

By completing this assignment, students will be able to:

  1. Identify the appropriate discrete probability distribution based on problem characteristics
  2. Apply probability distributions to solve real-world engineering problems
  3. Use Python libraries (NumPy, SciPy, Matplotlib, Seaborn) for statistical analysis
  4. Create professional visualizations to communicate results
  5. Interpret results in an engineering context

Part 1: Wafer Defect Analysis (25 points)

Scenario

Your semiconductor fabrication facility produces silicon wafers in batches of 25. Historical data shows that the probability of any individual wafer having a critical defect is 0.03 (3%). The defects occur independently.

Tasks:

  1. Identify the Distribution: Explain why this scenario follows a specific discrete probability distribution. List the key characteristics that led to your choice.

  2. Analysis Requirements:

  3. Visualization (5 points): Create a bar plot showing the probability mass function (PMF) for 0 to 10 defective wafers.

Starter Code:

import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
from scipy import stats

# Set style for better-looking plots
sns.set_style("whitegrid")
plt.rcParams['figure.figsize'] = (10, 6)

# Define parameters
batch_size = 25
defect_probability = 0.03

# TODO: Identify and implement the correct distribution
# Hint: Consider what type of process this represents

# YOUR CODE HERE

Part 2: Clean Room Particle Detection (25 points)

Scenario

In your clean room facility, particle contamination events occur randomly at an average rate of 2.5 events per hour. You need to analyze the probability of contamination events during different time periods.

Tasks:

  1. Identify the Distribution: Explain which discrete distribution models this scenario and why.

  2. Analysis Requirements:

  3. Visualization:

Data Structure:

# Historical contamination data (events per hour for 30 days)
historical_data = [2, 3, 1, 4, 2, 3, 2, 1, 3, 2, 
                   4, 2, 3, 1, 2, 3, 2, 5, 2, 3,
                   1, 2, 3, 2, 4, 2, 3, 2, 1, 3]

# Verify the average rate using this historical data
# YOUR CODE HERE

Part 3: Chip Testing Until Failure (25 points)

Scenario

You are testing a new chip design where each chip has a 0.85 probability of passing a stress test. You continue testing chips sequentially until you find the first failure.

Tasks:

  1. Identify the Distribution: Identify the appropriate distribution and explain your reasoning.

  2. Analysis Requirements:

  3. Visualization:


Part 4: Multi-Stage Production Line (25 points)

Scenario

Your production line has 5 independent inspection stations. Each station has a different probability of detecting defects:

A defective chip passes through all stations. You want to analyze how many stations will detect the defect.

Tasks:

  1. Identify the Challenge: Explain why this scenario is more complex than the previous ones. Can you use a standard distribution? If not, how will you approach it?

  2. Simulation Approach:

  3. Advanced Visualization:

Simulation Framework:

def simulate_production_line(n_simulations=10000):
    """
    Simulate defective chips passing through inspection stations
    
    Returns:
    - detection_counts: array of how many stations detected each chip
    - station_detections: binary matrix of detection results
    """
    detection_probs = [0.95, 0.92, 0.88, 0.90, 0.93]
    
    # YOUR CODE HERE
    
    return detection_counts, station_detections

# Run simulation and analyze
detection_counts, station_detections = simulate_production_line()


Submission Requirements - I am giving a more detailed description of the report as this is a pretty extensive assignment. 

1. Written Report (PDF)

2. Code Submission

3. Visualization Portfolio


Grading Rubric

Component Points Criteria
Distribution Identification 20 Correctly identifies each distribution with clear justification
Calculations 30 Accurate probability calculations and statistical measures
Code Quality 20 Clean, efficient, well-documented Python code
Visualizations 20 Clear, professional, and informative plots
Interpretation 10 Meaningful engineering insights and recommendations
Bonus +10 Exceptional comparative analysis and interactive features

Resources and Hints

Python Libraries Documentation:

Distribution Quick Reference:

Tips for Success:

  1. Start by clearly identifying the characteristics of each scenario
  2. Test your code with simple examples first
  3. Verify calculations using multiple approaches when possible
  4. Focus on clear communication of results
  5. Consider edge cases and limitations of your models