FactorRotations.jl

Rotation methods for factor analysis and principal component analysis in Julia

MIT License

Stars
7

Bot releases are visible (Hide)

FactorRotations.jl - v0.5.0 Latest Release

Published by github-actions[bot] about 2 months ago

FactorRotations v0.5.0

Diff since v0.4.0

Breaking changes

  • Enzyme.jl dependency moved to a package extension to improve package load times. If automatic differentiation is required for ComponentLoss or a custom rotation method it is now required to explicitly load Enzyme.jl via using Enzyme.

Merged pull requests:

  • Move Enzyme.jl into extension (#71) (@alyst)
FactorRotations.jl - v0.4.0

Published by github-actions[bot] 4 months ago

FactorRotations v0.4.0

Diff since v0.3.1

Breaking changes

  • Diverging rotations now print a warning instead of throwing a ConvergenceError

Merged pull requests:

  • parallelize rotation with random starts (#70) (@p-gw)
FactorRotations.jl - v0.3.1

Published by github-actions[bot] 6 months ago

FactorRotations v0.3.1

Diff since v0.3.0

Merged pull requests:

  • Improve criteria performance (#66) (@alyst)
  • Package benchmarking (#67) (@p-gw)
  • Bump version to 0.3.1 (#68) (@p-gw)

Closed issues:

  • Implement Equamax (#27)
  • Implement Parsimax (#28)
  • Varimax did not converge for echelon-pattern matrix (#48)
FactorRotations.jl - v0.3.0

Published by github-actions[bot] 6 months ago

FactorRotations v0.3.0

Diff since v0.2.4

Breaking changes

  • Custom rotation criteria must now implement in-place criterion_and_gradient! instead of criterion_and_gradient
  • The epsilon parameter in Absolmin must now be striclty positive since epsilon = 0 leads to nonfinite gradients
  • rotate now reflects the columns of the rotated loading matrix by default
  • atol function argument for rotate is now called g_atol

New Features

  • Columns of rotated loading matrices can now be reflected by calling reflect, reflect!, or using the reflect function argument for rotate (default: true)
  • rotate gains a new function argument normalize (default: false) that performs Kaiser normalization before rotation and denormalizes the rotated loading matrix after rotation
  • rotate gains a new function argument f_atol that sets the absolute tolerance for the comparison of minimum values with random starts
  • Logging for rotate is improved: You can now set logperiod to control how often the optimization state is logged

Merged pull requests:

  • Implement reflect (#53) (@p-gw)
  • Fix Varimax (#54) (@alyst)
  • Enhance logging (#55) (@alyst)
  • Inline calculations (#58) (@alyst)
  • CompatHelper: bump compat for Enzyme to 0.12, (keep existing compat) (#59) (@github-actions[bot])
  • Tolerate nightly ci failures (#63) (@p-gw)
  • only allow epsilon > 0 in Absolmin (#64) (@p-gw)

Closed issues:

  • Reflect rotated matrix (#50)
  • Fix documentation for kaiser_normalize! (#52)
  • Switch to in-place criterion_and_gradient! (#57)
  • Disallow epsilon <= 0 in Absolmin (#62)
FactorRotations.jl - v0.2.4

Published by github-actions[bot] 7 months ago

FactorRotations v0.2.4

Diff since v0.2.3

Merged pull requests:

  • Add normalize argument to rotate (#51) (@p-gw)

Closed issues:

  • Add normalize argument to rotate (#47)
FactorRotations.jl - v0.2.3

Published by github-actions[bot] 8 months ago

FactorRotations v0.2.3

Diff since v0.2.2

Merged pull requests:

  • Bifactor Rotation and random starts (#45) (@p-gw)

Closed issues:

  • Implement bifactor rotation (#44)
  • Add random starts (#46)
FactorRotations.jl - v0.2.2

Published by github-actions[bot] 8 months ago

FactorRotations v0.2.2

Diff since v0.2.1

Merged pull requests:

  • Performance optimisation in Varimax rotation (#43) (@p-gw)

Closed issues:

  • Performance optimisation in Varimax rotation (#42)
FactorRotations.jl - v0.2.1

Published by github-actions[bot] 9 months ago

FactorRotations v0.2.1

Diff since v0.2.0

Merged pull requests:

  • Implement global logging setting (#41) (@p-gw)

Closed issues:

  • Set verbosity globally (#40)
FactorRotations.jl - v0.2.0

Published by github-actions[bot] 9 months ago

FactorRotations v0.2.0

Diff since v0.1.4

Merged pull requests:

  • Add MultivariateStats.jl Extension (#38) (@p-gw)
  • Implement custom result type (#39) (@p-gw)

Closed issues:

  • Add MultivariateStats.jl support (#18)
  • Return factor correlation matrix (#34)
FactorRotations.jl - v0.1.4

Published by github-actions[bot] 9 months ago

FactorRotations v0.1.4

Diff since v0.1.3

Merged pull requests:

  • Add tandem criteria (#37) (@p-gw)

Closed issues:

  • Implement tandem criteria (#5)
  • TagBot does not create tags or releases (#26)
FactorRotations.jl - v0.1.3

Published by github-actions[bot] 9 months ago

FactorRotations v0.1.3

Diff since v0.1.2

Merged pull requests:

  • Add pattern simplicity (#36) (@p-gw)

Closed issues:

  • Implement invariant pattern simplicity (#4)
FactorRotations.jl - v0.1.2

Published by github-actions[bot] 9 months ago

FactorRotations v0.1.2

Diff since v0.1.1

Merged pull requests:

  • Add Component Loss functions (#35) (@p-gw)

Closed issues:

  • Implement Absolmin (#33)
FactorRotations.jl - v0.1.1

Published by p-gw 10 months ago

Merged pull requests:

  • Orthogonal rotation methods (#3) (@p-gw)
  • correctly set starting values in rotate (#9) (@p-gw)
  • implement in-place rotation (#10) (@p-gw)
  • Add documentation (#12) (@p-gw)
  • Update CompatHelper (#15) (@p-gw)
  • CompatHelper: add new compat entry for Statistics at version 1, (keep existing compat) (#16) (@github-actions[bot])
  • Implement algorithm for oblique rotation (#19) (@p-gw)
  • Add Kaiser normalization (#23) (@p-gw)
  • Update Enzyme compat (#25) (@p-gw)

Closed issues:

  • Implement orthogonal rotation methods (#1)
  • Implement oblique rotation methods (#2)
  • Implement in-place rotation (#6)
  • correct implementation of initial values (#8)
  • Add basic documentation (#11)
  • Update CompatHelper (#14)
  • Add Kaiser normalization (#20)
  • Add derivative free rotation methods (#21)
  • TagBot trigger issue (#22)
  • add Enzyme compat (#24)
FactorRotations.jl -

Published by p-gw 10 months ago

Package Rankings
Top 43.14% on Juliahub.com
Badges
Extracted from project README
Stable Dev Build Status Coverage