Notice: On March 31, it was **announced** that Statalist is moving from an email list to a **forum**. The old list will shut down on April 23, and its replacement, **statalist.org** is already up and running.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

From |
Nick Cox <n.j.cox@durham.ac.uk> |

To |
"'statalist@hsphsun2.harvard.edu'" <statalist@hsphsun2.harvard.edu> |

Subject |
RE: st: code for dynamic programming |

Date |
Fri, 2 Mar 2012 14:41:01 +0000 |

I agree with a general view that one should use other software when more appropriate than Stata; who doesn't? But I disagree at least partly with the detailed comments here, which in my judgement are expressed too dogmatically. What is that makes MATLAB [sic], R or C++ more appropriate for this? It may well be a good supply of similar example code. But I don't think it is the nature of any of these languages. I've already given a real example in a publicly available package of a Stata program with a dynamic programming algorithm at its core. I had no difficulty translating that from other languages because of any of Stata's language quirks. It seems that no-one has solved Osei's problem previously in Stata, and that no-one is willing to chase up the literature, find out the equations and write a Stata program for that program, but that's still not a limitation in principle. Nick n.j.cox@durham.ac.uk Partho Sarkar Osei, from your post it is not clear to me exactly what you are trying to do- I think you would get more help if you explain that clearly. Some remarks & suggestions below , for what they are worth: If it is an exercise in simulating/solving a dynamic programming (DP) problem as such (e.g., inter-temporal utility maximization of a consumer, which is what your post suggests) , then Stata is simply not the tool for it- Stata is by definition geared toward *statistical* problems. Sure, like any statistical package, it uses some maximization algorithms, e.g., for maximum likelihood estimation, but these are by their nature specific to that particular class of problem. (It might be possible to somehow manipulate these to told to solve a DP problem, but it doesn't seem very promising!) For DP as such, which is a *mathematical/computational* problem, there are many programs available in other languages/packages- Matlab would be my first choice (or R or C++ ). Have a look at http://www.stanford.edu/~roymill/cgi-bin/methods2010/material.php (the Matlab section) -there are many other sources for DP algorithms in Matlab. ( It is some time since I have worked on this type of exercise, so you might find more upto date information. ) On the other hand, if you are trying to *estimate* a dynamic discrete choice model, then that is a *statistical* problem in which you can utilize Stata's estimation tools (the key here would be formulating the estimation problem/equations properly, and not the algorithm). I have no experience of this, but if you search around, I am sure you will be able to find some sources. E.g., just at random,I found a link to this recent paper : http://www.annualreviews.org/doi/abs/10.1146/annurev-economics-111809-125038?journalCode=economics From Osei Kuffour Wiafe <okwiafe@gmail.com> I'm quite new to stata and I need help with coding a backward recursive problem. It is in the form of the Epstein-Zin utility and similar to the Bellman equation. I'd appreciate any other dynamic programming code which would relate to what I am doing. That should give me a clue to finding my solution. For now I have no idea where to begin! * * For searches and help try: * http://www.stata.com/help.cgi?search * http://www.stata.com/support/statalist/faq * http://www.ats.ucla.edu/stat/stata/

**References**:**Re: st: code for dynamic programming***From:*Partho Sarkar <partho.ss+lists@gmail.com>

- Prev by Date:
**st: RE: alternative calculation method due to "too many values" / tabulate** - Next by Date:
**st: RE: Summarising multiple visit data for each individual participant** - Previous by thread:
**Re: st: code for dynamic programming** - Next by thread:
**Re: st: code for dynamic programming** - Index(es):