210 likes | 389 Views
Building and Learning Activity-Based Models. Erik Sabina Jennifer Malm Suzanne Childress John Bowman DeVon Culbertson. Erik’s recommendations (and the price you’ll have to pay). Get into the critical path Though it will put the hurt on schedule Software is the hardest part
E N D
Building and Learning Activity-Based Models Erik Sabina Jennifer Malm Suzanne Childress John Bowman DeVon Culbertson
Erik’s recommendations (and the price you’ll have to pay) • Get into the critical path • Though it will put the hurt on schedule • Software is the hardest part • Steal someone else’s if you can • Modelers must program WELL! • The custom versus vendor conundrum • Estimate a few models • Some basic skills are indispensible • Why let a few consultants have all the fun?
Expertise we started with • Discrete choice model estimation • Decent theory, limited practice • Programming/software development • Very strong in IT, modelers good programmers • Math, stats, econ, etc. • Pretty strong across the board • Trip-based modeling • Very strong
Levels of Knowledge • Sensitivities • Limitations and approximations • Fix/update variables • Re-calibrate • Re-estimate some components • Re-design the theoretical structure • Re-design or extend sw structure
Model sensitivities What (example) - non-motorized mode choice • Blend point-based and skim distances • Point locations for households and jobs • Intersection, retail, mixed use density How – programmed all utility function variables Why – can’t apply model without it!
Limitations and approximations What (examples) - • Little: simpler logsums skims • Little: Twice O-D, rather than O-D + D-O • Big: sequential TOD and mode choice • Big: Implicit intra-household interactions How – programmed all utility function variables Why – know what model can/can’t do
Fix/update variables What (examples) – • Simple: changes to input data/ GISDK • Simple once you get used to it - change SQL Server table / variables in C# • Pretty hard - understand how component works (older sibling school, logit solver) How – wrote GISDK/ C# model components Why – changes to variables over time are very common
Variable example //Additional created in code variable, Older Sibling's school district if (householdID != currentHouseholdID) { currentHouseholdID = householdID; //Clear Sibling's school zone variable foreach (string choice in OlderSiblingSchoolZoneChoice) { this.UtilityFunctionParameters.AlternativeSpecificVariables[choice]["OldSibSchZone"].Value = 0; } OlderSiblingSchoolZoneChoice.Clear(); } else { //take choice and add a 1 to the OldSibSchZone variable in the choosen zone. tempList = choosenAlternative.Split(' '); zoneID = int.Parse(tempList[1]); if (universityStudent != 1) //Doesn't matter where an older sib university student went to school { if (zoneID != 0) { this.UtilityFunctionParameters.AlternativeSpecificVariables[choosenAlternative]["OldSibSchZone"].Value = 1; } } }
Recalibrate What (example) - work location choice model calibrated five years ago is not matching new ACS journey to work data. Model has too few people working at home. What knobs can you turn? Some Examples: 1. Change coefficients to variables related to working at home. 2. Trace back issues to the land use or economic forecasts. How – checked model estimation reports, programmed variables and model input code Why – frequent “tweaks” expected!
Recalibrate (2) Another example - Observed boardings on light rail are lower than modeled boardings. What knobs can you turn? Possibilities: 1. Mode choice coefficients / alternative specific constants. 2. Too few university students on light rail? Trips too short, so walk/bike mode share too high. Adjust school location choice model: coefficients on the distance to school variables.
Re-estimation What (example) –added variables to school location choice: • Zone in School District • Older Sibling’s School Zone How – estimated several models ourselves: • Estimation software syntax • Various levels of theoretical knowledge • The “expert coach” approach Why – expecting frequent “tweaks” again!
Re-estimate: data issues Oops! You need to re-estimate. The colors on the picture signify where education employment was geo-coded but there was no school enrollment geo-coded.
Redesign model What (examples) - • Swap out a component • Estimate joint models • Explicit joint tour formation • Daily schedule interaction • Activity generation and assignment How – thorough study of your design (among other things!) Why – next round of model upgrades
Redesign software What (examples) – • Model component design • Upgrade key functions (e.g. MakeChoice) • Enhance distributability ( modifications to“plumbing” code) How – designed/wrote most code • The “coach” model Why – open source versus vendor again!
What we did: software Wrote our own (bigtime!) • That coach model again Had to learn a lot to do it: • Logit math • OO/C#/.Net programming • SQL-Server database Wanted to use industry-standard tools Led by strong IT department
Future training • Explicit intra-hh interaction • Many flavors • Selection of choice set from a larger set • “Doubly constrained” location choice • Enforced quota • Shadow price • Ties to DTA • Enhancements in population synthesis
Authors Erik Sabina, esabina@drcog.org Jennifer Malm, jmalm@drcog.org Suzanne Childress, Schildress@drcog.org • Denver Regional Council of Governments John Bowman, John_L_Bowman@alum.mit.edu - Bowman Research and Consulting DeVon Culbertson, DevonCulbertson@yahoo.com - DeVon Culbertson, LLC