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

Exploration de profils de mobilité pour le covoiturage

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

C17904e5ca39a09fdd1dea24b39f57fd?s=128

Matti Schneider

February 24, 2012
Tweet

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 4 Point : repéré absolument dans l’espace et dans

    le temps.
  11. Définitions 4 Point Point : repéré absolument dans l’espace et

    dans le temps.
  12. Définitions 4 x y Point t Point : repéré absolument

    dans l’espace et dans le temps.
  13. Définitions 5 Version idéale d’un historique : en réalité, sur

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

    plusieurs jours, donc beaucoup plus complexe, avec surimpression.
  15. 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.
  16. Définitions 6 Historique ≠ trajet …donc, comment définir ce qu’est

    un trajet ?
  17. 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.
  18. 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.
  19. 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.
  20. 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.
  21. 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.
  22. 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.
  23. 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
  24. 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
  25. 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
  26. 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
  27. 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
  28. Définitions 10 Trajets Ensembles de points entre arrêts tspatial ttemporel

    Trajets
  29. Définitions 10 Trajets Ensembles de points entre arrêts tspatial ttemporel

    Trajets
  30. Définitions 11 Historique ∋ trajets tspatial ttemporel Trajets

  31. Définitions 11 Historique ∋ trajets tspatial ttemporel Trajets

  32. Définitions 12 Groupes de trajets tspatial ttemporel Trajets

  33. 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).
  34. 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).
  35. 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).
  36. 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).
  37. 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.
  38. 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.
  39. 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.
  40. 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.
  41. 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))
  42. Définitions 17 Profil utilisateur Ensemble des routines de l’historique tspatial

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

    | Pas eu le temps de lire l’autre article qui détaille cette partie :-S
  44. 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
  45. 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
  46. Bisection sur les K-medoids 19 tspatial ttemporel Trajets gspatial gtemporel

    Groupes gsupport | |
  47. 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)
  48. 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
  49. 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
  50. 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
  51. 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
  52. Bisection sur les K-medoids 21 tspatial ttemporel Trajets gspatial =

    500m gtemporel = 1h Groupes gsupport = 2 | | X ✓
  53. 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
  54. 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
  55. 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
  56. 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
  57. 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
  58. 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
  59. 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.
  60. 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.
  61. Conclusion 24

  62. Conclusion 24 • utilisation des techniques de data mining comme

    support
  63. Conclusion 24 • utilisation des techniques de data mining comme

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

    support • chaînage des méthodes de clustering • avant tout minimisation
  65. 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