5 ms·
Wow, cool! The model is specified as a constrained nonlinear optimization problem for which a solution is found using high-quality proprietary numerical solvers
by cs702 5y ago
Wow, cool! The model is specified as a constrained nonlinear optimization problem for which a solution is found using high-quality proprietary numerical solvers.[a] All partial differential equations specifying the model have a basis in economic theory or in heuristics and approximations shown to be consistent with reality. Parameters come directly from (what I assume is a large amount of) economic data collected by the Danish government.
The authors working for the Danish government deserve an A+ for making their code and assumptions public, along with comprehensive high-quality documentation.[b] It was a delightful surprise to click on the link and find... a carefully curated repo.
I have only one nitpicking: This looks like the kind of project that should have been -- and in fact probably should be -- implemented in Julia, instead of in a proprietary language. I suspect many heuristics and approximations could be more accurately modeled by ML components, interspersed between equations, as has long been proposed by Julia folks like Chris Rackauckas.
--
[a] https://news.ycombinator.com/item?id=30028188 https://news.ycombinator.com/item?id=30028188
[b] https://media.githubusercontent.com/media/DREAM-DK/MAKRO/main/Documentation/Documentation.pdf https://media.githubusercontent.com/media/DREAM-DK/MAKRO/mai...
- MAKROmaker 5y agoThanks! Julia was not even in 1.0 when we started the project, but would absolutely be a great choice today. So far, only the Conopt4 solver can solve our model, which means we have to go through GAMS even if we rewrite in Julia. I saw Rackauckas' JuliaCon presentation where he talks about ML approximations and immediately got excited too.
- fifilura 5y agoI have one question, that i ask with genuine interest, since I have been in a similar position before (although certainly not as advanced). When you develop models like this, what is your stance on testing? All that stuff in a software engineers toolbox, unittests, integration tests, exploratory tests, manual tests etc.
- cs702 5y agoThank you. That makes sense. Also, I fully get why you're excited: The use of "learnable components" for selectively replacing heuristics in models like yours seems like an ideal use case for Julia. (To me it looks like the future of modeling.)
- sandGorgon 5y agoWhat is your opinion of this vs Gurobi ? The only reason I ask is because your model is written in a proprietary language. While Gurobi models are written in Python (and solved by the silver). Just curious if you found it not effective.
- jlouis 5y agoMy guess is that the non-linearity of the problem might make it harder for something like Gurobi to solve. GAMS is essentially a frontend for solvers, so you are compiling your input source into a format suitable for an underlying solver or a set thereof.
- k2enemy 5y agoFYI, the New York Fed's model is written in Julia and also open source. https://github.com/FRBNY-DSGE/DSGE.jl https://github.com/FRBNY-DSGE/DSGE.jl
- c3534l 5y ago> # Note: Not sure why the 3 is there. Oh god, our economy is doomed.
- monkeybutton 5y ago>Build: failing
- joebob42 5y agoAnd 40% code coverage lol
- jsiaajdsdaa 5y agoCentrally planned economies are capable of interesting things!
- whitesilhouette 5y agoIt's not the planning, the funding structure is the real problem.