seahorse-stpp/uber_pickups_nyc_stpp
Uber Pickups NYC STPP Benchmark Dataset A benchmark-ready Spatio-Temporal Point Process (STPP) dataset derived from Uber Pickups (NYC) (~4.5 Million records), following the standard split semantics for Neural STPP evaluation. Dataset Description Each record represents a sequence of events. The dataset covers historical Uber pickups across NYC, partitioned sequentially into train / val / test subsets (70% / 15% / 15% ratio). Source Format Raw data… See the full description on the dataset page: https://huggingface.co/datasets/seahorse-stpp/uber_pickups_nyc_stpp.
Uber Pickups NYC STPP Benchmark Dataset
A benchmark-ready Spatio-Temporal Point Process (STPP) dataset derived from Uber Pickups (NYC) (~4.5 Million records), following the standard split semantics for Neural STPP evaluation.
Dataset Description
Each record represents a sequence of events. The dataset covers historical Uber pickups across NYC, partitioned sequentially into train / val / test subsets (70% / 15% / 15% ratio).
Source Format
Raw data was obtained from Kaggle (fivethirtyeight/uber-pickups-in-new-york-city). Each sequence maps to a (N, 3) float64 array with columns [t, x, y].
Sequence Unit
One sequence corresponds to a chunk of contiguous events. No new windowing or segmentation was applied. The dataset unit aligns with benchmark STPP formulations.
Event Schema
Values are exported as-is — no normalization applied. The Neural STPP codebase applies StdScaler normalization at training time, not during preprocessing.
Split Semantics
Split logic mirrors a sequential temporal split sequential_split_ratio_(0.7, 0.15, 0.15) — no random splitting, no reshuffling.
File Structure
uber_pickups_nyc/
├── train.jsonl # 31741 sequences
├── val.jsonl # 6802 sequences
├── test.jsonl # 6802 sequences
├── dataset_meta.json # Task/schema metadata
└── README.mdJSONL Row Schema
Each line in a .jsonl file is a JSON object:
{
"sequence_id": "seq_0",
"events": [
{"t": 1.062, "x": -87.629, "y": 41.878},
{"t": 2.318, "x": -87.630, "y": 41.879}
]
}Example (Python)
import json
with open("train.jsonl") as f:
for line in f:
seq = json.loads(line)
sid = seq["sequence_id"]
events = seq["events"] # list of {"t", "x", "y"} dicts
t = [e["t"] for e in events]
x = [e["x"] for e in events]
y = [e["y"] for e in events]Source & License
Source data: Kaggle URL: https://www.kaggle.com/datasets/fivethirtyeight/uber-pickups-in-new-york-city
Version 1.0.0 Time Ordering Fix
Version 1.0.0 applies a deterministic data-level repair: events are stable-sorted by t globally before chunking. Validation ensures non-decreasing timestamps for every sequence in train/val/test.
