Skip to content

Releases: unfoldtoolbox/Unfold.jl

v0.7.0

22 Apr 13:48
Compare
Choose a tag to compare

Unfold v0.7.0

Diff since v0.6.10

This is a bigger release 🎉 with some clearly breaking changes. For most users, those breaking changes should be near "invisible", but we can't promise it. Update as always without warranty.

Breaking:

  • New major types:
    • all UnfoldModel-types are now parametric types with e.g. Float64 or Missing,Float64, which will make specializations in fitting much easier in the future (e.g. no missing values => faster fit!)
    • Internal: New Trait ContinuousTimeTrait making it easier to specify custom types
    • UnfoldModel now takes a vector of AbstractDesignMatrices, where each AbstractDesignMatrix holds only one formula, one table and one modelmatrix. If you used accessorfunctions like events and formulas not much should change. Those accessor functions were harmonized to produce vectors of content.
  • FIR by default does not linearly interpolate anymore. This will help throughout the toolbox with minimal consequences on model-accuracy. That is, if an event-latency is in between two datasamples, it used to be linearly "split up". This now needs to manually activated using interpolate=true in firbasis. In the case of interpolate=false only integer event-latencies are allowed. In practice, this should have little impact, but it will change your numbers slightly.
  • Dict(:A=>(formula,times)) from dict to vector of pairs [:A=>(formula,times]
  • coeftable column basisname renamed to eventname, basisfunctions now need to have the same name as the event in the Design-specification

Public renaming (breaking)

old new
predict predicttable (predict now returns a vector of arrays
formula formulas (now returns a vector of StatsFormulas for all models)

Internal renaming

old new
combineDesignmatrices combine_designmatrices
equalizeLengths equalize_lengths
zeropad equalize_size
shiftOnset shift_onset
get_modelmatrix modelmatrices
randomeffectgroupings random_effect_groupings
changeMatSize! change_modelmatrix_size!
equalizeReMatlengths! equalize_ReMat_lengths!
changeReMatSize! change_ReMat_size!
lmm_combineMats! lmm_combine_modelmatrix!
extract_symbol termname
dropMissingEpcohs drop_missing_epochs
DesignMatrix.Xs DesignMatrix.modelmatrix

New functions & features:

  • BasisFunction now has a method height, in addition to it's StatsModels.width
  • pretty Term.jl output for models and designmatrices
  • massunivariate models by default calculate SE now
  • many more docstrings
  • documentation fixes @vladdez
  • residual(uf,data) function
  • fit/solver show_progress controls output

Closes: #192 #161 #52 #189 #155

Merged pull requests:

Closed issues:

  • Documentation improvement suggestions (#189)
  • FileIO.load does not work (#194)

v0.6.10

09 Apr 13:36
079dc5f
Compare
Choose a tag to compare

Unfold v0.6.10

Diff since v0.6.9

speed up effects
load older JLD2 files

Merged pull requests:

Closed issues:

  • Confusing documentation about Effects (#178)
  • Confusing usage of acronyms (#181)
  • firbasis shows error when name is not specified (#183)
  • Better error (message) when swapping basisfunction and formula in the event dict tuple (#186)

v0.6.9

26 Feb 15:08
0b9ac90
Compare
Choose a tag to compare

Unfold v0.6.9

Diff since v0.6.8

  • stderror was wrongly forced to type of data, but should be type of coefficients. This lead to very rare problem (introduced in 0.6.6) thanks @vladdez for reporting
  • LMMs had a major bug #175. If you had a model of type 0~ [...] + (1|item) + (1+A|subject) where the first term had fewer random slopes than the second, then the coeftable(model) had wrongly ordered coefnames for the random effects. This is fixed now
  • fixed LMM bugs in the tutorial (following from UnfoldSim major v0.4).

Merged pull requests:

v0.6.8

24 Feb 23:12
9fc71ef
Compare
Choose a tag to compare

Unfold v0.6.8

Diff since v0.6.7

  • bugfix: stderror threw a typeerror
  • benchmarks are back

Merged pull requests:

v0.6.7

22 Feb 09:03
b477ef9
Compare
Choose a tag to compare

Unfold v0.6.7

Diff since v0.6.6

  • fixed speed issue with new effects fix in 0.6.6
  • added Tullio.jl to speed up calculations

Merged pull requests:

v0.6.6

21 Feb 10:06
4171f8a
Compare
Choose a tag to compare

Unfold v0.6.6

Diff since v0.6.5

  • greatly improved speed of effects calculation
  • fixed tests & documentation with UnfoldSim major 0.4

Merged pull requests:

v0.6.5

02 Feb 12:31
8737bb7
Compare
Choose a tag to compare

Unfold v0.6.5

Diff since v0.6.4

  • JuliaFormatter on everything
  • added Effects for UnfoldLinearMixedModels
  • updated docs & docstrings

Merged pull requests:

Closed issues:

  • 2nd level tools / plots / stats (#13)
  • [docs] Timebasis is empty? (#102)
  • Krylov + multithreading crashed (#122)
  • add errormessage if n_spl = 3 is used (#124)
  • Missing doc strings and types & functions in the Unfold documentation (#133)

v0.6.4

30 Nov 12:31
b3a21c2
Compare
Choose a tag to compare

Unfold v0.6.4

Diff since v0.6.3

  • Fix bug with multi-channel mixed models extension reshaping
  • greatly enhanced documentation

Merged pull requests:

Closed issues:

  • Missing information about Extensions? (#138)
  • Outdated information in "Traditional Mass Univariate Analysis" tutorial (#139)

v0.6.3

27 Oct 07:38
5b0b6a7
Compare
Choose a tag to compare

Unfold v0.6.3

Diff since v0.6.2

Fixes Packagextensionbug for Unfold versions with julia <1.9 #131

Merged pull requests:

v0.6.2

24 Oct 14:40
4ce920a
Compare
Choose a tag to compare

Unfold v0.6.2

Diff since v0.6.1

  • added rePCA for LMMs
    • some minor bugfixes
    • greatly improved type-stability, especially for time_expand
    • potentially breaking: starting to deprecate FIRbasis.kernel field. kernel(firbasis) does not return the kernelfunction anylonger, which was required to be an anonymous function. Rather, it is replaced by kernel(firbasis,e) to directly calculate the kernel at e. While the FIRBasis Type changed, we have a @deprecate in place that should catch the old access.

Merged pull requests: