Completed projectJuly 2020AI/ML engineering · Explainable risk

Random survival forest crash-severity engine

Built an open-source random survival forest that learns nonlinear, severity-specific relationships and ranks the contributors that matter most over a 29-year risk horizon.

My roleProject Lead · Model Developer · First Author
<2%fatal-risk prediction error
01 / PROBLEM & CONTEXT
Problem

Grade-crossing risk is nonlinear and interaction-heavy, yet rare severe outcomes, censoring, and competing causes make standard random forests and ordinary classifiers unsuitable.

Operating context

Safety analysts needed a nonlinear model that could preserve time-to-event information and still show which contributors mattered for each severity.

02 / ENGINEERING PIPELINE

How the system moved from raw evidence to a usable decision.

Implemented and compared competing-risk survival forests with multiple splitting rules, out-of-bag validation, cumulative prediction error, and event-specific variable importance.

Evidence

Data

A 29-year crossing history with infrastructure, traffic, train-operation, exposure, and severity-specific crash outcomes, including censored no-crash sites.

Pipeline

Data engineering

Prepared competing-risk survival records, event-specific targets, and a reproducible R workflow for forest fitting, prediction-error diagnostics, and contributor analysis.

Signals

Data mining

Used event-specific variable importance to discover nonlinear predictive signals and reveal when controls, speed, exposure, and train operations behaved differently by severity.

Model

ML / analytical method

Competing-risk random survival forests were compared across splitting rules, with cumulative prediction error and out-of-bag estimates selected for internal validation.

Decision

System function

The engine estimates severity-specific risk over time and ranks the variables that contribute most to property-damage, injury, and fatal outcomes.

Proof

Validation

Out-of-bag prediction error supplied internal validation, while event-specific errors and VIMP prevented strong performance on common events from masking rare-outcome behavior.

Plain-language glossary

Technical terms, made clear.

Random survival forest

An ensemble of decision trees designed for time-to-event data, censoring, nonlinearities, and interactions.

Out-of-bag validation

Testing each tree on records it did not use for training, providing built-in performance evidence.

03 / KEY INNOVATIONS

What changed in the engineering approach.

01

Competing-risk trees model censoring and mutually exclusive severity outcomes directly.

02

Out-of-bag error supplies internal validation without a separate resampling pipeline.

03

Event-specific VIMP reveals when a feature matters differently for PDO, injury, and fatal crashes.

04 / TECHNICAL ARTIFACT
High-resolution severity-specific variable-importance rankings
Severity-specific variable importance separates the contributors that drive property-damage, injury, and fatal risk.
05 / MEASURABLE OUTCOMES

What the system established.

01

Held prediction error below 6.2% for PDO, 4% for injury, and 2% for fatal risk.

02

Identified crossing controls, speed, traffic exposure, and train operations among the strongest severity-specific contributors.

03

Released reproducible R implementations for model fitting, diagnostics, and countermeasure analysis.

06 / AGENCY & INDUSTRY IMPACT

Designed to support a decision.

Provides an explainable nonlinear alternative for network screening and releases reproducible code for model fitting and countermeasure analysis.

Reliability

Out-of-bag prediction error supplied internal validation, while event-specific errors and VIMP prevented strong performance on common events from masking rare-outcome behavior.

Engineering advantage

Supports nonlinear network screening and interpretable engineering analysis when proportional-hazard assumptions are too restrictive.