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

This code enables multiple parameters to depend on covariates. Is there any appetite for it? #566

Open
JockLawrie opened this issue Oct 30, 2024 · 0 comments

Comments

@JockLawrie
Copy link
Contributor

Hi there,

The project I'm working on requires models with multiple parameters that depend on covariates.
Examples include beta regression with both the mean and precision depending on covariates, as well as multinomial regression.
For these examples I'm currently using R and MultinomialRegression.jl respectively (I'm the author of the latter).

Turns out the solver in MultinomialRegression.jl can be used for both examples, as well as other models including those in GLM.
It's a block-wise cyclic coordinate descent algorithm with a line search.
Here is an implementation, including examples of beta regression and multinomial regression. Being a proof-of-concept, it's pretty bare bones at the moment. But there's no reason it can't be elaborated into a fully-fledged GLM API.

I'm looking for a place for the 2-parameter beta regression code. Options include:

  1. Write a new package. Then we'd have New2ParamBetaRegession.jl, BetaRegression.jl, MultinomialRegression.jl, GLM.jl.
  2. Merge the code into BetaRegression.jl. We'd have BetaRegression.jl, MultinomialRegression.jl, GLM.jl.
  3. Merge the code into GLM.jl and retire MultinomialRegression.jl. We'd have GLM.jl and BetaRegression.jl, with the latter being unnecessary. Ideally we'd end up with just GLM.jl.
  4. Build on GLMpoc and release it as something like MultiParamGLM.jl. Then we'd have GLM.jl and MultiParamGLM.jl. But the latter would be capable of all of the models in GLM.jl.
  5. Other?

With a bit more work, the solver may have a place in Optim.jl.
Is there any appetite for Option 3?

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