Design of Experiments (DOE) creates sample points in parameter space to efficiently explore simulation behavior. The goal is to maximize information gained per simulation run.
Installs into .claude/skills of the current project.
Are you the author of 2920 Doe Methods 67382ad0?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/tools-only-2920-doe-methods-67382ad0)
# Design of Experiments (DOE) Methods
## Overview
Design of Experiments (DOE) creates sample points in parameter space to efficiently explore simulation behavior. The goal is to maximize information gained per simulation run.
## Method Comparison
| Method | Sample Count | Space Coverage | Best Dimension | Deterministic |
|--------|--------------|----------------|----------------|---------------|
| LHS | User-defined | Good | 3-20 | No (random) |
| Sobol | User-defined | Excellent | 2-15 | Yes |
| Factorial | k^d (levels^dim) | Complete | 1-3 | Yes |
---
## Latin Hypercube Sampling (LHS)
### How It Works
LHS divides each parameter range into `n` equal intervals, then places exactly one sample in each interval per dimension. This ensures no two samples share the same row or column in any 2D projection.
```
Example: 5 samples in 2D
1.0 | x | | | x |
0.8 | x | | | | |
0.6 | | | | x | |
0.4 | | | x | | |
0.2 | | x | | | |
+-----+-----+-----+-----+-----+
0.2 0.4 0.6 0.8 1.0
```
### When to Use
- General parameter exploration
- Moderate dimensions (3-20 parameters)
- Unknown response surface shape
- Limited simulation budget
### When to Avoid
- Need exact corner/edge coverage
- Very low dimensions where factorial is feasible
- Reproducibility required (use fixed seed)
### Sample Size Recommendations
| Dimension | Minimum Samples | Recommended |
|-----------|-----------------|-------------|
| 2-3 | 10 | 20-30 |
| 4-6 | 20 | 40-60 |
| 7-10 | 30 | 60-100 |
| 11-20 | 50 | 100-200 |
---
## Sobol Sequences (Quasi-Random)
### How It Works
Sobol sequences are low-discrepancy sequences that fill space more uniformly than random sampling. Points are generated deterministically using bit operations on direction numbers.
```
Example: Sobol vs Random in 2D (16 points)
Sobol (uniform fill) Random (clusters/gaps)
+---+---+---+---+ +---+---+---+---+
| x | | x | | | | x | | x |
+---+---+---+---+ +---+---+---+---+
| | x | | x | | x | | | |
+---+---+---+---+ +---+---+---+---+
| x | | x | | | | x | x | x |
+---+---+---+---+ +---+---+---+---+
| | x | | x | | | | x | |
+---+---+---+---+ +---+---+---+---+
```
### When to Use
- Sensitivity analysis (Sobol indices)
- Need uniform coverage guarantees
- Reproducible experiments
- Sequential sampling (can add points incrementally)
### When to Avoid
- Very high dimensions (>15, curse of dimensionality)
- Need stratified random sampling
### Sample Size Recommendations
For Sobol sensitivity analysis, use `N * (d + 2)` samples where:
- `N` = base sample size (64, 128, 256, 512, 1024)
- `d` = number of parameters
| Dimension | Base N | Total Samples |
|-----------|--------|---------------|
| 3 | 64 | 320 |
| 5 | 128 | 896 |
| 10 | 256 | 3072 |
---
## Full Factorial Design
### How It Works
Factorial designs test all combinations of discrete parameter levels. For `k` levels across `d` dimensions, this produces `k^d` samples.
```
Example: 3 levels, 2 dimensions = 9 samples
High | x x x |
| |
Med | x x x |
| |
Low | x x x |
+-----------+
L M H
```
### When to Use
- Low dimensions (1-3 parameters)
- Need exact corner coverage
- Testing parameter interactions
- Screening designs
### When to Avoid
- High dimensions (exponential growth)
- Continuous parameters with smooth response
- Limited budget
### Sample Count Growth
| Dimension | 2 Levels | 3 Levels | 5 Levels |
|-----------|----------|----------|----------|
| 2 | 4 | 9 | 25 |
| 3 | 8 | 27 | 125 |
| 4 | 16 | 81 | 625 |
| 5 | 32 | 243 | 3125 |
---
## Decision Flowchart
```
START
|
v
Is d <= 3 AND need corner coverage?
|
+-- YES --> FACTORIAL
|
+-- NO --> Is sensitivity analysis the goal?
|
+-- YES --> SOBOL
|
+-- NO --> LHS
```
## Implementation Notes
The `doe_generator.py` script in this skill:
- Uses standard library only (no scipy/numpy required)
- LHS: True Latin Hypercube with random permutations
- Sobol: Simplified quasi-random (for full Sobol, use scipy.stats.qmc)
- Factorial: Full grid with level interpolation