Analysis Pipeline for "Handover-Aware Conformal Throughput Intervals for Risk-Sensitive Rate Selection in Mobile 5G"
Description
This deposit contains the complete analysis pipeline and derived result files for the study "Handover-Aware Conformal Throughput Intervals for Risk-Sensitive Rate Selection in Mobile 5G." It allows independent reproduction of every number, table, and figure reported in the paper. The work investigates whether conditioning conformal-prediction calibration on the mobility-regime state (radio-access technology × time since the last handover) improves throughput uncertainty estimates and the downstream rate-selection decision in mobile 5G. Contents. Python scripts organized in nine numbered stages: data consolidation and strictly-causal feature construction; the base throughput predictor and residual diagnostics; the conformal-prediction variants (global, RAT-conditioned, and regime-conditioned, with a normalized-residual nonconformity score); the one-sided lower bound and trace-driven decision-layer emulation; multi-seed robustness runs; figure generation; sensitivity analyses; and the revision experiments (active-traffic/zero-inflation ablation, per-group calibration statistics, time-since-handover bucket sensitivity, a DtACI adaptive baseline, and an application-layer ABR/QoE emulation). Raw per-seed result CSVs are included so the reported means and statistical tests can be verified without re-running the pipeline. A README documents the environment, run order, and the mapping from each script to the corresponding section of the paper. Underlying measurement data (not included here). The pipeline uses the publicly available 5G production dataset of Raca et al. (D. Raca, D. Leahy, C. J. Sreenan, J. J. Quinlan, Beyond Throughput, the Next Generation: A 5G Dataset with Channel and Context Metrics, ACM MMSys 2020), hosted at https://github.com/uccmisl/5Gdataset. This deposit does not redistribute those traces; download them from the original source and point the scripts to the extracted directory as described in the README. Software environment. Python 3.12 with scikit-learn 1.8.0, NumPy, pandas, pyarrow, SciPy, and Matplotlib. All randomness is seeded, so results are deterministic given a seed.
Files
Steps to reproduce
Environment. Install Python 3.12 and the required packages: scikit-learn 1.8.0, numpy, pandas, pyarrow, scipy, matplotlib. Results are deterministic given a random seed. Obtain the measurement data (not included in this deposit). Download the public 5G production dataset of Raca et al. from https://github.com/uccmisl/5Gdataset, and unzip 5G-production-dataset.zip. Place the extracted folder at data/5G-production-dataset/ (or edit the data-root path near the top of 01_data/load_data.py). Build the inputs. Run 01_data/load_data.py to consolidate the raw traces and label handovers/RAT changes, then 01_data/features.py to build the strictly-causal feature table (188,545 rows). These write to artifacts/ (feature table features.parquet and feature_cols.txt), which the later stages read. Run the analysis stages in order. Stage 02 fits the base predictor and the residual regime-dependence tests (Figure 1); stage 03 computes the conformal variants; stage 04 the one-sided lower bound and decision-layer emulation; stage 05 the multi-seed comparisons; stage 06 the figures; stage 07 the coverage-target and step-size sensitivity sweeps; stage 08 the 30-/20-seed reruns used in the main tables. Reproduce the revision experiments (stage 09). Each script is resumable and writes raw per-seed CSVs to 09_revision_experiments/artifacts/: ablation_zeroinflation.py — active-traffic ablation (paper §4.7); calib_counts.py — per-group calibration sizes and quantile variability (Table on calibration); ablation_buckets.py — time-since-handover bucket sensitivity (§4.6); baseline_dtaci.py — DtACI adaptive baseline (Table 3); qoe_sim.py — trace-driven ABR/QoE emulation (§4.8). Verify without re-running (optional). The raw per-seed CSVs are included in 09_revision_experiments/artifacts/, so the reported means and paired statistical tests can be checked directly from those files. Paths are set via constants near the top of each script (e.g., OUT for the artifacts directory). Consult README.md and README_SUPPLEMENT.md for the full stage-to-paper-section mapping.
Institutions
- Petra UniversityAmman, Amman