Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Configurable mortality and aging in an AgentTypeMonteCarloSimulator #1372

Open
sbenthall opened this issue Jan 29, 2024 · 1 comment
Open
Assignees

Comments

@sbenthall
Copy link
Contributor

AgentTypeMonteCarloSimulation current has some hard-coded logic about mortality and birth.

https://github.com/econ-ark/HARK/blob/master/HARK/simulation/monte_carlo.py#L350-L394

One of the recent language research outcomes (RLRO) was a proposal for how mortality/birth/aging information can be encoded as a 'block'.

https://github.com/econ-ark/OverARK/blob/master/Development/hablo/perfect_foresight_full_experimental.yaml#L36-L57

How to properly include aging and mortality in a general, configurable way is currently an unsolved issue for the software design, let alone the language design. This is partly because agent aging also involves indexing into time-dependent parameter values.

This issue is for exploring and implementing the HARK 1.0 version of generalized aging, birth, and mortality, and its interaction with the parameterization logic.

See #1371 for terminology.

@sbenthall sbenthall self-assigned this Jan 29, 2024
@sbenthall
Copy link
Contributor Author

Notes from today's meeting with @mnwhite and @alanlujan91 on this:

  • consider breaking up the information between model definition and simulation specification.
  • generalized aging: stochastic aging (transitions between life phases, rather than incrementing deterministically)
  • how to have age-varying parameters without references to age inside the 'hermetic' blocks?
  • maybe this information goes in the 'links' section, since this can do things like:
    • 'twist' variables (maybe age-indexing happens here also)
    • direct block flow to a terminal state upon death.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant