Notebooks de production et de démonstration¶
Cette page résume le rôle des notebooks prêts à l'emploi. Elle sert à choisir le bon point d'entrée sans devoir ouvrir tous les fichiers.
Notebooks de production¶
| Notebook | Entrée | Sortie | Rôle |
|---|---|---|---|
Notebooks/000_data_landing.ipynb |
sources brutes d'une expérience | Data/Output/0-landed-data/<EXPERIMENT_NAME>/complete |
prépare une base homogène prête à être ingérée |
Notebooks/001_data_anonymisation.ipynb |
0-landed-data/<EXPERIMENT_NAME>/complete |
0-landed-data/<EXPERIMENT_NAME>/anonymized_altered |
produit une version pseudonymisée et spatialement altérée |
Notebooks/002_build_anonymous_test_set.ipynb |
0-landed-data/<EXPERIMENT_NAME>/anonymized_altered |
Data/Output/anonymous-test-set-gps |
construit le test set anonymisé utilisé par les tutoriels package |
Notebooks/010_data_loading.ipynb |
base landed d'une expérience et d'un profil | Data/Output/2-transformed-data/<EXPERIMENT_NAME> |
transforme les tables GPS en tables de mobilité pour une expérience |
Notebooks/011_quality_check.ipynb |
Data/Output/2-transformed-data/<EXPERIMENT_NAME> |
quality-reports/ |
contrôle le suivi, les confirmations et les filtres utilisateurs |
Notebooks/020_spatial_cleaning.ipynb |
Data/Output/2-transformed-data/<EXPERIMENT_NAME> |
spatial-cleaned/ |
applique les contrôles et enrichissements spatiaux requis par 030 et 040 |
Notebooks/030_enrich_indicators.ipynb |
Data/Output/2-transformed-data/<EXPERIMENT_NAME>/spatial-cleaned |
Data/Output/3-enriched-data/<EXPERIMENT_NAME> |
ajoute CO2/santé et calcule les indicateurs agrégés et par expérimentation |
Notebooks/040_export_cleaned_dataset.ipynb |
tables spatial-cleaned + enrichissements 3 de la même expérience |
Data/Output/4-clean-data/<EXPERIMENT_NAME>/cleaned-base |
consolide uniquement les tables propres utiles aux analyses thématiques |
Notebooks/100_concat_experiments.ipynb |
un ou plusieurs dossiers 4-clean-data/<EXPERIMENT_NAME> |
5-clean-data-concat/<CONCAT_NAME>/cleaned-base/*.parquet, questionnaires CSV par expérience |
prépare les analyses multi-expériences |
Le dossier unique Notebooks/ évite la confusion entre les
anciens lots de travail et la chaîne technique réelle.
Démonstrations package¶
Les notebooks de démonstration sont dans package-xyt-gps/examples/.
Ils utilisent le jeu anonymous-test-set-gps, disponible sur demande à
contact@situee.ch.
| Notebook | Entrée | Sortie | Rôle |
|---|---|---|---|
quickstart-analyse-gps.ipynb |
Data/Output/anonymous-test-set-gps |
figure et tables affichées dans le notebook | premier parcours court pour analyste |
diagnostiquer-ses-donnees.ipynb |
Data/Output/anonymous-test-set-gps |
rapports affichés dans le notebook | diagnostic des colonnes, utilisateurs et transformation minimale |
demo-fil-rouge-pipeline.ipynb |
Data/Output/anonymous-test-set-gps |
export propre local dans examples/_outputs/fil-rouge-clean-export |
parcours complet de l'API recommandée |
demo-qualite-visualisations-test-set.ipynb |
Data/Output/anonymous-test-set-gps |
figures HTML locales dans examples/_outputs/quality-visualisations |
contrôles qualité, carte GPS, indicateurs et motifs |
Le test set contient 12 utilisateurs anonymisés. Les labels d'expérience sont
génériques (test-expe-1, test-expe-2, test-expe-3) et la table
sociodemographics est synthétique. Les questionnaires réels ne sont pas
exportés.
Détail par notebook¶
Notebooks/000_data_landing.ipynb¶
Prépare les données avant usage du package. Le notebook ouvre les sources
déclarées dans la section paths de la configuration d'une expérience,
homogénéise les noms de colonnes, concatène les tables GPS de cette expérience,
construit user_expe, contrôle le contrat de colonnes et exporte :
Data/Output/0-landed-data/<EXPERIMENT_NAME>/complete: version complète sans colonnes sensibles directes commeemail.
La version anonymized_altered est produite ensuite par
001_data_anonymisation.ipynb. Ces traces ne doivent pas être interprétées
scientifiquement comme trajectoires réelles.
Le notebook 002_build_anonymous_test_set.ipynb peut ensuite construire un
petit test set anonymisé pour les tutoriels package. Il ne fait pas partie du
traitement analytique d'une expérience réelle.
Le notebook exporte aussi un README.md, un landing_manifest.json et
column_alias_report.csv, qui signale les colonnes équivalentes ou divergentes.
La configuration est séparée entre Notebooks/config/shared.json
et Notebooks/config/experiments/*.json. Les fonctions propres
au landing sont dans Notebooks/utils/data_landing.py, hors
package Python.
Notebooks/010_data_loading.ipynb¶
Il charge les tables landed, vérifie la structure, parse les dates et
géométries, applique les mappings modes/motifs, gère les phases si elles
existent, resample les jours manquants, construit legs, staypoints,
trips, journeys, user_stats et les tables de correspondance.
Les sorties principales sont exportées dans
Data/Output/2-transformed-data/<EXPERIMENT_NAME>, avec user_expe,
participation_grid, participation_summary, les rapports de validation et
les rapports qualité.
Notebooks/011_quality_check.ipynb¶
Isole les contrôles qualité pour ne pas alourdir le notebook principal. Il vérifie la couverture temporelle du suivi, les jours manquants, les confirmations, les longueurs extrêmes, la disponibilité du taux d'occupation déclaré pour les legs voiture et produit une table de sélection utilisateur.
Notebooks/020_spatial_cleaning.ipynb¶
Regroupe les traitements spatiaux de préparation : nettoyage des géométries,
qualité GPS, zones territoriales, origine-destination et classification par
rapport à une zone de référence. Dans la configuration Déclic, il utilise les
zones communales GIREC du Grand Genève et ajoute origin_id_zone /
destination_id_zone aux legs, puis les propage aux trips et journeys.
Notebooks/030_enrich_indicators.ipynb¶
Ajoute les enrichissements transversaux nécessaires avant analyse : occupation,
émissions CO2, métriques santé simples, indicateurs personne-jour,
personne-phase et population. Pour une source consolidée, il répète le calcul
par expérimentation, regroupe les tables dans indicators/ et produit une fiche
HTML avec sélecteur d'expérimentation.
Notebooks/040_export_cleaned_dataset.ipynb¶
Assemble la base propre finale pour analyses thématiques. Il prend les tables
spatial-cleaned comme base, exige les legs enrichis correspondants, puis ajoute
les tables latérales CO2/santé, les questionnaires liés à l'expérience et, si
demandé, la table relative_time_index.
La sortie principale est
Data/Output/4-clean-data/<EXPERIMENT_NAME>/cleaned-base.
Les formats multiples sont rangés dans des sous-dossiers parquet/, csv/ et
pkl/ pour éviter de mélanger plusieurs versions d'une même table. Les
notebooks thématiques doivent commencer par cleaned-base/, ou par
100_concat_experiments.ipynb lorsqu'ils couvrent plusieurs expériences.
relative_time_index est concaténé comme les autres tables de cleaned-base :
une ligne par événement de storyline, dates absolues conservées, semaine de
séquence et identifiants de liaison.
Le concat multi-expériences reste minimal : il n'exporte pas de copie
concaténée des dossiers indicators/ et spatial-analytics/. Dans le dossier
concaténé, les fichiers sont écrits directement sous cleaned-base/ et
cleaned-base/questionnaires/, sans sous-dossier parquet/ ou csv/.
Propositions d'amélioration¶
| Sujet | Proposition |
|---|---|
| noms des notebooks | conserver la séquence 000_data_landing, 010_data_loading, 011_quality_check, 020_spatial_cleaning, 030_enrich_indicators, 040_export_cleaned_dataset |
| landing | garder les helpers dans Notebooks/utils/, hors package, car ils sont propres aux fournisseurs et aux exports projet |
| anonymisation | extraire les helpers du notebook dans Notebooks/utils/data_landing_privacy.py si le bloc grossit |
| configuration | ajouter un exemple YAML ou JSON minimal pour projets sans phase et projets avec phases |
| validation | ajouter une fonction publique validate_mobility_dataset_integrity() pour contrôler clés, liens, CRS et volumes |
| exports | conserver write_mobility_dataset(extra_tables=...) pour ajouter des tables de construction sans modifier MobilityDataset |
| données de démonstration | créer un jeu stable, zippé, hébergé et documenté avant de l'exposer dans la doc |
| documentation | conserver peu de pages, mais avec des tableaux d'entrées/sorties et une séquence claire |