Distribution statistique des trajets entre le domicile et le travail
Séminaire lunch de l’OFCE
lundi 13 mars 2023
Pourquoi MEAPS ?
Modèle Ergodique à Absorption, Priorité et Saturation
Simulations Synthétiques
Estimations
Conclusions
Dans la modélisation des flux de personnes, par exemple, le modèle à 4 étapes est généralement utilisé.
Nous nous intéressons ici surtout à l’étape 2.
Un modèle couramment utilisé est le modèle gravitaire
\[
T_{i,j} = \frac {N_{hab, i}\times N_{emp, j}} {f(d_{i,j})}
\]
avec
\[ f=e^{d/\delta} \]
Mais le modèle gravitaire « écrase » l’information proprement spatiale et marche surtout « de loin ».
Il donne la même valeur à la distance quelque soit la densité du milieu traversé. Or, quand on est isolé, on accepte des distances plus grandes.
On propose d’utiliser une autre analogie : le modèle radiatif de (Simini et al. 2012) ou des « opportunités intervenantes » de (Stouffer 1940)
Dans cette analogie, au lieu d’avoir des masses qui s’attirent (A et B), le trajet entre A et B est influencé par les Cs que l’on rencontre en chemin.
Analogie physique : une particule est émise d’un point. Elle parcourt l’espace jusqu’à rencontrer des sites d’absorption. A chaque site d’absorption elle peut être absorbée (probabilité \(p\)) ou continuer (probabilité \(1-p\)).
Mais un milieu linéarisé : au lieu d’une particule partant dans une direction quelconque, on classe sur une droite tous les sites d’absorption en fonction de leur distance. Ils seront rencontrés dans cet ordre. Ceci permet de représenter l’influence de la distance, puisque ce qui est près compte plus que ce qui est loin.
Nous proposons un Modèle Ergodique à Absorption, Priorité et Saturation (/mi:ps/)
Le modèle théorique
Version simple
Priorité et saturation
Ergodicité
Algorithme
Simulations synthétiques pour en étudier les propriétés
Estimations à partir de MOBPRO à La Rochelle
données
\(R^2_{KL}\) et quelques autres éléments
Apprentissage (ou estimation non paramétrique)
Estimations paramétriques
Conclusions
Pourquoi MEAPS ?
Modèle Ergodique à Absorption, Priorité et Saturation
Simulations Synthétiques
Estimations
Conclusions
Pour chaque individu, les emplois sont classés dans l’ordre des distances, chaque emploi a un rang \(r_i(j)\) et une probabilité d’absorption uniforme \(p_a\). La probabilité de dépasser au moins \(j\) s’écrit :
\[ \bar F(j)=(1-p_a)^{r_i(j)} \]
On peut définir une fuite, c’est-à-dire la probabilité de ne pas s’arrêter dans le périmètre d’étude (fini)
\[ p_a = 1-(p_f)^{1/J} \]
La probabilité de s’arrêter en \(j\) peut alors s’écrire :
\[ P_i(j) = (1-p_a)^{r_i(j)-1} \times p_a = {p_f}^{\frac {r_i(j)-1} {J}} \times (1-{p_f}^{1/J}) \]
et ne dépend que des paramètres globaux, la fuite et le nombre d’emplois.
On définit l’accessibilité \(s_i(d)=\sum _{j/d_{i,j}<d}1\)
On a au premier ordre (\(k\) est le nombre d’emploi en \(c_d\), \(\mu=\frac{-log(p_f)}{J})\) :
\[ P_i(i\in c_d) \approx k\times \mu \times e^{-\mu \times s_i(d)} \]
et donc :
\[ T^{meaps}_{i,j} = \mu \times N_{hab, i}\times N_{emp, j} \times e^{-\mu \times s_i(d)} \]
Si la densité des opportunités (les emplois) est uniforme, on peut calculer \(s_i(d)=r^2/\rho^2\) et (re)trouver une forme « gravitaire » qui dépend de la distance.
\[ T^{meaps}_{i,j} = \mu \times \frac {N_{hab, i}\times N_{emp, j}} { e^{d^2/\rho^2}} \]
L’absorption définit une « demande » qu’il faut confronter à des disponibilités. En l’absence d’un prix nous proposons :
En notant \(\phi_u(i,j)\) la probabilité de disponibilité (\(\phi\) vaut 0 si l’emploi est complètement pris)
\[ P_{u, i}(j) = \lambda_{u,i}.\phi_u(i,j). p_a \prod_{l=1}^{r_i^{-1}(j)-1}(1-\lambda_{u,i}. \phi_u(i,r^{-1}(l)).p_a) \]
\[ \prod_{j=i} ^{J} (1-\lambda_{u,i} \times \phi_u(i,j) \times p_{a})= p_f \]
Pour ne pas dépendre d’un ordre particulier, nous faisons la moyenne sur tous les ordres possibles. Aucun résident n’est privilégié, la moyenne sur tous les ordres possibles donne une solution acceptable.
Il y a \(I!\) ordres possibles ce qui est impossible à traiter.
On prend donc un (petit) échantillon de ces ordres et on conjecture l’ergodicité du modèle : un faible nombre de tirages permettra d’atteindre la moyenne sur tous les ordres.
Intuitivement, chaque individu est localisé aléatoirement, la saturation dépend surtout de la coïncidence d’individus proches d’une opportunité et qui sont donc les premiers servis. Cette coïncidence est rare et donc quelques tirages conduisent à un résultat proche de tous les tirages.
Le modèle n’admet pas de solution fermée. La simulation est incontournable, notamment pour prendre en compte les données riches géographiques (réseaux de transport, localisation des emplois, des individus).
L’algorithme a été implémenté en C++ en utilisant la parallélisation pour le Monte-Carlo avec OpenMP. Avec les optimisations que nous avons réussi à implémenter, pour un problème de la taille de La Rochelle, il faut 20s pour une simulation sur 256 tirages avec 4 threads.
Le code est dans le package R {rmeaps}
github.com/maxime2506/rmeaps
Pourquoi MEAPS ?
Modèle Ergodique à Absorption, Priorité et Saturation
Simulations Synthétiques
Estimations
Conclusions
On génère une distribution aléatoire, avec une répartition spatiale des individus, des emplois, des distances et des rangs. On peut simuler le modèle et l’agréger à une maille choisie.
On peut analyser l’ergodicité ou définir une tension et plein d’autres choses.
Pourquoi MEAPS ?
Modèle Ergodique à Absorption, Priorité et Saturation
Simulations Synthétiques
Estimations
Conclusions
INSEE (2022), fichier détail du recensement. Donne pour chaque commune de résidence, la commune principale d’activité de chaque résident. On interprète ça comme un flux. 72 communes de résidence, 210 communes d’emploi.
localisation des résidents au carreau 200m (données carroyées de l’INSEE) (5475 carreaux de résidence)
localisation des emplois au carreau 200m (MOBPRO+fichiers fonciers en localisant en fonction des surfaces d’activité par 5 NAF, à proportion des surfaces de chaque commune) (6236 carreaux d’emplois)
On évalue les distances entre chaque paire de carreau 200m pour 4 modes de transport
On va comparer des flux entre eux et on aimerait avoir un critère à maximiser pour les ajustements. On utilise l’entropie « relative » de Kullback-Leibler, \(p\) et \(q\) sont deux distributions :
\[ KL(p,q) = \sum_{i}p_i \times log(p_i/q_i) \]
Kolmogorov-Smirnov (KS) est une alternative. Nous préferrons KL à KS parce que KS repose sur le maximum d’écart entre deux distributions et est donc une métrique discontinue. KL pose un problème pour les 0 (que l’on enlève) et n’est pas une distance.
A partir de KL on peut définir un \(R^2_{KL}\) suivant Colin Cameron et Windmeijer (1997) en utilisant la distribution uniforme comme point de référence (analogue à une constante pour un \(R^2\) de régression linéaire) :
\[ R_{KL}^2 = 1 - \frac{KL(p,\hat{q})}{KL(p, q_0)} \]
\(q_0\) est une distribution uniforme et \(KL(p, q_0)\) est l’entropie de \(p\).
\[ log(T_{i,j}) = log(a_i) + log(e_j) - \underset{(7.98)}{0.012} \times t_{i,j} - \underset{(131.7)}{10.02} \ \ \ R^2_{adj} = 2.29\%, 2034\ d.o.f \]
On simule MEAPS sur MOBPRO à la maille commune,
MEAPS à la maille c200m.
Le \(R^2_{KL}\) pour le modèle gravitaire est de 77,8%, Le \(R^2_{KL}\) pour MEAPS c200 est de 88,4%.
On introduit des modifications de la probabilité d’absorption : \[ \tilde{p}_{abs,ij} = \frac{c_{abs} \times \omicron_{ij}} {1+c_{abs} \times \omicron_{ij}} \]
Si on estime tous les \(\omicron_{ij}\), \(i\) et \(j\) parcourant les communes de résidence et d’emploi, on a un problème de grande dimensionalité. Pas d’optimisation directe possible, on utilise un algorithme approché (à la machine learning).
Un tel algorithme est :
\[ \omicron^k_{ij} = \biggl(\frac{\tilde{c}^k_{abs}}{ c^{mobpro}_{abs}}\biggr)^\beta \times \omicron^{k-1}_{ij} \]
On impose une structure paramétrique de faible dimension (1 ou 2 dans nos exemples) et on peut faire une optimisation numérique. La structure peut relier les \(\omicron_{ij}\) à la distance, au voisinage, etc…
R2KL | Degrés de liberté | odds estimés | |
---|---|---|---|
Référence (odds unitiaires) | 88.4% | 1 752 | 0 |
Diagonale (résidence égale emploi) | 95.0% | 1 681 | 71 |
90% des flux cumulés | 97.4% | 1 027 | 725 |
99% des flux cumulés | 99.3% | 0 | 1 849 |
100% des flux cumulés | 99.6% | 0 | 2 029 |
Communes diagonales : flux allant d’une commune de résidence vers elle-même pour l’emploi.
\(\omicron_{i \neq j}=1\) et \(\omicron_{ii} = o\).
Communes diagonales et voisines : 1+ une commune est voisine d’une autre si au moins 5% des trajets pondérés par les emplois et les résidents ont une distance kilométrique inférieure à 3km.
\(\omicron_{ii} = o_d\); \(\omicron_{ij\in \mathcal{V}(i)} = o_v\) et \(\omicron_{i, j \neq i, j \notin \mathcal{V}(i)} = 1\).
Un coefficient en deça d’une distance et un paramètre pour cette distance de « bascule ».
\(\omicron_{ij \in d_{i,j} \leq d_c} = o\) et \(\omicron_{ij \in d_{i,j} > d_c} = 1\)
Gravitaire, à la maille c200
Gravitaire, à la maille c200, plus une normalisation par Furness
Algorithme de Furness
\(T_{i,j} = a_i \times b_j \times \frac {N_{hab, i} \times N_{emp, j}} {f(d_{i,j})}\)
\(a_i = \frac{1}{\Sigma_j \frac{ b_j \times N_{emp,j}}{f(d_{i,j})}} \ ;\ \ b_j = \frac{1}{\Sigma_i \frac{a_i \times N_{hab,i}}{f(d_{i,j})}}\)
RKL2 | Degrés de liberté | Paramètres | |
---|---|---|---|
Référence | 88.4% | 1 752 | |
1. Commune vers commune | 93.0% | 1 751 | NA |
2. Commune vers commune et voisines | 93.1% | 1 750 | od≈4.3 |
3. Distance carreau 200m | 94.1% | 1 750 | dc≈ 9 min |
4. Gravitaire sans Furness | 82.6% | 1 961 | δ≈20 min |
5. Gravitaire avec Furness | 90.7% | 1 751 | δ≈17 min |
Pourquoi MEAPS ?
Modèle Ergodique à Absorption, Priorité et Saturation
Simulations Synthétiques
Estimations
Conclusions
MEAPS dispose de microfondements (analogie radiative) et d’une agrégation explicite et flexible qui peut s’appliquer à plusieurs situations :
On peut produire :
document : https://xtimbeau.github.io/meaps
code : https://github.com/xtimbeau/meaps
shiny: https://ofce.shinyapps.io/rmeaps
package : devtools::install_github("maxime2506/rmeaps")
Séminaire lunch de l’OFCE MEAPS Parodi&Timbeau 2023