mobility-team / mobility

Mobility, an open-source library for mobility modelisation
MIT License
16 stars 11 forks source link

Actualiser les bases de données (ENTD, INSEE) #5

Closed louisegontier closed 2 years ago

louisegontier commented 2 years ago

ENTD : https://www.statistiques.developpement-durable.gouv.fr/resultats-detailles-de-lenquete-mobilite-des-personnes-de-2019?rubrique=60&dossier=1345

FlxPo commented 2 years ago

Je viens de créer une base pour le développement d'un fonction get_survey_data, qui crée les fichiers parquet la première fois qu'on l'utilise, et qui les charge simplement ensuite : https://github.com/mobility-team/mobility/blob/main/mobility/get_survey_data.py

Je voudrais faire évoluer la logique d’échantillonnage et les noms de variables (plus explicites), vous pouvez regarder la base du nouveau "TripSampler" pour voir comment cela pourrait fonctionner : https://github.com/mobility-team/mobility/blob/main/mobility/trip_sampler_2.py

@AntoineGauchot et Anne Sophie vous pouvez partir de cette base pour refaire l'intégration des données 2008 et ajouter celles de 2018 ?

AntoineGauchot commented 2 years ago

Une 1ère version du code pour créer les fichiers parquet et les charger a été rédigée sur la branche entd_emd, avec notamment :

Les fichiers parquet sont écrits de façon à permettre une nouvelle façon d'échantillonner. NB : cette nouvelle méthode n'est pas encore implémentée mais dans l'idée ressemblera à ça : Voyages

  1. On calcule un nombre de voyages par an selon la CSP à partir de _long_dist_travelnumber.parquet
  2. On échantillonne autant de voyages dans la base travels.parquet (en fonction de la CSP, de la catégorie d'unité urbaine de résidence et de la motorisation)
  3. On récupère les longs déplacements associés à ces voyages dans _long_disttrips.parquet
  4. On calcule le nombre de jours passés en voyage, pour le travail (n1) et pour raisons personnelles (n2) à partir de la variable _nbnights de travels.parquet
  5. On échantillonne n1 jours de semaine et n2 jours de week-end dans la base des jours type de déplacements courts _daystrip.parquet (en fonction de la CSP, de la catégorie d'unité urbaine de résidence et de la motorisation) pour simuler les déplacements locaux durant le voyage
  6. On récupère les déplacements courts associés à ces jours dans _short_disttrips.parquet

Mobilité quotidienne

  1. On calcule le nombre de jours d'immobilité par an en semaine m1 et le week-end m2 selon la CSP à partir de _immobilityprobability.parquet
  2. On échantillonne 365 jours de déplacements - n1 - n2 - m1 - m2 dans la base des jours type de déplacements quotidiens _daystrip.parquet (en fonction du jour de la semaine (semaine ou week-end), la CSP, de la catégorie d'unité urbaine de résidence et de la motorisation)
  3. On récupère les déplacements courts associés à ces jours dans _short_disttrips.parquet
FlxPo commented 2 years ago

Merci pour ces propositions.

J'ai commencé quelques changements :

Il manque juste le téléchargement pour les données 2008, je fais ça demain.

FlxPo commented 2 years ago

J'ai ajouté le téléchargement pour l'ENTD 2008 : https://github.com/mobility-team/mobility/commit/1ddab5f13d2b92bb2e19b5efd58b32da9e5a3f79.

FlxPo commented 2 years ago

Tout semble OK ! J'ai fait un merge avec la branche main : https://github.com/mobility-team/mobility/pull/8