Social networks module, MATSim Castasegna meeting, October 2007 Jeremy Hackney July 17 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 Geography Transportation supply Transport planning Sociology New areas Statistical physics Social behavior Activity travel behavior 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 • Ego Network • CoolPlaces (Person) Interactors (SocialNetwork) • Spatial (face to face) • NonSpatial (not observed, not face to face) SocialNetworkStatistics • Probes of social and travel behavior MATSim Controller Startup Choose Strategy and Scoring Load Data Replan Strategy .xml: Plans World Network Facilities Matrix Census Etc. Adjust Plans Shutdown Social Network Controller Startup Choose Strategy and Scoring Load Data SocialNet Interactions Initialize SocialNet Adjust Plans .xml: Plans World Network Facilities Matrix Census Etc. Shutdown 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) Input SocialNet and Plans SNInteractions Spatial Interactions Nonspatial Interactions Wrapup Map agents <> activity locations Exchange Knowledge Write out Social Net Agents interact at locations (Negotiate activities) Calculate and write out Statistics Link Removal Return SocialNet Input SocialNet and Plans SN Plan Adjustments Probe Knowledge Change Copied Plan Evaluate Change Pick Type of Activity Pick Activity of same Type from Plan Either Re-Assign or other Measure Pick Facility of this Type from Knowledge Replace its Facility from Knowledge Calculate and write out Statistics Copy Selected Plan Return Plans Example "experiment" Initial social network Erdös/Renyi Face to face interactions Renew link or make friend Modify social network Remove "old" links Other interactions Modify activity plans Exchange info about locations Introduce friends of friends Switch secondary location Re-evaluate plans Select: 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 Source: Michael Balmer 2007 Network: Sample Configuration File <!-- ====================================================================== --> <module name="socialnetwork" > <param name="degree_saturation_rate" value="0" /> <param name="edge_type" value="UNDIRECTED" /> <param name="factype_ns" value="leisure,shop,education,work,person" /> <param name="fract_ns_interact" value="0." /> <param name="fract_s_interact" value="1." /> <param name="kbar" value="0" /> <param name="max_sn_iter" value="100" /> <param name="nonspatial_interactor_type" value="random" /> <param name="num_ns_interactions" value="1" /> <param name="outputDirSocialNets" value="C:/Documents and <param name="prob_befriend" value="1." /> <param name="replanning_interval" value="1000" /> <param name="s_weights" value=".01,.05,.005,.05,.005" /> <param name="socnetalgorithm" value="random" /> <param name="socnetlinkremovalage" value="5" /> <param name="socnetlinkremovalalgorithm" value="random_link_age1" /> <param name="socnetlinkremovalp" value="0.05" /> <param name="socnetlinkstrengthalgorithm" value="constant" /> <param name="spatial_interactor_type" value="random" /> <param name="switch_weights" value="0.0,0.01,1.0,0.01,1.0" /> </module> <!-- ====================================================================== --> 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 0 1 110 0 NaN 193.54 610.6 0.0 hlwhh 0 0 640 101 1 120.93 0.0 0.0 0.0 hhh 0 0 300 105 3 151.87 0.0 0.0 0.0 hhhhh 0 0 850 102 6 133.96 40.0 160.0 0.0 hehh 0 ... Edge file (edges) iter tlast tfirst dist egoid alterid purpose timesmet 0 0 0 200.0 437 382 initialized 1 ... 100 86 86 0.0 463 67 renewwork 1 100 91 91 200.0 108 319 newrandomintro 1 100 95 95 175.0 649 400 newleisure 1 ... Graph file (statistics) iter deg clust clustratio asd1 asd2 asd3 dyad_dist 0 2.994 0.0019 0.672 125.961 127.277 383.09 127.54 1 3.049 0.0071 2.353 124.953 126.152 378.26 126.74 2 3.134 0.0143 4.616 123.515 125.556 374.77 125.32 ... link_age meet_freq 0.0 Infinity 0.95 1.00 1.87 0.50 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 22.10.2007) 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 Log-normal 200 180 160 140 120 100 80 60 40 20 0 -1 STRC05 STRC04 -2 -3 ln(P(Degree)) Number of Agents Activities constant -4 y = -0.2779x - 1.3482 R2 = 0.9661 -5 -6 y = -0.3082x - 1.1713 R2 = 0.9109 -7 1 3 5 7 9 0 11 13 15 17 19 21 23 5 20 25 Degree Activities optimized Log-log -1 STRC05 STRC04 -2 -3 y = -4.2047x + 5.6948 R2 = 0.9055 ln(P(Degree)) Number of Agents 15 -8 Degree 200 180 160 140 120 100 80 60 40 20 0 10 -4 -5 -6 -7 1 3 5 7 9 0 11 13 15 17 19 21 23 Degree 0.5 1 1.5 2 -8 ln(Degree) 2.5 3 3.5 Analysis: Sample Graph Statistics, N=1008 Run configuration Diameter Constant activity plan 14 125 2.13 3.77 Optimized activity plan 12 195 1.31 3.57 ~12±-1 ~48±3 1.00 3.6-3.7 Erdös/Renyi reference graph Number of components Average clustering ratio relative to Erdös/Renyi Average Degree 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 Sum of arrow length is Euclideanbased length of plan (activity chain) (asd3) Circle representation of average distance to all activities (asd1) Circle representation of average distance to all friends (asd2) Plan type = "hwlh" Analysis: Sample Activity Space Measures No replanning of secondary activity location Replanning 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
© Copyright 2025 Paperzz