← Back to all sparks
S

ShortForm

INFRA · APIS
Velocity0.0

Automatic Short Form Creation

Automated scale shortening with lavaan, spending its releases repairing its own search algorithms.

psychometricsscale-constructionoptimization-algorithmslavaandependency-reduction
Current state
ShortForm automates the creation of short-form psychometric scales by searching for well-fitting subsets of items, using ant colony optimization, simulated annealing and Tabu search over lavaan models. The recent releases are corrective: 0.5.7 fixed the ant colony algorithm failing to update its best model and the simulated annealing routine mis-specifying models containing factor relationships or outcome variables, and 0.5.8 fixed Tabu search under parallel workflows and with multidimensional models. Each release note carries an explicit roadmap listing refactoring for 0.6.0 and input standardisation for 0.7.0, neither of which has shipped.
Where it's heading
The defects being fixed are in the search itself rather than around it. An optimizer that does not correctly retain its best candidate, and a search that mis-specifies models after the first iteration, both produce plausible-looking short forms that are not the ones the method should have found, which is a harder class of problem to notice than a crash. Alongside that the package is shedding dependencies, with ggplot2, ggrepel and tidyr dropped from the plotting methods in 0.5.8. The stated intent to refactor the major functions and standardise their arguments suggests the maintainer regards the current interface as the obstacle to further work.
Prediction
The roadmap repeated across these notes points to a 0.6.0 focused on refactoring the major functions, with argument and output standardisation deferred to 0.7.0. On the evidence of this window, more unit tests and further algorithm-level fixes are likelier to arrive first than either milestone.

Recent moves

  1. 3mo ago

    Tabu search fixed for parallel and multidimensional models

    Repairs Tabu search under certain parallel workflows and with multidimensional models, and removes ggplot2, ggrepel and tidyr from the plotting methods. The dependency removal is the more durable change; the fixes continue the run of algorithm-level corrections that 0.5.7 started.

    View source ↗
  2. 3mo ago

    Ant colony search failed to retain its best model

    Fixes the ant colony algorithm not properly updating the best model it had found, and the simulated annealing routine mis-specifying models with factor relationships or outcome variables after the initial model. Both are silent failures: the search returns a short form, just not the one the method should have selected.

    View source ↗
  3. 1y ago

    lavaan model specification defaults made forgiving

    Fills in default lavaan arguments when a user removes them while respecting any they explicitly override, and adjusts how fitted models are checked for warnings and errors. Convenience housekeeping confined to the ant colony interface.

    View source ↗
  4. 2y ago

    Compatibility fixes for a new lavaan release

    A single pull request adapting to a new lavaan version. One of several releases in this window whose whole content is keeping pace with the modelling engine underneath.

    View source ↗
  5. 2y ago

    Adapted to changed lavaan error and warning messages

    Handles changes in the wording of lavaan's errors and warnings, which the package inspects to decide whether a fitted model is usable, plus internal documentation tidying. Fragile coupling, but nothing visible to users.

    View source ↗
  6. 2y ago

    Default specification tweaks and documentation fixes

    Adjusts the default lavaan model specifications used by the ant colony routine, with spelling and manual corrections alongside. Routine upkeep.

    View source ↗