Open Mind-the-Cap opened 4 months ago
À compléter
Bienvenue à toutes et tous sur le projet ! le package étant en construction nous avons encore pas mal d'éléments pas forcément très clairs (et probablement de bugs à droite à gauche). N'hésitez pas à indiquer ici ce qui vous bloque, que ce soit des questions de compréhension ou de code.
Bonjour,
J'aurais un petit questionnement concernant les fichiers de format Parquet, je n'arrive tout simplement pas à comprendre leurs contenus, ni même les titres des colonnes?
Bonne journée
@TonyT71 a priori on n'a pas besoin de comprendre Parquet, juste d'encoder et de décoder facilement ce format ! Est-ce que c'est bloquant pour un point ?
Bonjour,
Je suis actuellement entrain d'étudier le code et j'ai une interrogation en ce qui concerne la valeur des coordonnées attribuée aux communes. En effet, les coûts ne sont pas cohérents par rapport au distance réelles (y compris dans l'ordre des communes les plus proches, ce n'est donc pas un problème d'échelle). Savez dans quel référentiel sont les coordonnées dans le fichier csv : donneesCommunesFrance.csv (mobility\data\insee\territories).
Merci, bonne journée
J'essayais de comprendre quelles étaient les données que vous aviez déjà inclus dans la librairie et en l'occurence les données sur la scolarité, je voulais donc savoir quelles étaient ces données: Une base de données contenant la localisation des établissements ou la carte scolaire ou les déplacements réels d'une population sondée par exemple.
@BaptisteD35 de mémoire, c'est du Lambert-93. Est-ce que tu aurais un exemple de ces coûts non cohérents ? Merci !
@TonyT71 les données Parquet viennent de ce jeu de données https://www.data.gouv.fr/fr/datasets/denombrement-des-equipements-commerce-services-sante-en-2021/#/community-reuses (dont je vais améliorer les métadonnées) et donc de la base permanente des équipements de l'INSEE, décrite ici https://www.insee.fr/fr/metadonnees/source/operation/s2077/presentation
@Mind-the-Cap J'ai l'impression qu'il s'agit d'une approximation de la valeur qui a pour conséquence une modification des distance notamment pour les communes proches. En cherchant un peu, j'ai par exemple trouvé deux communes avec les mêmes coordonnées dans le csv.
@BaptisteD35 Intéressée par l'exemple précis ! Après, pour les communes très proches, les poids ont normalement beaucoup plus d'influence que les distances, à voir s'il y a une erreur ou si c'est juste lié au modèle.
Bonjour, Veuillez trouver ci-joint des captures d'écran illustrant des exemples d'imprécisions issues du fichier CSV donnant les coordonnées des communes. Dans la première image, on peut voir que le point sélectionné sur la carte (en rouge) correspond à deux communes (fenêtre de droite). On retrouve le même problème dans la deuxième image avec trois communes. Sur la troisième image, on peut voir que la commune sélectionnée est décalée par rapport à son emplacement sur la carte (OpenStreetMap) et les trois communes de l'image 2 se retrouvent intercalées entre les données du CSV et le placement réel.
Bonjour @Mind-the-Cap, @FlxPo, Nous voudrions commencer à penser un algorithme de répartition des élèves dans les écoles. Dans les données qui sont chargées dans le fichier get_insee_data.py, nous ne trouvons pas des données relatives à la "population écolière". Nous nous demandons s'il existe déjà dans la bibliothèque des données sur la répartition des personnes scolarisées, ou si nous devons les chercher.
Merci pour votre réponse.
A propos du fichier schools.parquet, est ce qu'il est écrit dans le fichier 'permanent_db_facilities.py', et si oui, est ce qu'il y a un moyen de retrouver la source pour pouvoir accès à tous les attributs différents du fichier initial. Il nous faudrait dans l'idéal des données sur les écoles avec le type d'établissement et la fréquentation par école. J'ai l'impression que pour l'instant la structure des données ne donne que par ville la fréquentation totale des établissements scolaire et le motif de déplacement 1.4.
L'INSEE publie une estimation des mobilités scolaires de commune à commune, ici. Vous pourriez reprendre la logique de la fonction prepare_job_active_population
pour créer un fichier parquet qui contient le nombre d'élèves au lieu d'habitation et au lieu d'études, par commune.
Le fichier schools.parquet est créé par la fonction prepare_facilities
du fichier permanent_db_facilities.py. La source utilisée par ce script est stockée sur data gouv ici. Il s'agit du dénombrement des équipements de l'INSEE. Le nombre d'élèves est calculé avec des hypothèses de nombre d'élèves par type d'établissement, contenues dans ce fichier.
Bonjour @FlxPo, Merci pour vos précisions. Concernant la fréquentation des établissements scolaires, nous avons trouvé une base de donnée qui donne l'effectif par établissement ici.
Est-ce qu'il vaut mieux privilégier l'exactitude statistique et utiliser cette base de données, ou est-il préférable de limiter la quantité de données à utiliser et prendre les estimations que vous nous avez fournies ?
Bonjour ! Bien joué pour cette base, personnellement je suis en faveur de l'utiliser car il vaut mieux favoriser la précision statistique. On n'a pas peur d'augmenter le nombre de données utilisées tant qu'on peut les récupérer automatiquement, ce qui est le cas de cette base qui m'a l'air mise à jour très fréquemment !
@martaducamp tu as mis tes modifications sur la branche stage-2-model, est ce que vous pourriez vous créer une branche à part pour vos travaux ?
@Mind-the-Cap tu saurais faire un git revert ou reset pour revenir à mon dernier commit ?
Deuxième point l'idée est de ne plus stocker de données de taille importante dans le package directement mais de les récupérer directement depuis la source, ou de les stocker sur data gouv (si l'url est instable comme les données INSEE). Puis de les télécharger lors de la première utilisation. Vous pouvez reprendre la classe CityLegalPopulations pour voir comment faire.
@martaducamp j'ai fait un git revert pour annuler les modifications que tu as mises sur la branche stage-2-model.
@FlxPo Merci, et pardon pour cette erreur, on galère encore pas mal avec Git, mais on va faire plus attention maintenant. On pensait que stage-2-model était notre branche.
Pas de soucis @martaducamp, je galère également assez souvent avec Git !
Bonjour,
Nous nous posons une question à propos de l'utilisation des données de l'enquête mobilité https://www.insee.fr/fr/statistiques/7637665?sommaire=7637890 . Nous pensons que pour obtenir une estimation cohérente d'une mobilité (dans le cadre des études) d'une ville à l'autre, il suffit de multiplier le nombre de lignes de l'enquête qui concerne cette mobilité exacte par la somme des poids de ces lignes. Est-ce que cela vous paraît cohérent? Nous pensons que c'est le bon calcul mais nous préférons nous en assurer avec vous.
Bonne journée
Bonjour,
Pour moi il faut juste faire la somme des poids (IPONDI), pas besoin de multiplier par le nombre de lignes. Ou alors on peut multiplier le nombre de lignes par la moyenne des poids, ça revient au même.
D'accord, merci beaucoup!
Re-bonjour,
Nous avons trouvé des données de carte scolaire sur toute la France pour les collèges. Nous pouvons donc faire une modélisation de la carte scolaire pour toute la France, mais nous ne savons pas trop où le coder. Le fichier 'radiation_departements' a l'air d'être fait pour afficher les modèles. Cependant, il a l'air d'être construit entièrement autour du seul modèle de radiation universel. Est-ce que vous nous recommandez de coder d'autres fonctions, ou de les adapter pour les rendre flexibles aux différents modèles que nous allons tester ?
Bonjour @martaducamp, désolée réponse tardive. Quand vous allez utiliser le modèle de radiation universel pour un nouveau motif, je vous conseille de modifier sa fonction pour ce nouveau motif. Pour de nouveaux modèles (carte scolaire, au plus proche), je vous conseille de créer une nouvelle fonction pour chaque modèle. Des traitements de données pourront certainement être mutualisés entre ces différentes fonctions, n'hésitez pas à en faire de nouvelles fonctions dans le fichier (pour mutualiser).
Bonjour,
En parcourant le code de Mobility, je me suis aperçue qu'il y avait de temps en temps des variables qui étaient non utilisées comme dans la fonction compare_insee_and_model du fichier radiation_department.py. Peut être que c'est normal étant donné que la bibliothèque est en cours de rédaction mais si c'est involontaire, je voulais le signaler.
Bonjour, avec un peu de retard, voici l'état de l'art. Je l'avais mis dans le repository, mais je n'aurais peut-être pas dû. Je peux le retirer si jamais ça poser des porblème au moment de merge les branches.
A propos du contenu du l'état de l'art, n'hésitez pas à me faire des remarques, je peux le retravailler.
Bonjour @martaducamp et merci beaucoup !
Bravo pour cet état de l'art, honnêtement je ne vois rien à retravailler. Il donne un bon premier historique de la modélisation des déplacements et de très bonnes pistes pour les flux scolaires (y compris la référence la plus récente). Merci, c'est très utile !
Pour l'instant, Mobility intègre un modèle de radiation universel uniquement mis en application pour les déplacements domicile-travail .
L'exemple de Millau montre comment utiliser ce modèle pour ces déplacements (
sources
: domiciles,sinks
: emplois). Les paramètres alpha et beta peuvent être optimisés dans ce code. L'indice de similarité (SSI) de l'article de recherche est ainsi utilisé.Les déplacements domicile-travail sont très importants, mais pour être plus fiable (et parce qu'il n'y a pas que le travail dans la vie ;), Mobility devrait intégrer d'autres motifs de déplacement. C'est ce sur quoi va travailler l'équipe ENSG (@JoannaGosse @TonyT71 @BaptisteD35 et @martaducamp).
La liste ci-dessous indique les autres motifs de déplacement. Tous ne sont pas d'égale importance... Idéalement tous ceux de 1 à 7 (voire 9.2 à 9.5) devraient être étudiés, mais les achats, les études et les loisirs apparaissent comme prioritaires.
Liste de tâches (à mettre à jour par l'équipe) :