Inferring missing locations in human mobility data using memory effects
Organizations: Instituto de Física Interdisciplinar y Sistemas Complejos IFISC (CSIC-UIB), Campus UIB, 07122 Palma de Mallorca, Spain
Abstract
Empirical datasets used to characterize human mobility are sparse in space and time, owing to technological factors such as coverage and battery, or to the erratic nature of online interactions. Missing data can bias the conclusions drawn from them, so filling the gaps in incomplete timelines is a key challenge in computational social science. Here, we propose a simple imputation method in which the informativeness of an observation decays with its bidirectional temporal distance from the missing entry, at a rate set by a single parameter per individual. On synthetic and real Twitter data, a power-law decay, selected by Bayesian model comparison, yields accurate imputations (macro-AUROC above 0.9 overall, and above 0.8 for the most mobile users) and matches a gap-aware continuous-time Markov chain, outperforming it among the most mobile users. The method is robust to moderate noise and generalizes across countries and European administrative regions.
Figures & tables
| Generator | Stratum | PL | EXP | GAUSS | MostFreq. | LastObs. | NearestObs. | Markov | MarkovCT | |
|---|---|---|---|---|---|---|---|---|---|---|
| SG1 | 1103 | 0.981 | 0.980 | 0.978 | 0.500 | 0.913 | 0.944 | 0.913 | 0.993 | |
| 2447 | 0.839 | 0.840 | 0.821 | 0.500 | 0.748 | 0.780 | 0.748 | 0.828 | ||
| 6450 | 0.550 | 0.541 | 0.500 | 0.500 | 0.545 | 0.556 | 0.535 | 0.557 | ||
| SG2 | 166 | 1.000 | 1.000 | 1.000 | 0.500 | 1.000 | 1.000 | 1.000 | 1.000 | |
| 1479 | 0.962 | 0.963 | 0.948 | 0.500 | 0.889 | 0.929 | 0.889 | 0.989 | ||
| 3743 | 0.800 | 0.754 | 0.636 | 0.500 | 0.717 | 0.758 | 0.715 | 0.833 |
| Generator | Stratum | EXP | GAUSS | STREXP | |
|---|---|---|---|---|---|
| SG1 | 1103 | 1.62 (0.76) | 4.06 (0.77) | 0.01 (0.47) | |
| 2447 | 2.95 (0.98) | 6.93 (1.00) | 0.61 (0.73) | ||
| 6450 | 3.36 (1.00) | 6.83 (1.00) | 0.95 (0.93) | ||
| SG2 | 166 | 0.01 (0.26) | 0.01 (0.28) | 0.00 (0.17) | |
| 1479 | 1.41 (0.63) | 3.81 (0.70) | 0.00 (0.46) | ||
| 3743 | 3.41 (0.93) | 7.34 (0.97) | 0.87 (0.77) |
| Random hold-out | Block hold-out | ||||||||
| Method | micro-AUROC | macro-AUROC | log-loss | micro-AUROC | macro-AUROC | log-loss | |||
| PL | 1.000 | 0.996 | 1.000 | 0.050 | 1.000 | 0.960 | 0.864 | 0.072 | |
| EXP | 1.000 | 0.994 | 0.994 | 0.057 | 1.000 | 0.957 | 0.818 | 0.072 | |
| GAUSS | 0.996 | 0.988 | 0.974 | 0.061 | 1.000 | 0.938 | 0.500 | 0.077 | |
| STREXP | 1.000 | 0.996 | 1.000 | 0.054 | 1.000 | 0.960 | 0.850 | 0.072 | |
| MostFrequent | 0.970 | 0.909 | 0.500 | 0.194 | 1.000 | 0.882 | 0.500 | 0.160 | |
| Random hold-out | Block hold-out | ||||||
|---|---|---|---|---|---|---|---|
| – | – | – | |||||
| EXP | (0.30) | (0.46) | 3.30 (0.74) | 4.73 (0.93) | 3.82 (0.74) | 4.66 (0.93) | |
| GAUSS | (0.32) | (0.47) | 6.95 (0.76) | 8.61 (0.94) | 7.12 (0.75) | 7.71 (0.94) | |
| STREXP | (0.33) | (0.43) | 0.85 (0.67) | 1.54 (0.86) | 1.16 (0.70) | 1.54 (0.89) | |
| Meaning | |
|---|---|
| SG1 | Chance that any individual day nominally assigned to a location is replaced by the other. |
| SG2 | Probability that the user switches location relative to the previous observation. |
| SG3–4 | Chance that any observed day is replaced by a location drawn uniformly among the locations. |
| Real data | Fraction of consecutive observations that imply a change of location. |
Incomplete Data Imputation
Incomplete data imputation estimates unobserved values while accounting for data structure, missingness patterns, and uncertainty.
See all 79 papersIBAD: Interpretable Behavioral Anomaly Detection on Human Mobility Data
IBAD (Interpretable Behavioral Anomaly Detection), a framework that learns interpretable daily mobility templates and represents each individual as a distribution over mixtures of these templates. Rather than focusing on specific locations, IBAD characterizes activities that individuals perform across locations. This approach first discovers global behavioral templates using Latent Dirichlet Allocation (LDA), then employs a hierarchical self-supervised model to learn normal behavior of individuals from their soft behavioral templates. We also introduce a splicing benchmark that creates controlled behavioral mismatches between an individual's historical profile and injected mobility patterns. Experiments on real-world and synthetic datasets show that daily behavior can be effectively decomposed into a small number of interpretable templates. Crucially, we show that the learned behavioral archetypes transfer across distinct geographic and demographic contexts. Furthermore, IBAD maintains a robust competitive performance across all settings. For reproducibility purposes, the code is accessible at ~https://github.com/USC-InfoLab/IBAD.