-
Notifications
You must be signed in to change notification settings - Fork 113
Closed
Description
Progress since the last meeting
Infrastructure
- Pull request for (YAML-based) general choice modeling in Urbansim
- Defaults for some standard data sources and variable definitions that are usable for all regions
- A notebook for moving data from the directory structure into a single HDF5 file
- A notebook for browsing the registered tables and running the example models
- A pull request for integrating OMX Python support
- A pull request to wrap a 2D matrix with a Skim object
Specific Models
- We now have auto ownership and workplace location choice basically working on MTC data - this last uses the OMX and Skim objects. There are a few design decisions that can be made at this point. Here is a proposal for how the models could work.
- An example implementation directory (these are client specific)
- The configuration is still a csv file with the same basic form as the current UPCs.
- Note that this is different from the current YAML approach in UrbanSim and is discussed in this issue
- In short models are specified in the csv file, and configured in Python code like this. Transformations that are more complicated than those allowed by Patsy can be specified in the CSV file - we use
DataFrame.eval
or straight Pythoneval
when there is an@
as the first character. Allows more flexibility in the csv than is provided in current yaml files. - Additionally, there are simulation settings here
- An example of using a skim object is here where OMX is read here, the specific matrix here, these are injected and configured here
- A dictionary of skims is passed to "simple simulate" - and a specified column (e.g.
TAZ
) should occur in the choosers and is used as the origin id and the alternatives and is used as destination id
- A few design decisions to make
- YAML vs CSV
- and related: how much in configuration vs in code - how comfortable are folks with Python at this level?
- also related: dependencies in UrbanSim right now are basically the sim framework and low-level mnl routines. 3rd library or is everyone ok with that?
- main concern at this point is performance - we're not slow per se, but not fast and a lot of memory is used. Did I hear that folks actually parallelize households on different processors?
- Next 2 weeks (actually first 2 weeks of Jan)
- If we're comfortable with this proposal, we can comment, document, and test the activitysim code
- Size variables in workplace location choice
- Next model is Coordinated daily activity pattern unless we want to head to something complicated
Thoughts?
Metadata
Metadata
Assignees
Labels
No labels