I think CustomCovarianceType is a really interesting thing. Users can specify methods to construct covariance matrix, G and R parts separately. Read more in docsâŚ
Hello! MixedModels.jl much faster, and consume less memory. If Mixed Models.jl applicable for your task it will be better to use MixedModels.jl If you need Satterthwaite ddf approximation, analysis with repeated measurements, or application of some nontrivial covariance structures - Metida.jl solve these problems. I didnât found MixedEffects.jl maybe you mean MixedModels.jl, anyway if I missed this package, please guide me to it.
Better performance (twice faster in some tasks), dof_satter method for a multidimensional case, minor changes, a bugfix for LMM show, documentation, more stable tests.
The custom covariance structure was redesigned. Now it can be easily implemented, just add one struct and 2-3 methods. Doc here. Better performance with multithreading. Minor changes in output.
Hi! I think this is not âhard-coded limitationsâ. When the model is constructed full Z matrix is used for this. This means that if you have 200k observations and 50k subjects - Z matrix will be 200x50k (10 000 mln numbers) and this matrix will be out of memory. I think this problem can be solved in some cases. So in StatsModels there is no easy way to get a sparse model matrix for categorical terms with many levels.
Ok, so there isnât any hard coded limits⌠I think how it is written now isnât too clear⌠ir really seems like the one stated are fixed problem limite, like in some commercial software⌠.
You could write instead something like âa standard pc with xxx GB of RAM can efficiently process problems up to âŚâ
I think I should add some clarification in docs. Also in some cases, it is very difficult to predict how many observations can be handled, because, for example, if the model includes two random factors by 100k levels it will cost twice memory as one. So it is not only a data-dependent problem. The solution is to make a sparse Z matrix, for this own implementation of StatsModels methods should be done - and this is part of work on future.
@sylvaticus If you donât need structured R-side covariance, then MixedModels.jl already uses optimized sparse methods for Z matrices. We donât have support for many restricted G-side (random effects) covariance structures out of the box but theyâre not too hard to implement. The âDIAGâ case here corresponds to zerocorr in MixedModel; the âSIâ case here could be implemented without too much difficulty. One of my TODOs is to document how to create new types for restricted G-side covariance.