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

Meta methods #61

Open
2 of 4 tasks
niekdt opened this issue Oct 14, 2021 · 0 comments
Open
2 of 4 tasks

Meta methods #61

niekdt opened this issue Oct 14, 2021 · 0 comments
Assignees
Labels
enhancement New feature or request
Milestone

Comments

@niekdt
Copy link
Collaborator

niekdt commented Oct 14, 2021

Would be good to have lcMethod subclasses which can fit an underlying lcMethod multiple times to select the best one automatically. This makes the latrend fitting procedure a lot less unwieldy for methods with poor convergence rate

Not sure yet if meta is the best term for this.

Proposed methods:

  • lcMetaConverged(method, maxRep = 10) fit repeatedly until a converged model is obtained
  • lcMetaRep(method, rep = 10, metric = "BIC") fit N models and return the best fit according to the given metric. Requires knowing whether the metric should be minimized or maximized
  • lcMetaStable(method, stableFun) fit repeatedly until the maximum metric value appears to have stabilized. Then return the best model. Might be difficult to define.
  • lcMetaGridsearch(method, options, metric = "BIC"): fit method for all combinations of parameters, and select the best model according to the given metric

Additionally, meta methods could enforce a certain clustering ordering of a fitted method, during postFit().
Ideas:

  • ordering by intercept
  • ordering by cluster size
  • ordering to match the partitioning of a reference model
@niekdt niekdt added the enhancement New feature or request label Oct 14, 2021
@niekdt niekdt assigned niekdt and unassigned niekdt Oct 14, 2021
@niekdt niekdt self-assigned this Nov 3, 2022
@niekdt niekdt modified the milestones: 1.4.4, 1.5.0 Nov 3, 2022
niekdt added a commit that referenced this issue Nov 4, 2022
niekdt added a commit that referenced this issue Nov 7, 2022
* Implemented lcMetaMethod and lcMetaConverged (#61)
* Added more tests and support for setting consecutive seeds (#61)
* Renamed lcMetaConverged to lcFitConverged (#61)
* Implemented lcFitRep and variants(#61)
* Added convergence status in messaging (#61)

Small changes:
* Added check for formula argument to LMKM method
* Added converged slot to lcModelPartition
* Made getLcMethod() generic
* Generic validate() checks for correct output length
* Fixed doc check issues
* Added workaround for erroneous R CMD check rmarkdown import note
@niekdt niekdt modified the milestones: 1.5.0, 1.5.2 Mar 16, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant