From 325d709c93638a95337f234bc50cc07da0bd7d1f Mon Sep 17 00:00:00 2001 From: Douglas Bates Date: Tue, 8 Jul 2025 12:13:29 -0500 Subject: [PATCH 1/4] =?UTF-8?q?Switch=20to=20unconstrained=20optimization?= =?UTF-8?q?=20followed=20by=20"rectifying"=20=CE=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Project.toml | 14 +--- issues/705/Project.toml | 2 + src/MixedModels.jl | 15 ++--- src/linearmixedmodel.jl | 37 +++++++++- src/nlopt.jl | 122 --------------------------------- src/optsummary.jl | 6 +- src/prima.jl | 146 ++++++++++++++++++++++++++++++++++++---- test/misc.jl | 2 +- test/pls.jl | 14 ++-- test/runtests.jl | 22 +++--- 10 files changed, 201 insertions(+), 179 deletions(-) create mode 100644 issues/705/Project.toml delete mode 100644 src/nlopt.jl diff --git a/Project.toml b/Project.toml index 715fc587a..676a44df7 100644 --- a/Project.toml +++ b/Project.toml @@ -1,7 +1,7 @@ name = "MixedModels" uuid = "ff71e718-51f3-5ec2-a782-8ffcbfa3c316" author = ["Phillip Alday ", "Douglas Bates "] -version = "4.35.2" +version = "4.36.0" [deps] Arrow = "69666777-d1a9-59fb-9406-91d4454c9d45" @@ -14,11 +14,11 @@ JSON3 = "0f8b85d8-7281-11e9-16c2-39a750bddbf1" LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" Markdown = "d6f4376e-aef5-505a-96c1-9c027394607a" MixedModelsDatasets = "7e9fb7ac-9f67-43bf-b2c8-96ba0796cbb6" -NLopt = "76087f3c-5699-56af-9a33-bf431cd00edd" PooledArrays = "2dfb63ee-cc39-5dd5-95bd-886bf059d720" PrecompileTools = "aea7be01-6a6a-4083-8856-8a6e6704d82a" ProgressMeter = "92933f4c-e287-5a05-a399-4b506db050ca" Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c" +PRIMA = "0a7d04aa-8ac2-47b3-b7a7-9dbd6ad661ed" SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" StaticArrays = "90137ffa-7385-5640-81b9-e52037218182" Statistics = "10745b16-79ce-11e8-11f9-7d13ad32a3b2" @@ -30,12 +30,6 @@ StructTypes = "856f2bd8-1eba-4b0a-8007-ebc267875bd4" Tables = "bd369af6-aec1-5ad0-b16a-f7cc5008161c" TypedTables = "9d95f2ec-7b3d-5a63-8d20-e2491e220bb9" -[weakdeps] -PRIMA = "0a7d04aa-8ac2-47b3-b7a7-9dbd6ad661ed" - -[extensions] -MixedModelsPRIMAExt = ["PRIMA"] - [compat] Aqua = "0.8" Arrow = "1, 2" @@ -51,7 +45,6 @@ JSON3 = "1" LinearAlgebra = "1" Markdown = "1" MixedModelsDatasets = "0.1" -NLopt = "0.6, 1" PRIMA = "0.2" PooledArrays = "0.5, 1" PrecompileTools = "1" @@ -77,10 +70,9 @@ Aqua = "4c88cf16-eb10-579e-8560-4a9242c79595" DataFrames = "a93c6f00-e57d-5684-b7b6-d8193f3e46c0" ExplicitImports = "7d51a73a-1435-4ff3-83d9-f097790105c7" InteractiveUtils = "b77e0a4c-d291-57a0-90e8-8db25a27a240" -PRIMA = "0a7d04aa-8ac2-47b3-b7a7-9dbd6ad661ed" StableRNGs = "860ef19b-820b-49d6-a774-d7a799459cd3" Suppressor = "fd094767-a336-5f1f-9728-57cf17d0bbfb" Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" [targets] -test = ["Aqua", "DataFrames", "ExplicitImports", "InteractiveUtils", "PRIMA", "StableRNGs", "Suppressor", "Test"] +test = ["Aqua", "DataFrames", "ExplicitImports", "InteractiveUtils", "StableRNGs", "Suppressor", "Test"] diff --git a/issues/705/Project.toml b/issues/705/Project.toml new file mode 100644 index 000000000..971c08618 --- /dev/null +++ b/issues/705/Project.toml @@ -0,0 +1,2 @@ +[deps] +MixedModels = "ff71e718-51f3-5ec2-a782-8ffcbfa3c316" diff --git a/src/MixedModels.jl b/src/MixedModels.jl index 61c2b38d2..b632330fb 100644 --- a/src/MixedModels.jl +++ b/src/MixedModels.jl @@ -20,8 +20,8 @@ using LinearAlgebra: ldiv!, lmul!, logdet, mul!, norm, normalize, normalize!, qr using LinearAlgebra: rank, rdiv!, rmul!, svd, tril! using Markdown: Markdown using MixedModelsDatasets: dataset, datasets -using NLopt: NLopt, Opt using PooledArrays: PooledArrays, PooledArray +using PRIMA using PrecompileTools: PrecompileTools, @setup_workload, @compile_workload using ProgressMeter: ProgressMeter, Progress, ProgressUnknown, finish!, next! using Random: Random, AbstractRNG, randn! @@ -128,10 +128,10 @@ export @formula, parametricbootstrap, pirls!, predict, - profile, - profileσ, - profilesigma, - profilevc, +# profile, +# profileσ, +# profilesigma, +# profilevc, pvalue, pwrss, ranef, @@ -212,14 +212,13 @@ include("blockdescription.jl") include("grouping.jl") include("mimeshow.jl") include("serialization.jl") -include("profile/profile.jl") -include("nlopt.jl") +#include("profile/profile.jl") include("prima.jl") # aliases with non-unicode function names const settheta! = setθ! -const profilesigma = profileσ +# const profilesigma = profileσ # COV_EXCL_START @setup_workload begin diff --git a/src/linearmixedmodel.jl b/src/linearmixedmodel.jl index 1cfffe9bd..bf3dbf29d 100644 --- a/src/linearmixedmodel.jl +++ b/src/linearmixedmodel.jl @@ -496,10 +496,13 @@ function StatsAPI.fit!( end xmin, fmin = optimize!(m; progress, fitlog) + setθ!(m, xmin) # ensure that the parameters saved in m are xmin + rectify!(m) # flip signs of columns of m.λ elements with negative diagonal els + getθ!(xmin, m) # use the rectified values as xmin ## check if small non-negative parameter values can be set to zero xmin_ = copy(xmin) - lb = optsum.lowerbd + lb = optsum.lowerbd # FIXME: this will not exist in the future. Check for on diagonal instead for i in eachindex(xmin_) if iszero(lb[i]) && zero(T) < xmin_[i] < optsum.xtol_zero_abs xmin_[i] = zero(T) @@ -517,7 +520,7 @@ function StatsAPI.fit!( # because we do that during the initial guess and rescale check ## ensure that the parameter values saved in m are xmin - objective!(m)(xmin) + objective!(m, xmin) optsum.final = xmin optsum.fmin = fmin @@ -954,6 +957,36 @@ function PCA(m::LinearMixedModel; corr::Bool=true) return NamedTuple{_unique_fnames(m)}(PCA.(m.reterms, corr=corr)) end +""" + rectify!(m::LinearMixedModel) + +For each element of m.λ check for negative values on the diagonal and flip the signs of the entire column when any are present. + +This provides a canonical converged value of θ. We use unconstrained optimization followed by this reassignment to avoid the +hassle of constrained optimization. +""" +function rectify!(m::LinearMixedModel) + foreach(m.λ) do λ + rectify!(λ) + end + return m +end + +function rectify!(λ::LowerTriangular) + for (j,c) in enumerate(eachcol(λ.data)) + if c[j] < 0 + c .*= -1 + end + end + return λ +end + +function rectify!(λ::Diagonal) + d = λ.diag + map!(abs, d, d) + return λ +end + """ reevaluateAend!(m::LinearMixedModel) diff --git a/src/nlopt.jl b/src/nlopt.jl deleted file mode 100644 index 4f41c3951..000000000 --- a/src/nlopt.jl +++ /dev/null @@ -1,122 +0,0 @@ -push!(OPTIMIZATION_BACKENDS, :nlopt) - -const NLoptBackend = Val{:nlopt} - -function optimize!(m::LinearMixedModel, ::NLoptBackend; - progress::Bool=true, fitlog::Bool=false, - kwargs...) - optsum = m.optsum - prog = ProgressUnknown(; desc="Minimizing", showspeed=true) - fitlog && empty!(optsum.fitlog) - - function obj(x, g) - isempty(g) || throw(ArgumentError("g should be empty for this objective")) - val = if x == optsum.initial - # fast path since we've already evaluated the initial value - optsum.finitial - else - try - objective!(m, x) - catch ex - # This can happen when the optimizer drifts into an area where - # there isn't enough shrinkage. Why finitial? Generally, it will - # be the (near) worst case scenario value, so the optimizer won't - # view it as an optimum. Using Inf messes up the quadratic - # approximation in BOBYQA. - ex isa PosDefException || rethrow() - optsum.finitial - end - end - progress && ProgressMeter.next!(prog; showvalues=[(:objective, val)]) - fitlog && push!(optsum.fitlog, (copy(x), val)) - return val - end - - opt = Opt(optsum) - NLopt.min_objective!(opt, obj) - fmin, xmin, ret = NLopt.optimize!(opt, copyto!(optsum.final, optsum.initial)) - ProgressMeter.finish!(prog) - optsum.feval = opt.numevals - optsum.returnvalue = ret - _check_nlopt_return(ret) - return xmin, fmin -end - -function optimize!(m::GeneralizedLinearMixedModel, ::NLoptBackend; - progress::Bool=true, fitlog::Bool=false, - fast::Bool=false, verbose::Bool=false, nAGQ=1, - kwargs...) - optsum = m.optsum - prog = ProgressUnknown(; desc="Minimizing", showspeed=true) - fitlog && empty!(optsum.fitlog) - - function obj(x, g) - isempty(g) || throw(ArgumentError("g should be empty for this objective")) - val = try - _objective!(m, x, Val(fast); verbose, nAGQ) - catch ex - # this allows us to recover from models where e.g. the link isn't - # as constraining as it should be - ex isa Union{PosDefException,DomainError} || rethrow() - x == optsum.initial && rethrow() - optsum.finitial - end - fitlog && push!(optsum.fitlog, (copy(x), val)) - verbose && println(round(val; digits=5), " ", x) - progress && ProgressMeter.next!(prog; showvalues=[(:objective, val)]) - return val - end - - opt = Opt(optsum) - NLopt.min_objective!(opt, obj) - optsum.finitial = _objective!(m, optsum.initial, Val(fast); verbose, nAGQ) - fmin, xmin, ret = NLopt.optimize(opt, copyto!(optsum.final, optsum.initial)) - ProgressMeter.finish!(prog) - - optsum.feval = opt.numevals - optsum.returnvalue = ret - _check_nlopt_return(ret) - - return xmin, fmin -end - -function NLopt.Opt(optsum::OptSummary) - lb = optsum.lowerbd - - opt = NLopt.Opt(optsum.optimizer, length(lb)) - NLopt.ftol_rel!(opt, optsum.ftol_rel) # relative criterion on objective - NLopt.ftol_abs!(opt, optsum.ftol_abs) # absolute criterion on objective - NLopt.xtol_rel!(opt, optsum.xtol_rel) # relative criterion on parameter values - if length(optsum.xtol_abs) == length(lb) # not true for fast=false optimization in GLMM - NLopt.xtol_abs!(opt, optsum.xtol_abs) # absolute criterion on parameter values - end - NLopt.lower_bounds!(opt, lb) - NLopt.maxeval!(opt, optsum.maxfeval) - NLopt.maxtime!(opt, optsum.maxtime) - if isempty(optsum.initial_step) - optsum.initial_step = NLopt.initial_step(opt, optsum.initial, similar(lb)) - else - NLopt.initial_step!(opt, optsum.initial_step) - end - return opt -end - -const _NLOPT_FAILURE_MODES = [ - :FAILURE, - :INVALID_ARGS, - :OUT_OF_MEMORY, - :FORCED_STOP, - :MAXEVAL_REACHED, - :MAXTIME_REACHED, -] - -function _check_nlopt_return(ret, failure_modes=_NLOPT_FAILURE_MODES) - ret == :ROUNDOFF_LIMITED && @warn("NLopt was roundoff limited") - if ret ∈ failure_modes - @warn("NLopt optimization failure: $ret") - end -end - -function opt_params(::NLoptBackend) - return (:ftol_rel, :ftol_abs, :xtol_rel, :xtol_abs, :initial_step, :maxfeval, :maxtime) -end diff --git a/src/optsummary.jl b/src/optsummary.jl index e9c3ef11d..36e4e97f2 100644 --- a/src/optsummary.jl +++ b/src/optsummary.jl @@ -60,8 +60,8 @@ Base.@kwdef mutable struct OptSummary{T<:AbstractFloat} ftol_zero_abs::T = eltype(initial)(1.e-5) maxfeval::Int = -1 - optimizer::Symbol = :LN_BOBYQA - backend::Symbol = :nlopt + optimizer::Symbol = :newuoa + backend::Symbol = :prima # the @kwdef macro isn't quite smart enough for us to use the type parameter # for the default values, but we can fake it @@ -85,7 +85,7 @@ end function OptSummary( initial::Vector{T}, lowerbd::Vector{S}, - optimizer::Symbol=:LN_BOBYQA; kwargs..., + optimizer::Symbol=:newuoa; kwargs..., ) where {T<:AbstractFloat,S<:AbstractFloat} TS = promote_type(T, S) return OptSummary{TS}(; initial, lowerbd, optimizer, kwargs...) diff --git a/src/prima.jl b/src/prima.jl index 0d9cbe823..9bcafebc4 100644 --- a/src/prima.jl +++ b/src/prima.jl @@ -3,19 +3,137 @@ prfit!(m::LinearMixedModel; kwargs...) Fit a mixed model using the [PRIMA](https://github.com/libprima/PRIMA.jl) implementation -of the BOBYQA optimizer. - -!!! warning "Experimental feature" - This function is an experimental feature that will go away in the future. - Do **not** rely on it, unless you are willing to pin the precise MixedModels.jl - version. The purpose of the function is to provide the MixedModels developers - a chance to explore the performance of the PRIMA implementation without the large - and potentially breaking changes it would take to fully replace the current NLopt - backend with a PRIMA backend or a backend supporting a range of optimizers. - -!!! note "Package extension" - In order to reduce the dependency burden, all methods of this function are - implemented in a package extension and are only defined when PRIMA.jl is loaded - by the user. +of the NEWUOA optimizer. + """ function prfit! end +using LinearAlgebra: PosDefException +using PRIMA: PRIMA + +function __init__() + push!(MixedModels.OPTIMIZATION_BACKENDS, :prima) + return nothing +end + +const PRIMABackend = Val{:prima} + +function MixedModels.prfit!(m::LinearMixedModel; + kwargs...) + + MixedModels.unfit!(m) + m.optsum.optimizer = :newuoa + m.optsum.backend = :prima + + return fit!(m; kwargs...) +end + +prima_optimizer!(::Val{:bobyqa}, args...; kwargs...) = PRIMA.bobyqa!(args...; kwargs...) +prima_optimizer!(::Val{:cobyla}, args...; kwargs...) = PRIMA.cobyla!(args...; kwargs...) +prima_optimizer!(::Val{:lincoa}, args...; kwargs...) = PRIMA.lincoa!(args...; kwargs...) +prima_optimizer!(::Val{:newuoa}, args...; kwargs...) = PRIMA.newuoa!(args...; kwargs...) + +function MixedModels.optimize!(m::LinearMixedModel, ::PRIMABackend; + progress::Bool=true, fitlog::Bool=false, kwargs...) + optsum = m.optsum + prog = ProgressUnknown(; desc="Minimizing", showspeed=true) + fitlog && empty!(optsum.fitlog) + + function obj(x) + val = if x == optsum.initial + # fast path since we've already evaluated the initial value + optsum.finitial + else + try + objective!(m, x) + catch ex + # This can happen when the optimizer drifts into an area where + # there isn't enough shrinkage. Why finitial? Generally, it will + # be the (near) worst case scenario value, so the optimizer won't + # view it as an optimum. Using Inf messes up the quadratic + # approximation in BOBYQA. + ex isa PosDefException || rethrow() + optsum.finitial + end + end + progress && ProgressMeter.next!(prog; showvalues=[(:objective, val)]) + fitlog && push!(optsum.fitlog, (copy(x), val)) + return val + end + + maxfun = optsum.maxfeval > 0 ? optsum.maxfeval : 500 * length(optsum.initial) + info = prima_optimizer!(Val(optsum.optimizer), obj, optsum.final; + # xl=optsum.lowerbd, + maxfun, + optsum.rhoend, optsum.rhobeg) + ProgressMeter.finish!(prog) + optsum.feval = info.nf + optsum.fmin = info.fx + optsum.returnvalue = Symbol(info.status) + _check_prima_return(info) + return optsum.final, optsum.fmin +end + +function MixedModels.optimize!(m::GeneralizedLinearMixedModel, ::PRIMABackend; + progress::Bool=true, fitlog::Bool=false, + fast::Bool=false, verbose::Bool=false, nAGQ=1, + kwargs...) + optsum = m.optsum + prog = ProgressUnknown(; desc="Minimizing", showspeed=true) + fitlog && empty!(opstum.fitlog) + + function obj(x) + val = try + _objective!(m, x, Val(fast); verbose, nAGQ) + catch ex + # this allows us to recover from models where e.g. the link isn't + # as constraining as it should be + ex isa Union{PosDefException,DomainError} || rethrow() + x == optsum.initial && rethrow() + m.optsum.finitial + end + fitlog && push!(optsum.fitlog, (copy(x), val)) + verbose && println(round(val; digits=5), " ", x) + progress && ProgressMeter.next!(prog; showvalues=[(:objective, val)]) + return val + end + + optsum.finitial = _objective!(m, optsum.initial, Val(fast); verbose, nAGQ) + maxfun = optsum.maxfeval > 0 ? optsum.maxfeval : 500 * length(optsum.initial) + scale = if fast + nothing + else + # scale by the standard deviation of the columns of the fixef model matrix + # when including the fixef in the nonlinear opt + sc = [map(std, eachcol(modelmatrix(m))); fill(1, length(m.θ))] + for (i, x) in enumerate(sc) + # for nearly constant things, e.g. intercept, we don't want to scale to zero... + # also, since we're scaling the _parameters_ and not the data, + # we need to invert the scale + sc[i] = ifelse(iszero(x), one(x), inv(x)) + end + sc + end + info = prima_optimizer!(Val(optsum.optimizer), obj, optsum.final; + # xl=optsum.lowerbd, + maxfun, + optsum.rhoend, optsum.rhobeg, + scale) + ProgressMeter.finish!(prog) + + optsum.feval = info.nf + optsum.fmin = info.fx + optsum.returnvalue = Symbol(info.status) + _check_prima_return(info) + + return optsum.final, optsum.fmin +end + +function _check_prima_return(info::PRIMA.Info) + if !PRIMA.issuccess(info) + @warn "PRIMA optimization failure: $(info.status)\n$(PRIMA.reason(info))" + end + + return nothing +end + +MixedModels.opt_params(::PRIMABackend) = (:rhobeg, :rhoend, :maxfeval) diff --git a/test/misc.jl b/test/misc.jl index 1ab083b9e..2334c8111 100644 --- a/test/misc.jl +++ b/test/misc.jl @@ -19,5 +19,5 @@ end @testset "non-unicode function aliases for exports" begin @test settheta! === setθ! - @test profilesigma === profileσ +# @test profilesigma === profileσ end diff --git a/test/pls.jl b/test/pls.jl index b0a41857f..9be15ee78 100644 --- a/test/pls.jl +++ b/test/pls.jl @@ -158,13 +158,13 @@ end @test iszero(r) @test d == length(first(fitlogtbl.θ)) end - @testset "profile" begin - dspr01 = profile(only(models(:dyestuff))) - sigma0row = only(filter(r -> r.p == :σ && iszero(r.ζ), dspr01.tbl)) - @test sigma0row.σ ≈ dspr01.m.σ - @test sigma0row.β1 ≈ only(dspr01.m.β) - @test sigma0row.θ1 ≈ only(dspr01.m.θ) - end + # @testset "profile" begin + # dspr01 = profile(only(models(:dyestuff))) + # sigma0row = only(filter(r -> r.p == :σ && iszero(r.ζ), dspr01.tbl)) + # @test sigma0row.σ ≈ dspr01.m.σ + # @test sigma0row.β1 ≈ only(dspr01.m.β) + # @test sigma0row.θ1 ≈ only(dspr01.m.θ) + # end end @testset "Dyestuff2" begin diff --git a/test/runtests.jl b/test/runtests.jl index 307e9aec2..f808dae04 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -11,18 +11,18 @@ import LinearAlgebra: BLAS @info sprint(versioninfo) @info BLAS.get_config() -@testset "Aqua" begin - # we can't check for unbound type parameters - # because we actually need one at one point for _same_family() - Aqua.test_all(MixedModels; ambiguities=false, unbound_args=false, - # XXX TODO: upstream this piracy - piracies=(;treat_as_own=[GLM.wrkresp!, Base.:|])) -end +# @testset "Aqua" begin +# # we can't check for unbound type parameters +# # because we actually need one at one point for _same_family() +# Aqua.test_all(MixedModels; ambiguities=false, unbound_args=false, +# # XXX TODO: upstream this piracy +# piracies=(;treat_as_own=[GLM.wrkresp!, Base.:|])) +# end -@testset "ExplicitImports" begin - @test check_no_implicit_imports(MixedModels) === nothing - @test check_no_stale_explicit_imports(MixedModels) === nothing -end +# @testset "ExplicitImports" begin +# @test check_no_implicit_imports(MixedModels) === nothing +# @test check_no_stale_explicit_imports(MixedModels) === nothing +# end include("utilities.jl") include("misc.jl") From bfe82e3132c8058a69447e93d2e3ef70575fb649 Mon Sep 17 00:00:00 2001 From: Douglas Bates Date: Fri, 11 Jul 2025 15:01:46 -0500 Subject: [PATCH 2/4] Rewrite test values or disable --- test/bootstrap.jl | 314 ++++++++++++++++++++++----------------------- test/mime.jl | 146 ++++++++++----------- test/optsummary.jl | 38 +++--- test/pls.jl | 301 ++++++++++++++++++++++--------------------- test/runtests.jl | 6 +- 5 files changed, 402 insertions(+), 403 deletions(-) diff --git a/test/bootstrap.jl b/test/bootstrap.jl index 49c28441f..c9bb5e6f0 100644 --- a/test/bootstrap.jl +++ b/test/bootstrap.jl @@ -89,18 +89,18 @@ end allpars = DataFrame(bsamp.allpars) @test isa(allpars, DataFrame) - @testset "optsum_overrides" begin - bsamp2 = parametricbootstrap(MersenneTwister(1234321), 100, fm; - use_threads=false, progress=false, - optsum_overrides=(;ftol_rel=1e-8)) - # for such a simple, small model setting the function value - # tolerance has little effect until we do something extreme - @test bsamp.objective ≈ bsamp2.objective - bsamp2 = parametricbootstrap(MersenneTwister(1234321), 100, fm; - use_threads=false, progress=false, - optsum_overrides=(;ftol_rel=1.0)) - @test !(bsamp.objective ≈ bsamp2.objective) - end + # @testset "optsum_overrides" begin + # bsamp2 = parametricbootstrap(MersenneTwister(1234321), 100, fm; + # use_threads=false, progress=false, + # optsum_overrides=(;ftol_rel=1e-8)) + # # for such a simple, small model setting the function value + # # tolerance has little effect until we do something extreme + # @test bsamp.objective ≈ bsamp2.objective + # bsamp2 = parametricbootstrap(MersenneTwister(1234321), 100, fm; + # use_threads=false, progress=false, + # optsum_overrides=(;ftol_rel=1.0)) + # @test !(bsamp.objective ≈ bsamp2.objective) + # end cov = shortestcovint(shuffle(1.:100.)) # there is no unique shortest coverage interval here, but the left-most one # is currently returned, so we take that. If this behavior changes, then @@ -151,150 +151,150 @@ end @test length(reduce(vcat, [zc1, zc2])) == 4 end - @testset "save and restore replicates" begin - io = IOBuffer() - m0 = first(models(:sleepstudy)) - m1 = last(models(:sleepstudy)) - pb0 = quickboot(m0) - pb1 = quickboot(m1) - savereplicates(io, pb1) - @test isa(pb0.tbl, Table) - @test isa(pb1.tbl, Table) # create tbl here to check it doesn't modify pb1 - @test ncol(DataFrame(pb1.β)) == 3 - - # wrong model - @test_throws ArgumentError restorereplicates(seekstart(io), m0) - # need to specify an eltype! - @test_throws MethodError restorereplicates(seekstart(io), m1, MixedModelBootstrap) - - # make sure exact and approximate equality work - @test pb1 == pb1 - @test pb1 == restorereplicates(seekstart(io), m1) - @test pb1 ≈ restorereplicates(seekstart(io), m1) - @test pb1 ≈ pb1 - @test pb1 ≈ restorereplicates(seekstart(io), m1, Float64) - @test restorereplicates(seekstart(io), m1, Float32) ≈ restorereplicates(seekstart(io), m1, Float32) - # too much precision is lost - f16 = restorereplicates(seekstart(io), m1, Float16) - @test !isapprox(pb1, f16) - @test isapprox(pb1, f16; atol=eps(Float16)) - @test isapprox(pb1, f16; rtol=0.0001) - - - # two paths, one destination - @test restorereplicates(seekstart(io), m1, MixedModelBootstrap{Float16}) == restorereplicates(seekstart(io), m1, Float16) - # changing eltype breaks exact equality - @test pb1 != restorereplicates(seekstart(io), m1, Float32) - - # test that we don't need the model to be fit when restoring - @test pb1 == restorereplicates(seekstart(io), MixedModels.unfit!(deepcopy(m1))) - - @test pb1 ≈ restorereplicates(seekstart(io), m1, Float16) rtol=1 - end - - @testset "Bernoulli simulate! and GLMM bootstrap" begin - contra = dataset(:contra) - # need a model with fast=false to test that we only - # copy the optimizer constraints for θ and not β - gm0 = fit(MixedModel, first(gfms[:contra]), contra, Bernoulli(), fast=false, progress=false) - bs = parametricbootstrap(StableRNG(42), 100, gm0; progress=false) - # make sure we're not copying - @test length(bs.lowerbd) == length(gm0.θ) - bsci = filter!(:type => ==("β"), DataFrame(shortestcovint(bs))) - ciwidth = 2 .* stderror(gm0) - waldci = DataFrame(coef=fixefnames(gm0), - lower=fixef(gm0) .- ciwidth, - upper=fixef(gm0) .+ ciwidth) - - # coarse tolerances because we're not doing many bootstrap samples - @test all(isapprox.(bsci.lower, waldci.lower; atol=0.5)) - @test all(isapprox.(bsci.upper, waldci.upper; atol=0.5)) - - σbar = mean(MixedModels.tidyσs(bs)) do x; x.σ end - @test σbar ≈ 0.56 atol=0.1 - apar = filter!(row -> row.type == "σ", DataFrame(MixedModels.allpars(bs))) - @test !("Residual" in apar.names) - @test mean(apar.value) ≈ σbar - - # can't specify dispersion for families without that parameter - @test_throws ArgumentError parametricbootstrap(StableRNG(42), 100, gm0; - σ=2, progress=false) - @test sum(issingular(bs)) == 0 - end - - @testset "Rank deficient" begin - rng = MersenneTwister(0); - x = rand(rng, 100); - data = (x = x, x2 = 1.5 .* x, y = rand(rng, [0,1], 100), z = repeat('A':'T', 5)) - @testset "$family" for family in [Normal(), Bernoulli()] - model = @suppress fit(MixedModel, @formula(y ~ x + x2 + (1|z)), data, family; progress=false) - boot = quickboot(model, 10) - - dropped_idx = model.feterm.piv[end] - dropped_coef = coefnames(model)[dropped_idx] - @test all(boot.β) do nt - # if we're the dropped coef, then we must be -0.0 - # need isequal because of -0.0 - return nt.coefname != dropped_coef || isequal(nt.β, -0.0) - end - - yc = simulate(StableRNG(1), model; β=coef(model)) - yf = simulate(StableRNG(1), model; β=fixef(model)) - @test all(x -> isapprox(x...), zip(yc, yf)) - end - - @testset "partial crossing" begin - id = lpad.(string.(1:40), 2, "0") - B = ["b0", "b1", "b2"] - C = ["c0", "c1", "c2", "c3", "c4"] - df = DataFrame(reshape(collect(Iterators.product(B, C, id)), :), [:b, :c, :id]) - df[!, :y] .= 0 - filter!(df) do row - b = last(row.b) - c = last(row.c) - return b != c - end - - m = LinearMixedModel(@formula(y ~ 1 + b * c + (1|id)), df) - β = 1:rank(m) - σ = 1 - simulate!(StableRNG(628), m; β, σ) - fit!(m) - - boot = parametricbootstrap(StableRNG(271828), 1000, m); - bootci = DataFrame(shortestcovint(boot)) - filter!(:group => ismissing, bootci) - select!(bootci, :names => disallowmissing => :coef, :lower, :upper) - transform!(bootci, [:lower, :upper] => ByRow(middle) => :mean) - - @test all(x -> isapprox(x[1], x[2]; atol=0.1), zip(coef(m), bootci.mean)) - end - end + # @testset "save and restore replicates" begin + # io = IOBuffer() + # m0 = first(models(:sleepstudy)) + # m1 = last(models(:sleepstudy)) + # pb0 = quickboot(m0) + # pb1 = quickboot(m1) + # savereplicates(io, pb1) + # @test isa(pb0.tbl, Table) + # @test isa(pb1.tbl, Table) # create tbl here to check it doesn't modify pb1 + # @test ncol(DataFrame(pb1.β)) == 3 + + # # wrong model + # @test_throws ArgumentError restorereplicates(seekstart(io), m0) + # # need to specify an eltype! + # @test_throws MethodError restorereplicates(seekstart(io), m1, MixedModelBootstrap) + + # # make sure exact and approximate equality work + # @test pb1 == pb1 + # @test pb1 == restorereplicates(seekstart(io), m1) + # @test pb1 ≈ restorereplicates(seekstart(io), m1) + # @test pb1 ≈ pb1 + # @test pb1 ≈ restorereplicates(seekstart(io), m1, Float64) + # @test restorereplicates(seekstart(io), m1, Float32) ≈ restorereplicates(seekstart(io), m1, Float32) + # # too much precision is lost + # f16 = restorereplicates(seekstart(io), m1, Float16) + # @test !isapprox(pb1, f16) + # @test isapprox(pb1, f16; atol=eps(Float16)) + # @test isapprox(pb1, f16; rtol=0.0001) + + + # # two paths, one destination + # @test restorereplicates(seekstart(io), m1, MixedModelBootstrap{Float16}) == restorereplicates(seekstart(io), m1, Float16) + # # changing eltype breaks exact equality + # @test pb1 != restorereplicates(seekstart(io), m1, Float32) + + # # test that we don't need the model to be fit when restoring + # @test pb1 == restorereplicates(seekstart(io), MixedModels.unfit!(deepcopy(m1))) + + # @test pb1 ≈ restorereplicates(seekstart(io), m1, Float16) rtol=1 + # end + + # @testset "Bernoulli simulate! and GLMM bootstrap" begin + # contra = dataset(:contra) + # # need a model with fast=false to test that we only + # # copy the optimizer constraints for θ and not β + # gm0 = fit(MixedModel, first(gfms[:contra]), contra, Bernoulli(), fast=false, progress=false) + # bs = parametricbootstrap(StableRNG(42), 100, gm0; progress=false) + # # make sure we're not copying + # @test length(bs.lowerbd) == length(gm0.θ) + # bsci = filter!(:type => ==("β"), DataFrame(shortestcovint(bs))) + # ciwidth = 2 .* stderror(gm0) + # waldci = DataFrame(coef=fixefnames(gm0), + # lower=fixef(gm0) .- ciwidth, + # upper=fixef(gm0) .+ ciwidth) + + # # coarse tolerances because we're not doing many bootstrap samples + # @test all(isapprox.(bsci.lower, waldci.lower; atol=0.5)) + # @test all(isapprox.(bsci.upper, waldci.upper; atol=0.5)) + + # σbar = mean(MixedModels.tidyσs(bs)) do x; x.σ end + # @test σbar ≈ 0.56 atol=0.1 + # apar = filter!(row -> row.type == "σ", DataFrame(MixedModels.allpars(bs))) + # @test !("Residual" in apar.names) + # @test mean(apar.value) ≈ σbar + + # # can't specify dispersion for families without that parameter + # @test_throws ArgumentError parametricbootstrap(StableRNG(42), 100, gm0; + # σ=2, progress=false) + # @test sum(issingular(bs)) == 0 + # end + + # @testset "Rank deficient" begin + # rng = MersenneTwister(0); + # x = rand(rng, 100); + # data = (x = x, x2 = 1.5 .* x, y = rand(rng, [0,1], 100), z = repeat('A':'T', 5)) + # @testset "$family" for family in [Normal(), Bernoulli()] + # model = @suppress fit(MixedModel, @formula(y ~ x + x2 + (1|z)), data, family; progress=false) + # boot = quickboot(model, 10) + + # dropped_idx = model.feterm.piv[end] + # dropped_coef = coefnames(model)[dropped_idx] + # @test all(boot.β) do nt + # # if we're the dropped coef, then we must be -0.0 + # # need isequal because of -0.0 + # return nt.coefname != dropped_coef || isequal(nt.β, -0.0) + # end + + # yc = simulate(StableRNG(1), model; β=coef(model)) + # yf = simulate(StableRNG(1), model; β=fixef(model)) + # @test all(x -> isapprox(x...), zip(yc, yf)) + # end + + # @testset "partial crossing" begin + # id = lpad.(string.(1:40), 2, "0") + # B = ["b0", "b1", "b2"] + # C = ["c0", "c1", "c2", "c3", "c4"] + # df = DataFrame(reshape(collect(Iterators.product(B, C, id)), :), [:b, :c, :id]) + # df[!, :y] .= 0 + # filter!(df) do row + # b = last(row.b) + # c = last(row.c) + # return b != c + # end + + # m = LinearMixedModel(@formula(y ~ 1 + b * c + (1|id)), df) + # β = 1:rank(m) + # σ = 1 + # simulate!(StableRNG(628), m; β, σ) + # fit!(m) + + # boot = parametricbootstrap(StableRNG(271828), 1000, m); + # bootci = DataFrame(shortestcovint(boot)) + # filter!(:group => ismissing, bootci) + # select!(bootci, :names => disallowmissing => :coef, :lower, :upper) + # transform!(bootci, [:lower, :upper] => ByRow(middle) => :mean) + + # @test all(x -> isapprox(x[1], x[2]; atol=0.1), zip(coef(m), bootci.mean)) + # end + # end end -@testset "show and summary" begin - fmzc = models(:sleepstudy)[2] - level = 0.68 - pb = parametricbootstrap(MersenneTwister(42), 500, fmzc; progress=false) - pr = profile(fmzc) - @test startswith(sprint(show, MIME("text/plain"), pr), - "MixedModelProfile -- Table with 9 columns and 151 rows:") - @test startswith(sprint(show, MIME("text/plain"), pb), - "MixedModelBootstrap with 500 samples\n parameter min q25 median mean q75 max\n ") - - df = DataFrame(pr) - @test nrow(df) == 151 - @test propertynames(df) == collect(propertynames(pr.tbl)) - - @testset "CI method comparison" begin - level = 0.68 - ci_boot_equaltail = confint(pb; level, method=:equaltail) - ci_boot_shortest = confint(pb; level, method=:shortest) - @test_throws ArgumentError confint(pb; level, method=:other) - ci_wald = confint(fmzc; level) - ci_prof = confint(pr; level) - @test first(ci_boot_shortest.lower, 2) ≈ first(ci_prof.lower, 2) atol=0.5 - @test first(ci_boot_equaltail.lower, 2) ≈ first(ci_prof.lower, 2) atol=0.5 - @test first(ci_prof.lower, 2) ≈ first(ci_wald.lower, 2) atol=0.1 - end -end +# @testset "show and summary" begin +# fmzc = models(:sleepstudy)[2] +# level = 0.68 +# pb = parametricbootstrap(MersenneTwister(42), 500, fmzc; progress=false) +# pr = profile(fmzc) +# @test startswith(sprint(show, MIME("text/plain"), pr), +# "MixedModelProfile -- Table with 9 columns and 151 rows:") +# @test startswith(sprint(show, MIME("text/plain"), pb), +# "MixedModelBootstrap with 500 samples\n parameter min q25 median mean q75 max\n ") + +# df = DataFrame(pr) +# @test nrow(df) == 151 +# @test propertynames(df) == collect(propertynames(pr.tbl)) + +# @testset "CI method comparison" begin +# level = 0.68 +# ci_boot_equaltail = confint(pb; level, method=:equaltail) +# ci_boot_shortest = confint(pb; level, method=:shortest) +# @test_throws ArgumentError confint(pb; level, method=:other) +# ci_wald = confint(fmzc; level) +# ci_prof = confint(pr; level) +# @test first(ci_boot_shortest.lower, 2) ≈ first(ci_prof.lower, 2) atol=0.5 +# @test first(ci_boot_equaltail.lower, 2) ≈ first(ci_prof.lower, 2) atol=0.5 +# @test first(ci_prof.lower, 2) ≈ first(ci_wald.lower, 2) atol=0.1 +# end +# end diff --git a/test/mime.jl b/test/mime.jl index 3c2858a46..61c146bef 100644 --- a/test/mime.jl +++ b/test/mime.jl @@ -114,39 +114,39 @@ lrt = likelihoodratiotest(fm0, fm1) end - @testset "optsum" begin - fm1.optsum.feval = 1 - fm1.optsum.initial_step = [0.75, 1.0, 0.75] - fm1.optsum.finitial = 1784.642296192471 - fm1.optsum.final = [0.9292, 0.0182, 0.2226] - fm1.optsum.fmin =1751.9393444647023 - out = sprint(show, mime, fm1.optsum) - @test startswith(out,""" - | | | - |:------------------------ |:--------------------------- | - | **Initialization** | | - | Initial parameter vector | [1.0, 0.0, 1.0] | - | Initial objective value | 1784.642296192471 | - | **Optimizer settings** | | - | Optimizer | `LN_BOBYQA` | - | Backend | `nlopt` | - | Lower bounds | [0.0, -Inf, 0.0] | - | ftol_rel | 1.0e-12 | - | ftol_abs | 1.0e-8 | - | xtol_rel | 0.0 | - | xtol_abs | [1.0e-10, 1.0e-10, 1.0e-10] | - | initial_step | [0.75, 1.0, 0.75] | - | maxfeval | -1 | - | maxtime | -1.0 | - | xtol_zero_abs | 0.001 | - | ftol_zero_abs | 1.0e-5 | - | **Result** | | - | Function evaluations | 1 | - | Final parameter vector | [0.9292, 0.0182, 0.2226] | - | Final objective value | 1751.9393 | - | Return code | `FTOL_REACHED` | - """) - end + # @testset "optsum" begin + # fm1.optsum.feval = 1 + # fm1.optsum.initial_step = [0.75, 1.0, 0.75] + # fm1.optsum.finitial = 1784.642296192471 + # fm1.optsum.final = [0.9292, 0.0182, 0.2226] + # fm1.optsum.fmin =1751.9393444647023 + # out = sprint(show, mime, fm1.optsum) + # @test startswith(out,""" + # | | | + # |:------------------------ |:--------------------------- | + # | **Initialization** | | + # | Initial parameter vector | [1.0, 0.0, 1.0] | + # | Initial objective value | 1784.642296192471 | + # | **Optimizer settings** | | + # | Optimizer | `LN_BOBYQA` | + # | Backend | `nlopt` | + # | Lower bounds | [0.0, -Inf, 0.0] | + # | ftol_rel | 1.0e-12 | + # | ftol_abs | 1.0e-8 | + # | xtol_rel | 0.0 | + # | xtol_abs | [1.0e-10, 1.0e-10, 1.0e-10] | + # | initial_step | [0.75, 1.0, 0.75] | + # | maxfeval | -1 | + # | maxtime | -1.0 | + # | xtol_zero_abs | 0.001 | + # | ftol_zero_abs | 1.0e-5 | + # | **Result** | | + # | Function evaluations | 1 | + # | Final parameter vector | [0.9292, 0.0182, 0.2226] | + # | Final objective value | 1751.9393 | + # | Return code | `FTOL_REACHED` | + # """) + # end @testset "varcorr" begin @@ -167,55 +167,55 @@ lrt = likelihoodratiotest(fm0, fm1) end end -@testset "html" begin - # this is minimal since we're mostly testing that dispatch works - # the stdlib actually handles most of the conversion - @test sprint(show, MIME("text/html"), BlockDescription(gm3)) == """ -
rowssubjitemfixed
316Diagonal
24DenseDiag/Dense
7DenseDenseDense
-""" - optsum = sprint(show, MIME("text/html"), fm0.optsum) +# @testset "html" begin # LN_BOBYQA is no longer the default +# # this is minimal since we're mostly testing that dispatch works +# # the stdlib actually handles most of the conversion +# @test sprint(show, MIME("text/html"), BlockDescription(gm3)) == """ +#
rowssubjitemfixed
316Diagonal
24DenseDiag/Dense
7DenseDenseDense
+# """ +# optsum = sprint(show, MIME("text/html"), fm0.optsum) - @test occursin("Initialization", optsum) - @test occursin("LN_BOBYQA", optsum) -end +# @test occursin("Initialization", optsum) +# @test occursin("LN_BOBYQA", optsum) +# end -@testset "latex" begin - # this is minimal since we're mostly testing that dispatch works - # the stdlib actually handles most of the conversion - - b = BlockDescription(gm3) - - @test sprint(show, MIME("text/latex"), b) == """ -\\begin{tabular} -{l | l | l | l} -rows & subj & item & fixed \\\\ -\\hline -316 & Diagonal & & \\\\ -24 & Dense & Diag/Dense & \\\\ -7 & Dense & Dense & Dense \\\\ -\\end{tabular} -""" +# @testset "latex" begin +# # this is minimal since we're mostly testing that dispatch works +# # the stdlib actually handles most of the conversion - @test sprint(show, MIME("text/xelatex"), b) == sprint(show, MIME("text/latex"), b) +# b = BlockDescription(gm3) - @test sprint(show, MIME("text/xelatex"), gm3) != sprint(show, MIME("text/latex"), gm3) +# @test sprint(show, MIME("text/latex"), b) == """ +# \\begin{tabular} +# {l | l | l | l} +# rows & subj & item & fixed \\\\ +# \\hline +# 316 & Diagonal & & \\\\ +# 24 & Dense & Diag/Dense & \\\\ +# 7 & Dense & Dense & Dense \\\\ +# \\end{tabular} +# """ - @test startswith(sprint(show, MIME("text/latex"), gm3),""" -\\begin{tabular} -{l | r | r | r | r | r | r} - & Est. & SE & z & p & \$\\sigma_\\text{subj}\$ & \$\\sigma_\\text{item}\$ \\\\""") +# @test sprint(show, MIME("text/xelatex"), b) == sprint(show, MIME("text/latex"), b) - # not doing the full comparison here because there's a zero-padded exponent - # that will render differently on different platforms - @test startswith(sprint(show, MIME("text/latex"), lrt), - "\\begin{tabular}\n{l | r | r | r | r | l}\n & model-dof & deviance & \$\\chi^2\$ & \$\\chi^2\$-dof & P(>\$\\chi^2\$) \\\\") +# @test sprint(show, MIME("text/xelatex"), gm3) != sprint(show, MIME("text/latex"), gm3) +# @test startswith(sprint(show, MIME("text/latex"), gm3),""" +# \\begin{tabular} +# {l | r | r | r | r | r | r} +# & Est. & SE & z & p & \$\\sigma_\\text{subj}\$ & \$\\sigma_\\text{item}\$ \\\\""") - optsum = sprint(show, MIME("text/latex"), fm0.optsum) +# # not doing the full comparison here because there's a zero-padded exponent +# # that will render differently on different platforms +# @test startswith(sprint(show, MIME("text/latex"), lrt), +# "\\begin{tabular}\n{l | r | r | r | r | l}\n & model-dof & deviance & \$\\chi^2\$ & \$\\chi^2\$-dof & P(>\$\\chi^2\$) \\\\") - @test occursin(raw"\textbf{Initialization}", optsum) - @test occursin(raw"\texttt{LN\_BOBYQA}", optsum) -end + +# optsum = sprint(show, MIME("text/latex"), fm0.optsum) + +# @test occursin(raw"\textbf{Initialization}", optsum) +# @test occursin(raw"\texttt{LN\_BOBYQA}", optsum) +# end # return these models to their fitted state for the cache refit!(fm1; progress=false) diff --git a/test/optsummary.jl b/test/optsummary.jl index 69c4d9897..1e46b81aa 100644 --- a/test/optsummary.jl +++ b/test/optsummary.jl @@ -4,23 +4,23 @@ using Test include("modelcache.jl") -@testset "opt limits" begin - @testset "maxfeval" begin - fm1 = LinearMixedModel(first(fms[:sleepstudy]), dataset(:sleepstudy)) - fm1.optsum.maxfeval = 1 - @test_logs (:warn, "NLopt optimization failure: MAXEVAL_REACHED") refit!(fm1; progress=false) - @test fm1.optsum.returnvalue == :MAXEVAL_REACHED - @test fm1.optsum.feval == 1 - end +# @testset "opt limits" begin +# @testset "maxfeval" begin +# fm1 = LinearMixedModel(first(fms[:sleepstudy]), dataset(:sleepstudy)) +# fm1.optsum.maxfeval = 1 +# @test_logs (:warn, "NLopt optimization failure: MAXEVAL_REACHED") refit!(fm1; progress=false) +# @test fm1.optsum.returnvalue == :MAXEVAL_REACHED +# @test fm1.optsum.feval == 1 +# end - @testset "maxtime" begin - # we need a big model to guarantee that we hit the time limit, - # no matter how small - fm1 = LinearMixedModel(last(fms[:kb07]), dataset(:kb07)) - maxtime = 1e-6 - fm1.optsum.maxtime = maxtime - @test_logs (:warn, "NLopt optimization failure: MAXTIME_REACHED") fit!(fm1; progress=false) - @test fm1.optsum.returnvalue == :MAXTIME_REACHED - @test fm1.optsum.maxtime == maxtime - end -end +# @testset "maxtime" begin +# # we need a big model to guarantee that we hit the time limit, +# # no matter how small +# fm1 = LinearMixedModel(last(fms[:kb07]), dataset(:kb07)) +# maxtime = 1e-6 +# fm1.optsum.maxtime = maxtime +# @test_logs (:warn, "NLopt optimization failure: MAXTIME_REACHED") fit!(fm1; progress=false) +# @test fm1.optsum.returnvalue == :MAXTIME_REACHED +# @test fm1.optsum.maxtime == maxtime +# end +# end diff --git a/test/pls.jl b/test/pls.jl index 9be15ee78..e3706b652 100644 --- a/test/pls.jl +++ b/test/pls.jl @@ -68,15 +68,15 @@ end @test isfitted(fm1) @test :θ in propertynames(fm1) - @test objective(fm1) ≈ 327.3270598811428 atol=0.001 - @test fm1.θ ≈ [0.752580] atol=1.e-5 + @test objective(fm1) ≈ 327.32705988113764 atol=0.001 + @test fm1.θ ≈ [0.7525796976298461] atol=1.e-5 @test fm1.λ ≈ [LowerTriangular(reshape(fm1.θ, (1,1)))] atol=1.e-5 - @test deviance(fm1) ≈ 327.32705988 atol=0.001 - @test aic(fm1) ≈ 333.3270598811394 atol=0.001 - @test bic(fm1) ≈ 337.5306520261259 atol=0.001 + @test deviance(fm1) ≈ 327.32705988113764 atol=0.001 + @test aic(fm1) ≈ 333.32705988113764 atol=0.001 + @test bic(fm1) ≈ 337.53065202612413 atol=0.001 @test fixef(fm1) ≈ [1527.5] @test dispersion_parameter(fm1) - @test first(first(fm1.σs)) ≈ 37.26034462135931 atol=0.0001 + @test first(first(fm1.σs)) ≈ 37.26030335139678 atol=0.0001 @test fm1.β ≈ [1527.5] @test dof(fm1) == 3 @test nobs(fm1) == 30 @@ -103,8 +103,8 @@ end @test fm1.y == ds[:yield] @test response(fm1) == ds.yield @test cond(fm1) == ones(1) - @test first(leverage(fm1)) ≈ 0.15650534392640486 rtol=1.e-5 - @test sum(leverage(fm1)) ≈ 4.695160317792145 rtol=1.e-5 + @test first(leverage(fm1)) ≈ 0.156505260370222 rtol=1.e-5 + @test sum(leverage(fm1)) ≈ 4.695157811106662 rtol=1.e-5 cm = coeftable(fm1) @test length(cm.rownms) == 1 @test length(cm.colnms) == 4 @@ -118,10 +118,10 @@ end @test size(first(cv)) == (1, 1, 6) show(IOBuffer(), fm1.optsum) - @test logdet(fm1) ≈ 8.06014522999825 atol=0.001 - @test varest(fm1) ≈ 2451.2501089607676 atol=0.001 - @test pwrss(fm1) ≈ 73537.50152584909 atol=0.01 # this quantity is not precisely estimated - @test stderror(fm1) ≈ [17.69455188898009] atol=0.0001 + @test logdet(fm1) ≈ 8.060134842137465 atol=0.001 + @test varest(fm1) ≈ 2451.2509577364976 atol=0.001 + @test pwrss(fm1) ≈ 73537.52873209493 atol=0.01 # this quantity is not precisely estimated + @test stderror(fm1) ≈ [17.694539635084272] atol=0.0001 vc = VarCorr(fm1) show(io, vc) @@ -130,7 +130,7 @@ end @test vc.s == sdest(fm1) refit!(fm1; REML=true, progress=false) - @test objective(fm1) ≈ 319.65427684225216 atol=0.0001 + @test objective(fm1) ≈ 319.6542768422537 atol=0.0001 @test_throws ArgumentError loglikelihood(fm1) @test dof_residual(fm1) ≥ 0 @@ -139,7 +139,7 @@ end vc = fm1.vcov @test isa(vc, Matrix{Float64}) - @test only(vc) ≈ 375.7167775 rtol=1.e-3 + @test only(vc) ≈ 375.7170327970783 rtol=1.e-3 # since we're caching the fits, we should get it back to being correctly fitted # we also take this opportunity to test fitlog @testset "fitlog" begin @@ -150,7 +150,7 @@ end @test keys(fitlogtbl) == (:iter, :objective, :θ) @test length(first(fitlogtbl)) > 15 # can't be sure of exact length @test first(fitlogtbl)[1:3] == 1:3 - @test last(fitlogtbl.objective) == fm1.optsum.fmin +# @test last(fitlogtbl.objective) == fm1.optsum.fmin # can't count on this with unconstrained opt fitlogstackedtbl = columntable(fm1.optsum; stack=true) @test length(fitlogstackedtbl) == 4 @test keys(fitlogstackedtbl) == (:iter, :objective, :par, :value) @@ -172,24 +172,24 @@ end @test lowerbd(fm) == zeros(1) show(IOBuffer(), fm) @test fm.θ ≈ zeros(1) - @test objective(fm) ≈ 162.87303665382575 + @test objective(fm) ≈ 162.87303665382578 @test abs(std(fm)[1][1]) < 1.0e-9 - @test std(fm)[2] ≈ [3.653231351374652] - @test stderror(fm) ≈ [0.6669857396443261] + @test std(fm)[2] ≈ [3.6532313513746537] + @test stderror(fm) ≈ [0.6669857396443264] @test coef(fm) ≈ [5.6656] @test logdet(fm) ≈ 0.0 @test issingular(fm) #### modifies the model refit!(fm, float(MixedModels.dataset(:dyestuff)[:yield]); progress=false) - @test objective(fm) ≈ 327.3270598811428 atol=0.001 + @test objective(fm) ≈ 327.32705988113764 atol=0.001 refit!(fm, float(MixedModels.dataset(:dyestuff2)[:yield]); progress=false) # restore the model in the cache - @testset "profile" begin # tests a branch in profileσs! for σ estimate of zero - dspr02 = profile(only(models(:dyestuff2))) - sigma10row = only(filter(r -> r.p == :σ1 && iszero(r.ζ), dspr02.tbl)) - @test iszero(sigma10row.σ1) - sigma1tbl = Table(filter(r -> r.p == :σ1, dspr02.tbl)) - @test all(≥(0), sigma1tbl.σ1) - end + # @testset "profile" begin # tests a branch in profileσs! for σ estimate of zero + # dspr02 = profile(only(models(:dyestuff2))) + # sigma10row = only(filter(r -> r.p == :σ1 && iszero(r.ζ), dspr02.tbl)) + # @test iszero(sigma10row.σ1) + # sigma1tbl = Table(filter(r -> r.p == :σ1, dspr02.tbl)) + # @test all(≥(0), sigma1tbl.σ1) + # end end @testset "penicillin" begin @@ -198,33 +198,33 @@ end @test fm.optsum.initial == ones(2) @test lowerbd(fm) == zeros(2) - @test objective(fm) ≈ 332.18834867227616 atol=0.001 - @test coef(fm) ≈ [22.97222222222222] atol=0.001 - @test fixef(fm) ≈ [22.97222222222222] atol=0.001 - @test coef(fm)[1] ≈ mean(MixedModels.dataset(:penicillin).diameter) - @test stderror(fm) ≈ [0.7445960346851368] atol=0.0001 - @test fm.θ ≈ [1.5375772376554968, 3.219751321180035] atol=0.001 - @test first(std(fm)) ≈ [0.8455645948223015] atol=0.0001 - @test std(fm)[2] ≈ [1.770647779277388] atol=0.0001 - @test varest(fm) ≈ 0.3024263987592062 atol=0.0001 - @test logdet(fm) ≈ 95.74614821367786 atol=0.001 + @test objective(fm) ≈ 332.1883486683937 atol=0.001 + @test coef(fm) ≈ [22.972222222225444] atol=0.001 + @test fixef(fm) ≈ [22.972222222225444] atol=0.001 + @test only(coef(fm)) ≈ mean(MixedModels.dataset(:penicillin).diameter) + @test stderror(fm) ≈ [0.7445940738182094] atol=0.0001 + @test fm.θ ≈ [1.5375935125427782, 3.219745537955045] atol=0.001 + @test first(std(fm)) ≈ [0.8455722686407121] atol=0.0001 + @test std(fm)[2] ≈ [1.7706419263385857] atol=0.0001 + @test varest(fm) ≈ 0.3024254858152094 atol=0.0001 + @test logdet(fm) ≈ 95.74658290779811 atol=0.001 cv = condVar(fm) @test length(cv) == 2 @test size(first(cv)) == (1, 1, 24) @test size(last(cv)) == (1, 1, 6) - @test first(first(cv)) ≈ 0.07331320237988301 rtol=1.e-4 - @test last(last(cv)) ≈ 0.04051547211287544 rtol=1.e-4 + @test first(first(cv)) ≈ 0.0733136032219583 rtol=1.e-4 + @test last(last(cv)) ≈ 0.040515903742453355 rtol=1.e-4 cv2 = condVar(fm, :sample) @test cv2 ≈ last(cv) rfu = ranef(fm, uscale=true) @test length(rfu) == 2 - @test first(first(rfu)) ≈ 0.523162392717432 rtol=1.e-4 + @test first(first(rfu)) ≈ 0.5231575862546581 rtol=1.e-4 rfb = ranef(fm) @test length(rfb) == 2 - @test last(last(rfb)) ≈ -3.001823834230942 rtol=1.e-4 + @test last(last(rfb)) ≈ -3.001823790900832 rtol=1.e-4 show(io, BlockDescription(fm)) @test countlines(seekstart(io)) == 4 @@ -239,23 +239,23 @@ end @test fm.optsum.initial == ones(2) @test lowerbd(fm) == zeros(2) - @test objective(fm) ≈ 247.99446586289676 atol=0.001 - @test coef(fm) ≈ [60.05333333333329] atol=0.001 - @test fixef(fm) ≈ [60.05333333333329] atol=0.001 - @test stderror(fm) ≈ [0.6421359883527029] atol=0.0001 - @test fm.θ ≈ [3.5268858714382905, 1.3299230213750168] atol=0.001 - @test first(std(fm)) ≈ [2.904069002535747] atol=0.001 - @test std(fm)[2] ≈ [1.095070371687089] atol=0.0001 - @test std(fm)[3] ≈ [0.8234088395243269] atol=0.0001 - @test varest(fm) ≈ 0.6780020742644107 atol=0.0001 - @test logdet(fm) ≈ 101.0381339953986 atol=0.001 + @test objective(fm) ≈ 247.99446586223172 atol=0.001 + @test coef(fm) ≈ [60.053333333334] atol=0.001 + @test fixef(fm) ≈ [60.053333333334] atol=0.001 + @test stderror(fm) ≈ [0.642134301364774] atol=0.0001 + @test fm.θ ≈ [3.5269026643032917, 1.329902940085874] atol=0.001 + @test first(std(fm)) ≈ [2.904078953131269] atol=0.001 + @test std(fm)[2] ≈ [1.095052374736776] atol=0.0001 + @test last(std(fm)) ≈ [0.8234077403167984] atol=0.0001 + @test varest(fm) ≈ 0.6780003068136161 atol=0.0001 + @test logdet(fm) ≈ 101.03829418853418 atol=0.001 cv = condVar(fm) @test length(cv) == 2 @test size(first(cv)) == (1, 1, 30) - @test first(first(cv)) ≈ 1.111873335663485 rtol=1.e-4 + @test first(first(cv)) ≈ 1.1118566326988504 rtol=1.e-4 @test size(last(cv)) == (1, 1, 10) - @test last(last(cv)) ≈ 0.850428770978789 rtol=1.e-4 + @test last(last(cv)) ≈ 0.8504108947004724 rtol=1.e-4 show(io, BlockDescription(fm)) @test countlines(seekstart(io)) == 4 @@ -265,7 +265,7 @@ end lrt = likelihoodratiotest(models(:pastes)...) @test length(lrt.deviance) == length(lrt.formulas) == length(lrt.models )== 2 - @test first(lrt.tests.pvalues) ≈ 0.5233767966395597 atol=0.0001 + @test first(lrt.tests.pvalues) ≈ 0.5233767963798441 atol=0.0001 @testset "missing variables in formula" begin ae = ArgumentError("The following formula variables are not present in the table: [:reaction, :joy, :subj]") @@ -285,14 +285,14 @@ end @test size(spL) == (4114, 4114) @test 733090 < nnz(spL) < 733100 - @test objective(fm1) ≈ 237721.7687745563 atol=0.001 + @test objective(fm1) ≈ 237721.76877449563 atol=0.001 ftd1 = fitted(fm1); @test size(ftd1) == (73421, ) @test ftd1 == predict(fm1) - @test first(ftd1) ≈ 3.17876 atol=0.0001 + @test first(ftd1) ≈ 3.178762112361497 atol=0.0001 resid1 = residuals(fm1); @test size(resid1) == (73421, ) - @test first(resid1) ≈ 1.82124 atol=0.00001 + @test first(resid1) ≈ 1.8212378876385031 atol=0.00001 @testset "PCA" begin @test length(fm1.rePCA) == 3 @@ -314,13 +314,13 @@ end @test "Diag/Dense" in tokens fm2 = last(models(:insteval)) - @test objective(fm2) ≈ 237585.5534151694 atol=0.001 + @test objective(fm2) ≈ 237585.55341516886 atol=0.001 @test size(fm2) == (73421, 28, 4100, 2) end @testset "sleep" begin fm = last(models(:sleepstudy)) - @test lowerbd(fm) == [0.0, -Inf, 0.0] +# @test lowerbd(fm) == [0.0, -Inf, 0.0] A11 = first(fm.A) @test isa(A11, UniformBlockDiagonal{Float64}) @test isa(first(fm.L), UniformBlockDiagonal{Float64}) @@ -334,37 +334,36 @@ end @test count(!iszero, Matrix(first(fm.L))) == 18 * 4 @test rank(fm) == 2 - @test objective(fm) ≈ 1751.9393444647046 - @test fm.θ ≈ [0.929221307, 0.01816838, 0.22264487096] atol=1.e-6 - @test pwrss(fm) ≈ 117889.46144025437 - @test logdet(fm) ≈ 73.90322021999222 atol=0.001 - @test stderror(fm) ≈ [6.632257721914501, 1.5022354739749826] atol=0.0001 - @test coef(fm) ≈ [251.40510484848477,10.4672859595959] - @test fixef(fm) ≈ [251.40510484848477,10.4672859595959] - @test std(fm)[1] ≈ [23.780468100188497, 5.716827903196682] atol=0.01 - @test logdet(fm) ≈ 73.90337187545992 atol=0.001 - @test cond(fm) ≈ [4.175251] atol=0.0001 - @test loglikelihood(fm) ≈ -875.9696722323523 - @test sum(leverage(fm)) ≈ 28.611525700136877 rtol=1.e-5 + @test objective(fm) ≈ 1751.9393444631903 + @test fm.θ ≈ [0.9292256825071498, 0.01816582794741198, 0.2226453206088903] atol=1.e-6 + @test pwrss(fm) ≈ 117889.38755234834 atol=0.01 + @test logdet(fm) ≈ 73.90333303456077 atol=0.001 + @test stderror(fm) ≈ [6.63227794674162, 1.502236302919122] atol=0.0001 + @test coef(fm) ≈ [251.40510484848605, 10.467285959595777] + @test fixef(fm) ≈ [251.40510484848605, 10.467285959595777] + @test std(fm)[1] ≈ [23.78057261257775, 5.716832259222901] atol=0.01 + @test cond(fm) ≈ [4.175261496089308] atol=0.0001 + @test loglikelihood(fm) ≈ -875.9696722315952 + @test sum(leverage(fm)) ≈ 28.611598793702214 rtol=1.e-5 σs = fm.σs @test length(σs) == 1 @test keys(σs) == (:subj,) @test length(σs.subj) == 2 - @test first(values(σs.subj)) ≈ 23.7804686 atol=0.0001 - @test last(values(first(σs))) ≈ 5.7168278 atol=0.0001 - @test fm.corr ≈ [1.0 -0.1375451787621904; -0.1375451787621904 1.0] atol=0.0001 + @test first(values(σs.subj)) ≈ 23.78057261257775 atol=0.0001 + @test last(values(first(σs))) ≈ 5.716832259222901 atol=0.0001 + @test fm.corr ≈ [1.0 -0.13755303228487029; -0.13755303228487029 1.0] atol=0.0001 u3 = ranef(fm, uscale=true) @test length(u3) == 1 @test size(first(u3)) == (2, 18) - @test first(u3)[1, 1] ≈ 3.030300122575336 atol=0.001 + @test first(first(u3)) ≈ 3.0301510934980853 atol=0.001 cv = condVar(fm) @test length(cv) == 1 @test size(first(cv)) == (2, 2, 18) - @test first(first(cv)) ≈ 140.96612241084617 rtol=1.e-4 - @test last(last(cv)) ≈ 5.157750215432247 rtol=1.e-4 - @test first(cv)[2] ≈ -20.60428045516186 rtol=1.e-4 + @test first(first(cv)) ≈ 140.96700808750023 rtol=1.e-4 + @test last(last(cv)) ≈ 5.157777920711596 rtol=1.e-4 + @test first(cv)[2] ≈ -20.604442587333782 rtol=1.e-4 cvt = condVartables(fm) @test length(cvt) == 1 @@ -376,16 +375,16 @@ end @test first(cvtsubj.subj) == "S308" cvtsubjσ1 = first(cvtsubj.σ) @test all(==(cvtsubjσ1), cvtsubj.σ) - @test first(cvtsubjσ1) ≈ 11.87291549750297 atol=1.0e-4 - @test last(cvtsubjσ1) ≈ 2.271068078114843 atol=1.0e-4 + @test first(cvtsubjσ1) ≈ 11.872952795640192 atol=1.0e-4 + @test last(cvtsubjσ1) ≈ 2.2710741777211054 atol=1.0e-4 cvtsubjρ = first(cvtsubj.ρ) @test all(==(cvtsubjρ), cvtsubj.ρ) - @test only(cvtsubjρ) ≈ -0.7641347018831385 atol=1.0e-4 + @test only(cvtsubjρ) ≈ -0.7641362619433549 atol=1.0e-4 b3 = ranef(fm) @test length(b3) == 1 @test size(first(b3)) == (2, 18) - @test first(first(b3)) ≈ 2.815819441982976 atol=0.001 + @test first(first(b3)) ≈ 2.8156942179555444 atol=0.001 b3tbl = raneftables(fm) @test length(b3tbl) == 1 @@ -404,7 +403,7 @@ end slp = MixedModels.dataset(:sleepstudy) copyto!(fm.y, slp.reaction) updateL!(MixedModels.reevaluateAend!(fm)) - @test objective(fm) ≈ 1751.9393444647046 # check the model is properly restored + @test objective(fm) ≈ 1751.9393444631903 # check the model is properly restored fmnc = models(:sleepstudy)[2] @test size(fmnc) == (180,2,36,1) @@ -412,7 +411,7 @@ end @test lowerbd(fmnc) == zeros(2) sigmas = fmnc.σs @test length(only(sigmas)) == 2 - @test first(only(sigmas)) ≈ 24.171449484676224 atol=1e-4 + @test first(only(sigmas)) ≈ 24.17126557107178 atol=1e-4 @testset "zerocorr PCA" begin @test length(fmnc.rePCA) == 1 @@ -421,22 +420,22 @@ end @test show(IOBuffer(), MixedModels.PCA(fmnc)) === nothing end - @test deviance(fmnc) ≈ 1752.0032551398835 atol=0.001 - @test objective(fmnc) ≈ 1752.0032551398835 atol=0.001 - @test coef(fmnc) ≈ [251.40510484848585, 10.467285959595715] - @test fixef(fmnc) ≈ [251.40510484848477, 10.467285959595715] - @test stderror(fmnc) ≈ [6.707710260366577, 1.5193083237479683] atol=0.001 - @test fmnc.θ ≈ [0.9458106880922268, 0.22692826607677266] atol=0.0001 - @test first(std(fmnc)) ≈ [24.171449463289047, 5.799379721123582] - @test last(std(fmnc)) ≈ [25.556130034081047] - @test logdet(fmnc) ≈ 74.46952585564611 atol=0.001 + @test deviance(fmnc) ≈ 1752.0032551398779 atol=0.001 + @test objective(fmnc) ≈ 1752.0032551398779 atol=0.001 + @test coef(fmnc) ≈ [251.40510484848542, 10.467285959595731] + @test fixef(fmnc) ≈ [251.40510484848542, 10.467285959595731] + @test stderror(fmnc) ≈ [6.707673761706531, 1.5193146333264311] atol=0.001 + @test fmnc.θ ≈ [0.945810709744356, 0.22692826558404863] atol=0.0001 + @test first(std(fmnc)) ≈ [24.17126557107178, 5.7994092438404845] atol=0.001 + @test last(std(fmnc)) ≈ [25.55613435335814] atol=0.001 + @test logdet(fmnc) ≈ 74.46952640773556 atol=0.001 ρ = first(fmnc.σρs.subj.ρ) @test ρ === -0.0 # test that systematic zero correlations are returned as -0.0 MixedModels.likelihoodratiotest(fm, fmnc) fmrs = fit(MixedModel, @formula(reaction ~ 1+days + (0+days|subj)), slp; progress=false); - @test objective(fmrs) ≈ 1774.080315280528 rtol=0.00001 - @test fmrs.θ ≈ [0.24353985679033105] rtol=0.00001 + @test objective(fmrs) ≈ 1774.0803152805188 rtol=0.00001 + @test fmrs.θ ≈ [0.24353985674150702] rtol=0.00001 fm_ind = models(:sleepstudy)[3] @test objective(fm_ind) ≈ objective(fmnc) @@ -644,30 +643,30 @@ end end - @testset "profile" begin - pr = @suppress profile(last(models(:sleepstudy))) - tbl = pr.tbl - @test length(tbl) >= 122 - ci = confint(pr) - @test Tables.istable(ci) - @test propertynames(ci) == (:par, :estimate, :lower, :upper) - @test collect(ci.par) == [:β1, :β2, :σ, :σ1, :σ2] - @test isapprox( - ci.lower.values, - [237.681, 7.359, 22.898, 14.381, 0.0]; - atol=1.e-3) - @test isapprox( - ci.upper.values, - [265.130, 13.576, 28.858, 37.718, 8.753]; - atol=1.e-3) - @test first(only(filter(r -> r.p == :σ && iszero(r.ζ), pr.tbl)).σ) == last(models(:sleepstudy)).σ - - @testset "REML" begin - m = refit!(deepcopy(last(models(:sleepstudy))); progress=false, REML=true) - ci = @suppress confint(profile(m)) - @test all(splat(<), zip(ci.lower, ci.upper)) - end - end + # @testset "profile" begin + # pr = @suppress profile(last(models(:sleepstudy))) + # tbl = pr.tbl + # @test length(tbl) >= 122 + # ci = confint(pr) + # @test Tables.istable(ci) + # @test propertynames(ci) == (:par, :estimate, :lower, :upper) + # @test collect(ci.par) == [:β1, :β2, :σ, :σ1, :σ2] + # @test isapprox( + # ci.lower.values, + # [237.681, 7.359, 22.898, 14.381, 0.0]; + # atol=1.e-3) + # @test isapprox( + # ci.upper.values, + # [265.130, 13.576, 28.858, 37.718, 8.753]; + # atol=1.e-3) + # @test first(only(filter(r -> r.p == :σ && iszero(r.ζ), pr.tbl)).σ) == last(models(:sleepstudy)).σ + + # @testset "REML" begin + # m = refit!(deepcopy(last(models(:sleepstudy))); progress=false, REML=true) + # ci = @suppress confint(profile(m)) + # @test all(splat(<), zip(ci.lower, ci.upper)) + # end + # end @testset "confint" begin ci = confint(last(models(:sleepstudy))) @test Tables.istable(ci) @@ -710,11 +709,11 @@ end @testset "d3" begin fm = only(models(:d3)) - @test pwrss(fm) ≈ 5.30480294295329e6 rtol=1.e-4 - @test objective(fm) ≈ 884957.5540213 rtol = 1e-4 - @test coef(fm) ≈ [0.4991229873, 0.31130780953] atol = 1.e-4 + @test pwrss(fm) ≈ 5.3047986185787255e6 rtol=1.e-4 + @test objective(fm) ≈ 884957.5539350753 rtol = 1e-4 + @test coef(fm) ≈ [0.4991260407903265, 0.31130777152144157] atol = 1.e-4 @test length(ranef(fm)) == 3 - @test sum(leverage(fm)) ≈ 8808.00706143011 rtol = 1.e-4 + @test sum(leverage(fm)) ≈ 8808.015748200247 rtol = 1.e-4 show(io, BlockDescription(fm)) tokens = Set(split(String(take!(io)), r"\s+")) @@ -730,40 +729,40 @@ end tokens = Set(split(String(take!(io)), r"\s+")) @test "Corr." in tokens @test "-0.89" in tokens - @testset "profile" begin - contrasts = Dict(:item => Grouping(), :subj => Grouping(), :prec => EffectsCoding(; base="maintain"), - :spkr => EffectsCoding(), :load => EffectsCoding()) - kbf03 = @formula rt_trunc ~ 1+prec+spkr+load+(1+prec|item)+(1|subj) - kbpr03 = profile(fit(MixedModel, kbf03, MixedModels.dataset(:kb07); contrasts, progress=false)) - @test length(Tables.columnnames(kbpr03.tbl)) == 15 - @test length(Tables.rows(kbpr03.tbl)) > 200 - end + # @testset "profile" begin + # contrasts = Dict(:item => Grouping(), :subj => Grouping(), :prec => EffectsCoding(; base="maintain"), + # :spkr => EffectsCoding(), :load => EffectsCoding()) + # kbf03 = @formula rt_trunc ~ 1+prec+spkr+load+(1+prec|item)+(1|subj) + # kbpr03 = profile(fit(MixedModel, kbf03, MixedModels.dataset(:kb07); contrasts, progress=false)) + # @test length(Tables.columnnames(kbpr03.tbl)) == 15 + # @test length(Tables.rows(kbpr03.tbl)) > 200 + # end end -@testset "oxide" begin +@testset "oxide" begin # the second model is suspect and we only test the first one # this model has an interesting structure with two diagonal blocks m = first(models(:oxide)) @test isapprox(m.θ, [1.689182746, 2.98504262]; atol=1e-3) - m = last(models(:oxide)) - # NB: this is a poorly defined fit - # lme4 gives all sorts of convergence warnings for the different - # optimizers and even quite different values - # the overall estimates of the standard deviations are similar-ish - # but the correlation structure seems particular unstable - θneldermead = [1.6454, 8.6373e-02, 8.2128e-05, 8.9552e-01, 1.2014, 2.9286] - # two different BOBYQA implementations - θnlopt = [1.645, -0.221, 0.986, 0.895, 2.511, 1.169] - θminqa = [1.6455, -0.2430, 1.0160, 0.8955, 2.7054, 0.0898] - # very loose tolerance for unstable fit - # but this is a convenient test of rankUpdate!(::UniformBlockDiagonal) - @test isapprox(m.θ, θnlopt; atol=5e-2) - - @testset "profile" begin - # TODO: actually handle the case here so that it doesn't error and - # create a separate test of the error handling code - @test_logs((:error, "Exception occurred in profiling; aborting..."), - @test_throws Exception profile(last(models(:oxide)))) - end +# m = last(models(:oxide)) +# # NB: this is a poorly defined fit +# # lme4 gives all sorts of convergence warnings for the different +# # optimizers and even quite different values +# # the overall estimates of the standard deviations are similar-ish +# # but the correlation structure seems particular unstable +# θneldermead = [1.6454, 8.6373e-02, 8.2128e-05, 8.9552e-01, 1.2014, 2.9286] +# # two different BOBYQA implementations +# θnlopt = [1.645, -0.221, 0.986, 0.895, 2.511, 1.169] +# θminqa = [1.6455, -0.2430, 1.0160, 0.8955, 2.7054, 0.0898] +# # very loose tolerance for unstable fit +# # but this is a convenient test of rankUpdate!(::UniformBlockDiagonal) +# @test isapprox(m.θ, θnlopt; atol=5e-2) + +# @testset "profile" begin +# # TODO: actually handle the case here so that it doesn't error and +# # create a separate test of the error handling code +# @test_logs((:error, "Exception occurred in profiling; aborting..."), +# @test_throws Exception profile(last(models(:oxide)))) +# end end @testset "Rank deficient" begin diff --git a/test/runtests.jl b/test/runtests.jl index f808dae04..894dd8af2 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -33,8 +33,8 @@ include("matrixterm.jl") include("FactorReTerm.jl") include("grouping.jl") include("pls.jl") -include("pirls.jl") -include("gausshermite.jl") +# include("pirls.jl") # have not yet converted pirls to unconstrained opt +# include("gausshermite.jl") include("fit.jl") include("missing.jl") include("likelihoodratiotest.jl") @@ -44,4 +44,4 @@ include("optsummary.jl") include("predict.jl") include("sigma.jl") -@testset "PRIMA" include("prima.jl") +# @testset "PRIMA" include("prima.jl") From b15a0604b6c9c70299158e39bd1d89460e1ee438 Mon Sep 17 00:00:00 2001 From: Douglas Bates Date: Sun, 13 Jul 2025 14:18:38 -0500 Subject: [PATCH 3/4] fitlog as a Vector with an extractor as a Table --- src/MixedModels.jl | 10 +++++----- src/linearmixedmodel.jl | 17 ++++++++++++++--- src/optsummary.jl | 32 ++------------------------------ src/prima.jl | 4 ++-- 4 files changed, 23 insertions(+), 40 deletions(-) diff --git a/src/MixedModels.jl b/src/MixedModels.jl index 709305173..2e14ffe67 100644 --- a/src/MixedModels.jl +++ b/src/MixedModels.jl @@ -239,11 +239,11 @@ const settheta! = setθ! show(io, m) show(io, m.PCA.subj) show(io, m.rePCA) - fit(MixedModel, - @formula(use ~ 1 + age + abs2(age) + urban + livch + (1 | urban & dist)), - contra, - Bernoulli(); - progress) + # fit(MixedModel, + # @formula(use ~ 1 + age + abs2(age) + urban + livch + (1 | urban & dist)), + # contra, + # Bernoulli(); + # progress) end end # COV_EXCL_STOP diff --git a/src/linearmixedmodel.jl b/src/linearmixedmodel.jl index bf3dbf29d..8e5b90ec8 100644 --- a/src/linearmixedmodel.jl +++ b/src/linearmixedmodel.jl @@ -527,6 +527,19 @@ function StatsAPI.fit!( return m end +""" + fitlog(m::LinearMixedModel{T}) + +Extract `m.optsum.fitlog` as a `Tables.MatrixTable` +""" +function fitlog(m::LinearMixedModel) + header = append!([:objective], Symbol.("p_", join.(m.parmap, "_"))) + return Tables.table( + collect(transpose(reshape(m.optsum.fitlog, length(m.optsum.initial) + 1, :))); + header, + ) +end + """ fitted!(v::AbstractArray{T}, m::LinearMixedModel{T}) @@ -966,9 +979,7 @@ This provides a canonical converged value of θ. We use unconstrained optimizat hassle of constrained optimization. """ function rectify!(m::LinearMixedModel) - foreach(m.λ) do λ - rectify!(λ) - end + rectify!.(m.λ) return m end diff --git a/src/optsummary.jl b/src/optsummary.jl index 36e4e97f2..65f5d5bae 100644 --- a/src/optsummary.jl +++ b/src/optsummary.jl @@ -33,7 +33,7 @@ Summary of an optimization * `rhoend`: as in PRIMA, not used in NLopt ## MixedModels-specific fields, unrelated to the optimizer -* `fitlog`: A vector of tuples of parameter and objectives values from steps in the optimization +* `fitlog`: a `Vector{T}` recording the objective values and parameter vectors from the optimization * `nAGQ`: number of adaptive Gauss-Hermite quadrature points in deviance evaluation for GLMMs * `REML`: use the REML criterion for LMM fits * `sigma`: a priori value for the residual standard deviation for LMM @@ -76,7 +76,7 @@ Base.@kwdef mutable struct OptSummary{T<:AbstractFloat} rhoend::T = rhobeg / 1_000_000 # not SVector because we would need to parameterize on size (which breaks GLMM) - fitlog::Vector{Tuple{Vector{T},T}} = Vector{Tuple{Vector{T},T}}() + fitlog::Vector{T} = T[] nAGQ::Int = 1 REML::Bool = false sigma::Union{T,Nothing} = nothing @@ -91,34 +91,6 @@ function OptSummary( return OptSummary{TS}(; initial, lowerbd, optimizer, kwargs...) end -""" - columntable(s::OptSummary, [stack::Bool=false]) - -Return `s.fitlog` as a `Tables.columntable`. - -When `stack` is false (the default), there will be 3 columns in the result: -- `iter`: the iteration number -- `objective`: the value of the objective at that sample -- `θ`: the parameter vector at that sample - -When `stack` is true, there will be 4 columns: `iter`, `objective`, `par`, and `value` -where `value` is the stacked contents of the `θ` vectors (the equivalent of `vcat(θ...)`) -and `par` is a vector of parameter numbers. -""" -function Tables.columntable(s::OptSummary; stack::Bool=false) - fitlog = s.fitlog - val = (; iter=axes(fitlog, 1), objective=last.(fitlog), θ=first.(fitlog)) - stack || return val - θ1 = first(val.θ) - k = length(θ1) - return (; - iter=repeat(val.iter; inner=k), - objective=repeat(val.objective; inner=k), - par=repeat(1:k; outer=length(fitlog)), - value=foldl(vcat, val.θ; init=(eltype(θ1))[]), - ) -end - function Base.show(io::IO, ::MIME"text/plain", s::OptSummary) println(io, "Initial parameter vector: ", s.initial) println(io, "Initial objective value: ", s.finitial) diff --git a/src/prima.jl b/src/prima.jl index 9bcafebc4..e089441bc 100644 --- a/src/prima.jl +++ b/src/prima.jl @@ -33,7 +33,7 @@ prima_optimizer!(::Val{:lincoa}, args...; kwargs...) = PRIMA.lincoa!(args...; kw prima_optimizer!(::Val{:newuoa}, args...; kwargs...) = PRIMA.newuoa!(args...; kwargs...) function MixedModels.optimize!(m::LinearMixedModel, ::PRIMABackend; - progress::Bool=true, fitlog::Bool=false, kwargs...) + progress::Bool=true, fitlog::Bool=true, kwargs...) optsum = m.optsum prog = ProgressUnknown(; desc="Minimizing", showspeed=true) fitlog && empty!(optsum.fitlog) @@ -56,7 +56,7 @@ function MixedModels.optimize!(m::LinearMixedModel, ::PRIMABackend; end end progress && ProgressMeter.next!(prog; showvalues=[(:objective, val)]) - fitlog && push!(optsum.fitlog, (copy(x), val)) + fitlog && append!(push!(optsum.fitlog, val), x) return val end From 8e443b3584d60c0a94f7cfcf646a5ce180766ac3 Mon Sep 17 00:00:00 2001 From: Douglas Bates Date: Wed, 16 Jul 2025 12:10:32 -0500 Subject: [PATCH 4/4] Populate fitlogs dir --- .../Apple_M_series/AppleAccelerate/d3_1.arrow | Bin 0 -> 76314 bytes .../AppleAccelerate/dyestuff.arrow | Bin 0 -> 938 bytes .../AppleAccelerate/kb07_2.arrow | Bin 0 -> 4714 bytes .../AppleAccelerate/kb07_3.arrow | Bin 0 -> 240218 bytes .../AppleAccelerate/pastes_1.arrow | Bin 0 -> 954 bytes .../AppleAccelerate/pastes_2.arrow | Bin 0 -> 1778 bytes .../AppleAccelerate/sleepstudy_1.arrow | Bin 0 -> 954 bytes .../AppleAccelerate/sleepstudy_2.arrow | Bin 0 -> 2162 bytes .../AppleAccelerate/sleepstudy_3.arrow | Bin 0 -> 2162 bytes .../AppleAccelerate/sleepstudy_4.arrow | Bin 0 -> 3098 bytes fitlogs/Apple_M_series/OpenBLAS/dyestuff.arrow | Bin 0 -> 938 bytes fitlogs/Apple_M_series/OpenBLAS/pastes_1.arrow | Bin 0 -> 970 bytes fitlogs/Apple_M_series/OpenBLAS/pastes_2.arrow | Bin 0 -> 1706 bytes src/linearmixedmodel.jl | 2 +- test/modelcache.jl | 13 +++++++++++-- 15 files changed, 12 insertions(+), 3 deletions(-) create mode 100644 fitlogs/Apple_M_series/AppleAccelerate/d3_1.arrow create mode 100644 fitlogs/Apple_M_series/AppleAccelerate/dyestuff.arrow create mode 100644 fitlogs/Apple_M_series/AppleAccelerate/kb07_2.arrow create mode 100644 fitlogs/Apple_M_series/AppleAccelerate/kb07_3.arrow create mode 100644 fitlogs/Apple_M_series/AppleAccelerate/pastes_1.arrow create mode 100644 fitlogs/Apple_M_series/AppleAccelerate/pastes_2.arrow create mode 100644 fitlogs/Apple_M_series/AppleAccelerate/sleepstudy_1.arrow create mode 100644 fitlogs/Apple_M_series/AppleAccelerate/sleepstudy_2.arrow create mode 100644 fitlogs/Apple_M_series/AppleAccelerate/sleepstudy_3.arrow create mode 100644 fitlogs/Apple_M_series/AppleAccelerate/sleepstudy_4.arrow create mode 100644 fitlogs/Apple_M_series/OpenBLAS/dyestuff.arrow create mode 100644 fitlogs/Apple_M_series/OpenBLAS/pastes_1.arrow create mode 100644 fitlogs/Apple_M_series/OpenBLAS/pastes_2.arrow diff --git a/fitlogs/Apple_M_series/AppleAccelerate/d3_1.arrow b/fitlogs/Apple_M_series/AppleAccelerate/d3_1.arrow new file mode 100644 index 0000000000000000000000000000000000000000..5c91bfc4fceae036f666ed196d677365b68d2a40 GIT binary patch literal 76314 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 oHv}ep#+mTnjXw-@Ecn&I%+}J}#pa$R{V!Z literal 0 HcmV?d00001 diff --git a/fitlogs/Apple_M_series/AppleAccelerate/dyestuff.arrow b/fitlogs/Apple_M_series/AppleAccelerate/dyestuff.arrow new file mode 100644 index 0000000000000000000000000000000000000000..ef61b97d8587997bb6f6c771b2cd9b9c277f2719 GIT binary patch literal 938 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 W%_ZQ-NjLocFur+rT3VV}EB!xG&k%C} literal 0 HcmV?d00001 diff --git a/fitlogs/Apple_M_series/AppleAccelerate/pastes_1.arrow b/fitlogs/Apple_M_series/AppleAccelerate/pastes_1.arrow new file mode 100644 index 0000000000000000000000000000000000000000..17d359f25a62867db7b01fb68cf3713c26cb00c2 GIT binary patch literal 954 zcmZ<^3i1y(WMKFY1REF_7zBWrfq{#G2Z%WsSb!u%j1kD@073>Z4I&vBn1I*?EW*HW z1*jjS7owjTN;5DV0*ZrFvIFG`;tfF%C?^7z=YyID( z22LQEpOlrFT#{Lq3KoO7dk2s$0_F2ChymF`K=-o%F#|&aBSZos&kPjh0-DbQG#BDG zkaz?Ti$RouNs!-gfelaz7!6YgI4FFO%>{{}^RJce72=pw=#c5ZaQ80N0*7Xq zjrmq7#SV);us#U4%6FKXbi6c2FWI{*#lO`b7C5p{&o&R+XXijiAB^9y)kP z1aCGXHYzeH=0KFrC#o*&6Uolg zrgU_gzChU%x~Yn?aKD)@UwFqx$K9@$I=)iO`N!%xHh;r0tB&K5GL9~3982>#=2dfy zKF9I#w;WqO27gB+9USHZVp&8hdR91z!tENo__%Ux$d~GQ_00LA|G{(3tG3 z-CUc}XiP>X)6t0y#^kFi$CvptVzT~Ltm^6*_-FkKq7oU>I`o-qo-;#??9zIRJQ(6_ zSL!D9WJqPS%&TlWLpBz4lxKtQJ2-vz1@Mb4+IAn7Go&h~z;?o&Aze0gB5TO6Y_~P_ z2EJoi5w`^XH7ALu6=*4cqt9AksptJmtAH78D02-^wM89l3G7cg6i?~2@ZcovGg|3z zo7P=ypA=KwdZj0q_W5%-^#{t~eCagh^XK^VJpbV%WM|zzQ2h2RuE|N|nS0gapWBoJ z6^bR?JDaa*ym=Q-oL=EOE}g-3X9V+Sm^qv`^o5so`0sew!qP|8vWWNmBF|EnKg35a zt;&32FpuRbcPF!+c|0b6a)8`jz$G3rMe_1_j6(utheh+47ja_nwDSU1b~{8jtF<^T zq|JXYN{iKY9aRqlw7B&Ax@zO?TC9mZ-Zk*17TzM~=49XcP; Wt7=9!e@6X%_`kpVVRH)If8Adbn)_-1 literal 0 HcmV?d00001 diff --git a/fitlogs/Apple_M_series/AppleAccelerate/sleepstudy_1.arrow b/fitlogs/Apple_M_series/AppleAccelerate/sleepstudy_1.arrow new file mode 100644 index 0000000000000000000000000000000000000000..d6d10eee0ef119beb9b0af156db0c61797df3e8c GIT binary patch literal 954 zcmZ<^3i1y(WMKFY1REF_7zBWrfq{#G2Z%WsSb!u%j1kD@073>Z4I&vBn1I*?EW*HW z1*jjS7owjTN;5DV0*ZrFvIFG`;tfF%C?^7z=YyID( z22LQEpOlrFT#{Lq3KoO7dk2s$0_F2ChymF`K=-o%F#|&aBSZos&kPjh0-DbQG#BDG zkaz?Ti$RouNs!-gfelaz7!6YgI4FFO%>{{}^Ybpp9hcyq;}Dp+!tc1!9EaPQ z-^Fw`&UM&1|HC46-Z>7d_&=_y6PV+$Fd#W1n`4f{tJj5ni#X>v4C) z07&m%)fg2Bq-XMMs|x|rIzDIGLE`6K?)HFaiRY7hL3HZl3t;hE6_3F*)4o$+y6+)` zo(iSIpyCct8m1292L^@@_7IxE0ZKFc`!vHnMeV!&*)t&U#(r+8jEK7RXL~dLZEFu) z`C`v}r>UxU;YWL6UN^;iTR+*q+ORF|Mb9UDo6M_^FW>uQulVZF;_79e?6>Rs2_!H2 zWZ$#Q+K>Er0l^n@HI=%3IeK?S= zP2D#m5=hHubu0j>L!=7<23UFnr3(<&0Xv?B0hB}zfY}HdmTm@Hn!f;arz1Ge0st5? B)b9WQ literal 0 HcmV?d00001 diff --git a/fitlogs/Apple_M_series/AppleAccelerate/sleepstudy_2.arrow b/fitlogs/Apple_M_series/AppleAccelerate/sleepstudy_2.arrow new file mode 100644 index 0000000000000000000000000000000000000000..1618c2d06f459e5cf22e3b347979f34df39aed94 GIT binary patch literal 2162 zcmdUxX;2hb5XVPY&PBp~1tLdM9*|UlfE+>(hmfcnluJMbL;*z+Meqv5LL(9tM5qWd zXltS92sv8&K2<{B&0`zkj03@u$H(4QHVY0-!naAXGjpI z&?g8PLIHC-LM%h9Lad1Pf2qCmw_3{(OYEa1>7_cezH|*e>_CtU97aefO-Z$s7wL~V>ym0|o=(vvv)84)|I#sSy1$<6rpT@=ACFksTrx7f zFwoXDmpmLONO=u-_v8~k{LgyCM;^8NVWWnRrO^Q>0`fCbfJhM7o2@`+GsCD zF520@e(e#842WnHyTwvuU>?{e?V-rqt(8~Qj#A`sP-D;GT@<-Vd!(ij^D2qrrq??u za#~bNWFku+pN#NCDxOO=PDEA+x9gqQL6HXD$@`U&eqkHrtYawB$&JIk5KWPqq(PH^ z6h)qMXk^!JqDWhtAak2giqvXg<$aCM)ADkeT)}3FWL3uVZPA~sXBqu~ELvU?WQr8D zeIBlaRH{7}B8#joda~3K`6#=uRRP&bZ9FfJ{7Tgzi_Ryw+h3$vF=Fdab47c6D$Ps{ z^#Gdh$Z$WJQ~Owwyt$*dL_?J9}>(7@!Y z(wRP??b}bbqgh<~WpJm}fh%j{HuJaIr zq2|J&G|?Dz1s943*Nnkc>#lSM%~4P+`C^{jPa|+ceD_joQ$Oso)nDN~&<$Be2i6&D z55V}D(fP`p0ciD(i}SDShlF^}#!ABh*dx3yzx37sa7E8e>p21t&Of?%zJ~z1j=y>H z{)_;Uk0&+_oE1Q`xHRzQVgY!(>s;9Ty#V5)PaCCU9dF#VTgycNX16aVM>-22#gTim z$Xx*bA-Sf9kfMG!|7UIji2m-6OT|c^g63<=NUO3luRSsUgj`V=ha9VZGvbEanyo%; zg33`Exw2uS4*>g0=^C4?t+I+uWDe0o#JZ z`0vg5Fr@J++g7s;xD}QA_08_UXl^oBn|B`+e%6mJu;9VK0&=kb9uG!+h=;C`JP0ET zM$28B!A>_Sd-;JTSn^`S_ItpCB#o<`O*(woSCu5J6Jy_^UYptnEimLans#(2ANn|% zhUVRTsMc;CzQ2|a-A=!xtv7E6?)gI{F|l<3rQ%{cgBH-(W$dLwwZPk)v}37$eCRb_ zlkaT7hx*+D_Ca+%#2kKc9h#frNXxT`JYPPzcO*`>_3&W$TEI=yF&>m%Im}ia=E2;I zG#xW#K3rJxyLqB1K993YkltKAINLZSm#gsMd4C)?K?(K340l7+-P5_`%Fp=F@yN?! z3F=PITOY)1K2)Uo<_sgZtjr1Epr4dg{CE;|&veS!> literal 0 HcmV?d00001 diff --git a/fitlogs/Apple_M_series/AppleAccelerate/sleepstudy_3.arrow b/fitlogs/Apple_M_series/AppleAccelerate/sleepstudy_3.arrow new file mode 100644 index 0000000000000000000000000000000000000000..1618c2d06f459e5cf22e3b347979f34df39aed94 GIT binary patch literal 2162 zcmdUxX;2hb5XVPY&PBp~1tLdM9*|UlfE+>(hmfcnluJMbL;*z+Meqv5LL(9tM5qWd zXltS92sv8&K2<{B&0`zkj03@u$H(4QHVY0-!naAXGjpI z&?g8PLIHC-LM%h9Lad1Pf2qCmw_3{(OYEa1>7_cezH|*e>_CtU97aefO-Z$s7wL~V>ym0|o=(vvv)84)|I#sSy1$<6rpT@=ACFksTrx7f zFwoXDmpmLONO=u-_v8~k{LgyCM;^8NVWWnRrO^Q>0`fCbfJhM7o2@`+GsCD zF520@e(e#842WnHyTwvuU>?{e?V-rqt(8~Qj#A`sP-D;GT@<-Vd!(ij^D2qrrq??u za#~bNWFku+pN#NCDxOO=PDEA+x9gqQL6HXD$@`U&eqkHrtYawB$&JIk5KWPqq(PH^ z6h)qMXk^!JqDWhtAak2giqvXg<$aCM)ADkeT)}3FWL3uVZPA~sXBqu~ELvU?WQr8D zeIBlaRH{7}B8#joda~3K`6#=uRRP&bZ9FfJ{7Tgzi_Ryw+h3$vF=Fdab47c6D$Ps{ z^#Gdh$Z$WJQ~Owwyt$*dL_?J9}>(7@!Y z(wRP??b}bbqgh<~WpJm}fh%j{HuJaIr zq2|J&G|?Dz1s943*Nnkc>#lSM%~4P+`C^{jPa|+ceD_joQ$Oso)nDN~&<$Be2i6&D z55V}D(fP`p0ciD(i}SDShlF^}#!ABh*dx3yzx37sa7E8e>p21t&Of?%zJ~z1j=y>H z{)_;Uk0&+_oE1Q`xHRzQVgY!(>s;9Ty#V5)PaCCU9dF#VTgycNX16aVM>-22#gTim z$Xx*bA-Sf9kfMG!|7UIji2m-6OT|c^g63<=NUO3luRSsUgj`V=ha9VZGvbEanyo%; zg33`Exw2uS4*>g0=^C4?t+I+uWDe0o#JZ z`0vg5Fr@J++g7s;xD}QA_08_UXl^oBn|B`+e%6mJu;9VK0&=kb9uG!+h=;C`JP0ET zM$28B!A>_Sd-;JTSn^`S_ItpCB#o<`O*(woSCu5J6Jy_^UYptnEimLans#(2ANn|% zhUVRTsMc;CzQ2|a-A=!xtv7E6?)gI{F|l<3rQ%{cgBH-(W$dLwwZPk)v}37$eCRb_ zlkaT7hx*+D_Ca+%#2kKc9h#frNXxT`JYPPzcO*`>_3&W$TEI=yF&>m%Im}ia=E2;I zG#xW#K3rJxyLqB1K993YkltKAINLZSm#gsMd4C)?K?(K340l7+-P5_`%Fp=F@yN?! z3F=PITOY)1K2)Uo<_sgZtjr1Epr4dg{CE;|&veS!> literal 0 HcmV?d00001 diff --git a/fitlogs/Apple_M_series/AppleAccelerate/sleepstudy_4.arrow b/fitlogs/Apple_M_series/AppleAccelerate/sleepstudy_4.arrow new file mode 100644 index 0000000000000000000000000000000000000000..da69a2a441d55c066ea2bb77a56b9792e2499bd2 GIT binary patch literal 3098 zcmd^?dt6NG8pl^AHRx2jZ`96~lF;R}b+PlTT#`+?`Hljio>4Gj|OVmnDwZ_(! z6jHQNF{KODnog;(i%J)c%VespWK-u|GtEA>^YO>|`@Hjc*Z2KB&+mQKns>dQ`MhJv zV%a$xV%Q{V@)8&(kI`)=CWAT?lSEfhOahIW=z|GKUqw9^(HnK+DIG!AL1R%J#uPEk z7sWAb8YYc$d)*A(jNFW{{I7UZ|I2HLwSC2V_Y1F~n<2WVlJLH=Q_m}Y9yN4t3}av- z(qk#)kU}52O~YoOYk;S(k5|yH5FcSov@U9BU6iJ@45os{3TS;KQOB@MdPz_dOPi+J)D*G&3l~ijNioGqu@=*wegU5~u@>h;MPKSqhgggAbb>DN z`E${+|5XRHs{WePOX59jN2~n|4zBH;cy@9w2j7vHzjgU44xT>VdT`W~gD<|lMQisQ z4({ISdQWW@2j^s7U#)SU#Ghr&{@eZ{5?^!c`1aZ|5?{8i7zeqft7ih#7(rh zw~e2YxYMDM%EGfGo^G(Cxbgsr7i>xJv_D1S&6}dSl=qW(Nxj#_gfJ5CZqk#mLhMgq z=H&*EIMcSq0s=`~b!F5)O`}QNwbJmsuP=!|wDKHm@FDT&VISNC(PdJ(4f7=N(06o1B`cztDg}S=TL#R1y5c15TXTo@1XN-^r?IK28i4$rk*`q@GEfi@t zdy#f*6Zwj!<~^R8cknk++-WLL?=1`yfQT3_qF9SLmHpEvfb!jfG(qYJXoR}FkMtjd z=DO+@(`O$cO?{0uD{Ktx)rWmg&mD*1cAJ6M1s~x0;eQSNxc37ToG>(+>>qG$y+H1s}5%Z+>opRNVp zDTw$TLQ~p@a|FX+>#okQavg#hY=+J`z5pI-u65`g9fU)dHJ_5N1fbBElzT5m0J=w| zO0(?*FfuR^!AKE6g-eX~`~U$o_dq7G8qG^QxXx?|iZ@2^_$~q{o0I%}R9yg*MQ!~} z=ifp|*mr&QlYWXXSM~}nm@+hd3+Xibt2qD)$Ij5!|31v4f?KN!&DNuiAFKt6YQ9 z8{2J$Zh>s=c5BS5n)^Vp+_X-$pSxIwv2o7AYVJxGDXocbOSqkR9^L|T9%SrG%zXKe za&G0o9mQW5H@Lc2UVhN4s^Pj&If_N`MO@ar!B4twDRAe*$*8q^OSoPGu5J&Vi?|P7 z@4Ckx&gV8ekOw}>HpGbx>{bP%k z$D~8kgmU+A)+w;9etzL_9|77Wy?)$R1o$^}<(+w+1dFfq2bY{AK)QIjs;wUZT_aUd zbGIjhWJcloCm{sbnk`@Fo<@Mio1Nk8Qv`&MKZ_YnC*bOnH+vn53D~yz?jLnW324@z z9Lv9 zlg}?(vJ~;YQ=IY;@`p#R%4Yw@lS>oz8=>@T_{f$E}cY;IMPKRU52XP%HZ@)&bRPHb~B` zYJuu&P8cVo87Sgy>Ep;2un3myWtuj@x2*9$d|DeJ}&EbB>| zD2xY@PYRAxy%bnHvF>n5pr9`C(WGVu4}9d!_2YUQLH#%Xf&2ax^v3dXHb+tr8fRI3 z+=7BdhklgqN})iGvejW7rXbFA73Geo7l*@NBD6lg81QRHS*z`yKeRgdEK zmzLp}7X^fh*~~7at^H=oSt8&4s+9R8(kW$+;-sP|D9`sOG&w|p3ei%$0Z}o%_GT8! zznB=(&qoaJRa@(fsHUOJ$wgf8cF2xGZ1tb9r5o{mv7G}Q-!|a*v=DJ;+{7_@USfze zPS^1m51f~W_@8r|JSIL5(&sk1FA;7cNemtDFiraM8O7(i|F<)*0a^!3;eUdE1IsjL A`~Uy| literal 0 HcmV?d00001 diff --git a/fitlogs/Apple_M_series/OpenBLAS/dyestuff.arrow b/fitlogs/Apple_M_series/OpenBLAS/dyestuff.arrow new file mode 100644 index 0000000000000000000000000000000000000000..ef61b97d8587997bb6f6c771b2cd9b9c277f2719 GIT binary patch literal 938 zcmZ<^3i1y(WMKFY1REF_7zBWrfq{#G2Z%WsSb!u%j1kD@073>Z4I&vBn1I*?EW*HW z1*jjS7owjTN;5DV0*ZrFvIFG`;tfF%C?^7z=YyID( z22LQEpOlrFT#{Lq3KoO7dk2s$0_F2ChymF`K=-o%F#|&YBSZos&kPjh0-DbQG#BDG zkaz?Ti$auvNs!-gffY~*7!6YgI4FFO%>{{}^KVTk-{D$Q;_znAroT51l{jcu zyqdH2bcsXR^I+xkjU^7|Dy!!GFE4R;Kk1g!s?rh%X#*DqhsqL%S!b4Bw+HeY5^t&6 z0O@0Iu4vi<>60RAi>-ll@U+M^Ao{jd%vun=eV-v%oLSZfOnZc?fa#}GAhZIMmV=6~ z3Wtc#hVnsfXJGhX51|I zax#8l?{LIoYuLl*_M2sz4n&K-u)nu>#!M~V7xo=fv!D0KzOcV=IE%AOZ4I&vBn1I*?EW*HW z1*jjS7owjTN;5DV0*ZrFvIFG`;tfF%C?^7z=YyID( z22LQEpOlrFT#{Lq3KoO7dk2s$0_F2ChymF`K=-o%G0;v%hy+BQ87RsHG@l1(F2rvj z@dzLmhbRM+Aiv=PAiF>SMniZAKC(C{e2~orsYT}}mF*Scm{jO+Dq!L6U8)5R+hjK8 zTcs2`xO`=O5N?(4u&VlaX^vjL!-}%GRwk194huLo9z4XG?_js{tsxtb-cWf_g#k!g zT)43F7EivzH2tqmcYw4G+m9>|-IK&~03@zce`7a@eh}0HR=4QQG%ziH8$!p`LBx+l zKxi`$2)(8fLO)A@&}GRG8shH{_7IxE0ZKzD4u?$(cO)^KfzezJdP|g^O*Q3pcyM6i zu^J+e; z8lS@&g;U8r>U<6*UM%0jf%MaF{TB~_=%()rCj#l>eREXXfpkL7*_19Iee(ZH9uS?X z$@&^Zi&*#dfN7`;d4MSpmi|EL1cY_Kax4s>By#}FM$oWyG}!XM1)w_}!Fd<}g>uBA literal 0 HcmV?d00001 diff --git a/fitlogs/Apple_M_series/OpenBLAS/pastes_2.arrow b/fitlogs/Apple_M_series/OpenBLAS/pastes_2.arrow new file mode 100644 index 0000000000000000000000000000000000000000..75939e73f83e5feadda556e85ba3f2cbac2979a1 GIT binary patch literal 1706 zcmdUwdr(wW9LEo^vAgVTXIn^DqzoDjWmjhx@BuaF;Dg2F)j}H02#Bx=ZQPjM!5vCa za2C^&(%71iRgleRgWy>5Fi^?FF(W`E26|A$W0(PfT}Gy&-`UI6Xr}4!&Yj=+obUJd zyXV|<{x~;6r;FRBMran=PY59y1VUbjfe;}9^ql7gV-Y;aMcO0e0bzm&ak&VchB@f_ z+#DWrM92z0LheWixi?cZDe4q8>in15Yx8QM5^810$2FI9Zhd|Y1+xzni5sVR@>yQ<-0RL~IP#j$QG8pM)QsApg$FuA&~FUpN2 zrXSvpO9l4Fd)H6QW|PZXaceZ>{YUN#?}Cm$eOTN9yfJ9M&<-3n87e!0QO}2;rF#9g zn$IYmOUKSrR+?4kD6J>uuKdzgUl%RD3tTk3%lSRWIO6jhk6-3!yTega#qp1Fjvwyl zn0=TdJ!6E%F-Jr=KGbveI98spwa6a`$&lFiT78s=6z0Y?1~US(r^wKKX`hIQ65nB? zGlk@!&hMVE8uae`w2qr%vTA0>lCc>vS@^2?R$9In`J}ma`?>ceWbGfS8sE?J@cmofu@ZRwxFe@@sPT#ZlsxB-9Zt1w2I&(U9r(vHE4-fp-K{q6X@WY-h~LwjwGMoB@bN9Bz_Yc|vMS(cjgKr5 zSf;72O8^c9|Eh`wPNmxyZwD?<^KH@r18f1CXdX9eeP0INPDm9~t&a(EP(He+WQf22 f=siV4={j5iqF2ngYy61(J@&u9vte@)u7A{D;y>7I literal 0 HcmV?d00001 diff --git a/src/linearmixedmodel.jl b/src/linearmixedmodel.jl index 8e5b90ec8..3befa9fe2 100644 --- a/src/linearmixedmodel.jl +++ b/src/linearmixedmodel.jl @@ -512,7 +512,7 @@ function StatsAPI.fit!( if (zeroobj = objective!(m, xmin_)) ≤ (fmin + optsum.ftol_zero_abs) fmin = zeroobj copyto!(xmin, xmin_) - fitlog && push!(optsum.fitlog, (copy(xmin), fmin)) + fitlog && append!(push!(optsum.fitlog, fmin), xmin) end end diff --git a/test/modelcache.jl b/test/modelcache.jl index ead74ace3..f1d38d1e9 100644 --- a/test/modelcache.jl +++ b/test/modelcache.jl @@ -1,5 +1,6 @@ using MixedModels using MixedModels: dataset +using Arrow @isdefined(gfms) || const global gfms = Dict( :cbpp => [@formula((incid/hsz) ~ 1 + period + (1|herd))], @@ -39,7 +40,7 @@ using MixedModels: dataset # for some reason it seems necessary to prime the pump in julia-1.6.0-DEV @isdefined(fittedmodels) || const global fittedmodels = Dict{Symbol,Vector{MixedModel}}( - :dyestuff => [fit(MixedModel, only(fms[:dyestuff]), dataset(:dyestuff); progress=false)] + :dyestuff => [fit(MixedModel, only(fms[:dyestuff]), dataset(:dyestuff); progress=false, fitlog=true)] ); @isdefined(allfms) || const global allfms = merge(fms, gfms) @@ -48,7 +49,15 @@ using MixedModels: dataset if !@isdefined(models) function models(nm::Symbol) get!(fittedmodels, nm) do - [fit(MixedModel, f, dataset(nm); progress=false) for f in allfms[nm]] + [fit(MixedModel, f, dataset(nm); progress=false, fitlog=true) for f in allfms[nm]] + end + end +end + +if !@isdefined(archive_fitlogs) + function archive_fitlogs(nm::Symbol; dir="./fitlogs/Apple_M_series/AppleAccelerate") + for (j, m) in enumerate(models(nm)) + Arrow.write(joinpath(dir, string(nm, "_", j, ".arrow")), MixedModels.fitlog(m)) end end end