# Fine grained urban grids clustering of mobile phone metadata with deep spatial temporal clustering

Zhaobo Hu, Vincent Gauthier, Chuan Li, Hassine Moungla

► To cite this version:

Zhaobo Hu, Vincent Gauthier, Chuan Li, Hassine Moungla. Fine grained urban grids clustering of mobile phone metadata with deep spatial temporal clustering. International Joint Conference on Neural Networks (IJCNN), Jun 2025, Roma, Italy. 10.1109/IJCNN64981.2025.11227976. hal-05111170

HAL Id: hal-05111170

https://hal.science/hal-05111170v1

Submitted on 13 Jun 2025

HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entific research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d'enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.

<figure><img src="image_1.png" /></figure>

Distributed under a Creative Commons Attribution 4.0 International License
# Fine Grained Urban Grids Clustering of Mobile Phone Metadata
with Deep Spatial Temporal Clustering

Zhaobo Hu¹, Vincent Gauthier¹, Chuan Li¹,², Hassine Moungla¹,²

¹SAMOVAR, Telecom SudParis, Institut Polytechnique de Paris, France

²LIPADE, Université Paris Cité, Paris, France

{zhaobo.hu, vincent.gauthier, chuan-li}@telecom-sudparis.eu

hassine.moungla@parisdescartes.fr

June 13, 2025

## Abstract

Mobile phone metadata is widely used to extract socio-economic activity metrics at scale. Properly utilized, this data provides unique insights into downstream tasks and business value. This paper uses large scale multi-region service-level mobile data traffic to investigate geospatial temporal clustering, aiming to cluster similar urban grids sharing the same social signature. Leveraging deep learning, time series clustering transcends morphology, achieving more accurate clustering in the hidden space. However, most current algorithms struggle to extract both temporal and spatial information. We propose a novel method, Deep Spatial Temporal Clustering (DSTC), for clustering fine-grained urban grids based on geospatial temporal characteristics of mobile traffic data. DSTC employs a lightweight spatiotemporal autoencoder and graph construction, optimizing clustering and reconstruction objectives to learn representations and cluster assignments. Using data from the NetMob 2023 Data Challenge, we demonstrate DSTC's feasibility and interpretability through extensive case studies on two French metropolitan cities and three applications. This work advances geospatial temporal clustering and offers practical insights and business value from mobile phone metadata, reflecting real-world industrial scenarios. The source code for this paper is available at our GitHub repository.

## 1 Introduction

The global urban expansion creates challenges that demand new technical approaches to study city dynamics. Modern data sources, including GPS

traces [1], bank transactions [2], and mobile phone metadata [3], enable cost-effective analysis of socio-economic activities. Mobile phone metadata particularly excels at revealing urban activity patterns. Research has linked mobile service consumption to socioeconomic factors [4], created social signatures of urban areas [5], estimated population density [6], inferred transport flows [7], and extracted city characteristics from news consumption [8]. Cities' diverse regions reflect residents' varying lifestyles. Deep learning has enhanced urban clustering beyond traditional methods, enabling applications like land use classification [9] and crime prediction [10]. Current urban embedding methods [11, 12] focus on broad categories using regional attributes and mobility data. However, fine-grained mobile sensing data requires more precise methods. We present Deep Spatial Temporal Clustering (DSTC), which clusters urban networks using mobile traffic data's spatiotemporal attributes. DSTC combines a spatiotemporal autoencoder with a graph framework, simultaneously optimizing clustering and reconstruction objectives to efficiently categorize urban grids. Due to the dataset and method's novelty, no established baselines exist for quantitative evaluation. Therefore, we employ a case study approach to assess the method's real-world performance.

## 2 Related Work

Deep neural networks have revolutionized clustering by overcoming the representational limitations of traditional algorithms when handling complex, large-scale datasets [13, 14]. Recent approaches include JULE [15], which iteratively refines representations through agglomerative clustering. Deep Clus-
<figure><img src="image_2.png" /><figcaption>Figure 1: The comparison between Deep Temporal Clustering(DTC) and Deep Spatial Temporal Clustering(DSTC)</figcaption></figure>

<figure><img src="image_3.png" /><figcaption>Figure 2: The correlation between Non-stationary time series and Stationary time series in Paris dataset</figcaption></figure>

tering [16] combines k-means with deep network updates. DTC [17] clusters time series data using specialized neural architectures. TREND [18], TGC [19] focus on temporal graph dynamics in applications like social networks. While these methods show promise, they have limitations - DTC only handles time series data, TREND and TGC are restricted to temporal graphs, approaches using urban administrative districts rely on coarse-grained data. This paper presents a spatiotemporal model that identifies points of interest from fine-grained data without requiring additional mobility or POI information.

## 3 Preliminary

**Definition 1.** Graph - Consider a graph G = (V, E), where V = {v₁, ..., vₙ} signifies the vertex set with N nodes. The edge set is denoted by E ⊆ V × V. The feature matrix is represented as X ∈ ℝN×d, where xᵢ ∈ ℝd corresponds to the feature vector of node vᵢ, and d stands for the feature dimension. The adjacency matrix A ∈ {0, 1}N×N characterizes the graph's connectivity, where aᵢⱼ = 1 if the edge (vᵢ, vⱼ) ∈ E, and aᵢⱼ = 0 otherwise.

**Definition 2.** Graph Convolutional Networks

(GCN) - Basically, a GCN [20] takes as input a graph G = (V, E) along with a set of feature vectors X, where each node is associated with its own feature vector. The GCN is then composed of a series of graph convolution layers that iteratively transform the feature vectors at each node. To do this, the graph convolutional layer pools the vectors of each node's neighbors and aggregates them to update the node's own vector. This process is often referred to as message passing, since each node "passes" its vector to its neighbors to update their vectors. Each node's "message" is the vector associated with it. The canonical form of a graph convolutional layer (and its variants) is defined as follows:

$$ \mathbf{x}_{i}^{(l)} = \phi \left( \mathbf{x}_{i}^{(l-1)}, \bigoplus_{j \in \mathcal{N}_{i}} c_{ij} \psi \left( \mathbf{x}_{j}^{(l-1)} \right) \right) \quad (1) $$

where ⊕ is a permutation invariant aggregation function and cᵢⱼ is a normalization constant which specifies the importance of node j to node i's representation and Nᵢ the set of adjacent vertices of vertex i. The function φ is a nonlinear activation function, such as ReLU and ψ a learnable parameter. GraphSAGE [21] is a variant of GCN that is more general and can be applied to unseen nodes. By using node attribute data, it can generate representations
of previously unseen data, making it a versatile tool for a variety of machine learning applications. The main difference lies in the aggregation function; unlike GCN, GraphSAGE performs independent linear transformations on the target node and neighbor features (see eq. 2) and then updates the target node, making GraphSAGE more generalizable than GCN.

$$ 
\begin{aligned}
\mathbf{x}_{N_i}^{(l)} &= AGGREGATE^{(l)} (\{\mathbf{x}_j^{(l-1)}, \forall j \in \mathcal{N}_i\}) \\
\mathbf{x}_i^{(l)} &= \sigma (\mathbf{W}^{(l)} \cdot \text{CONCAT}(\mathbf{x}_i^{(l-1)}, \mathbf{x}_{N_i}^{(l)}))
\end{aligned}
\quad (2) $$

And $\mathbf{W}$ is a learnable parameters.

# 4 Methodology

## 4.1 Problem Definition

In the context of urban grid analysis, we represent spatiotemporal data as $X \in \mathbb{R}^{|V_T| \times t \times f}$, where $V_T$ is the set of all grid cell index in our map, t signifies the quantity of time intervals, and f encompasses diverse applications. Each application is analyzed individually in this study, hence the dimension is 1. Every urban grid possesses its unique time series data, denoted as $x_i \in \mathbb{R}^{t \times 1}$.

Urban Area Clustering is a technique for spatial data analysis, applied to a urban grids. The urban landscape is discretized into a grid where each grid cell, $v_i \in V_T$, is associated with a time series $x_i$, capturing urban characteristics such as Mobile Service Consumption. The objective of Urban Area Clustering is to partition the set of grid cells $V_T$ into clusters $C_k$ based on the similarity of their multivariate time series. Let $C_k \subset V_T$ represent the k-th cluster, and $\cup_k C_k = V_T$. The similarity between two grid cells $v_i$ and $v_j$ is measured using a distance metric, denoted as $d(x_i, x_j)$. The clustering process involves optimizing an objective function that quantifies the temporal homogeneity within clusters. Mathematically, the optimization problem can be formulated as:

$$ \underset{\{C_1, \dots, C_K\}}{\operatorname{argmin}} \sum_{k=1}^{K} \sum_{\substack{v_i, v_j \in C_k, \\ v_i \neq v_j}} d(x_i, x_j) \quad (3) $$

Urban Area Clustering offers a data-driven methodology for identifying spatially proximate areas with analogous temporal dynamics, providing insights into urban patterns and contributing to strategic urban planning.

## 4.2 Graph Construction

As shown in Figure 2, most data pairs demonstrate high correlation coefficients (above 0.8), indicating shared periodicity and seasonality patterns. Deep temporal models excel at capturing temporal relationships but may overemphasize common trends in highly correlated data, missing subtle cluster differences. While CNNs [22, 23, 24] typically process grid structures, their local receptive fields prevent full grid perception. High-correlation-based edge construction introduces noise, degrading performance. Our solution applies fourth-order moving average difference to reveal residual patterns and constructs edges using top K maximum correlations per node. The similarity between grid cells is modeled through graph $G_F = (V_F, E_F)$, where $v_i \in V_F$ represents a grid cell and $E_F$ defines edges. We establish an edge $(u, v)$ when grid cell $v$ is adjacent to $u$ or their time series show high correlation, expressed as $E_F = \{(u, v)|v \in C_u \lor v \in \text{topk}(u)\}$, where $C_u$ represents cells adjacent to $u$ and $\text{topk}(u)$ contains highly correlated cells. The set $\text{topk}(u)$ is defined as follows:

$$ \text{topk}(u) = \underset{\substack{S \subset V_F \\ |S| = k}}{\arg \max} \sum_{v \in S} \text{Corr}(u, v) \quad (4) $$

And $\text{Corr}(u, v)$ denote the Pearson correlation of the times $\tilde{x}_u$ and $\tilde{x}_v$, where $\tilde{x}_i$ is the detrend time series $x_i$. We show in Figure 3 and illustration of the adjacency of a given cell grid which include direct spatial connection with adjacent grid cell and long distant connection with grid cell that highly similar traffic behavior.

<figure><img src="image_4.png" /><figcaption>Figure 3: Graph Construction</figcaption></figure>

## 4.3 Spatial Temporal Autoencoder

Research on spatiotemporal neural networks has advanced significantly, with the integration of graph
neural networks and time series models proving effective for extracting spatiotemporal features. This approach has improved spatiotemporal prediction tasks. In this study, we do not limit ourselves to a specific model. As shown in Figure 1, optimizing the latent space is crucial for deep time series clustering. Building on [17], we retain part of the temporal clustering structure. We introduce Deep Temporal Clustering (DTC), starting with a 1D convolutional layer to extract short-term features, followed by max pooling to condense these features. This compresses the time series into a feature-rich vector while filtering noise. Next, a Bidirectional Long Short-Term Memory (BiLSTM) model [25] identifies time series patterns. The temporal encoder's output, $H_{temporal} \in R^{|V_T| \times d}$, captures the learned features, where $d$ is the feature dimension. Reconstruction is achieved via upsampling, followed by a deconvolutional layer.

Due to the voluminous nature of the data, the application of a spatiotemporal interaction model [26, 27] would result in an overly complex training process and long training duration. Consequently, we opt for a more simple time-then-space model [28]. In an effort to encapsulate the interplay between spatial and temporal dimensions, we incorporate two layers of GNN using the GraphSAGE layer [21] at the end of the temporal model. Generally, we define two spatial encoding layers as $f_{\theta_2, \theta_3}^{spatial}(\cdot)$, with model parameters $\theta_2$ and $\theta_3$, thus the spatial encoding operations are defined by followings steps:

$$H_{temporal} = f_{\theta_1}^{temporal}(X) \quad (5)$$

$$H_{spatial} = f_{\theta_2, \theta_3}^{spatial}(G_F, H_{temporal}) \quad (6)$$

$$Z = \text{MLP}([H_{temporal}, H_{spatial}]) \quad (7)$$

Finally, we define a decoder as $g_{\theta_4}(z)$, given the model parameters $\theta_4$, the decoder $g_{\theta_4}(\cdot)$ seeks to build a latent space $Z \in R^{|V_T| \times d}$ by reconstructing the original time series, $\bar{x}_i = g_{\theta_4}(z)$. We use Mean Square Error as the reconstruction loss, defined as:

$$\mathcal{L}_{\text{Reconstruction}} = \frac{1}{n} \sum_{i=1}^{n} \|x_i - \bar{x}_i\|_2^2 \quad (8)$$

## 4.4 Deep Spatial Temporal Clustering

In [14], an innovative architecture called Deep Embedded Clustering neural network was introduced, which represents a significant advance in the unsupervised learning paradigm. The neural network model has an encoder module that expertly converts the raw input data $x$ into a latent feature space $z$. Notably,

this transformation encapsulates the intrinsic patterns and structures inherent in the data, thereby facilitating subsequent clustering operations. The core of the network functionality is the clustering layer, which is intricately interconnected with the latent feature layer. The initialization of this key layer depends on the utilization of k-means clustering, a classic algorithm known for its efficacy in partitioning data into $k$ clusters. Here, the weights of the clustering layer are carefully set to reflect the obtained cluster centers, expressed as $\mu_i$ in $d$-dimensional space $\mathbb{R}^d$. In this framework, where $k$ represents the number of clusters and $d$ represents the dimensionality of the latent feature space, the clustering layer appears as a dense layer and the coordination starts from $\mathbb{R}^d$ to $\mathbb{R}^k$. This transformation is necessary, producing a $k$-dimensional vector, where each element encapsulates the likelihood of a given data point's membership to a specific cluster.

Crucially, this neural architecture coordinates the symbiotic relationship between the initial cluster centers $\{\mu_1, \dots, \mu_k\}$ and the latent features $z$. There is a key step here: the quantification of the similarity between the cluster center $\mu_i$ and the corresponding data point $x_i$. This quantification is facilitated by the nuanced application of the Student's t distribution, imbuing the clustering process with a deep understanding of the cohesion of clusters of data points, resulting in robust and insightful clustering results.

$$q_{ij} = \frac{(1 + \|\mathbf{z}_i - \mathbf{\mu}_j\|^2 / \alpha)^{-\frac{\alpha+1}{2}}}{\Sigma_k (1 + \|\mathbf{z}_i - \mathbf{\mu}_k\|^2 / \alpha)^{-\frac{\alpha+1}{2}}} \quad (9)$$

In the field of unsupervised learning, where validating the parameter $\alpha$ isn't feasible and learning it is unnecessary, as indicated by [29], we take a straightforward approach: setting $\alpha$ to a constant value of 1 across all experiments. $\alpha$ representing the degrees of freedom in the Student's t-distribution, significantly influences the clustering process. Then equation 9 becomes the following equation 10

$$q_{ij} = \frac{(1 + \|\mathbf{z}_i - \mathbf{\mu}_j\|^2)^{-1}}{\Sigma_k (1 + \|\mathbf{z}_i - \mathbf{\mu}_k\|^2)^{-1}} \quad (10)$$

To efficiently train the clustering layer, we adopt an iterative approach and formulate our objective around minimizing the KL divergence loss between $q_{ij}$ and the target distribution $p_{ij}$. The choice of $p$ is crucial, as it aims to enhance high-confidence predictions while normalizing the loss to prevent undue distortion of the underlying representation. Essentially, our target distribution should exhibit several
key properties: first, it should support predictions, thereby increasing clustering purity; second, high-confidence data points should be prioritized, thereby enhancing their influence; and finally, it should The contribution of each centroid to the loss is mitigated, thereby avoiding the risk of large clusters distorting the underlying feature space. This is achieved by employing

$$p_{ij} = \frac{q_{ij}^2/f_j}{\sum_k q_{ij}^2/f_k} \qquad (11)$$

Here, $f_j = \sum_i q_{ij}$ represents the soft cluster frequencies.

To achieve this objective, we define our goal as minimizing the KL divergence loss between the soft assignments $q_{ij}$ and the auxiliary distribution $p_{ij}$, which serves to learn the soft cluster assignments with high confidence.

$$\mathcal{L}_{\text{Clustering}} = KL(P||Q) = \sum_{i=1} \sum_{j=1} p_{ij} \log \left( \frac{p_{ij}}{q_{ij}} \right) \qquad (12)$$

## 4.5 Optimization Objective

$$\mathcal{L}_{\text{Total}} = \mathcal{L}_{\text{Reconstruction}} + \alpha \mathcal{L}_{\text{Clustering}} \qquad (13)$$

We propose a joint optimization objective that combines reconstruction and clustering losses, balanced by a hyperparameter $\alpha$. This formulation enables the model to simultaneously learn meaningful representations while discovering the underlying cluster structure in the data.

# 5 Case Studies

## 5.1 Datasets

<table><caption>Table 1: Dataset Description</caption><thead><tr><th></th><th>Number of grids</th><th>East</th><th>South</th><th>West</th></tr></thead><tbody><tr><td>Paris</td><td>12078</td><td>2.4187</td><td>48.8146</td><td>2.2522</td></tr><tr><td>Lyon</td><td>6758</td><td>4.9129</td><td>45.7154</td><td>4.8036</td></tr></tbody></table>

East and West indicate the Longitude, South and North indicate the latitude.

The Netmob2023 dataset [30] encompasses 20 French cities and 68 mobile services over 77 days, with 100×100 meters spatial and 15-minute temporal resolution. We focus on Paris and Lyon, analyzing Uber, Instagram, and LinkedIn usage patterns. Each node represents a 100×100 meter grid cell with time

series data. We use two-week periods (April 1-14 and May 13-26, 2019) for training and validation, aggregated weekly to ensure data robustness. While unsupervised clustering poses challenges for validation, we hypothesize that PoI patterns remain consistent across weeks. Time series data is z-score normalized to focus on morphological patterns rather than amplitude variations due to population density.

## 5.2 Implementation Details

With the data recently becoming open-source and no existing models utilizing it, we use DEC [14], LSTM-DEC (Replace Autoencoder parts by LSTM), and DTC as a benchmark to evaluate DSTC's effectiveness. The model includes a 1D CNN with 50 filters, kernel size 6, and max pooling, kernel size 4. Two BILSTM layers output sizes of 50 and 1. GraphSAGE layers match the compressed time series dimensions. Global weights are initialized using a Gaussian distribution with mean 0 and standard deviation 0.01. The autoencoder is pre-trained for 50 epochs. Cluster centroids are initialized via Hierarchical Clustering with complete linkage. Reconstruction and clustering losses are jointly optimized over 100 epochs with early stopping. We set topk with $K = 20$ and perform rigorous finetuning to maintain graph sparsity while accounting for neighbors at varying distances. Hyperparameter $\alpha$ sets to 0.5 as common setting. The global optimizer is Adam with learning rate 0.0003 and batch size 128. DSTC employs PyTorch Geometric's NeighborLoader to subsample subgraphs, with input node count 4000, 10 neighbors, and 5 second-degree neighbors. DSTC exhibits reduced GPU memory consumption, using approximately 20GB on an NVIDIA V100 32GB GPU. In contrast, GCN [20] and GAT [31] models tend to encounter GPU memory overflow issues.

## 5.3 Metric

Given the and absence of labels in the dataset, our quantitative analysis is solely reliant on the inherent sparsity of the temporal correlation within the data. In this context, we employ an appropriate metrics: the Spatial-Temporal Moran's Index [32]. Developed by [33], Moran's I is a widely used global spatial autocorrelation statistic. It effectively measures the overall spatial clustering patterns within a dataset.

$$I = \frac{N}{\sum_{i}^{N} \sum_{j}^{N} W_{ij}} \frac{\sum_{i}^{N} \sum_{j}^{N} W_{ij}(x_{i} - \bar{x})(x_{j} - \bar{x})}{\sum_{i}^{N} (x_{i} - \bar{x})^{2}} \qquad (14)$$
where $x_i$ and $x_j$ are the static value of observation at location i and j (eg. Age, Incoming), $\bar{x}$ is the average of all observation values. W is the spatial weight matrix, N is the number of spatial units. A positive value signifies the presence of positive spatial autocorrelation, whereas a negative value denotes negative spatial autocorrelation. The magnitude of the value is indicative of the strength of the autocorrelation, a larger value corresponds to a stronger autocorrelation.

Nonetheless, the application of the Moran's Index is confined to the analysis of static datasets, exhibiting a deficiency in its capacity to process and interpret time-series data. Therefore, we use a new variant of Moran's Index, Spatial-Temporal Moran's Index, defined as follow

$$I^T = \frac{N}{\sum_{i}^{N} \sum_{j}^{N} W_{ij}} \frac{\sum_{i}^{N} \sum_{ij}^{N} W_{ij} Z_{i}^{T} Z_{j}^{T}}{\sum_{i}^{N} Z_{i}^{T2}} \quad (15)$$

$$Z_i^T = \phi(\text{CORT}(X_i^T, \bar{X}^T)) \times (V_i - \bar{V}) \quad (16)$$

where $V_i$ is the accumulative volume of $X_i^T$, $\bar{V}$ is the accumulative volume of $X^T$

$$\phi(x) = \frac{2}{1 + e^{2x}} \quad (17)$$

where $\phi(\cdot)$ is an adaptive tuning function. It will tune the correlation coefficient from [-1,1] to [0,2]. When the correlation coefficient is 0 and the function is 1, the deviation will become the cumulative difference between the two time series. In other words, when the correlation is higher, the value is smaller, and conversely, when the correlation is smaller, the value is larger.

$$\text{CORT}(X_t, Y_t) = \frac{\sum_{t=1}^{T-1} (X_{t+1} - X_t)(Y_{t+1} - Y_t)}{\sqrt{\sum_{t=1}^{T-1} (X_{t+1} - X_t)^2} \sqrt{\sum_{t=1}^{T-1} (Y_{t+1} - Y_t)^2}} \quad (18)$$

CORT [34] is first-order temporal correlation coefficient. A value of 1 signifies that the entities under consideration exhibit congruent growth patterns, both in terms of magnitude and direction. Conversely, a value of 0 implies that their growth rates are stochastically linearly independent, indicating divergent temporal behavior.

# 6 Results

## 6.1 Results analysis

The outcomes in Tables 2 and 3 present the Spatiotemporal Moran's I values for training and validation sets. The incorporation of spatial information

improves results compared to temporal-only analysis, increasing stability. The spatiotemporal autocorrelation varies across applications. Professional platforms like Uber and LinkedIn demonstrate high spatiotemporal autocorrelation in Paris, while the social platform Instagram shows lower spatiotemporal autocorrelation. There are significant differences between cities, Paris exhibits higher spatiotemporal autocorrelation than Lyon for all applications, likely due to application usage patterns and urban functional zoning. Additionally, the clustering models in Paris show better generalization capabilities compared to Lyon.

## 6.2 Visual inspection

The analysis of the Paris Uber dataset, as depicted in Figure 4, reveals distinct activity patterns across different urban clusters. Clusters 2, 3, and 5 demonstrate evening peak activity, particularly pronounced from Thursday to Saturday, with each cluster following its unique pattern, while Clusters 4 and 6 exhibit more uniform activity Monday through Saturday, characteristic of mixed residential-commercial zones typical of Paris's urban layout. A notable observation is the consistent Sunday activity reduction across all clusters except Cluster 1, reflecting the traditional Parisian Sunday lifestyle where residential activity dominates and commercial activity diminishes. The validation process confirms strong pattern generalization across different weeks, with Week 1 and Week 2 showing consistent time-series fluctuations within identical clusters. Cluster 1, encompassing major transportation hubs including Gare du Nord, Gare de Montparnasse, Gare de Lyon, and Gare de Bercy, shows characteristic patterns with elevated Friday and Saturday activity due to increased travel volume, maintaining higher Sunday activity compared to others. Cluster 8 identifies significant commercial and office districts, including the Levallois-Perret and Neuilly-sur-Seine intersection (housing PwC France, Webedia Group, and the Direction générale de la Sécurité intérieure), the Issy-les-Moulineaux district (home to Microsoft France, Capgemini, Canal+, and Warner Bros.), and the prestigious Quartier du Faubourg-du-Roule near the Arc de Triomphe and Champs Elysées, characterized by its concentration of high-end establishments, luxury hotels, and embassies.

## 6.3 Distribution shift

Time series distribution shift refers to changes in the distribution of a series over time, commonly seen in non-stationary time series data. This shift signifi-
<table><caption>Table 2: Week 1 Moran index</caption><thead><tr><th rowspan="2"></th><th colspan="3">Paris</th><th colspan="3">Lyon</th></tr><tr><th>Uber</th><th>Linkedin</th><th>Instagram</th><th>Uber</th><th>Linkedin</th><th>Instagram</th></tr></thead><tbody><tr><th>DEC</th><td>62.90%±2.19%</td><td>58.90%±3.79%</td><td>48.63%±5.69%</td><td>47.77%±4.79%</td><td>35.37%±4.33%</td><td>26.85%±1.51%</td></tr><tr><th>LSTM-DEC</th><td>53.67%±2.71%</td><td>61.37%±0.63%</td><td>41.17%±1.63%</td><td>41.73%±5.45%</td><td>23.63%±3.29%</td><td>12.50%±6.48%</td></tr><tr><th>DTC</th><td>69.47%±1.26%</td><td>65.47%±0.83%</td><td>53.03%±1.45%</td><td>49.93%±2.86%</td><td>31.57%±1.37%</td><td>20.07%±1.45%</td></tr><tr><th>DSTC(Ours)</th><td><b>71.87%</b>±0.88%</td><td><b>66.67%</b>±0.54%</td><td>52.00%±0.16%</td><td><b>51.7%</b>±2.29%</td><td><b>35.97%</b>±1.72%</td><td>22.27%±1.45%</td></tr></tbody></table>

<table><caption>Table 3: Week 2 Moran index</caption><thead><tr><th rowspan="2"></th><th colspan="3">Paris</th><th colspan="3">Lyon</th></tr><tr><th>Uber</th><th>Linkedin</th><th>Instagram</th><th>Uber</th><th>Linkedin</th><th>Instagram</th></tr></thead><tbody><tr><th>DEC</th><td>57.50%±1.30%</td><td>49.43%±3.37%</td><td>45.57%±3.34%</td><td>12.97%±1.59%</td><td>25.33%±5.64%</td><td>16.12%±3.11%</td></tr><tr><th>LSTM-DEC</th><td>40.80%±1.39%</td><td>59.00%±1.01%</td><td>36.13%±2.36%</td><td>2.67%±1.10%</td><td>18.93%±5.87%</td><td>9.33%±2.54%</td></tr><tr><th>DTC</th><td>62.47%±1.09%</td><td>67.30%±2.10%</td><td>51.37%±1.82%</td><td>12.87%±3.87%</td><td>26.70%±2.05%</td><td>12.30%±0.92%</td></tr><tr><th>DSTC(Ours)</th><td><b>67.07%</b>±0.75%</td><td><b>69.7%</b>±0.65%</td><td>50.45%±0.05%</td><td><b>14.20%</b>±2.29%</td><td><b>27.07%</b>±1.19%</td><td>10.60%±0.57%</td></tr></tbody></table>

<figure><img src="image_5.png" /><figcaption>Figure 4: Clustering result between Week 1 and Week 2 for Uber Paris dataset</figcaption></figure>

<figure><img src="image_6.png" /><figcaption>Figure 5: An evident distribution shift between the training and validation datasets is discernible.</figcaption></figure>
<figure><img src="image_7.png" /><figcaption>Figure 6: Train station</figcaption></figure>

<figure><img src="image_8.png" /><figcaption>Figure 7: Work place</figcaption></figure>

cantly affects models used for prediction, classifica-
tion, and clustering. Figure 5 illustrates the distri-
bution of four datasets, all showing temporal dis-
tribution deviations. For instance, the Uber and
Instagram datasets from Paris, and the Instagram
dataset from Lyon, exhibit notable inconsistencies in
average distribution. Additionally, the Uber dataset
from Lyon shows a discrepancy in standard deviation.
This suggests that in fine-grained urban grids, some
time series are chaotic, representing streets or areas
with mixed functions, leading to non-interpretable
patterns in fine-grained contexts. This may partly
explain suboptimal model performance in certain
datasets.

7 Discussion

Spatiotemporal clustering presents significant chal-
lenges and practical implications. Most research fo-
cuses on time series clustering with limited real-world
applications. We adopt a cost-effective approach for
spatiotemporal clustering on real-world data, show-
ing promising results. Unlike Dynamic Time Warp-
ing (DTW) [35], deep clustering overcomes compu-
tational inefficiency, nonlinear distance metric selec-
tion, and univariate time series restrictions. This
method is effective for tasks like outlier detection and
missing data imputation, identifying similar regions
and filling missing records. Spikes in regional outliers
may indicate issues like crowding.

High-quality data is crucial for deep learning. We use
Passive Measurement Probes [30] and Bayes' theorem
to allocate fine-grained traffic data to a 100 × 100 me-
ter urban grid. This probabilistic distribution yields
reliable results in densely populated cities like Paris
and Lyon. However, fine-grained data often intro-
duces noise, requiring extensive upsampling to reveal
clear temporal patterns, making high-resolution tasks
less effective.

8 Conclusion and Future Work

In this study, We present the implementation of Deep
Spatial Temporal Clustering (DSTC) and the con-
struction of an urban grid graph, utilizing data from
a single web application without supplementary data
such as Points of Interest (PoI) or human mobility
data. Our analysis reveals distinct spatiotemporal
attributes in certain cities and applications. We in-
troduce a novel metric for evaluating results on unla-
beled data, demonstrating that the integration of spa-
tiotemporal information significantly enhances sta-
bility and accuracy. Future research will focus on
real-time detection of outliers in spatiotemporal se-
ries, such as identifying urban road congestion and
providing early warnings, or detecting network appli-
cation anomalies due to population aggregation.

Acknowledgement

We would like to express our sincere appreciation
to Netmob2023 for hosting and organizing the data
challenge. This data challenge provided an excep-
tional opportunity to engage in meaningful data ex-
ploration and analysis, fostering growth in our data
science community.

References

[1] L. Pappalardo et al. “Returners and explorers dichotomy in human mobility”. In: *Nature Communications* 6.1 (Sept. 2015).

[2] H. Alatrista-Salas et al. “Impact of natural disasters on consumer behavior: Case of the 2017 El Niño phenomenon in Peru”. In: *PLOS ONE* 16.1 (Jan. 2021). Ed. by J. M. Riascos, e0244409.

[3] M. C. González et al. “Understanding individual human mobility patterns”. In: *Nature* 453.7196 (June 2008), pp. 779–782.

[4] I. Ucar et al. “News or social media? Socio-economic divide of mobile service consumption”. In: *Journal of The Royal Society Interface* 18.185 (2021), p. 20210350.

[5] A. Furno et al. “A Tale of Ten Cities: Characterizing Signatures of Mobile Traffic in Urban Areas”. In: *IEEE Trans. on Mobile Computing* 16.10 (2016), pp. 2682–2696.

[6] G. Khodabandelou et al. “Estimation of Static and Dynamic Urban Populations with Mobile Network Metadata”. In: *IEEE Transactions on Mobile Computing* 18.9 (Sept. 2019), pp. 2034–2047.

[7] D. Bachir et al. “Inferring dynamic origin-destination flows by transport mode using mobile phone data”. In: *Transportation Research Part C: Emerging Technologies* 101 (Apr. 2019), pp. 254–275.

[8] S. Vilella et al. “News and the city: understanding online press consumption patterns through mobile data”. In: *EPJ Data Science* 9.1 (Apr. 2020).

[9] Z. Yao et al. “Representing urban functions through zone embedding with human mobility patterns”. In: *Proc. of the Twenty-Seventh International Joint Conference on Artificial Intelligence*. 2018.

[10] C. Huang et al. “DeepCrime: Attentive hierarchical recurrent networks for crime prediction”. In: *Proc. of the 27th ACM international conference on information and knowledge management*. 2018, pp. 1423–1432.

[11] M. Zhang et al. “Multi-view joint graph representation learning for urban region embedding”. In: *Proc. of the Twenty-Ninth International Conference on International Joint Conferences on Artificial Intelligence*. 2021, pp. 4431–4437.

[12] S. Wu et al. “Multi-Graph Fusion Networks for Urban Region Embedding”. In: *Proc. of the Thirty-First International Joint Conference on Artificial Intelligence*. July 2022, pp. 2312–2318.

[13] X. Li et al. “Autoencoder constrained clustering with adaptive neighbors”. In: *IEEE transactions on neural networks and learning systems* 32.1 (2020), pp. 443–449.

[14] J. Xie et al. “Unsupervised Deep Embedding for Clustering Analysis”. In: *Proc. of The 33rd International Conference on Machine Learning*. Vol. 48. Proceedings of Machine Learning Research. PMLR, June 2016, pp. 478–487.

[15] J. Yang et al. “Joint unsupervised learning of deep representations and image clusters”. In: *Proceedings of the IEEE conference on computer vision and pattern recognition*. 2016, pp. 5147–5156.

[16] M. Caron et al. “Deep clustering for unsupervised learning of visual features”. In: *Proc. of the European conference on computer vision (ECCV)*. 2018, pp. 132–149.

[17] N. S. Madiraju. “Deep temporal clustering: Fully unsupervised learning of time-domain features”. PhD thesis. Arizona State University, 2018.

[18] Z. Wen and Y. Fang. “Trend: Temporal event and node dynamics for graph representation learning”. In: *Proceedings of the ACM Web Conference 2022*. 2022, pp. 1159–1169.

[19] M. Liu et al. “Deep Temporal Graph Clustering”. In: *The Twelfth International Conference on Learning Representations*. 2024.
[20] T. N. Kipf and M. Welling. "Semi-Supervised Classification with Graph Convolutional Networks". In: *Proc. of 5th The International Conference on Learning Representations*. Toulon, France, Apr. 2017.

[21] W. Hamilton et al. "Inductive Representation Learning on Large Graphs". In: *Advances in Neural Information Processing Systems*. Vol. 30. 2017.

[22] H. Qu et al. "Forecasting fine-grained urban flows via spatio-temporal contrastive self-supervision". In: *IEEE Transactions on Knowledge and Data Engineering* 35.8 (2022), pp. 8008-8023.

[23] J. Zhang et al. "Predicting citywide crowd flows using deep spatio-temporal residual networks". In: *Artificial Intelligence* 259 (2018), pp. 147-166.

[24] X. Zhang et al. "Mask-and contrast-enhanced spatio-temporal learning for urban flow prediction". In: *Proceedings of the 32nd ACM International Conference on Information and Knowledge Management*. 2023, pp. 3298-3307.

[25] S. Hochreiter and J. Schmidhuber. "Long short-term memory". In: *Neural computation* 9.8 (1997), pp. 1735-1780.

[26] L. Bai et al. "Adaptive graph convolutional recurrent network for traffic forecasting". In: *Advances in neural information processing systems* 33 (2020), pp. 17804-17815.

[27] Y. Li et al. "Diffusion Convolutional Recurrent Neural Network: Data-Driven Traffic Forecasting". In: *International Conference on Learning Representations*. 2018.

[28] J. Gao and B. Ribeiro. "On the equivalence between temporal and static equivariant graph representations". In: *International Conference on Machine Learning*. PMLR. 2022, pp. 7052-7076.

[29] L. Van der Maaten and G. Hinton. "Visualizing data using t-SNE." In: *Journal of machine learning research* 9.11 (2008).

[30] O. E. Martínez-Durive et al. *The netmob23 dataset: A high-resolution multi-region service-level mobile data traffic cartography*. 2023.

[31] P. Veličković et al. "Graph Attention Networks". In: *International Conference on Learning Representations*. 2018.

[32] Y. Gao et al. "Measuring spatio-temporal autocorrelation in time series data of collective human mobility". In: *Geo-Spatial Information Science* 22.3 (2019), pp. 166-173.

[33] P. A. Moran. "Notes on continuous stochastic phenomena". In: *Biometrika* 37.1/2 (1950), pp. 17-23.

[34] A. D. Chouakria and P. N. Nagabhushan. "Adaptive dissimilarity index for measuring time series proximity". In: *Advances in Data Analysis and Classification* 1 (2007), pp. 5-21.

[35] M. Müller. "Dynamic time warping". In: *Information retrieval for music and motion* (2007), pp. 69-84.