4. Data generation strategies
A surrogate model is only as trustworthy as the data it was trained on. In occupant response prediction — where a single finite element (FE) run of a full vehicle crash model with a Hybrid III or THOR dummy can take hours to days — the cost of every simulation forces a deliberate decision: which input combinations should we actually run? This chapter treats that decision as a formal design-of-experiments (DoE) problem, then connects the resulting sampling plan to measurable coverage of the design space.
From input space to a defensible sampling plan
Start by defining the design space explicitly. For an occupant simulation, the inputs are typically restraint-system and boundary parameters: seat belt anchor position, pretensioner firing time, load-limiter force level, airbag vent diameter, seat pan angle, and impact pulse scaling. Each parameter gets a physically valid range and, where relevant, a constraint. A representative setup might be:
parameter symbol range unit constraint
belt anchor height h_a 180 – 260 mm —
load limiter force F_ll 2.0 – 4.5 kN —
pretensioner time t_pt 8 – 25 ms t_pt < t_airbag
airbag vent diameter d_v 25 – 45 mm —
seat pan angle θ_s -5 – 15 deg —
pulse scaling factor k_p 0.85 – 1.15 — —
Two practical rules apply before any sampling. First, normalize every parameter to [0, 1] so that distance-based designs treat all dimensions fairly; a 40 mm belt-anchor range must not dominate a 0.3 pulse-scaling range. Second, screen the parameter list. Running a coarse one-at-a-time or Plackett–Burman screening pass on 6–10 factors identifies which parameters actually move the injury metrics (HIC15, chest deflection, neck Nij, femur force). Parameters with negligible effect can be fixed at nominal values, cutting the dimensionality of the expensive DoE that follows.
Choosing a sampling strategy
Three families dominate occupant-simulation practice, and the choice depends on how many runs you can afford and whether you need to estimate main effects or fill the space for a surrogate.
- Full factorial — every combination of levels. With 5 parameters at 3 levels this is 3⁵ = 243 runs, usually prohibitive. Use it only for 2–3 factors or as a small validation grid.
- Latin Hypercube Sampling (LHS) — divides each parameter range into n equal-probability strata and places exactly one sample per stratum per dimension. For n = 60 runs and 5 parameters, LHS guarantees uniform marginal coverage with far fewer runs than factorial designs. It is the workhorse for training Gaussian-process and neural-network surrogates.
- Space-filling designs — maximin LHS or Sobol sequences push samples apart to reduce clustering. Maximin LHS maximizes the minimum pairwise distance, which directly improves surrogate interpolation quality in sparse regions.
A common mistake is to use plain random sampling: it leaves gaps and clusters, and a surrogate trained on it will be confidently wrong in the empty regions. LHS with a maximin criterion is the safer default. For sequential workflows, start with 40–60 LHS points, fit a first surrogate, then add samples where the predicted variance is highest (adaptive or active learning). This typically reaches acceptable accuracy with 30–50% fewer runs than a single large batch.
Coverage: measuring whether the plan is adequate
Coverage is not a feeling — it is measurable. Three checks are worth running before committing simulation budget:
- Marginal uniformity — histogram each normalized parameter; LHS should produce near-flat histograms. A spike indicates a stratum was over-sampled.
- Pairwise projection — plot every 2-D projection of the sample set. Good coverage shows points spread across the square with no empty quadrants; this catches correlations that a 1-D check misses.
- Minimum pairwise distance — compute the smallest Euclidean distance between any two normalized samples. A very small value signals near-duplicate runs that waste budget.
For a 60-point, 5-parameter maximin LHS, a reasonable target is a minimum normalized pairwise distance above roughly 0.15 and no 2-D projection quadrant left empty. If a projection shows a gap, add points there rather than increasing the batch uniformly.
Worked example: building a 60-run plan
Using the six-parameter table above, drop the pulse-scaling factor after screening (assume it proved negligible), leaving five active parameters. Generate a maximin LHS of 60 points in the unit hypercube, then map back to physical units with x_phys = x_min + x_norm · (x_max − x_min). Enforce the constraint t_pt < t_airbag by rejecting and resampling any point that violates it. The deliverable is a run matrix — one row per simulation, one column per parameter — that can be fed directly to the solver queue. Before launching, verify the three coverage checks above; only then commit the 60 FE runs.
The figure below summarizes how a design space moves from parameter definition through screening and sampling to a coverage-verified run matrix.
Once the run matrix passes coverage checks, the 60 simulations can be launched in parallel. The resulting input–output pairs become the training set for the surrogate, and the coverage metrics recorded here become the reference against which later validation points are compared. A surrogate that performs well on training data but poorly on a held-out set drawn from an under-covered corner of the space is a coverage failure, not a model failure — and the checks above are how you catch it before it reaches a safety decision.