MixedModels v5.8.0 Release Notes
July 23, 2026 · View on GitHub
- Allow for diagonal blocks of
Lto be stored inRectangularFullPacked(RFP) format, which saves roughly half the storage required for the block. This can increase the time required forupdateL!, primarily in therankUpdate!step, resulting in a time vs. memory tradeoff. The size threshold for RFP storage is a new optional argumentRFPthreshold, which defaults to 1000. - The RFP format stores a triangular matrix in two pieces: a trapezoidal part of roughly 3/4 of the elements, where linear indexing can be used for the updates, and a transposed triangular part with more complicated
getindexandsetindex!methods. - A new Boolean optional argument,
sortlevels, which defaults totrue, allows for sorting the levels of the any grouping factors with RFP storage of their diagonal blocks. This is a heuristic to have more updates occur in the trapezoid part of the RFP block. It is not guaranteed to be optimal but it works well in examples we have tried. #821
MixedModels v5.7.1 Release Notes
- Compat bump for MixedModelsDatasets. Note that some data values have changed in their least significant digits, which can change statistics computed from these. Additionally, MixedModelsDatasets now lazily downloads individual datasets instead of downloading all available datasets as a single bundle. #904
MixedModels v5.7.0 Release Notes
fittedandpredicthave been reworked to allocate less and avoid some unnecessary computation. #887
MixedModels v5.6.0 Release Notes
- Several previously hardcoded parameters related to PIRLS are now exposed and can be set by modifying
optsum.#893
MixedModels v5.5.2 Release Notes
- Import
log2πdirectly fromIrrationalConstantsinstead of via theStatsFunsre-export chain.IrrationalConstantsis now a direct dependency, but it was already an indirect dependency of the package. #898 - Replace the remaining
chisqccdfandnormccdfcalls with the equivalentccdf(Chisq(…), …)andccdf(Normal(), …)fromDistributions, and dropStatsFunsas a direct dependency.StatsFunsremains in the indirect dependency graph viaStatsModelsandDistributions. #899
MixedModels v5.5.1 Release Notes
- Fixed a bug in testing the nesting of fixed effects. #891
- Fixed an edge case in
predictwith rank deficient models. #892
MixedModels v5.5.0 Release Notes
- The construction of
LinearMixedModelhas changed so that the storage of the full-rank fixed-effects model matrix is shared betweenfetermandXymat. The functionmodelmatrixstill returns the entire model matrix (including redundant columns), but now constructs it dynamically instead of returning a reference into internal storage. The precise storage details ofFeTermhave changed. #889
MixedModels v5.4.0 Release Notes
- Change
isnested(x, y)for MixedModels to returntrueifxhas no fixed-effects parameters #886
MixedModels v5.3.1 Release Notes
varestanddispersion(::LinearMixedModel, true)previously incorrectly returned the estimated standard deviation instead of the variance for models with a fixed sigma parameter. #885
MixedModels v5.3.0 Release Notes
- Implement
sparseLas a specialization ofsparsemat. Replace_coordutility with_findnzwhich, in most cases, falls through toSparseArrays.findnz. #880
MixedModels v5.2.2 Release Notes
- Small update to
showmethods to accommodate coming changes in Julia Markdown stdlib. #876
MixedModels v5.2.1 Release Notes
- Use three-argument method for
showforCoefTables. #875
MixedModels v5.2.0 Release Notes
- The use of the
wtskeyword argument has been deprecated in favor of the keyword argumentweights, in line with the deprecation in GLM.jl v1.9.1. The usage (and subsequent interpretation) remains otherwise unchanged. #873
MixedModels v5.1.0 Release Notes
- Nesting checks for the likelihoodratio test have been slightly tweaked to be more robust, at the cost of being slightly slower. In particular, the comparison of models with pre-centered variables with those with variables centered via StandardizedPredictors.jl was previously incorrectly rejected as non-nested, but should be correctly accepted as nested now. Additionally, some further logging messages are emitted when a nesting check fails. #867
MixedModels v5.0.4 Release Notes
- Small update in some code related to displaying dispersion parameters in cases where inference has failed. #865
MixedModels v5.0.3 Release Notes
lowerbd(::MixedModel)returns the canonical lower bounds of a model's parameters, i.e. the expected bounds after rectification in unconstrained optimization. #864
MixedModels v5.0.2 Release Notes
- The default display and
confintmethods for bootstrap results from models without dispersion parameters has been fixed. #861
MixedModels v5.0.1 Release Notes
- Fixes a method error with
Grouping()contrasts when used with recent CategoricalArray releases. #860
MixedModels v5.0.0 Release Notes
- Optimization is now performed without constraints. In a post-fitting step, the Cholesky factor is canonicalized to have non-negative diagonal elements. #840
- The default optimizer has changed to NLopt's implementation of NEWUOA where possible. NLopt's implementation fails on 1-dimensional problems, so in the case of a single, scalar random effect, BOBYQA is used instead. In the future, the default optimizer backend will likely change to PRIMA and NLopt support will be moved to an extension. Blocking this change in backend is an issue with PRIMA.jl when running in VSCode's built-in REPL on Linux. #840
- [BREAKING] Support for constrained optimization has been completely removed, i.e. the field
lowerbdhas been removed fromOptSummary. #849 - [BREAKING] The deprecated
use_threadskwarg has been dropped fromparametricbootstrap. It had been a no-op since v4.10.0. #841 - [BREAKING] The deprecated
hide_progresskwarg has been dropped fromparametricbootstrap. It had been replaced byprogresssince v4.22.0. #841 - [BREAKING] A fitlog is always kept -- the deprecated keyword argument
thinhas been removed as has thefitlogkeyword argument. #850 - The fitlog is now stored as Tables.jl-compatible column table. #850
- Internal code around the default optimizer has been restructured. In particular, the NLopt backend has been moved to a submodule, which will make it easier to move it to an extension if we promote another backend to the default. #853
- Internal code around optimization in profiling has been restructuring so that fitting done during calls to
profilerespect thebackendandoptimizersettings. #853 - The
prfit!convenience function has been removed. #853 - The
datasetanddatasetsfunctions have been removed. They are now housed inMixedModelsDatasets.#854 - The local implementation of
fulldummyand the nesting syntax has been removed and a dependency on RegressionFormulae.jl for their implementation has been added. #855 - One argument
predict(::GeneralizedLinearMixedModel), i.e. prediction on the original data, now supports thetypekeyword argument. #856 isnested(A::ReMat, B::ReMat)is now a method ofStatsModels.isnested.#858- [BREAKING ]
likelihoodratiotesthas been reworked to be a thin wrapper aroundStatsModels.lrtest. The historical difference in behavior in terms of nesting checks created some confusion. Users advanced enough to create models with non-obvious nesting are assumed to be advanced enough to manually compute the likelihood ratio test. The functionlikelihoodratiotestand associatedLikelihoodRatioTesttype (now with a type parameter for number of models) has been kept to enable printing of test results with model formulae. Most users should not notice a difference in behavior, but the display has been slightly changed and the internal field structure has changed.#858 - Failures to fit a spline in profiling now generates a more helpful error message. #857
MixedModels v4.38.0 Release Notes
- Experimental support for evaluating
FiniteDiff.finite_difference_gradientandFiniteDiff.finite_difference_hessian of the objective of a fittedLinearMixedModel`. #842
MixedModels v4.37.0 Release Notes
- Experimental support for evaluating
ForwardDiff.gradientandForwardDiff.hessianof the objective of a fittedLinearMixedModel. #841
MixedModels v4.36.0 Release Notes
- Automatic application of grouping contrasts now works for
RandomEffectsTerms constructed programmatically, e.g. with(term(1) | term(:g)). #836
MixedModels v4.35.2 Release Notes
- Update to the
show(::IO, ::MIME, x)methods for consistent ordering across Julia versions of variance components without associated fixed effects. This may result in change of ordering on existing Julia versions, but ordering will now match the ordering in the default REPL display (and reflect the model internal ordering), #829
MixedModels v4.35.1 Release Notes
- The final parameter vector
optsum.finalis now reset in calls tounfit!. This has the secondary effect of correctly starting the fit forprfit!at the initial parameter vector instead of the final parameter vector of any previous optimization. #828
MixedModels v4.35.0 Release Notes
StatsAPI.cooksdistance(::LinearMixedModel)is now defined and exported. #825
MixedModels v4.34.1 Release Notes
- Allow v0.19.0 of
BSplineKit.jlto avoid warnings inbetaandnightlyversions of julia. #823
MixedModels v4.34.0 Release Notes
BlockedSparseis now immutable. #815
MixedModels v4.33.0 Release Notes
LikelihoodRatioTestnow extendsStatsAPI.HypothesisTestand provides a method forStatsAPI.pvalue. #814
MixedModels v4.32.0 Release Notes
- Added
lmmandglmmas convenience wrappers forfit(LinearMixedModel, ...)andfit(GeneralizedLinearMixedModel, ...)respectively #810
MixedModels v4.31.0 Release Notes
- Added aliases
settheta!andprofilesigmafor the functionssetθ!andprofileσrespectively
MixedModels v4.30.0 Release Notes
- Refactor calls to backend optimizer to make it easier to add and use different optimization backends.
The structure of
OptSummaryhas been accordingly expanded andprfit!has been updated to use this new structure. #802 - Make the
thinargument tofit!a no-op. It complicated several bits of logic without having any real performance benefit in the majority of cases. This argument has been replaced with afitlog::Bool=falsethat determines whether a log is kept.#802
MixedModels v4.29.1 Release Notes
- Populate
optsuminprfit!call. #801
MixedModels v4.29.0 Release Notes
- Testbed for experimental support for using PRIMA as an optimization backend introduced via the experimental
prfit!function. #799 - Julia compat bound raised to current 1.10, i.e. current LTS. #799
MixedModels v4.28.0 Release Notes
GeneralizedLinearMixedModelnow attempts to fall back to very constrained variance values when the default initial values result in a non positive semidefinite covariance matrix. #792
MixedModels v4.27.1 Release Notes
profilenow includes afinallyblock to restore the original model even if an error occurs before profiling is complete #795
MixedModels v4.27.0 Release Notes
saveoptsumandrestoreoptsum!now supportGeneralizedLinearMixedModels #791unfit!(::GeneralizedLinearMixedModel)(called internally byrefit!) now does a better job of fully resetting the model state #791
MixedModels v4.26.1 Release Notes
- lower and upper edges of profile confidence intervals for REML-fitted models are no longer flipped #785
MixedModels v4.26.0 Release Notes
issingularnow accepts comparison tolerances through the keyword argumentsatolandrtol. #783
MixedModels v4.25.4 Release Notes
- Added additional precompilation for rePCA. #749
MixedModels v4.25.3 Release Notes
- Fix a bug in the handling of rank deficiency in the
simulate[!]code. This has important correctness implications for bootstrapping models with rank-deficient fixed effects (as can happen in the case of partial crossing of the fixed effects / missing cells). #778
MixedModels v4.25.2 Release Notes
- Use
publickeyword so that users don't see unnecessary docstring warnings on 1.11+. #776 - Fix accidental export of
datasetanddatasetsand make thempublicinstead. #776
MixedModels v4.25.1 Release Notes
- Use more sophisticated checks on property names in
restoreoptsumto allow for optsums saved by pre-v4.25 versions to be used with this version and later. #775
MixedModels v4.25 Release Notes
- Add type notations in
pwrss(::LinearMixedModel)andlogdet(::LinearMixedModel)to enhance type inference. #773 - Take advantage of type parameter for
StatsAPI.weights(::LinearMixedModel{T}). #772 - Fix use of kwargs in
fit!((::LinearMixedModel): #772- user-specified
σis actually used, defaulting to existing value REMLdefaults to model's already specified REML value.
- user-specified
- Clean up code of keyword convenience constructor for
OptSummary. #772 - Refactor thresholding parameters for forcing near-zero parameter values into
OptSummary. #772
MixedModels v4.24.1 Release Notes
- Re-export accidentally dropped export
lrtest. #769
MixedModels v4.24.0 Release Notes
- Properties for
GeneralizedLinearMixedModelnow default to delegation to the internal weightedLinearMixedModelwhen that property is not explicitly handled byGeneralizedLinearMixedModel. Previously, properties were delegated on an explicit basis, which meant that they had to be added manually as use cases were discovered. The downside to the new approach is that it is now possible to access properties whose definition in the LMM case doesn't match the GLMM definition when the GLMM definition hasn't been explicitly been implemented. #767
MixedModels v4.23.1 Release Notes
- Fix for
simulate!when only the estimable coefficients for a rank-deficient model are provided. #756 - Improve handling of rank deficiency in GLMM. #756
- Fix display of GLMM bootstrap without a dispersion parameter. #756
MixedModels v4.23.0 Release Notes
- Support for rank deficiency in the parametric bootstrap. #755
MixedModels v4.22.5 Release Notes
- Use
muladdwhere possible to enable fused multiply-add (FMA) on architectures with hardware support. FMA will generally improve computational speed and gives more accurate rounding. #740 - Replace broadcasted lambda with explicit loop and use
one. This may result in a small performance improvement. #738
MixedModels v4.22.4 Release Notes
- Switch to explicit imports from all included packages (i.e. replace
using Foobyusing Foo: Foo, bar, baz) #748 - Reset parameter values before a
deepcopyin a test (doesn't change test result) #744
MixedModels v4.22.3 Release Notes
- Comment out calls to
@debug#733 - Update package versions in compat and change
Aqua.test_allargument name #733
MixedModels v4.22.0 Release Notes
- Support for equal-tail confidence intervals for
MixedModelBootstrap. #715 - Basic
showmethods forMixedModelBootstrapandMixedModelProfile. #715 - The
hide_progresskeyword argument toparametricbootstrapis now deprecated. Users should instead useprogress(which is consistent with e.g.fit). #717
MixedModels v4.21.0 Release Notes
- Auto apply
Grouping()to grouping variables that don't already have an explicit contrast. #652
MixedModels v4.20.0 Release Notes
- The
.tblproperty of aMixedModelBootstrapnow includes the correlation parameters for lower triangular elements of theλfield. #702
MixedModels v4.19.0 Release Notes
- New method
StatsAPI.coefnames(::ReMat)returns the coefficient names associated with each grouping factor. #709
MixedModels v4.18.0 Release Notes
- More user-friendly error messages when a formula contains variables not in the data. #707
MixedModels v4.17.0 Release Notes
- EXPERIMENTAL New kwarg
amalgamatecan be used to disable amalgation of random effects terms sharing a single grouping variable. Generally,amalgamate=falsewill result in a slower fit, but may improve convergence in some pathological cases. Note that this feature is experimental and changes to it are not considered breakings. #673 - More informative error messages when passing a
DistributionorLinktype instead of the desired instance. #698 - More informative error message on the intentional decision not to define methods for the coefficient of determination. #698
- EXPERIMENTAL Return
finitialwhen PIRLS drifts into a portion of the parameter space that yields a (numerically) invalid covariance matrix. This recovery strategy may be removed in a future release. #616
MixedModels v4.16.0 Release Notes
- Support for check tolerances in deserialization. #703
MixedModels v4.15.0 Release Notes
- Support for different optimization criteria during the bootstrap. #694
- Support for combining bootstrap results with
vcat. #694 - Support for saving and restoring bootstrap replicates with
savereplicatesandrestorereplicates. #694
MixedModels v4.14.0 Release Notes
- New function
profilefor computing likelihood profiles forLinearMixedModel. The resultantMixedModelProfilecan be then be used for computing confidence intervals withconfint. Note that this API is still somewhat experimental and as such the internal storage details ofMixedModelProfilemay change in a future release without being considered breaking. #639 - A
confint(::LinearMixedModel)method has been defined that returns Wald confidence intervals based on the z-statistic, i.e. treating the denominator degrees of freedom as infinite. #639
MixedModels v4.13.0 Release Notes
raneftablesreturns aNamedTuplewhere the names are the grouping factor names and the values are someTables.jl-compatible type. This type has been changed to aTablefromTypedTables.jl. #682
MixedModels v4.12.1 Release Notes
- Precompilation is now handled with
PrecompileToolsinstead ofSnoopPrecompile. #681 - An unnecessary explicit
Varargin an internal method has been removed. This removal eliminates a compiler warning about the deprecatedVarargpattern. #680
MixedModels v4.12.0 Release Notes
- The pirated method
Base.:/(a::AbstractTerm, b::AbstractTerm)is no longer defined. This does not impact the use of/as a nesting term in@formulawithin MixedModels, only the programmatic runtime construction of formula, e.g.term(:a) / term(:b). If you requireBase.:/, thenRegressionFormulae.jlprovides this method. (Avoiding method redefinition when usingRegressionFormulae.jlis the motivating reason for this change.) #677
MixedModels v4.11.0 Release Notes
raneftablesreturns aNamedTuplewhere the names are the grouping factor names and the values are someTables.jl-compatible type. Currently this type is aDictTablefromTypedTables.jl. #634
MixedModels v4.10.0 Release Notes
- Rank deficiency in prediction is now supported, both when the original model was fit to rank-deficient data and when the new data are rank deficient. The behavior is consistent but may be surprising when both old and new data are rank deficient. See the
predictdocstring for an example. #676 - Multithreading in
parametricbootstrapwithuse_threadsis now deprecated and a noop. With improvements in BLAS threading, multithreading at the Julia level did not help performance and sometimes hurt it. #674
MixedModels v4.9.0 Release Notes
- Support
StatsModels0.7, drop support forStatsModels0.6. #664 - Revise code in benchmarks to work with recent Julia and PkgBenchmark.jl #667
- Julia minimum compat version raised to 1.8 because of BSplineKit #665
MixedModels v4.8.2 Release Notes
- Use
SnoopPrecompilefor better precompilation performance. This can dramatically increase TTFX, especially on Julia 1.9. #663
MixedModels v4.8.1 Release Notes
- Don't fit a GLM internally during construction of GLMM when the fixed effects are empty (better compatibility with
dropcollinearkwarg in newer GLM.jl) #657
MixedModels v4.8.0 Release Notes
- Allow predicting from a single observation, as long as
Grouping()is used for the grouping variables. The simplified implementation ofGrouping()also removes several now unnecessaryStatsModelsmethods that should not have been called directly by the user. #653
MixedModels v4.7.3 Release Notes
- More informative error message for formulae lacking random effects #651
MixedModels v4.7.2 Release Notes
- Replace separate calls to
copyto!andscaleinflate!inupdateL!withcopyscaleinflate!#648
MixedModels v4.7.1 Release Notes
- Avoid repeating initial objective evaluation in
fit!method forLinearMixedModel - Ensure that the number of function evaluations from NLopt corresponds to
length(m.optsum.fitlog) whenisone(thin)`. #637
MixedModels v4.7.0 Release Notes
- Relax type restriction for filename in
saveoptsumandrestoreoptsum!. Users can now pass any type with an appropriateopenmethod, e.g.<:AbstractPath. #628
MixedModels v4.6.5 Release Notes
- Attempt recovery when the initial parameter values lead to an invalid covariance matrix by rescaling #615
- Return
finitialwhen the optimizer drifts into a portion of the parameter space that yields a (numerically) invalid covariance matrix #615
MixedModels v4.6.4 Release Notes
- Support transformed responses in
predict#614 - Simplify printing of BLAS configuration in tests. #597
MixedModels v4.6.3 Release Notes
- Add precompile statements to speed up first
LinearMixedModeland BernoulliGeneralizedLinearModelfit #608
MixedModels v4.6.2 Release Notes
- Efficiency improvements in
predict, both in memory and computation #604 - Changed the explanation of
predict's keyword argumentnew_re_levelsin a way that is clearer about the behavior when there are multiple grouping variables. #603 - Fix the default behavior of
new_re_levels=:missingto match the docstring. Previously, the default was:population, in disagreement with the docstring. #603
MixedModels v4.6.1 Release Notes
- Loosen type restriction on
shortestcovint(::MixedModelBootstrap)toshortestcovint(::MixedModelFitCollection). #598
MixedModels v4.6.0 Release Notes
- Experimental support for initializing
GeneralizedLinearMixedModelfits from a linear mixed model instead of a marginal (non-mixed) generalized linear model. #588
MixedModels v4.5.0 Release Notes
- Allow constructing a
GeneralizedLinearMixedModelwith constant response, but don't update theLmatrix nor initialize its deviance. This allows for the model to still be used for simulation where the response will be changed before fitting. #578 - Catch
PosDefExceptionduring the first optimization step and throw a more informativeArgumentErrorif the response is constant. #578
MixedModels v4.4.1 Release Notes
- Fix type parameterization in MixedModelsBootstrap to support models with a mixture of correlation structures (i.e.
zerocorrin some but not all RE terms) #577
MixedModels v4.4.0 Release Notes
- Add a constructor for the abstract type
MixedModelthat delegates toLinearMixedModelorGeneralizedLinearMixedModel. #572 - Compat for Arrow.jl 2.0 #573
MixedModels v4.3.0 Release Notes
- Add support for storing bootstrap results with lower precision #566
- Improved support for zerocorr models in the bootstrap #570
MixedModels v4.2.0 Release Notes
- Add support for zerocorr models to the bootstrap #561
- Add a
Base.length(::MixedModelsFitCollection)method #561
MixedModels v4.1.0 Release Notes
- Add support for specifying a fixed value of
σ, the residual standard deviation, inLinearMixedModel.fittakes a keyword-argumentσ.fit!does not exposeσ, butσcan be changed after model construction by settingoptsum.sigma. #551 - Add support for logging the non-linear optimizer's steps via a
thinkeyword-argument forfitandfit!. The default behavior is 'maximal' thinning, such that only the initial and final values are stored.OptSummaryhas a new fieldfitlogthat contains the aforementioned log as a vector of tuples of parameter and objective values.#552 - Faster version of
leverageforLinearMixedModelallowing for experimentation using the sum of the leverage values as an empirical degrees of freedom for the model. #553, see also #535 - Optimized version of
condVarwith an additional method for extracting only the conditional variances associated with a single grouping factor. #545
MixedModels v4.0.0 Release Notes
- Drop dependency on
BlockArraysand use aVectorof matrices to represent the lower triangle in packed, row-major order. The non-exported functionblockcan be used for finding the correspondingVectorindex of a block. #456 simulate!now marks the modified model as being unfitted.- Deprecated and unused
namedargument removed fromranef#469 - Introduce an abstract type for collections of fits
MixedModelFitCollection, and makeMixedModelBootstrapa subtype of it. Accordingly, rename thebstrfield tofits. #465 - The response (dependent variable) is now stored internally as part of the
the renamed
FeMatfield, now calledXymat#464 - Replace internal
statscholeskyandstatsqrfunctions for determining the rank ofXbystatsrank. #479 - Artifacts are now loaded lazily: the test data loaded via
datasetis downloaded on first use #486 ReMatandPCAnow support covariance factors (λ) that areLowerTriangularorDiagonal. This representation is both more memory efficient and enables additional computational optimizations for particular covariance structures.#489GeneralizedLinearMixedModelnow includes the response distribution as one of its type parameters. This will allow dispatching on the model family and may allow additional specialization in the future.#490saveoptsumandrestoreoptsum!provide for saving and restoring theoptsumfield of aLinearMixedModelas a JSON file, allowing for recreating a model fit that may take a long time for parameter optimization. #506- Verbose output now uses
ProgressMeter, which gives useful information about the timing of each iteration and does not flood stdio. Theverboseargument has been renamedprogressand the default changed totrue. #539 - Support for Julia < 1.6 has been dropped. #539
- New
simulate,simulate!andpredictmethods for simulating and predicting responses to new data. #427
Run-time formula syntax
- It is now possible to construct
RandomEffectsTerms at run-time fromTerms (methods forBase.|(::AbstractTerm, ::AbstractTerm)added) #470 RandomEffectsTerms can have left- and right-hand side terms that are "non-concrete", andapply_schema(::RandomEffectsTerm, ...)works more like other StatsModels.jlAbstractTerms #470- Methods for
Base./(::AbstractTerm, ::AbstractTerm)are added, allowing nesting syntax to be used withTerms at run-time as well #470
MixedModels v3.9.0 Release Notes
MixedModels v3.8.0 Release Notes
- Add support for NLopt
maxtimeoption toOptSummary#524
MixedModels v3.7.1 Release Notes
- Add support for
condVarfor models with a BlockedSparse structure #523
MixedModels v3.7.0 Release Notes
- Add
condVarandcondVartablesfor computing the conditional variance on the random effects #492 - Bugfix: store the correct lower bound for GLMM bootstrap, when the original model was fit with
fast=false#518
MixedModels v3.6.0 Release Notes
- Add
likelihoodratiotestmethod for comparing non-mixed (generalized) linear models to (generalized) linear mixed models #508.
MixedModels v3.5.2 Release Notes
- Explicitly deprecate vestigial
namedkwarg inranefin favor ofraneftables#507.
MixedModels v3.5.1 Release Notes
- Fix MIME show methods for models with random-effects not corresponding to a fixed effect #501.
MixedModels v3.5.0 Release Notes
- The Progressbar for
parametricbootstrapandreplicateis not displayed when in a non-interactive (i.e. logging) context. The progressbar can also be manually disabled withhide_progress=true.#495 - Threading in
parametricbootstrapnow uses aSpinLockinstead of aReentrantLock. This improves performance, but care should be taken when nesting spin locks. #493 - Single-threaded use of
paramatricbootstrapnow works when nested within a larger multi-threaded context (e.g.Threads.@threads for). (Multi-threadedparametricbootstrapworked and continues to work within a nested threading context.) #493
MixedModels v3.4.1 Release Notes
- The value of a named
offsetargument toGeneralizedLinearMixedModel, which previously was ignored #453, is now handled properly. #482
MixedModels v3.4.0 Release Notes
shortestcovintmethod forMixedModelsBootstrap#484
MixedModels v3.3.0 Release Notes
- HTML and LaTeX
showmethods forMixedModel,BlockDescription,LikelihoodRatioTest,OptSummaryandVarCorr. Note that the interface for these is not yet completely stable. In particular, rounding behavior may change. #480
MixedModels v3.2.0 Release Notes
- Markdown
showmethods forMixedModel,BlockDescription,LikelihoodRatioTest,OptSummaryandVarCorr. Note that the interface for these is not yet completely stable. In particular, rounding behavior may change. White-space padding within Markdown may also change, although this should not impact rendering of the Markdown into HTML or LaTeX. The Markdown presentation of aMixedModelis much more compact than the REPL summary. If the REPL-style presentation is desired, then this can be assembled from the Markdown output fromVarCorrandcoeftable#474.
MixedModels v3.1.4 Release Notes
- [experimental] Additional convenience constructors for
LinearMixedModel#449
MixedModels v3.1.3 Release Notes
- Compatibility updates
rankUpdate!method forUniformBlockDiagonalbyDense#447
MixedModels v3.1.2 Release Notes
- Compatibility updates
rankUpdate!method forDiagonalbyDense#446- use eager (install-time) downloading of
TestDataartifact to avoid compatibility issues withLazyArtifactsin Julia 1.6 #444
MixedModels v3.1.1 Release Notes
- Compatibility updates
- Better
loglikelihood(::GeneralizedLinearMixedModel)which will work for models with dispersion parameters #419. Note that fitting such models is still problematic.
MixedModels v3.1 Release Notes
simulate!and thusparametricbootstrapmethods forGeneralizedLinearMixedModel#418.- Documented inconsistent behavior in
sdestandvarestGeneralizedLinearMixedModel#418.
MixedModels v3.0.2 Release Notes
- Compatibility updates
- Minor updates for formatting in various
showmethod forVarCorr.
MixedModels v3.0 Release Notes
New formula features
- Nested grouping factors can be written using the
/notation, as in@formula(strength ~ 1 + (1|batch/cask))as a model for thepastesdataset. - The
zerocorrfunction converts a vector-valued random effects term from correlated random effects to uncorrelated. (See theconstructorssection of the docs.) - The
fulldummyfunction can be applied to a factor to obtain a redundant encoding of a categorical factor as a complete set of indicators plus an intercept. This is only practical on the left-hand side of a random-effects term. (See theconstructorssection of the docs.) Grouping()can be used as a contrast for a categorical array in thecontrastsdictionary. Doing so bypasses creation of contrast matrix, which, when the number of levels is large, may cause memory overflow. As the name implies, this is used for grouping factors. #339
Rank deficiency
- Checks for rank deficiency in the model matrix for the fixed-effects parameters have been improved.
- The distinction between
coef, which always returns a full set of coefficients in the original order, andfixef, which returns possibly permuted and non-redundant coefficients, has been made consistent across models.
Parametric bootstrap
- The
parametricbootstrapfunction and the struct it produces have been extensively reworked for speed and convenience. See thebootstrapsection of the docs.
Principal components
- The PCA property for
MixedModeltypes provides principal components from the correlation of the random-effects distribution (as opposed to the covariance) - Factor loadings are included in the
printmethod for thePCAstruct.
ReMat and FeMat types
- An
AbstractReMattype has now been introduced to support #380 work on constrained random-effects structures and random-effects structures appropriate for applications in GLM-based deconvolution as used in fMRI and EEG (see e.g. unfold.jl.) - Similarly, a constructor for
FeMat{::SparseMatrixCSC,S}has been introduced #309. Currently, this constructor assumes a full-rank matrix, but the work on rank deficiency may be extended to this constructor as well. - Analogous to
AbstractReMat, anAbstractReTerm <: AbstractTermtype has been introduced #395. Terms created withzerocorrare of typeZeroCorr <: AbstractReTerm.
Availability of test data sets
- Several data sets from the literature were previously saved in
.rdaformat in thetestdirectory and read using theRDatapackage. These are now available in anArtifactin theArrowformat #382. - Call
MixedModels.datasets()to get a listing of the names of available datasets - To load, e.g. the
dyestuffdata, useMixedModels.dataset(:dyestuff) - Data sets are loaded using
Arrow.Tablewhich returns a column table. Wrap the call inDataFrameif you prefer aDataFrame. - Data sets are cached and multiple calls to
MixedModels.dataset()for the same data set have very low overhead after the first call.
Replacement capabilities
describeblockshas been dropped in favor of theBlockDescriptiontype- The
namedargument toranefhas been dropped in favor ofraneftables