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

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

    View Slide

  2. Problématique
    2
    Population : plusieurs milliers d’habitants de la Toscane, en Italie.
    Partie “récolte” du processus d’extraction.

    View Slide

  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.

    View Slide

  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.

    View Slide

  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.

    View Slide

  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.

    View Slide

  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.

    View Slide

  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.

    View Slide

  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.

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  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.

    View Slide

  16. Définitions
    6
    Historique
    ≠ trajet
    …donc, comment définir ce qu’est un trajet ?

    View Slide

  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.

    View Slide

  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.

    View Slide

  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.

    View Slide

  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.

    View Slide

  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.

    View Slide

  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.

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  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).

    View Slide

  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).

    View Slide

  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).

    View Slide

  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).

    View Slide

  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.

    View Slide

  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.

    View Slide

  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.

    View Slide

  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.

    View Slide

  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))

    View Slide

  42. Définitions
    17
    Profil utilisateur
    Ensemble des routines de l’historique
    tspatial
    ttemporel
    Trajets
    gspatial
    gtemporel
    Groupes
    gsupport
    | |

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  46. Bisection sur les K-medoids
    19
    tspatial
    ttemporel
    Trajets
    gspatial
    gtemporel
    Groupes
    gsupport
    | |

    View Slide

  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)

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  52. Bisection sur les K-medoids
    21
    tspatial
    ttemporel
    Trajets
    gspatial = 500m
    gtemporel = 1h
    Groupes
    gsupport = 2
    | | X

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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.

    View Slide

  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.

    View Slide

  61. Conclusion
    24

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  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

    View Slide