Cluster scatter (PC1 vs PC2)
Each day on its top two principal components. Color = cluster, ★ = rep day.
3-D cluster cube
Each day in 3-D. Toggle Standard axes (daily volume / peak TT / precip, point size = crashes) or PC space. ★ rep day and ◆ centroid day per cluster. Drag to rotate, scroll to zoom.
K-selection diagnostics
How the optimal number of clusters was chosen.
Cluster summaries
One tile per cluster: size, day-of-week mix, and the rep day (member day whose TT profile is closest to the cluster mean).
Cluster calendar
Every day of the year colored by its cluster for the selected method. Weekends form the right-hand band of each month; ★ marks the rep day. Hover any day for its stats, click a day to open corridor speeds, or click a legend entry to highlight only that day-type.
Ward.D2 dendrogram
Ward.D2 tree on the full 24-hour profile shape (hourly volume + TT, both directions). Branch height = merge distance; the orange dashed line marks the K cut. At each split point the two branches are labeled at their corners with each group's distinguishing value (volume, crashes, or rainfall), so left vs right is clear and you can read why the branch split. Hover a split for the driving feature and separation strength.
Cluster mean profiles
Mean hourly profile per cluster, one line each: the line shape is what defines the cluster. Low-coverage hours (<20% of days) are hidden.
Inputs & methodology
FHWA TAT III day-type clustering. 99 features per day across 4 balanced families, PCA-reduced, K = 5 (silhouette peak).Step 1 · Data assembled (per day, 2024 · 366 days)
| Feature family | Source | Native resolution | Aggregated to | Features / day | Units |
|---|---|---|---|---|---|
| Hourly volume, EB | Synthesized mainline (Prospect to Neil): balanced April ADT scaled by IDOT month / day-of-week / hour factors | hourly | 24 hourly cells | 24 | veh/hr |
| Hourly volume, WB | Same source, WB direction | hourly | 24 hourly cells | 24 | veh/hr |
| Hourly travel time, EB | INRIX NPMRDS 5-min segment speeds, weighted by per-TMC segment length | 5-min | median corridor TT per clock hour, 24 cells | 24 | minutes |
| Hourly travel time, WB | Same source, WB direction | 5-min | median TT per clock hour, 24 cells | 24 | minutes |
| Daily injury crashes (KAB) | IDOT crash GIS, I-74 mainline only; REC_TYPE in {Fatal, A-injury, B-injury} | per incident | daily count | 1 | crashes/day |
| Daily other crashes (PDO) | IDOT crash GIS, mainline; everything not KAB (C possible-injury + property-damage-only) | per incident | daily count | 1 | crashes/day |
| Daily precipitation | NCEI Local Climatological Data, station 72531594870 (KCMI, Willard Airport) | hourly | daily total | 1 | inches |
| Total | 4 feature families | 99 |
Steps 2-3 · Normalize and family-balance
| Feature family | Features | Per-feature scaling | Family weight | Share of clustering variance |
|---|---|---|---|---|
| Volume profile (EB + WB) | 48 | z-score (mean 0, sd 1) | 1.0 | 25% |
| Travel-time profile (EB + WB) | 48 | z-score (mean 0, sd 1) | 1.0 | 25% |
| Crashes (KAB, PDO) | 2 | z-score (mean 0, sd 1) | 1.0 | 25% |
| Weather (precip) | 1 | z-score (mean 0, sd 1) | 1.0 | 25% |
Each feature is standardized to mean 0 / sd 1, then multiplied by √(weight / family size) so that every family contributes the same total variance to the clustering, no matter how many columns it has. Without this balancing the 96 hourly profile columns (48 volume + 48 travel time) would swamp the 3 daily columns, and crashes / weather would barely move the day-types. With it, all four families weigh equally (here 25% each), so a high-crash day or a storm day can form its own cluster.
Steps 4-6 · Reduce, cluster, pick representative day
| Step | Method | I-74 result (2024) |
|---|---|---|
| 4. Reduce (PCA) | Principal Component Analysis on the standardized, family-weighted features; keep the principal components whose cumulative variance reaches 80%, then rescale those PCs to [0,1]. Triggered whenever any feature pair has |corr| ≥ 0.80 (always true for hourly profiles). | 6 principal components (≥ 80% variance) |
| 5. Cluster | K-means and Ward.D2 hierarchical, each run for K swept from 3 up to the FHWA cap 2√(n/2). The K with the highest silhouette score is selected per method (WCSS elbow is only a degenerate fallback). | silhouette peaks at K = 5 for both methods; pinned to 5 |
| 6. Representative day | The member day whose 24-hour travel-time profile (both directions) is closest to the cluster mean TT, measured as mean absolute deviation over observed cells. This makes the rep day's TT curve the most typical of the cluster, the day used as a Vissim calibration target. (A "centroid" option restores the FHWA nearest-to-centroid rule.) | one rep day per cluster (5) |
A day is dropped before clustering if either direction is missing more than 12 of 24 travel-time hours. Cluster mean profiles are aggregated over observed cells only (missing cells skipped), so a cluster's profile reflects the days that actually had data.
Reference: FHWA Traffic Analysis Toolbox / Travel Analysis Tools III, Identify Travel Conditions Using Cluster Analysis (HOP-18-036), Chapter 2. Steps and the 2√(n/2) cluster-count cap follow that chapter; the family-weighting step is an I-74 extension so safety and weather are not drowned by the hourly profiles.
Loading cluster data...
No cluster data available for this year.