2009-09-08 6 views
1

J'ai des données représentant les chemins empruntés par les personnes à travers un ensemble fixe de points (discrets, par exemple, des nœuds et des arêtes). Jusqu'à présent, j'ai utilisé igraph.Analyse des données de chemin

Je n'ai pas encore trouvé un bon moyen (igraph ou un autre paquet) de créer canonical paths résumant ce que font des sous-groupes importants de répondants.

Un canonical path peut être opérationnalisé de manière raisonnable et est juste destiné à représenter un chemin ou un sous-chemin typique pour une partie significative de la population.

Existe-t-il déjà une fonction pour les créer dans igraph ou un autre paquet?

Répondre

1

Une option: représente le mouvement de chaque personne en tant que bord dirigé. Créez un graphe agrégé de sorte que chaque arête ait un poids correspondant au nombre de fois où cette arête est apparue. Ces bords avec des poids importants seront des trajets 1 "typiques".

Bien sûr, il devient plus intéressant de trouver des k-paths communs ou d'explorer comment les chemins varient entre les individus. L'approche naïve pour les 2-chemins serait de créer N nœuds supplémentaires qui correspondent aux nœuds lorsqu'ils sont visités au milieu du 2-chemin. Par exemple, si vous avez des nœuds a_1, ..., a_N vous créez des nœuds b_1, ..., b_N. Le réseau agrégé peut avoir une arête (a_3, b_5, 10) et une arête (b_5, a_7, 10); cela représenterait le double chemin (a_3, b_5, a_7) survenant 10 fois. La tâche qui vous intéresse correspond à la recherche de ces deux chemins avec des poids importants.

Les packages igraph et network suffiraient pour ce type d'analyse. Si vous avez un lien sur k (c'est-à-dire que seuls 6 chemins apparaissent dans votre jeu de données), je pourrais également suggérer d'énumérer tous les chemins qui sont pris et de calculer l'histogramme de chaque chemin unique. Je ne connais pas de fonctions qui le font automatiquement pour vous.

Questions connexes