August 15 Social networks module, MATSim Castasegna meeting, October 2007 Jeremy Hackney
Social interactions in transportation science Long term how travel technology and other factors influence contacts Short term how social contacts influence activity travel choices, mental maps, spatial discovery
Social interaction and travel behavior Transportation supply Geography Activity travel behavior Social behavior Transport planning Sociology Statistical physics New areas
Features of the Social Network Module Initial social network Face to face interactions (spatial) Modify social network Other interactions (non-spatial) Modify activity plans using social influence model Re-evaluate plans Calculate complex network statistics Output movements, socializing, and statistics
Module API classes EgoNetwork (Person.knowledge) A map of affiliated Persons and SocialLinks to them CoolPlaces (Person.knowledge.map) Facilities <> Activities SocialNetwork A map of EgoNetworks Initialization, modification methods Knowledge is modified (Person) Ego Network CoolPlaces Interactors (SocialNetwork) Spatial (face to face) NonSpatial (not observed, not face to face) SocialNetworkStatistics Probes of social and travel behavior
MATSim Controller Load Data Startup Adjust Plans Shutdown.xml: Plans World Network Facilities Matrix Census Etc. Choose Strategy and Scoring Replan Strategy
Social Network Controller Load Data Startup Adjust Plans Shutdown.xml: Plans World Network Facilities Matrix Census Etc. Choose Strategy and Scoring Initialize SocialNet SocialNet Interactions
NOTE: Scoring For quickly generating the social network, new evaluation of the new plans is necessary. However, precise traffic assignment is not important. MobSim in RePlanning can be a simple Euclidean distance. I have not programmed this, though. Instead, I generate the social network quickly by iterating outside of the RePlanning loop. I have had to write my own scoring function (not a standard MATSim scoring function, which is tied to the replanning package). IMPROVEMENT: I want to use the MATSim scoring package but I need a simpler plan scoring device than full assignment
NOTE: Coupling Partial relaxation technique used for socializing Number of iterations of socializing before replanning is adjustable This amounts to variable coupling strength between social network algorithm and travel algorithms This will be very important, I think (see sample results)
SNInteractions Spatial Interactions Nonspatial Interactions Link Removal Exchange Knowledge Return SocialNet Calculate and write out Statistics Map agents <> activity locations Agents interact at locations Write out Social Net (Negotiate activities) Wrapup Input SocialNet and Plans
SN Plan Adjustments Probe Knowledge Change Copied Plan Copy Selected Plan Pick Activity of same Type from Plan Return Plans Calculate and write out Statistics Pick Type of Activity Pick Facility of this Type from Knowledge Either Re-Assign or other Measure Replace its Facility from Knowledge Evaluate Change Input SocialNet and Plans
Example "experiment" Initial social networkErdös/Renyi Face to face interactionsRenew link or make friend Modify social networkRemove "old" links Other interactionsExchange info about locations Introduce friends of friends Modify activity plansSwitch secondary location Re-evaluate plansSelect: shortest total length Calculate complex network statistics Output movements, socializing, and statistics
Example "experiment" 1008 randomly generated agents 0-3 random out of home activities Random activity destinations Equal time for each activity 1 day Network: Source: Michael Balmer 2007
Sample Configuration File
Analysis 1: Overview Calculating statistics in MATSim run requires JUNG library Support libraries for JUNG Costs time, information not used in run (analysis only) Other statistics from output network (iterations) in Space-ASCII Postprocess with R and Pajek Postprocessing will be impossible with larger networks/bigger files
Analysis 2: Some output files Agent file (nodes) iter id homeid deg asd1 asd2 asd3 clust plantype numknown NaN hlwhh hhh hhhhh hehh 0... Edge file (edges) iter tlast tfirst dist egoid alterid purpose timesmet initialized renewwork newrandomintro newleisure 1... Graph file (statistics) iter deg clust clustratio asd1 asd2 asd3 dyad_dist link_age meet_freq Infinity
Analysis 3: Analysis tools Network statistics: MATSim /socialnets/stats R .pdf's single.pdf Visualization: MATSim /socialnets/pajek Pajek .svg Movies of "Evolution" would be possible if I wrote out the format KML is no problem except HUGE files and not sure what it shows Automatic detection of clusters, different stats from MATSim would give more insight
For output example See Frontiers in Transportation presentation (inserted ) Model 1 no optimization of activities: only iterate social network (friends-of-friends meeting, spatial meeting) Model 2 optimize secondary locations: each social network iteration (friends-of-friends meeting, spatial meeting, exchange of spatial information), replan by changing secondary location. Choose path with shortest-length chain (no MobSim)
Validation of social network output Exponential degree distribution P(ij)~exp(N(z)) Average degree Clustering coefficient > random Short path lengths Homophily (assortativity) Geographic attributes Visit frequency vs. distance, etc.
Analysis: Sample Degree Distribution Activities constant Activities optimized Log-normal Log-log
Analysis: Sample Graph Statistics, N=1008 Run configuration DiameterNumber of components Average clustering ratio relative to Erdös/Renyi Average Degree Constant activity plan Optimized activity plan Erdös/Renyi reference graph ~12±-1~48± The 2 social network graphs have exponentially distributed degree which is the same whether activities are replanned or not. However other graph and travel statistics are very different in the two models.
Analysis: Sample Activity Space Measures Plan type = "hwlh" Circle representation of average distance to all activities (asd1) Circle representation of average distance to all friends (asd2) Sum of arrow length is Euclidean- based length of plan (activity chain) (asd3)
Analysis: Sample Activity Space Measures No replanning of secondary activity locationReplanning secondary activity location each iteration of social network
Calculation size Interaction calculation scales as N * degree ~ pN * N where p is the percent of population that agent knows, i.e. a function of 1/N Knowledge exchange calculation scales as N * q * degree where q is the number of places known to the agent Introducing friends calculation scales as N * degree