Target-Constrained Pooling for Trajectory Extrapolation
Organizations: Cornell University
Abstract
Trajectory extrapolation from a partial target trajectory is underdetermined, but completed related trajectories provide information about the unresolved continuation. We propose target-constrained pooling (TCP), which separates the finite-horizon endpoint from continuation shape and estimates that endpoint from two complementary source signals. Uniform pooling captures final response levels, while matched-increment pooling captures the remaining change after aligning source and target states. TCP selects representative sources, projects both endpoint estimates onto a target-consistent region, converts them into corrections of the free forecast, and controls their influence through strength calibration and degradation-aware weighting. Across 25,245 targets from five domains and both forecasting directions, TCP reduces mean RMSE by 35.8% to 42.1% for all ten target-only forecasters and improves all 100 forecaster, dataset, and direction comparisons. The two endpoint signals consistently outperform either alone, while representative selection remains within 0.64% to 1.02% of the full donor pool using 12.7x fewer donor inputs and 138.8x fewer matching distance computations.
Figures & tables
| RMSE | Gain (%) | Forward gain (%) | Reverse gain (%) | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Forecaster | free | TCP | Pooled | Avg. | OLMo 2 | LCDB | gCSI | CTRP | GDSC | OLMo 2 | LCDB | gCSI | CTRP | GDSC |
| Michaelis–Menten | 0.389 | 0.246 | 36.7 | 40.8 | 15.6 | 22.5 | 43.4 | 22.4 | 20.0 | 34.9 | 59.0 | 74.7 | 68.1 | 47.6 |
| exp. saturation | 0.383 | 0.246 | 35.8 | 41.2 | 29.0 | 23.9 | 43.2 | 22.4 | 19.8 | 34.5 | 58.0 | 74.1 | 62.5 | 44.1 |
| Gompertz | 0.380 | 0.244 | 35.8 | 39.1 | 28.8 | 12.3 | 42.1 | 21.3 | 27.8 | 26.3 | 39.0 | 72.9 | 66.6 | 53.7 |
| Weibull cure | 0.428 | 0.248 | 42.1 | 42.9 | 31.9 | 9.9 | 49.7 | 25.5 | 36.9 | 27.8 | 40.8 | 77.1 | 70.7 | 58.5 |
| log–log cure | 0.405 | 0.246 | 39.3 | 41.3 | 36.0 | 5.4 | 46.4 | 23.6 | 33.3 | 28.1 | 40.2 | 75.5 | 68.4 | 56.3 |
Appendix figures & tables20 assets
Supplementary material from the paper’s appendix.
Appendix
| Metric | Definition and aggregation |
|---|---|
| Trajectory RMSE | , where is the number of held-out observations. Interior RMSE excludes the terminal observation and uses denominator . |
| Mean RMSE | . Each trajectory has equal weight. The reported pooled RMSE is the mean trajectory RMSE over the corresponding targets. |
| RMSE gain | . Positive values favor . Main-table Pooled uses , while Avg. is the equal-weight mean of the ten dataset and direction gains. |
| Positive degradation | . Only increases relative to the free forecast contribute. Mean positive degradation is , and calibration uses . |
| Targets with increased error and negative cells | , with rate . A negative cell instead satisfies . |
| Degradation reduction | for a positive reference total. Component tables use TCP as , while expanded-pool tables use Full. Each caption specifies the reference. |
| T: target only | K: knee pooling set | F: all sources | |||||||
|---|---|---|---|---|---|---|---|---|---|
| Forecaster | free | TCP | gain | free | TCP | gain | free | TCP | gain |
| Michaelis–Menten | 0.296 | 0.193 | 34.6 | 0.295 | 0.194 | 34.4 | 0.295 | 0.194 | 34.3 |
| exp. saturation | 0.290 | 0.193 | 33.5 | 0.290 | 0.193 | 33.4 | 0.293 | 0.194 | 33.9 |
| Gompertz | 0.322 | 0.193 | 40.1 | 0.276 | 0.196 | 29.1 | 0.271 | 0.193 | 28.8 |
| Weibull cure | 0.367 | 0.198 | 46.2 | 0.295 | 0.195 | 33.9 | 0.275 | 0.194 | 29.3 |
| log–log cure | 0.344 | 0.197 | 42.8 | 0.291 | 0.198 | 32.0 | 0.276 | 0.196 | 29.1 |
| Tail | Interior tail | |||||
|---|---|---|---|---|---|---|
| Forecaster | ||||||
| Michaelis–Menten | 36.5 | 21.0 | 15.5 | 33.9 | 16.7 | 17.2 |
| exp. saturation | 35.9 | 19.4 | 16.5 | 33.0 | 14.7 | 18.3 |
| Gompertz | 31.7 | 14.5 | 17.2 | 27.1 | 6.6 | 20.5 |
| Weibull cure | 35.4 | 18.7 | 16.7 | 31.5 | 12.0 | 19.5 |
| log–log cure | 34.0 | 17.0 | 17.0 | 29.9 | 9.9 | 20.0 |
| TW | CML | ||||||
|---|---|---|---|---|---|---|---|
| Forecaster | Full | ||||||
| Michaelis–Menten | 37.0 | 21.5 | 15.5 | 36.8 | 22.6 | 14.2 | 36.7 |
| exp. saturation | 36.1 | 20.3 | 15.8 | 36.3 | 21.3 | 14.9 | 35.8 |
| Gompertz | 35.7 | 17.9 | 17.8 | 31.4 | 15.5 | 15.9 | 35.8 |
| Weibull cure | 42.5 | 25.3 | 17.2 | 35.9 | 20.2 | 15.7 | 42.1 |
| log–log cure | 39.5 | 22.0 | 17.5 | 34.2 | 18.4 | 15.8 | 39.3 |
| TCP | Full pool | Random full | Random cal | All full | All cal | |
|---|---|---|---|---|---|---|
| Michaelis–Menten | 0.246218 | 0.244073 | 0.285807 | 0.252563 | ||
| exp. saturation | 0.246135 | 0.244021 | 0.285786 | 0.252479 | ||
| Gompertz | 0.244201 | 0.242637 | 0.283956 | 0.251681 | ||
| Weibull cure | 0.247682 | 0.245716 | 0.284375 | 0.259519 | ||
| log–log cure | 0.245606 | 0.243876 | 0.283530 | 0.255825 | ||
| arctangent | 0.246036 | 0.243981 | 0.285760 | 0.252427 |
| TCP | Full pool | Random full | Random cal | All full | All cal | |
|---|---|---|---|---|---|---|
| Michaelis–Menten | 533.838 | 539.080 | 1917.077 | 651.147 | ||
| exp. saturation | 535.267 | 540.403 | 1918.047 | 653.004 | ||
| Gompertz | 566.091 | 564.000 | 1911.796 | 686.564 | ||
| Weibull cure | 588.878 | 587.641 | 1896.276 | 770.165 | ||
| log–log cure | 585.241 | 591.866 | 1912.822 | 735.323 | ||
| arctangent | 533.539 | 538.838 | 1919.371 | 654.375 |
| Forecaster | TCP full RMSE | Full pool RMSE | Gain (%) | TCP full degr. | Full pool degr. |
|---|---|---|---|---|---|
| MM | 0.250283 | 0.246352 | 1.571 | 888.739 | 826.821 |
| Exp. sat. | 0.250244 | 0.246260 | 1.592 | 890.238 | 827.553 |
| Gompertz | 0.247835 | 0.243874 | 1.598 | 922.001 | 844.066 |
| Weibull cure | 0.248267 | 0.244250 | 1.618 | 913.652 | 837.991 |
| Log-log cure | 0.247362 | 0.243347 | 1.623 | 924.248 | 852.631 |
| Arctan | 0.250159 | 0.246159 | 1.599 | 888.823 | 825.463 |
| Mean tail RMSE | Full gain | Total RMSE degradation | Degrad. red. | Harmed count | |||||
|---|---|---|---|---|---|---|---|---|---|
| Forecaster | free | TCP | Full | (%) | TCP | Full | (%) | TCP | Full |
| Michaelis–Menten | 0.388869 | 0.246218 | 0.244073 | 0.87 | 533.838 | 539.080 | -0.98 | 4938 | 4902 |
| exp. saturation | 0.383382 | 0.246135 | 0.244021 | 0.86 | 535.267 | 540.403 | -0.96 | 5082 | 5085 |
| Gompertz | 0.380124 | 0.244201 | 0.242637 | 0.64 | 566.091 | 564.000 | 0.37 | 7052 | 6856 |
| Weibull cure | 0.427775 | 0.247682 | 0.245716 | 0.79 | 588.878 | 587.641 | 0.21 | 6672 | 6444 |
| log–log cure | 0.404516 | 0.245606 | 0.243876 | 0.70 | 585.241 | 591.866 | -1.13 | 7321 | 7149 |
| Forward gain (%) | Reverse gain (%) | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Forecaster | OLMo 2 | LCDB | gCSI | CTRP | GDSC | OLMo 2 | LCDB | gCSI | CTRP | GDSC |
| Michaelis–Menten | 8.30 | 7.17 | 0.98 | 0.44 | 0.88 | 2.57 | 6.71 | 1.27 | 1.05 | 0.24 |
| exp. saturation | 4.81 | 5.69 | 0.86 | 0.42 | 0.92 | 2.58 | 6.66 | 1.55 | 1.38 | 0.66 |
| Gompertz | 4.35 | 2.04 | 0.28 | 0.25 | 1.37 | 2.37 | 6.68 | 1.36 | 0.81 | 0.28 |
| Weibull cure | 4.77 | -0.63 | 0.54 | 0.33 | 1.71 | 2.36 | 0.96 | 1.22 | 1.55 | 0.63 |
| log–log cure | 5.49 | 0.17 | 0.18 | 0.27 | 2.01 | 2.38 | 0.95 | 1.19 | 1.64 | 0.17 |
| Domain cells with more | Cohort cells | Worst cohort | Gain | ||
|---|---|---|---|---|---|
| Forecaster | error | degradation | with more error | and direction | (%) |
| Michaelis–Menten | 0 | 2 | 25 | lcdb_005—fwd | -17.65 |
| exp. saturation | 0 | 2 | 28 | olmo_027—fwd | -47.07 |
| Gompertz | 0 | 3 | 38 | olmo_027—fwd | -48.21 |
| Weibull cure | 1 | 2 | 39 | olmo_027—fwd | -42.58 |
| log–log cure | 0 | 3 | 45 | lcdb_008—bwd | -30.52 |
| Bank | C donor inputs | E donor inputs | C+E donor inputs | Mean C+E |
|---|---|---|---|---|
| TCP | 167,438 | 525,756 | 693,194 | 20.293 |
| Full pool | 2,071,471 | 6,702,630 | 8,774,101 | 256.853 |
| Random-two | 17,830 | 50,490 | 68,320 | 2.000 |
| All-endpoints | 2,071,471 | 6,702,630 | 8,774,101 | 256.853 |
| Bank | C distance elements | E distance elements | C+E total | Mean C+E |
|---|---|---|---|---|
| TCP | 20,045,722 | 61,577,816 | 81,623,538 | 2389.448 |
| Full pool | 2,663,962,946 | 8,666,404,606 | 11,330,367,552 | 331685.233 |
| Random-two | 0 | 0 | 0 | 0.000 (not used) |
| All-endpoints | 0 | 0 | 0 | 0.000 (not used) |
| Bank | C terms | E terms | C+E terms | Mean C | Mean E | Mean C+E |
|---|---|---|---|---|---|---|
| TCP | 17,830 | 50,490 | 68,320 | 2.000 | 2.000 | 2.000 |
| Full pool | 17,830 | 50,490 | 68,320 | 2.000 | 2.000 | 2.000 |
| Random-two | 17,830 | 50,490 | 68,320 | 2.000 | 2.000 | 2.000 |
| All-endpoints | 2,071,471 | 6,702,630 | 8,774,101 | 232.358 | 265.503 | 256.853 |
| All | Holds | Fails | Holds/active | Holds/inactive | Fails/active | Fails/inactive | |
|---|---|---|---|---|---|---|---|
| Michaelis–Menten | +0.0509 | +0.6353 | -5.6695 | +10.7668 | -0.0014 | -10.0895 | -1.1765 |
| exp. saturation | +0.0330 | +0.6247 | -5.7334 | +10.5737 | +0.0008 | -10.2599 | -1.1402 |
| Gompertz | -0.0632 | +0.4467 | -4.3230 | +7.4438 | +0.0301 | -8.8601 | +0.3162 |
| Weibull cure | -0.0360 | +0.5261 | -4.5663 | +7.2954 | +0.1101 | -9.2418 | +0.4581 |
| log–log cure | +0.0096 | +0.5231 | -4.2053 | +7.5345 | +0.0963 | -8.5958 | +0.4546 |
| arctangent | +0.0307 | +0.6163 | -5.6714 | +10.3765 | +0.0064 | -10.3415 | -0.9078 |
| All | Holds | Fails | Holds/active | Holds/inactive | Fails/active | Fails/inactive | |
|---|---|---|---|---|---|---|---|
| Michaelis–Menten | -16.586 | -4.648 | -11.938 | +5.304 | -9.952 | -8.105 | -3.833 |
| exp. saturation | -13.994 | -2.763 | -11.231 | +6.563 | -9.326 | -7.563 | -3.668 |
| Gompertz | +2.204 | +5.516 | -3.312 | +11.677 | -6.161 | -1.380 | -1.932 |
| Weibull cure | +6.398 | +10.041 | -3.643 | +13.184 | -3.143 | -2.290 | -1.353 |
| log–log cure | +3.558 | +7.895 | -4.338 | +12.453 | -4.558 | -3.218 | -1.120 |
| arctangent | -14.034 | -3.142 | -10.892 | +5.812 | -8.954 | -7.600 | -3.292 |
| Gain (%) | ||||||
| Variant | Better | min | max | Degrad. | Neg. | Worst |
| hard U | 10/10 | 12.9 | 14.1 | 10/10 | 27 | |
| hard M | 10/10 | 1.8 | 4.2 | 10/10 | 2 | |
| full strength | 9/10 | 0.15 | 2.0 | 10/10 | 8 | |
| U only | 10/10 | 2.7 | 4.5 | 10/10 | 3 | |
| M only | 10/10 | 1.7 | 2.4 | 3/10 | 0 | |
| hard U | hard M | full strength | shared † | |||||
|---|---|---|---|---|---|---|---|---|
| Forecaster | gain | degrad. | gain | degrad. | gain | degrad. | gain | degrad. |
| Michaelis–Menten | 14.0 | 71.6 | 3.6 | 34.0 | 1.6 | 39.9 | 0.56 | 15.5 |
| exp. saturation | 14.0 | 71.5 | 3.6 | 34.0 | 1.6 | 39.9 | 0.54 | 15.5 |
| Gompertz | 14.1 | 70.5 | 3.6 | 34.2 | 1.5 | 38.6 | 0.57 | 13.6 |
| Weibull cure | 13.1 | 68.8 | 2.3 | 31.0 | 0.24 | 35.5 | 1.3 | 19.9 |
| log–log cure | 13.5 | 69.4 | 2.9 | 32.2 | 0.71 | 36.7 | 1.0 | 16.9 |
| U only | M only | |||
|---|---|---|---|---|
| Forecaster | gain | degrad. | gain | degrad. |
| Michaelis–Menten | 2.9 | 17.2 | 2.0 | 0.85 |
| exp. saturation | 2.9 | 17.3 | 2.0 | 0.61 |
| Gompertz | 2.7 | 17.4 | 2.3 | 1.6 |
| Weibull cure | 4.5 | 22.0 | 2.2 | 2.6 |
| log–log cure | 3.8 | 19.5 | 2.3 | 2.9 |
| equal | RMSE only | degradation only | ||||
|---|---|---|---|---|---|---|
| Forecaster | gain | degrad. | gain | degrad. | gain | degrad. |
| Michaelis–Menten | 0.40 | 2.5 | 0.65 | 10.8 | 1.8 | 9.9 |
| exp. saturation | 0.39 | 2.6 | 0.66 | 10.8 | 1.8 | 9.9 |
| Gompertz | 0.49 | 1.8 | 0.28 | 10.6 | 1.6 | 6.4 |
| Weibull cure | 0.98 | 5.5 | 0.13 | 10.3 | 1.5 | 8.2 |
| log–log cure | 0.78 | 4.0 | 0.22 | 11.2 | 1.6 | 8.0 |
Trajectory Prediction
Trajectory prediction forecasts how people, vehicles, robots, and other dynamic systems will move from observed histories and context.
See all 187 papers