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

Settings objects for groups of common parameters #54

Open
smmaurer opened this issue Nov 6, 2018 · 1 comment
Open

Settings objects for groups of common parameters #54

smmaurer opened this issue Nov 6, 2018 · 1 comment

Comments

@smmaurer
Copy link
Member

smmaurer commented Nov 6, 2018

As we incorporate more choice table and simulation flexibility (weights, interaction terms, etc), the number of settings parameters for model steps is growing quickly. MNL already has 20, and could easily push 30! This makes it harder for users to understand where to start, and how the parameters are related to each other. It's also not ideal on the back end.

Proposal

I'd like to start grouping together related parameters, so that we have a bundle that represents an estimation choice table, a bundle that represents a simulation choice table, a bundle that represents other simulation settings, and on on. These would be represented behind the scenes by settings classes that would make it easier to share functionality among templates.

Here's a rough diagram for an MNL model step:
screen shot 2018-11-06 at 1 54 54 pm

The model step API would shift a bit, something like this:

# old
m.choosers = table_name
m.out_chooser_filters = expression

# new
m.estimation.data.choosers = table_name
m.simulation.data.chooser_filters = expression

More verbose, but hopefully clearer how the pieces are related.

@mxndrwgrdnr
Copy link
Member

Just popping in here to say that I like this a lot.

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