Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Exploration de profils de mobilité pour le covoiturage

Matti Schneider
February 24, 2012

Exploration de profils de mobilité pour le covoiturage

Présentation de l'article de recherche “Mining Mobility User Profiles for Car Pooling” par R. Trasarti, F. Pinelli, M. Nanni & F. Giannotti.
9 minutes, cours de Fouille de données, Polytech'Nice-Sophia

Article : http://users.cis.fiu.edu/~lzhen001/activities/KDD2011Program/docs/p1190.pdf

Matti Schneider

February 24, 2012
Tweet

More Decks by Matti Schneider

Other Decks in Research

Transcript

  1. Polytech’Nice-Sophia — 24/02/2012 Présentation d’article — Fouille de données Exploration

    de profils de mobilité pour le covoiturage Matti Schneider-Ghibaudo @matti_sg 1
  2. Problématique 2 Population : plusieurs milliers d’habitants de la Toscane,

    en Italie. Partie “récolte” du processus d’extraction.
  3. Problématique 2 • étude des déplacements d’une population Population :

    plusieurs milliers d’habitants de la Toscane, en Italie. Partie “récolte” du processus d’extraction.
  4. Problématique 2 • étude des déplacements d’une population • population

    Population : plusieurs milliers d’habitants de la Toscane, en Italie. Partie “récolte” du processus d’extraction.
  5. Problématique 2 • étude des déplacements d’une population • population

    • création d’un “profil de mobilité” Population : plusieurs milliers d’habitants de la Toscane, en Italie. Partie “récolte” du processus d’extraction.
  6. Problématique 2 • étude des déplacements d’une population • population

    • création d’un “profil de mobilité” • association de profils Population : plusieurs milliers d’habitants de la Toscane, en Italie. Partie “récolte” du processus d’extraction.
  7. Problématique 2 • étude des déplacements d’une population • population

    • création d’un “profil de mobilité” • association de profils • déplacements • dataset : 14 jours de logs GPS personnels Population : plusieurs milliers d’habitants de la Toscane, en Italie. Partie “récolte” du processus d’extraction.
  8. Problématique 2 • étude des déplacements d’une population • population

    • création d’un “profil de mobilité” • association de profils • déplacements • dataset : 14 jours de logs GPS personnels • évolution avec la dégradation du signal Population : plusieurs milliers d’habitants de la Toscane, en Italie. Partie “récolte” du processus d’extraction.
  9. Problématique 3 Définitions Méthodes de fouille Grande partie sur les

    définitions, algos ensuite plutôt classiques. Définition du génotype.
  10. Définitions 5 Version idéale d’un historique : en réalité, sur

    plusieurs jours, donc beaucoup plus complexe, avec surimpression.
  11. Définitions 5 Version idéale d’un historique : en réalité, sur

    plusieurs jours, donc beaucoup plus complexe, avec surimpression.
  12. Définitions 5 Historique Ensemble de points Version idéale d’un historique

    : en réalité, sur plusieurs jours, donc beaucoup plus complexe, avec surimpression.
  13. Définitions 7 Arrêts Un trajet est une suite de points

    sans interruption temporelle spécifique. Pour détecter cela, il faut donc détecter les arrêts. Cela se fait en deux étapes. Tout d’abord, une détection spatiale : on détecte une série de points suffisamment proches.
  14. Définitions 7 Arrêts Zone de détection Un trajet est une

    suite de points sans interruption temporelle spécifique. Pour détecter cela, il faut donc détecter les arrêts. Cela se fait en deux étapes. Tout d’abord, une détection spatiale : on détecte une série de points suffisamment proches.
  15. Définitions 7 Arrêts Zone de détection ≤ tspatial Un trajet

    est une suite de points sans interruption temporelle spécifique. Pour détecter cela, il faut donc détecter les arrêts. Cela se fait en deux étapes. Tout d’abord, une détection spatiale : on détecte une série de points suffisamment proches.
  16. Définitions 8 Arrêts Zone de détection ≤ tspatial : ensemble

    de points On détermine une séquence de longueur maximale à partir des candidats restants.
  17. Définitions 8 Arrêts Zone de détection Chaînage maximal ≤ tspatial

    : ensemble de points On détermine une séquence de longueur maximale à partir des candidats restants.
  18. Définitions 8 Arrêts Zone de détection Chaînage maximal ≤ tspatial

    : ensemble de points On détermine une séquence de longueur maximale à partir des candidats restants.
  19. t Définitions 9 Arrêts ≤ tspatial Zone de détection Chaînage

    maximal Ensuite, une détection temporelle : il faut que les points recouvrent une certaine durée temporelle
  20. t Définitions 9 Arrêts ≤ tspatial Zone de détection Chaînage

    maximal Ensuite, une détection temporelle : il faut que les points recouvrent une certaine durée temporelle
  21. t Définitions 9 Arrêts ≤ tspatial Zone de détection α(td1,

    tf1) α(td2, tf2) Chaînage maximal Ensuite, une détection temporelle : il faut que les points recouvrent une certaine durée temporelle
  22. t Définitions 9 Arrêts ≤ tspatial Zone de détection α(td1,

    tf1) α(td2, tf2) ≥ ttemporel Chaînage maximal Ensuite, une détection temporelle : il faut que les points recouvrent une certaine durée temporelle
  23. t Définitions 9 Arrêts ≤ tspatial Zone de détection α(td1,

    tf1) ≥ ttemporel Chaînage maximal Ensuite, une détection temporelle : il faut que les points recouvrent une certaine durée temporelle
  24. Définitions 13 Groupes de trajets tspatial ttemporel Trajets Groupe défini

    par le fait que tous les éléments sont à une distance deux à deux inférieure à une certaine valeur, et qu’ils sont “alignés temporellement” (fonction d’alignement à définir).
  25. Définitions 13 Groupes de trajets tspatial ttemporel Trajets ∂(t1, t2)

    ≤ gspatial α(t1, t2) ≥ gtemporel Groupe défini par le fait que tous les éléments sont à une distance deux à deux inférieure à une certaine valeur, et qu’ils sont “alignés temporellement” (fonction d’alignement à définir).
  26. Définitions 13 Groupes de trajets tspatial ttemporel Trajets ∂(t1, t2)

    ≤ gspatial α(t1, t2) ≥ gtemporel Groupe défini par le fait que tous les éléments sont à une distance deux à deux inférieure à une certaine valeur, et qu’ils sont “alignés temporellement” (fonction d’alignement à définir).
  27. Définitions 13 Groupes de trajets tspatial ttemporel Trajets gspatial gtemporel

    Groupes ∂(t1, t2) ≤ gspatial α(t1, t2) ≥ gtemporel Groupe défini par le fait que tous les éléments sont à une distance deux à deux inférieure à une certaine valeur, et qu’ils sont “alignés temporellement” (fonction d’alignement à définir).
  28. Définitions 14 Groupes de trajets tspatial ttemporel Trajets gspatial gtemporel

    Groupes On filtre également sur la taille minimale de l’ensemble pour ne pas avoir de groupes trop petits.
  29. Définitions 14 Groupes de trajets tspatial ttemporel Trajets gspatial gtemporel

    Groupes card(g) ≥ gsupport gsupport | | On filtre également sur la taille minimale de l’ensemble pour ne pas avoir de groupes trop petits.
  30. Définitions 15 Routine Médoïde d’un groupe de trajets tspatial ttemporel

    Trajets gspatial gtemporel Groupes gsupport | | Détermination du médoïde par minimisation de la somme des distances aux autres trajets du groupe, avec la même fonction distance que pour la définition du groupe.
  31. Définitions 15 Routine Médoïde d’un groupe de trajets tspatial ttemporel

    Trajets gspatial gtemporel Groupes gsupport | | Minimisation de la distance totale : min(∑∂(tméd, tx)) Détermination du médoïde par minimisation de la somme des distances aux autres trajets du groupe, avec la même fonction distance que pour la définition du groupe.
  32. Définitions 16 Routine Médoïde d’un groupe de trajets tspatial ttemporel

    Trajets gspatial gtemporel Groupes gsupport | | Minimisation de la distance totale : min(∑∂(tméd, tx))
  33. Définitions 17 Profil utilisateur Ensemble des routines de l’historique tspatial

    ttemporel Trajets gspatial gtemporel Groupes gsupport | |
  34. Clustering 18 tspatial ttemporel Trajets gspatial gtemporel Groupes gsupport |

    | Pas eu le temps de lire l’autre article qui détaille cette partie :-S
  35. Clustering 18 tspatial ttemporel Trajets gspatial gtemporel Groupes gsupport |

    | 1. Filtrage du bruit par clustering sur la densité Pas eu le temps de lire l’autre article qui détaille cette partie :-S
  36. Clustering 18 tspatial ttemporel Trajets gspatial gtemporel Groupes gsupport |

    | 1. Filtrage du bruit par clustering sur la densité 2. Bisection sur les K-medoïdes Pas eu le temps de lire l’autre article qui détaille cette partie :-S
  37. Bisection sur les K-medoids 19 tspatial ttemporel Trajets gspatial gtemporel

    Groupes gsupport | | • Clustering récursif par 2-médoïdes • g → (g’1, g’2)
  38. Bisection sur les K-medoids 19 tspatial ttemporel Trajets gspatial gtemporel

    Groupes gsupport | | • Clustering récursif par 2-médoïdes • g → (g’1, g’2) • Arrêt sur deux conditions
  39. Bisection sur les K-medoids 19 tspatial ttemporel Trajets gspatial gtemporel

    Groupes gsupport | | • Clustering récursif par 2-médoïdes • g → (g’1, g’2) • Arrêt sur deux conditions • compacité • spatiale : ∑∂(ti, tj) ≤ x • temporelle : ∑α(ti, tj) ≤ y
  40. Bisection sur les K-medoids 19 tspatial ttemporel Trajets gspatial gtemporel

    Groupes gsupport | | • Clustering récursif par 2-médoïdes • g → (g’1, g’2) • Arrêt sur deux conditions • compacité • spatiale : ∑∂(ti, tj) ≤ x • temporelle : ∑α(ti, tj) ≤ y • taille • card(g’) ≤ z
  41. Bisection sur les K-medoids 20 tspatial ttemporel Trajets gspatial gtemporel

    Groupes gsupport | | • Clustering récursif par 2-médoïdes • g → (g’1, g’2) • Arrêt sur deux conditions • compacité • spatiale : ∑∂(ti, tj) ≤ gspatial • temporelle : ∑α(ti, tj) ≤ gtemporel • taille • card(g’) ≤ gsupport
  42. Bisection sur les K-medoids 21 tspatial ttemporel Trajets gspatial =

    500m gtemporel = 1h Groupes gsupport = 2 | | X ✓
  43. Application 22 tspatial ttemporel Trajets gspatial gtemporel Groupes gsupport |

    | Fonction de calcul de distance : alignement des points et calcule la somme des distances entre les points correspondants. Détaillé dans le papier non lu. Fonction de calcul d’alignement temporel : différence entre l’heure de départ et l’heure
  44. Application 22 tspatial ttemporel Trajets gspatial gtemporel Groupes gsupport |

    | • Mise en correspondance de profils Profils Fonction de calcul de distance : alignement des points et calcule la somme des distances entre les points correspondants. Détaillé dans le papier non lu. Fonction de calcul d’alignement temporel : différence entre l’heure de départ et l’heure
  45. Application 22 tspatial ttemporel Trajets gspatial gtemporel Groupes gsupport |

    | • Mise en correspondance de profils • Minimisation de la distance Profils Fonction de calcul de distance : alignement des points et calcule la somme des distances entre les points correspondants. Détaillé dans le papier non lu. Fonction de calcul d’alignement temporel : différence entre l’heure de départ et l’heure
  46. Application 22 tspatial ttemporel Trajets gspatial gtemporel Groupes gsupport |

    | • Mise en correspondance de profils • Minimisation de la distance • point de départ → point quelconque → point quelconque → point d’arrivée Profils pspatial Fonction de calcul de distance : alignement des points et calcule la somme des distances entre les points correspondants. Détaillé dans le papier non lu. Fonction de calcul d’alignement temporel : différence entre l’heure de départ et l’heure
  47. Application 22 tspatial ttemporel Trajets gspatial gtemporel Groupes gsupport |

    | • Mise en correspondance de profils • Minimisation de la distance • point de départ → point quelconque → point quelconque → point d’arrivée • Minimisation des écarts temporels • durée du nouveau trajet – durée routine Profils ptemporel pspatial ⌚ Fonction de calcul de distance : alignement des points et calcule la somme des distances entre les points correspondants. Détaillé dans le papier non lu. Fonction de calcul d’alignement temporel : différence entre l’heure de départ et l’heure
  48. Application 22 tspatial ttemporel Trajets gspatial gtemporel Groupes gsupport |

    | • Mise en correspondance de profils • Minimisation de la distance • point de départ → point quelconque → point quelconque → point d’arrivée • Minimisation des écarts temporels • durée du nouveau trajet – durée routine • Relation non symétrique Profils ptemporel pspatial ⌚ Fonction de calcul de distance : alignement des points et calcule la somme des distances entre les points correspondants. Détaillé dans le papier non lu. Fonction de calcul d’alignement temporel : différence entre l’heure de départ et l’heure
  49. Impact des paramètres 23 Trajets Profils ptemporel pspatial ⌚ tspatial

    = 50m ttemporel = 1h gspatial gtemporel = 1h Groupes gsupport | | gspatial gsupport Proportions de profils extraits selon les paramètres de détection Malheureusement, pas d’étude de l’impact des médoïdes. Intéressons-nous donc à ce plat a priori surprenant.
  50. Impact des paramètres 23 Trajets Profils ptemporel pspatial ⌚ tspatial

    = 50m ttemporel = 1h gspatial gtemporel = 1h Groupes gsupport | | gspatial gsupport Proportions de profils extraits selon les paramètres de détection Malheureusement, pas d’étude de l’impact des médoïdes. Intéressons-nous donc à ce plat a priori surprenant.
  51. Conclusion 24 • utilisation des techniques de data mining comme

    support • chaînage des méthodes de clustering
  52. Conclusion 24 • utilisation des techniques de data mining comme

    support • chaînage des méthodes de clustering • avant tout minimisation
  53. Merci de votre attention ! • Article traité • R.

    Trasarti, F. Pinelli, M. Nanni, F. Giannotti (2011) : Mining Mobility User Profiles for Car Pooling • Crédits • Icônes “Satellite”, “Marqueur”, “Téléphone portable” : CC-BY-SA ou domaine public, The Noun Project 25 Des questions ? Matti Schneider-Ghibaudo | @matti_sg