-
Notifications
You must be signed in to change notification settings - Fork 2
nathan_notes
What are modules we would like?
- Dynamic Stochastic Optimization
- General Purpose Algorithms for calculating expectations
- Nice example of the expectation function
- Simulation of population behaving according to the defined rules.
- Computing ergodic distribution (in cases where that is useful)
- Tool for computing stats on the simulated population that can be compared to stats on the data
- Doing the indirect inference
- Events-study module
- Input: "what should population look like at moment the event occurs."
- [Benjamin suggestion]
Note from Rob: * Talking about APIs * There are different types of APIs * In agent community: * inputs and outputs are the same -- populations * "taking a pointer to the population" is what agent communities do * "moving away from APIs" * * "Programmable interfaces" with ACE * Example: 6-7Mil EUR CRISIS model * spent a lot of time building these formal APIs and etc * done it in MASON * have functioning code * "you probably won't like their consumption functions but the broader abstract framework may be very useful" * "EURACE" and "CRISIS" -- but another half a dozen of them. * Nathan can reach out to them
-
[API for markets meeting?]
- OFR experience (Nathan experience)
-
API for Krusell-Smith -style
A Q for the ABM folks in the audience / Rob: "What have ABM folks learned about designing code frameworks in a general, flexible way?"
[An aside: we are essentially asking to create something like an API. In my experience (and likely the experience of others!) is that a number of examples are the best way to determine what this should look like.]
Q from audience: "can't we just compute distribution directly/analytically from activity of agents?"
[====================] c b a
Druv Madeka -- Bloomberg Aguilar Romero * Erik Sager -- BLS * financial friction with heterogeneous-agents * Krusell--smith Bill Shelton * CFPB, software development routine
Gary Anderson * occasionally binding constraints * github and website! * DS35 math whiz...
Michel Julliard
Edmund Crawley *
Christoph Ung * HH leverage, * hetergog agent models with occassionally minding constraints.
-
licenses are very important
- CFPB: public domain and creative commons cc0, cc1
-
"Bloomber "
- support: MIT, ...
- stay away from GPL software.
- to get substantial support, use a rather
- BSD, MIT,
- GPL is bad...
- otherwise people will not want to be related at all.
"Why GPL bad?"
- anything using it has to be open source
Note: "Might be useful to have a form letter for researchers who sit behind the government," which can be sent off to lawyers. "I'm not clear " Would be great to have a letter I can get from the chief council.
CFPB has policy on github which has been forked by a lot of people.
- "Taken from Department of Defense, who is really on the bal here..."
CFPB has open source policy template
"What is the open-source wizard?"
- Something to help automate the checking-off of the checklist.
(***)
"Getting people to uptake, takes some dedicated effort."
- "I trolled help forums/email lists for people with problems that my tools could address"
- Example
- "You need to have badges of honor for committing to this. Need to build this into community."
Gary:
- "I have software tht, to this day, is downloaded, but not a single person "
- "Haven't figured out how to get people to contribute back."
Chris:
- "IMF, Fed, others could incentivize: put contributions to such a project on performance reviews, then really get people to contribute back."
Bill: "Governance!"
- "Need to have a few people with a vision -- some working group, for example, which thinks about branding, social engineering."
- Q: "how do support?"
- "SLA: service level agreement. No real support for open source. Have to have some channel for responses. Working group!"
- "Nothing worse than finding a bug and submitting bug report, and getting radio silence. Then you just walk away, 'thi project is dead...' ."
- Chris: "RebHat/Centos."
- Bill: 7,000-person conference for getting work here.
Q: "how deal with support?"
- "key issues for "
Chris: "one thing to encourage:" if people use code, attribution important.
What do economists want in a language?
Others:
-
cheap -- $
-
"proper editors" -- debugging
-
object orientation?
-
[functional]
Questions about Python:
-
Overhead of using external libraries
- EXTREMELY USEFUL paper: http://economics.sas.upenn.edu/~jesusfv/comparison_languages.pdf
-
Julia:
- multiple dispatch
- looks like method overloading
- Very nice parallel features built in
- parfor, parmap
- can install on aws cload, google cloud (gcloud)
- @parallel (reducing_argument) [variable?]
-
IPython Notebook:
- live updating charts?
- dynamic plots
- 2d plotting
- IPython 3 will be released soon, and they will open source it then
-
Ask Chase if consider adding lecture tutorial sub-chapter on simple unit testing for scientific programming -- something which I think is much needed for getting citations for an "e-journal"
-
Send around examples of IPython notebook
-
Rob: "AgentScript"
- 'efficient for ...programmers.'
Pablo: post-lunch presentation: Top-down approaches
- "Top-down approaches: When is it useful?"
*
*
- Heterog-agent models: "what is the highest-level abstraction?"
Benjamin Q: "why not just build 10 models and see if they fit this or some framework?" Likely to be a good foundation.
Q: "Isn't there a tradeoff? If make it for one set, may never change the model itself."
Michel Q: "Tried to imagine how to extend Dynare modeling langauge to accomodate hetero-agents. Hit some limites " "What I can show you will show half the solutions. "
Michel:
- "THis example doesn't work for OLG or transitions from one type to abother"
- eg OLG (transition is trivial)
- eg transition from one type to another.
- For forming types of agents Benjamin: "what about equations of motion for agent attributes."
Pablo:
Michel: "Not general enough."
Pablo: Examples of YAML code.
Pablo questions:
- main challenges of top-down
Chris: "In JEDC 2010, special issue, lots of work on tracking distributions."
- Micahel Riter (sp)
- Michel Juillard and others: in
Pablo: Extending Dolo
- "Describing the problem isn't the issue; the issue is solving"
- Chris: "many solution methods exist, may need to prod the solver in a direction. Eg Computational HH Finance group NBER."
Douglas:
- I never develop a model in dynare; I develop it elsewhere
- I start off simple, and gradually add more and more to it over time to get to the 4000 equation model.
- I never build the 4000 equations right away. Start simple
- Seems to me that the syntax that we come up with has to include the process that we use to come up with and create models.
- Need to think about this portion
Pablo:
- This suggests to me the modeling langauge / user interface we've been talking about (?)
Doug Q: we all have our own little tricks that we've come up with over time. How do we think about how this person/developer leaps from their own approach now, to the modeling framework?
Gary: What's the pragmatic/practical approach Benjamin said it: why don't we just do refactoring? That'd be great.
- Cool. Theme: "everything by examples."
Gary and William Peterman: "I just want to see the code. I don't care about the GUI. I just want accuracy, then eventually speed. I think that if we can get the modules done in a general framework, that would be a tremendous contribution." "ALso, inhibits development -- I need to see a lot of these guts. ENdog Grid doesn't alwa"
Benjamin: "RStudio and Stata build the equation in front of you so you learn how it looks as you do it."
- Wait, what is this functionality of RStudio?
================================================================================
- Conference, upcoming Other possibilities:
- SCE
- SEDynamics
Gary: THis summer, on committee for Soc Comp Econ Dynm. "Would be great to put something together along these lines."
Chris: "Sugestions?" ----------------------------------------------------------
ROb:
- Swarm: wrt tower of babel John Holland: "also necessary for requisite diversity, from darwinian perspective"
- explore vs exploit
- WHo's done the most effective version of this?
- climate scietists and atmospheric
- ENCAR; $100 million
- "National institute of finance" $1 billion
- Aspiriationally: "ask some branch of government for some offical support"
- WEHIA 2009: Ruby was new thing.
- Customary procedure to pick sexiest platform
- 2010: Python for agents
- At Mason, MASON platform
- Sortware to support
- AScape at Brookings
- Repast filled it out
- Substative institution behind it is important.
- "Useful to ahve a fight because arms race"
- Venues for support: NSF
- typically does not support tool development.
- will fund repositories and replication. HMMM.
- "could think of NSF "
- openABM.org, NSF funded.
- but these guys: CISE
- "computer information science and engineering"
- "have one more zero than econ guys"
Wishlist of papers: "Say, 'I'd like to see my own paper in this journal.'"
Question: "what's the goal?"
- Community such that people pushing the bounds
- Create a product such that people not pushing the bound can use the tools that people pushing the bounds produce.
Chris: "People pushing the bounds still hampered by common things." "Goal is to make interchange of ideas easier. Appropriate starting point is take example of papers that are reasonably well-known, make representations of these papers such that they are expressed in the same way, "
"At CFPB, at IMF, at Fed, at BLS, all over..."
William: "If you don't have people at the cutting edge, gotta allow flexibility. Someone at cutting edge doesn't want to change langages, switch from MPI to GPU, etc. "
How do we get some core models?
- bounties: "We'd love to see some of these -- whoever produces best result"
- related: reach out to freinds and colleagues: when assign projects to students in classes, assign them the effort of putting things online
- related: posting problem sets
- Q: "how to vet the contributions?"
Will: standard life cyle, labor decision, retirement * labor supply is a bounty
Chase: * "norms is Bewley." * Chris: unclear what bewley is... * labor supply
Pablo: * tradition of applying to INTL macro * financial deepness * model with default -- endogenousn
Nathan: * temporal difference learning *
White: * non-medical behaviors * [health models] * proper continuous choice with discrete choice. * endogenous insurance pricing -- check with. * victor-rios-rull -- default paper (borrow on credit cards)
Yuya: multiple equilibria. "Not just solving the model, but finding all the roots." * homotomy method. * estimating model: 2-step method, don't need to solve the model. (eh?) * after estimate the model * shoot email and ask about example. * possibly contribute: incetivize students.
ROb: * Everything is a theorem * publish code: "its a theorem but no proof." * "would be great if API such level of generality" -- eg plug and play behavior heurisitics.
- what would be a concrete example? Shove some fraction in here.
- example: hyperbolic discounting.
Erick Sager: * very explict role for financial sector, endogenous credit limits * higher income inequality, more fragile the financial sector. * these models for open economies
- tax system.
Gary:
- macro model, heterog, occatianlly binding collateral constriants for macro-predential policy
- ramsey
Doug:
- macroprudential, no ramsey, less optimization a la Rob
- move beyond loanable funds model. "Not how banks work in the real world." If follow this can't get financial fragilities.
Michel
- JEDC special issue -- contribute to
Christoph Unger:
- Heterog firms models
- unertainty shocks.
- "will get huge-er model."
Spencer:
- recursive presferences.
Python vs Julia:
- Julia can call arbitrary Python code
One option:
-
authors of these papers and models we've named: ask students to replicate in this framework. set this as summer RAships.
-
Importance of getting a very good launch.
-
concrete commitment from high-quality people is key -- but what must we ask?
Site:
Erick Sager:
- Thinking aloud
- preconference, how to version control with git, how to work as a team,
- "git-economics"
Chase: "software carpentry"
Pablo:
- organization that produces a wishlist for things to be solved?
- organization that can channel funding
- Can be an established, or new. What are options?
- open-source world is second-best.
Chris: intial stage: clear mission and focus, establish in people's minds what the project is. * specific core focus, specific core identity. ("if about everything then about nothing")
One thought on how to organize something somewhat amorphous: * get "little dictators" for sub-sections of the project * eg: interpolation
R Math library:
- c library developed by the R team; actually used by the Julia team.
- "good example of how this has succeeded."
- "more of a bottom-up approach."
Numfocus foundation http://numfocus.org/
"You want to be more specific than that -- want to focus on econ."
Q: "Other modules?"
"What should our list of APIs be?"
- graphically visualize the graphics
- Benjamin's sugestion of dynamic visualizations / testing
- Bayesian estimation of parameters
- interpolater?
- bootstrapping
The idea of the e-journal. General idea:
- use permanent archiving system, such as Github's new code archiving for academics, to "freeze" something like an IPython notebook "vignette" of code that demonstrates something useful or interesting. (New idea, replication using a toolkit, something "letters"-worthy.)
- "There's a Nature paper with an IPhython notebook"
- Example not mentioned: the Journal of Statistical Software.
- others: Stata journal, Dynare Journal
Semi-immediate after-action: happy hour!
================================================================================
Erik Sager: http://www.ericksager.com/
- Work on Krusell Smith: http://www.ericksager.com/uploads/3/8/0/3/3803061/sager_-_method_of_mixtures.pdf
.