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

namespace for control variables, refactor getControls() #838

Closed
sbenthall opened this issue Sep 27, 2020 · 3 comments
Closed

namespace for control variables, refactor getControls() #838

sbenthall opened this issue Sep 27, 2020 · 3 comments
Assignees
Milestone

Comments

@sbenthall
Copy link
Contributor

A parallel issue to #761.

Currently, in getControls(), control variable values are assigned to the object as attributes.

In line with architecture changes like #760, this should become a dedicated collection, e.g. self.controls as a dictionary.

@sbenthall sbenthall added this to the 1.0.0 milestone Sep 27, 2020
@sbenthall sbenthall self-assigned this Sep 27, 2020
@sbenthall
Copy link
Contributor Author

I want to note that while I think having a separate namespace for states, control, and shock variables is the right first next step to be consistent with the current design, I'm not as certain this is the right way to organize things longer term.

As @llorracc has observed, there's times at which the status of a model variable seems to change, or else is superficial.

@llorracc
Copy link
Collaborator

#836 only addresses states; this is the corresponding issue for controls

Related to need to rethink relationship between states, controls, and shocks

@sbenthall
Copy link
Contributor Author

I'm looking at this now.

In the basic ConsIndShockModel case, two values are set in getControls().

cNrmNow is clearly a control variable.

I think MPCnow is not a control variable, but rather is something that's being computed out of economic interest. It's an 'epiphenomenal' property, something that depends on the action taken but has not endogenous effect on the system.

Is that interpretation correct?

It would be nice if there was a namespace for these properties. They are not really the same thing as model variables.

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

No branches or pull requests

2 participants