Error while using infer(res)

using Pumas, Plots
twocompevsd = @model begin
@param begin
    tvKa ∈ RealDomain(lower=0)
    tvV1 ∈ RealDomain(lower=0)
    tvV2 ∈ RealDomain(lower=0)
    tvCL ∈ RealDomain(lower=0)
    tvQ ∈ RealDomain(lower=0)
    Ω ∈ PDiagDomain(5)
    σ ∈ RealDomain(lower=0)
end
@random begin
η ~ MvNormal(Ω)
end
@pre begin
Ka = tvKa*exp(η[1])
V = tvV1*exp(η[2])
V2 = tvV2*exp(η[3])
CL =tvCL*exp(η[4])
Q =tvQ*exp(η[5])
end
@dynamics begin
Depot' = -Ka*Depot
Central' = Ka*Depot - (CL/V)*Central + Q/V2*Peripheral - Q/V*Central
Peripheral' =  -Q/V2*Peripheral + Q/V*Central
end
@derived begin
    Cp = @. Central/V
    dv ~ @. Normal(Cp,sqrt(Cp^2*σ))
end
end

param = (tvKa = 0.9, tvV1 = 50, tvV2 = 20, tvCL = 9, tvQ =12, Ω=Diagonal([0.09,0.09,0.09,0.09,0.09]), σ=0.04)

DR = DosageRegimen(1000,cmt=1,time=0)

population = Population(map(i->Subject(id=i,evs=DR),1:15))

obs = simobs(twocompevsd,population,param,obstimes=0.1:1:24)

plot(obs)

df = DataFrame(obs)

data = read_pumas(df,dvs=[:dv])

res = fit(twocompevsd,data,param,Pumas.FOCEI())

infer(res)

error

 infer(res)
Calculating: variance-covariance matrixERROR: DomainError with -4.435231697442742e-6:
sqrt will only return a complex result if called with a complex argument. Try sqrt(Complex(x)).
Stacktrace:
 [1] throw_complex_domainerror(::Symbol, ::Float64) at .\math.jl:32
 [2] sqrt at .\math.jl:492 [inlined]
 [3] _broadcast_getindex_evalf at .\broadcast.jl:630 [inlined]
 [4] _broadcast_getindex at .\broadcast.jl:603 [inlined]
 [5] _getindex at .\broadcast.jl:626 [inlined]
 [6] _broadcast_getindex at .\broadcast.jl:602 [inlined]
 [7] getindex at .\broadcast.jl:563 [inlined]
 [8] macro expansion at .\broadcast.jl:909 [inlined]
 [9] macro expansion at .\simdloop.jl:77 [inlined]
 [10] copyto! at .\broadcast.jl:908 [inlined]
 [11] copyto! at .\broadcast.jl:863 [inlined]
 [12] copy at .\broadcast.jl:839 [inlined]
 [13] materialize at .\broadcast.jl:819 [inlined]
 [14] unwhiten(::PDMats.PDiagMat{Float64,Array{Float64,1}}, ::SubArray{ForwardDiff.Dual{ForwardDiff.Tag{Pumas.var"#190#191"{Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{,Tuple{}}},PumasModel{ParamSet{NamedTuple{(:tvKa, :tvV1, :tvV2, :tvCL, :tvQ, :Ω, :σ),Tuple{RealDomain{Int64,TransformVariables.Infinity{true},Float64},RealDomain{Int64,TransformVariables.Infinity{true},Float64},RealDomain{Int64,TransformVariables.Infinity{true},Float64},RealDomain{Int64,TransformVariables.Infinity{true},Float64},RealDomain{Int64,TransformVariables.Infinity{true},Float64},PDiagDomain{PDMats.PDiagMat{Float64,Array{Float64,1}}},RealDomain{Int64,TransformVariables.Infinity{true},Float64}}}},var"#27#34",var"#28#35",var"#29#36",ODEProblem{Nothing,Tuple{Nothing,Nothing},false,Nothing,ODEFunction{false,var"#30#37",LinearAlgebra.UniformScaling{Bool},Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing},Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{,Tuple{}}},DiffEqBase.StandardODEProblem},var"#32#39",var"#33#40"},Subject{NamedTuple{(:dv,),Tuple{Array{Union{Missing, Float64},1}}},Nothing,Array{Pumas.Event{Float64,Float64,Float64,Float64,Float64,Float64,Int64},1},Array{Float64,1}},NamedTuple{(:tvKa, :tvV1, :tvV2, :tvCL, :tvQ, :Ω, :σ),Tuple{Float64,Float64,Float64,Float64,Float64,PDMats.PDiagMat{Float64,Array{Float64,1}},Float64}},Tuple{}},Float64},Float64,5},1,Array{ForwardDiff.Dual{ForwardDiff.Tag{Pumas.var"#190#191"{Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{,Tuple{}}},PumasModel{ParamSet{NamedTuple{(:tvKa, :tvV1, :tvV2, :tvCL, :tvQ, :Ω, :σ),Tuple{RealDomain{Int64,TransformVariables.Infinity{true},Float64},RealDomain{Int64,TransformVariables.Infinity{true},Float64},RealDomain{Int64,TransformVariables.Infinity{true},Float64},RealDomain{Int64,TransformVariables.Infinity{true},Float64},RealDomain{Int64,TransformVariables.Infinity{true},Float64},PDiagDomain{PDMats.PDiagMat{Float64,Array{Float64,1}}},RealDomain{Int64,TransformVariables.Infinity{true},Float64}}}},var"#27#34",var"#28#35",var"#29#36",ODEProblem{Nothing,Tuple{Nothing,Nothing},false,Nothing,ODEFunction{false,var"#30#37",LinearAlgebra.UniformScaling{Bool},Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing},Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{,Tuple{}}},DiffEqBase.StandardODEProblem},var"#32#39",var"#33#40"},Subject{NamedTuple{(:dv,),Tuple{Array{Union{Missing, Float64},1}}},Nothing,Array{Pumas.Event{Float64,Float64,Float64,Float64,Float64,Float64,Int64},1},Array{Float64,1}},NamedTuple{(:tvKa, :tvV1, :tvV2, :tvCL, :tvQ, :Ω, :σ),Tuple{Float64,Float64,Float64,Float64,Float64,PDMats.PDiagMat{Float64,Array{Float64,1}},Float64}},Tuple{}},Float64},Float64,5},1},Tuple{UnitRange{Int64}},true}) at C:\Users\Lenovo\.juliapro\JuliaPro_v1.3.1-1\packages\Pumas\Twdge\src\estimation\likelihoods.jl:2
 [15] transform_with at C:\Users\Lenovo\.juliapro\JuliaPro_v1.3.1-1\packages\Pumas\Twdge\src\estimation\transforms.jl:295 [inlined]
 [16] _transform_tuple at C:\Users\Lenovo\.juliapro\JuliaPro_v1.3.1-1\packages\TransformVariables\a4AMY\src\aggregation.jl:161 [inlined]
 [17] transform_tuple at C:\Users\Lenovo\.juliapro\JuliaPro_v1.3.1-1\packages\TransformVariables\a4AMY\src\aggregation.jl:171 [inlined]
 [18] transform_with at C:\Users\Lenovo\.juliapro\JuliaPro_v1.3.1-1\packages\TransformVariables\a4AMY\src\aggregation.jl:223 [inlined]
 [19] transform(::TransformVariables.TransformTuple{NamedTuple{(:η,),Tuple{Pumas.MvNormalTransform{MvNormal{Float64,PDMats.PDiagMat{Float64,Array{Float64,1}},FillArrays.Zeros{Float64,1,Tuple{Base.OneTo{Int64}}}}}}}}, ::Array{ForwardDiff.Dual{ForwardDiff.Tag{Pumas.var"#190#191"{Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{,Tuple{}}},PumasModel{ParamSet{NamedTuple{(:tvKa, :tvV1, :tvV2, :tvCL, :tvQ, :Ω, :σ),Tuple{RealDomain{Int64,TransformVariables.Infinity{true},Float64},RealDomain{Int64,TransformVariables.Infinity{true},Float64},RealDomain{Int64,TransformVariables.Infinity{true},Float64},RealDomain{Int64,TransformVariables.Infinity{true},Float64},RealDomain{Int64,TransformVariables.Infinity{true},Float64},PDiagDomain{PDMats.PDiagMat{Float64,Array{Float64,1}}},RealDomain{Int64,TransformVariables.Infinity{true},Float64}}}},var"#27#34",var"#28#35",var"#29#36",ODEProblem{Nothing,Tuple{Nothing,Nothing},false,Nothing,ODEFunction{false,var"#30#37",LinearAlgebra.UniformScaling{Bool},Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing},Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{,Tuple{}}},DiffEqBase.StandardODEProblem},var"#32#39",var"#33#40"},Subject{NamedTuple{(:dv,),Tuple{Array{Union{Missing, Float64},1}}},Nothing,Array{Pumas.Event{Float64,Float64,Float64,Float64,Float64,Float64,Int64},1},Array{Float64,1}},NamedTuple{(:tvKa, :tvV1, :tvV2, :tvCL, :tvQ, :Ω, :σ),Tuple{Float64,Float64,Float64,Float64,Float64,PDMats.PDiagMat{Float64,Array{Float64,1}},Float64}},Tuple{}},Float64},Float64,5},1}) at C:\Users\Lenovo\.juliapro\JuliaPro_v1.3.1-1\packages\TransformVariables\a4AMY\src\generic.jl:196
 [20] (::Pumas.var"#190#191"{Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{,Tuple{}}},PumasModel{ParamSet{NamedTuple{(:tvKa, :tvV1, :tvV2, :tvCL, :tvQ, :Ω, :σ),Tuple{RealDomain{Int64,TransformVariables.Infinity{true},Float64},RealDomain{Int64,TransformVariables.Infinity{true},Float64},RealDomain{Int64,TransformVariables.Infinity{true},Float64},RealDomain{Int64,TransformVariables.Infinity{true},Float64},RealDomain{Int64,TransformVariables.Infinity{true},Float64},PDiagDomain{PDMats.PDiagMat{Float64,Array{Float64,1}}},RealDomain{Int64,TransformVariables.Infinity{true},Float64}}}},var"#27#34",var"#28#35",var"#29#36",ODEProblem{Nothing,Tuple{Nothing,Nothing},false,Nothing,ODEFunction{false,var"#30#37",LinearAlgebra.UniformScaling{Bool},Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing},Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{,Tuple{}}},DiffEqBase.StandardODEProblem},var"#32#39",var"#33#40"},Subject{NamedTuple{(:dv,),Tuple{Array{Union{Missing, Float64},1}}},Nothing,Array{Pumas.Event{Float64,Float64,Float64,Float64,Float64,Float64,Int64},1},Array{Float64,1}},NamedTuple{(:tvKa, :tvV1, :tvV2, :tvCL, :tvQ, :Ω, :σ),Tuple{Float64,Float64,Float64,Float64,Float64,PDMats.PDiagMat{Float64,Array{Float64,1}},Float64}},Tuple{}})(::Array{ForwardDiff.Dual{ForwardDiff.Tag{Pumas.var"#190#191"{Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{,Tuple{}}},PumasModel{ParamSet{NamedTuple{(:tvKa, :tvV1, :tvV2, :tvCL, :tvQ, :Ω, :σ),Tuple{RealDomain{Int64,TransformVariables.Infinity{true},Float64},RealDomain{Int64,TransformVariables.Infinity{true},Float64},RealDomain{Int64,TransformVariables.Infinity{true},Float64},RealDomain{Int64,TransformVariables.Infinity{true},Float64},RealDomain{Int64,TransformVariables.Infinity{true},Float64},PDiagDomain{PDMats.PDiagMat{Float64,Array{Float64,1}}},RealDomain{Int64,TransformVariables.Infinity{true},Float64}}}},var"#27#34",var"#28#35",var"#29#36",ODEProblem{Nothing,Tuple{Nothing,Nothing},false,Nothing,ODEFunction{false,var"#30#37",LinearAlgebra.UniformScaling{Bool},Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing},Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{,Tuple{}}},DiffEqBase.StandardODEProblem},var"#32#39",var"#33#40"},Subject{NamedTuple{(:dv,),Tuple{Array{Union{Missing, Float64},1}}},Nothing,Array{Pumas.Event{Float64,Float64,Float64,Float64,Float64,Float64,Int64},1},Array{Float64,1}},NamedTuple{(:tvKa, :tvV1, :tvV2, :tvCL, :tvQ, :Ω, :σ),Tuple{Float64,Float64,Float64,Float64,Float64,PDMats.PDiagMat{Float64,Array{Float64,1}},Float64}},Tuple{}},Float64},Float64,5},1}) at C:\Users\Lenovo\.juliapro\JuliaPro_v1.3.1-1\packages\Pumas\Twdge\src\estimation\likelihoods.jl:685
 [21] #_derived_vηorth_gradient#189(::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{,Tuple{}}}, ::typeof(Pumas._derived_vηorth_gradient), ::PumasModel{ParamSet{NamedTuple{(:tvKa, :tvV1, :tvV2, :tvCL, :tvQ, :Ω, :σ),Tuple{RealDomain{Int64,TransformVariables.Infinity{true},Float64},RealDomain{Int64,TransformVariables.Infinity{true},Float64},RealDomain{Int64,TransformVariables.Infinity{true},Float64},RealDomain{Int64,TransformVariables.Infinity{true},Float64},RealDomain{Int64,TransformVariables.Infinity{true},Float64},PDiagDomain{PDMats.PDiagMat{Float64,Array{Float64,1}}},RealDomain{Int64,TransformVariables.Infinity{true},Float64}}}},var"#27#34",var"#28#35",var"#29#36",ODEProblem{Nothing,Tuple{Nothing,Nothing},false,Nothing,ODEFunction{false,var"#30#37",LinearAlgebra.UniformScaling{Bool},Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing},Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{,Tuple{}}},DiffEqBase.StandardODEProblem},var"#32#39",var"#33#40"}, ::Subject{NamedTuple{(:dv,),Tuple{Array{Union{Missing, Float64},1}}},Nothing,Array{Pumas.Event{Float64,Float64,Float64,Float64,Float64,Float64,Int64},1},Array{Float64,1}}, ::NamedTuple{(:tvKa, :tvV1, :tvV2, :tvCL, :tvQ, :Ω, :σ),Tuple{Float64,Float64,Float64,Float64,Float64,PDMats.PDiagMat{Float64,Array{Float64,1}},Float64}}, ::Array{Float64,1}) at C:\Users\Lenovo\.juliapro\JuliaPro_v1.3.1-1\packages\Pumas\Twdge\src\estimation\likelihoods.jl:693
 [22] _derived_vηorth_gradient at C:\Users\Lenovo\.juliapro\JuliaPro_v1.3.1-1\packages\Pumas\Twdge\src\estimation\likelihoods.jl:684 [inlined]
 [23] #∂²l∂η²#195(::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{,Tuple{}}}, ::typeof(Pumas.∂²l∂η²), ::PumasModel{ParamSet{NamedTuple{(:tvKa, :tvV1, :tvV2, :tvCL, :tvQ, :Ω, :σ),Tuple{RealDomain{Int64,TransformVariables.Infinity{true},Float64},RealDomain{Int64,TransformVariables.Infinity{true},Float64},RealDomain{Int64,TransformVariables.Infinity{true},Float64},RealDomain{Int64,TransformVariables.Infinity{true},Float64},RealDomain{Int64,TransformVariables.Infinity{true},Float64},PDiagDomain{PDMats.PDiagMat{Float64,Array{Float64,1}}},RealDomain{Int64,TransformVariables.Infinity{true},Float64}}}},var"#27#34",var"#28#35",var"#29#36",ODEProblem{Nothing,Tuple{Nothing,Nothing},false,Nothing,ODEFunction{false,var"#30#37",LinearAlgebra.UniformScaling{Bool},Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing},Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{,Tuple{}}},DiffEqBase.StandardODEProblem},var"#32#39",var"#33#40"}, ::Subject{NamedTuple{(:dv,),Tuple{Array{Union{Missing, Float64},1}}},Nothing,Array{Pumas.Event{Float64,Float64,Float64,Float64,Float64,Float64,Int64},1},Array{Float64,1}}, ::NamedTuple{(:tvKa, :tvV1, :tvV2, :tvCL, :tvQ, :Ω, :σ),Tuple{Float64,Float64,Float64,Float64,Float64,PDMats.PDiagMat{Float64,Array{Float64,1}},Float64}}, ::Array{Float64,1}, ::Pumas.FOCEI) at C:\Users\Lenovo\.juliapro\JuliaPro_v1.3.1-1\packages\Pumas\Twdge\src\estimation\likelihoods.jl:728
 [24] ∂²l∂η² at C:\Users\Lenovo\.juliapro\JuliaPro_v1.3.1-1\packages\Pumas\Twdge\src\estimation\likelihoods.jl:728 [inlined]
 [25] (::Pumas.var"#_fgh!#146"{Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{,Tuple{}}},PumasModel{ParamSet{NamedTuple{(:tvKa, :tvV1, :tvV2, :tvCL, :tvQ, :Ω, :σ),Tuple{RealDomain{Int64,TransformVariables.Infinity{true},Float64},RealDomain{Int64,TransformVariables.Infinity{true},Float64},RealDomain{Int64,TransformVariables.Infinity{true},Float64},RealDomain{Int64,TransformVariables.Infinity{true},Float64},RealDomain{Int64,TransformVariables.Infinity{true},Float64},PDiagDomain{PDMats.PDiagMat{Float64,Array{Float64,1}}},RealDomain{Int64,TransformVariables.Infinity{true},Float64}}}},var"#27#34",var"#28#35",var"#29#36",ODEProblem{Nothing,Tuple{Nothing,Nothing},false,Nothing,ODEFunction{false,var"#30#37",LinearAlgebra.UniformScaling{Bool},Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing},Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{,Tuple{}}},DiffEqBase.StandardODEProblem},var"#32#39",var"#33#40"},Subject{NamedTuple{(:dv,),Tuple{Array{Union{Missing, Float64},1}}},Nothing,Array{Pumas.Event{Float64,Float64,Float64,Float64,Float64,Float64,Int64},1},Array{Float64,1}},NamedTuple{(:tvKa, :tvV1, :tvV2, :tvCL, :tvQ, :Ω, :σ),Tuple{Float64,Float64,Float64,Float64,Float64,PDMats.PDiagMat{Float64,Array{Float64,1}},Float64}},Pumas.FOCEI,Tuple{}})(::Float64, ::Array{Float64,1}, ::Nothing, ::Array{Float64,1}) at C:\Users\Lenovo\.juliapro\JuliaPro_v1.3.1-1\packages\Pumas\Twdge\src\estimation\likelihoods.jl:223
 [26] (::NLSolversBase.var"#81#85"{NLSolversBase.InplaceObjective{Nothing,Nothing,Pumas.var"#_fgh!#146"{Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{,Tuple{}}},PumasModel{ParamSet{NamedTuple{(:tvKa, :tvV1, :tvV2, :tvCL, :tvQ, :Ω, :σ),Tuple{RealDomain{Int64,TransformVariables.Infinity{true},Float64},RealDomain{Int64,TransformVariables.Infinity{true},Float64},RealDomain{Int64,TransformVariables.Infinity{true},Float64},RealDomain{Int64,TransformVariables.Infinity{true},Float64},RealDomain{Int64,TransformVariables.Infinity{true},Float64},PDiagDomain{PDMats.PDiagMat{Float64,Array{Float64,1}}},RealDomain{Int64,TransformVariables.Infinity{true},Float64}}}},var"#27#34",var"#28#35",var"#29#36",ODEProblem{Nothing,Tuple{Nothing,Nothing},false,Nothing,ODEFunction{false,var"#30#37",LinearAlgebra.UniformScaling{Bool},Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing},Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{,Tuple{}}},DiffEqBase.StandardODEProblem},var"#32#39",var"#33#40"},Subject{NamedTuple{(:dv,),Tuple{Array{Union{Missing, Float64},1}}},Nothing,Array{Pumas.Event{Float64,Float64,Float64,Float64,Float64,Float64,Int64},1},Array{Float64,1}},NamedTuple{(:tvKa, :tvV1, :tvV2, :tvCL, :tvQ, :Ω, :σ),Tuple{Float64,Float64,Float64,Float64,Float64,PDMats.PDiagMat{Float64,Array{Float64,1}},Float64}},Pumas.FOCEI,Tuple{}},Nothing,Nothing},Float64})(::Array{Float64,1}, ::Array{Float64,1}) at C:\Users\Lenovo\.juliapro\JuliaPro_v1.3.1-1\packages\NLSolversBase\mGaJg\src\objective_types\incomplete.jl:99
 [27] value_gradient!!(::NLSolversBase.TwiceDifferentiable{Float64,Array{Float64,1},Array{Float64,2},Array{Float64,1}}, ::Array{Float64,1}) at C:\Users\Lenovo\.juliapro\JuliaPro_v1.3.1-1\packages\NLSolversBase\mGaJg\src\interface.jl:82
 [28] initial_state(::Optim.NewtonTrustRegion{Float64}, ::Optim.Options{Float64,Nothing}, ::NLSolversBase.TwiceDifferentiable{Float64,Array{Float64,1},Array{Float64,2},Array{Float64,1}}, ::Array{Float64,1}) at C:\Users\Lenovo\.juliapro\JuliaPro_v1.3.1-1\packages\Optim\SFpsz\src\multivariate\solvers\second_order\newton_trust_region.jl:298
 [29] optimize at C:\Users\Lenovo\.juliapro\JuliaPro_v1.3.1-1\packages\Optim\SFpsz\src\multivariate\optimize\optimize.jl:33 [inlined]
 [30] #_orth_empirical_bayes!#145(::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{,Tuple{}}}, ::typeof(Pumas._orth_empirical_bayes!), ::Array{Float64,1}, ::PumasModel{ParamSet{NamedTuple{(:tvKa, :tvV1, :tvV2, :tvCL, :tvQ, :Ω, :σ),Tuple{RealDomain{Int64,TransformVariables.Infinity{true},Float64},RealDomain{Int64,TransformVariables.Infinity{true},Float64},RealDomain{Int64,TransformVariables.Infinity{true},Float64},RealDomain{Int64,TransformVariables.Infinity{true},Float64},RealDomain{Int64,TransformVariables.Infinity{true},Float64},PDiagDomain{PDMats.PDiagMat{Float64,Array{Float64,1}}},RealDomain{Int64,TransformVariables.Infinity{true},Float64}}}},var"#27#34",var"#28#35",var"#29#36",ODEProblem{Nothing,Tuple{Nothing,Nothing},false,Nothing,ODEFunction{false,var"#30#37",LinearAlgebra.UniformScaling{Bool},Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing},Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{,Tuple{}}},DiffEqBase.StandardODEProblem},var"#32#39",var"#33#40"}, ::Subject{NamedTuple{(:dv,),Tuple{Array{Union{Missing, Float64},1}}},Nothing,Array{Pumas.Event{Float64,Float64,Float64,Float64,Float64,Float64,Int64},1},Array{Float64,1}}, ::NamedTuple{(:tvKa, :tvV1, :tvV2, :tvCL, :tvQ, :Ω, :σ),Tuple{Float64,Float64,Float64,Float64,Float64,PDMats.PDiagMat{Float64,Array{Float64,1}},Float64}}, ::Pumas.FOCEI) at C:\Users\Lenovo\.juliapro\JuliaPro_v1.3.1-1\packages\Pumas\Twdge\src\estimation\likelihoods.jl:248
 [31] _orth_empirical_bayes! at C:\Users\Lenovo\.juliapro\JuliaPro_v1.3.1-1\packages\Pumas\Twdge\src\estimation\likelihoods.jl:221 [inlined]
 [32] #_orth_empirical_bayes#143(::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{,Tuple{}}}, ::typeof(Pumas._orth_empirical_bayes), ::PumasModel{ParamSet{NamedTuple{(:tvKa, :tvV1, :tvV2, :tvCL, :tvQ, :Ω, :σ),Tuple{RealDomain{Int64,TransformVariables.Infinity{true},Float64},RealDomain{Int64,TransformVariables.Infinity{true},Float64},RealDomain{Int64,TransformVariables.Infinity{true},Float64},RealDomain{Int64,TransformVariables.Infinity{true},Float64},RealDomain{Int64,TransformVariables.Infinity{true},Float64},PDiagDomain{PDMats.PDiagMat{Float64,Array{Float64,1}}},RealDomain{Int64,TransformVariables.Infinity{true},Float64}}}},var"#27#34",var"#28#35",var"#29#36",ODEProblem{Nothing,Tuple{Nothing,Nothing},false,Nothing,ODEFunction{false,var"#30#37",LinearAlgebra.UniformScaling{Bool},Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing},Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{,Tuple{}}},DiffEqBase.StandardODEProblem},var"#32#39",var"#33#40"}, ::Subject{NamedTuple{(:dv,),Tuple{Array{Union{Missing, Float64},1}}},Nothing,Array{Pumas.Event{Float64,Float64,Float64,Float64,Float64,Float64,Int64},1},Array{Float64,1}}, ::NamedTuple{(:tvKa, :tvV1, :tvV2, :tvCL, :tvQ, :Ω, :σ),Tuple{Float64,Float64,Float64,Float64,Float64,PDMats.PDiagMat{Float64,Array{Float64,1}},Float64}}, ::Pumas.FOCEI) at C:\Users\Lenovo\.juliapro\JuliaPro_v1.3.1-1\packages\Pumas\Twdge\src\estimation\likelihoods.jl:197
 [33] _orth_empirical_bayes at C:\Users\Lenovo\.juliapro\JuliaPro_v1.3.1-1\packages\Pumas\Twdge\src\estimation\likelihoods.jl:195 [inlined]
 [34] (::Pumas.var"#232#233"{Float64,Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{,Tuple{}}},Pumas.FittedPumasModel{PumasModel{ParamSet{NamedTuple{(:tvKa, :tvV1, :tvV2, :tvCL, :tvQ, :Ω, :σ),Tuple{RealDomain{Int64,TransformVariables.Infinity{true},Float64},RealDomain{Int64,TransformVariables.Infinity{true},Float64},RealDomain{Int64,TransformVariables.Infinity{true},Float64},RealDomain{Int64,TransformVariables.Infinity{true},Float64},RealDomain{Int64,TransformVariables.Infinity{true},Float64},PDiagDomain{PDMats.PDiagMat{Float64,Array{Float64,1}}},RealDomain{Int64,TransformVariables.Infinity{true},Float64}}}},var"#27#34",var"#28#35",var"#29#36",ODEProblem{Nothing,Tuple{Nothing,Nothing},false,Nothing,ODEFunction{false,var"#30#37",LinearAlgebra.UniformScaling{Bool},Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing},Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{,Tuple{}}},DiffEqBase.StandardODEProblem},var"#32#39",var"#33#40"},Array{Subject{NamedTuple{(:dv,),Tuple{Array{Union{Missing, Float64},1}}},Nothing,Array{Pumas.Event{Float64,Float64,Float64,Float64,Float64,Float64,Int64},1},Array{Float64,1}},1},Optim.MultivariateOptimizationResults{Optim.BFGS{LineSearches.InitialStatic{Float64},LineSearches.BackTracking{Float64,Int64},Pumas.var"#211#212"{NLSolversBase.OnceDifferentiable{Float64,Array{Float64,1},Array{Float64,1}},Array{Float64,1}},Nothing,Optim.Flat},Float64,Array{Float64,1},Float64,Float64,Array{Optim.OptimizationState{Float64,Optim.BFGS{LineSearches.InitialStatic{Float64},LineSearches.BackTracking{Float64,Int64},Pumas.var"#211#212"{NLSolversBase.OnceDifferentiable{Float64,Array{Float64,1},Array{Float64,1}},Array{Float64,1}},Nothing,Optim.Flat}},1},Bool},Pumas.FOCEI,Array{Array{Float64,1},1},Tuple{},Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{,Tuple{}}},TransformVariables.TransformTuple{NamedTuple{(:tvKa, :tvV1, :tvV2, :tvCL, :tvQ, :Ω, :σ),Tuple{TransformVariables.ShiftedExp{true,Int64},TransformVariables.ShiftedExp{true,Int64},TransformVariables.ShiftedExp{true,Int64},TransformVariables.ShiftedExp{true,Int64},TransformVariables.ShiftedExp{true,Int64},Pumas.PDiagTransform,TransformVariables.ShiftedExp{true,Int64}}}}},Tuple{},TransformVariables.TransformTuple{NamedTuple{(:tvKa, :tvV1, :tvV2, :tvCL, :tvQ, :Ω, :σ),Tuple{TransformVariables.Identity,TransformVariables.Identity,TransformVariables.Identity,TransformVariables.Identity,TransformVariables.Identity,Pumas.DiagonalTransform,TransformVariables.Identity}}},Float64,Subject{NamedTuple{(:dv,),Tuple{Array{Union{Missing, Float64},1}}},Nothing,Array{Pumas.Event{Float64,Float64,Float64,Float64,Float64,Float64,Int64},1},Array{Float64,1}}})(::Array{Float64,1}, ::Array{Float64,1}) at C:\Users\Lenovo\.juliapro\JuliaPro_v1.3.1-1\packages\Pumas\Twdge\src\estimation\likelihoods.jl:1184
 [35] #finite_difference_jacobian!#40(::Float64, ::Float64, ::UnitRange{Int64}, ::Nothing, ::Bool, ::typeof(FiniteDiff.finite_difference_jacobian!), ::Array{Float64,2}, ::Pumas.var"#232#233"{Float64,Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{,Tuple{}}},Pumas.FittedPumasModel{PumasModel{ParamSet{NamedTuple{(:tvKa, :tvV1, :tvV2, :tvCL, :tvQ, :Ω, :σ),Tuple{RealDomain{Int64,TransformVariables.Infinity{true},Float64},RealDomain{Int64,TransformVariables.Infinity{true},Float64},RealDomain{Int64,TransformVariables.Infinity{true},Float64},RealDomain{Int64,TransformVariables.Infinity{true},Float64},RealDomain{Int64,TransformVariables.Infinity{true},Float64},PDiagDomain{PDMats.PDiagMat{Float64,Array{Float64,1}}},RealDomain{Int64,TransformVariables.Infinity{true},Float64}}}},var"#27#34",var"#28#35",var"#29#36",ODEProblem{Nothing,Tuple{Nothing,Nothing},false,Nothing,ODEFunction{false,var"#30#37",LinearAlgebra.UniformScaling{Bool},Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing},Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{,Tuple{}}},DiffEqBase.StandardODEProblem},var"#32#39",var"#33#40"},Array{Subject{NamedTuple{(:dv,),Tuple{Array{Union{Missing, Float64},1}}},Nothing,Array{Pumas.Event{Float64,Float64,Float64,Float64,Float64,Float64,Int64},1},Array{Float64,1}},1},Optim.MultivariateOptimizationResults{Optim.BFGS{LineSearches.InitialStatic{Float64},LineSearches.BackTracking{Float64,Int64},Pumas.var"#211#212"{NLSolversBase.OnceDifferentiable{Float64,Array{Float64,1},Array{Float64,1}},Array{Float64,1}},Nothing,Optim.Flat},Float64,Array{Float64,1},Float64,Float64,Array{Optim.OptimizationState{Float64,Optim.BFGS{LineSearches.InitialStatic{Float64},LineSearches.BackTracking{Float64,Int64},Pumas.var"#211#212"{NLSolversBase.OnceDifferentiable{Float64,Array{Float64,1},Array{Float64,1}},Array{Float64,1}},Nothing,Optim.Flat}},1},Bool},Pumas.FOCEI,Array{Array{Float64,1},1},Tuple{},Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{,Tuple{}}},TransformVariables.TransformTuple{NamedTuple{(:tvKa, :tvV1, :tvV2, :tvCL, :tvQ, :Ω, :σ),Tuple{TransformVariables.ShiftedExp{true,Int64},TransformVariables.ShiftedExp{true,Int64},TransformVariables.ShiftedExp{true,Int64},TransformVariables.ShiftedExp{true,Int64},TransformVariables.ShiftedExp{true,Int64},Pumas.PDiagTransform,TransformVariables.ShiftedExp{true,Int64}}}}},Tuple{},TransformVariables.TransformTuple{NamedTuple{(:tvKa, :tvV1, :tvV2, :tvCL, :tvQ, :Ω, :σ),Tuple{TransformVariables.Identity,TransformVariables.Identity,TransformVariables.Identity,TransformVariables.Identity,TransformVariables.Identity,Pumas.DiagonalTransform,TransformVariables.Identity}}},Float64,Subject{NamedTuple{(:dv,),Tuple{Array{Union{Missing, Float64},1}}},Nothing,Array{Pumas.Event{Float64,Float64,Float64,Float64,Float64,Float64,Int64},1},Array{Float64,1}}}, ::Array{Float64,1}, ::FiniteDiff.JacobianCache{Array{Float64,1},Array{Float64,1},Array{Float64,1},UnitRange{Int64},Nothing,Val{:central},Float64}, ::Array{Float64,1}) at C:\Users\Lenovo\.juliapro\JuliaPro_v1.3.1-1\packages\FiniteDiff\EBys0\src\jacobians.jl:372
 [36] (::FiniteDiff.var"#kw##finite_difference_jacobian!")(::NamedTuple{(:relstep, :absstep, :colorvec, :sparsity),Tuple{Float64,Float64,UnitRange{Int64},Nothing}}, ::typeof(FiniteDiff.finite_difference_jacobian!),
::Array{Float64,2}, ::Function, ::Array{Float64,1}, ::FiniteDiff.JacobianCache{Array{Float64,1},Array{Float64,1},Array{Float64,1},UnitRange{Int64},Nothing,Val{:central},Float64}, ::Array{Float64,1}) at .\none:0
 [37] (::FiniteDiff.var"#kw##finite_difference_jacobian!")(::NamedTuple{(:relstep, :absstep),Tuple{Float64,Float64}}, ::typeof(FiniteDiff.finite_difference_jacobian!), ::Array{Float64,2}, ::Function, ::Array{Float64,1}, ::Type{Val{:central}}) at C:\Users\Lenovo\.juliapro\JuliaPro_v1.3.1-1\packages\FiniteDiff\EBys0\src\jacobians.jl:282
 [38] #_observed_information#231(::Float64, ::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{,Tuple{}}}, ::typeof(Pumas._observed_information), ::Pumas.FittedPumasModel{PumasModel{ParamSet{NamedTuple{(:tvKa, :tvV1, :tvV2, :tvCL, :tvQ, :Ω, :σ),Tuple{RealDomain{Int64,TransformVariables.Infinity{true},Float64},RealDomain{Int64,TransformVariables.Infinity{true},Float64},RealDomain{Int64,TransformVariables.Infinity{true},Float64},RealDomain{Int64,TransformVariables.Infinity{true},Float64},RealDomain{Int64,TransformVariables.Infinity{true},Float64},PDiagDomain{PDMats.PDiagMat{Float64,Array{Float64,1}}},RealDomain{Int64,TransformVariables.Infinity{true},Float64}}}},var"#27#34",var"#28#35",var"#29#36",ODEProblem{Nothing,Tuple{Nothing,Nothing},false,Nothing,ODEFunction{false,var"#30#37",LinearAlgebra.UniformScaling{Bool},Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing},Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{,Tuple{}}},DiffEqBase.StandardODEProblem},var"#32#39",var"#33#40"},Array{Subject{NamedTuple{(:dv,),Tuple{Array{Union{Missing, Float64},1}}},Nothing,Array{Pumas.Event{Float64,Float64,Float64,Float64,Float64,Float64,Int64},1},Array{Float64,1}},1},Optim.MultivariateOptimizationResults{Optim.BFGS{LineSearches.InitialStatic{Float64},LineSearches.BackTracking{Float64,Int64},Pumas.var"#211#212"{NLSolversBase.OnceDifferentiable{Float64,Array{Float64,1},Array{Float64,1}},Array{Float64,1}},Nothing,Optim.Flat},Float64,Array{Float64,1},Float64,Float64,Array{Optim.OptimizationState{Float64,Optim.BFGS{LineSearches.InitialStatic{Float64},LineSearches.BackTracking{Float64,Int64},Pumas.var"#211#212"{NLSolversBase.OnceDifferentiable{Float64,Array{Float64,1},Array{Float64,1}},Array{Float64,1}},Nothing,Optim.Flat}},1},Bool},Pumas.FOCEI,Array{Array{Float64,1},1},Tuple{},Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{,Tuple{}}},TransformVariables.TransformTuple{NamedTuple{(:tvKa, :tvV1, :tvV2, :tvCL, :tvQ, :Ω, :σ),Tuple{TransformVariables.ShiftedExp{true,Int64},TransformVariables.ShiftedExp{true,Int64},TransformVariables.ShiftedExp{true,Int64},TransformVariables.ShiftedExp{true,Int64},TransformVariables.ShiftedExp{true,Int64},Pumas.PDiagTransform,TransformVariables.ShiftedExp{true,Int64}}}}}, ::Val{true}) at C:\Users\Lenovo\.juliapro\JuliaPro_v1.3.1-1\packages\Pumas\Twdge\src\estimation\likelihoods.jl:1203
 [39] _observed_information at C:\Users\Lenovo\.juliapro\JuliaPro_v1.3.1-1\packages\Pumas\Twdge\src\estimation\likelihoods.jl:1161 [inlined]
 [40] #vcov#253(::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{,Tuple{}}}, ::typeof(vcov), ::Pumas.FittedPumasModel{PumasModel{ParamSet{NamedTuple{(:tvKa, :tvV1, :tvV2, :tvCL, :tvQ, :Ω, :σ),Tuple{RealDomain{Int64,TransformVariables.Infinity{true},Float64},RealDomain{Int64,TransformVariables.Infinity{true},Float64},RealDomain{Int64,TransformVariables.Infinity{true},Float64},RealDomain{Int64,TransformVariables.Infinity{true},Float64},RealDomain{Int64,TransformVariables.Infinity{true},Float64},PDiagDomain{PDMats.PDiagMat{Float64,Array{Float64,1}}},RealDomain{Int64,TransformVariables.Infinity{true},Float64}}}},var"#27#34",var"#28#35",var"#29#36",ODEProblem{Nothing,Tuple{Nothing,Nothing},false,Nothing,ODEFunction{false,var"#30#37",LinearAlgebra.UniformScaling{Bool},Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing},Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{,Tuple{}}},DiffEqBase.StandardODEProblem},var"#32#39",var"#33#40"},Array{Subject{NamedTuple{(:dv,),Tuple{Array{Union{Missing, Float64},1}}},Nothing,Array{Pumas.Event{Float64,Float64,Float64,Float64,Float64,Float64,Int64},1},Array{Float64,1}},1},Optim.MultivariateOptimizationResults{Optim.BFGS{LineSearches.InitialStatic{Float64},LineSearches.BackTracking{Float64,Int64},Pumas.var"#211#212"{NLSolversBase.OnceDifferentiable{Float64,Array{Float64,1},Array{Float64,1}},Array{Float64,1}},Nothing,Optim.Flat},Float64,Array{Float64,1},Float64,Float64,Array{Optim.OptimizationState{Float64,Optim.BFGS{LineSearches.InitialStatic{Float64},LineSearches.BackTracking{Float64,Int64},Pumas.var"#211#212"{NLSolversBase.OnceDifferentiable{Float64,Array{Float64,1},Array{Float64,1}},Array{Float64,1}},Nothing,Optim.Flat}},1},Bool},Pumas.FOCEI,Array{Array{Float64,1},1},Tuple{},Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{,Tuple{}}},TransformVariables.TransformTuple{NamedTuple{(:tvKa, :tvV1, :tvV2, :tvCL, :tvQ, :Ω, :σ),Tuple{TransformVariables.ShiftedExp{true,Int64},TransformVariables.ShiftedExp{true,Int64},TransformVariables.ShiftedExp{true,Int64},TransformVariables.ShiftedExp{true,Int64},TransformVariables.ShiftedExp{true,Int64},Pumas.PDiagTransform,TransformVariables.ShiftedExp{true,Int64}}}}}) at C:\Users\Lenovo\.juliapro\JuliaPro_v1.3.1-1\packages\Pumas\Twdge\src\estimation\likelihoods.jl:1361
 [41] vcov at C:\Users\Lenovo\.juliapro\JuliaPro_v1.3.1-1\packages\Pumas\Twdge\src\estimation\likelihoods.jl:1361 [inlined]
 [42] #infer#272(::Float64, 

Can you post the results of your res @sai_matcha?

Dear Sai - Thank you for your post. Here are some considerations for you:

  1. The error msg you faced is to do with the ability to estimate the Standard Errors (SE). In this case, we were able to reproduce your simulations only to find that the BSV (omega) for V and V2 are negligible. Hence the problem estimating SE.
  2. We also inspected the simulated data, to surmise that it is unlikely to estimate the distribution related parameters given the variability - I suspect due to the 20% residual error. In this case, the BSV of the distribution parameters will not be able to be estimated. If you exclude the estimation of these two parameters (BSV of V2, Q), then the model estimation and subsequent SE estimation were successful. You might want to consider not estimating those two parameters or consider an alternative design. This is a simulation/estimation problem; and not a software related issue.
  3. There are few additional comments for your consideration:
    3a. You might want to use consistent parameter V and tvV1 - could cost us some time if we were to revisit this code after a longtime.
    3b. Looks like you intended to estimate the variance of the proportional residual error. However, the notation used was σ (which is really the SD). While the estimation will not be affected it might be a good practice to call it σ².
    3c. We might be better off to call the output of fit() as result_twocompevsd rather than res, as it should not be confused with residuals. [I know other examples online use res too. :)]
    Please let us know if we could be of further help…J

thank you very much @jogagobburu .
I tried running a model with K23,K32 instead Q . i was able to simulate by using that model. i wanted to know why most of the people prefer Q instead K23,K32

I don’t think numerically there should be that much of a difference between clearance based vs rate constant based models. However there are couple of philosophical/technical considerations.

  1. Because clearance and volume reflect physiologic parameters, it is easier to consider covariates that might influence them. A rate constant might be considered as the ratio of those fundamental parameters, hence derived. Testing a covariate on a ratio is tricky as one would not know which parameter is affected - cleanse or volume. For eg we eGFR is related to systemic clearance. If we relate eGFR to the elimination rate constant the interpretation is now confounded.
  2. If you agree with above philosophy, then because rate constants are derived ratios there is also need then to estimate Covariance between volume and rate constant. As the rate constant could change due to changes in both clearance and volume based parameters.
  3. No matter which approach you use, always think about which would be the most convenient way to communicate to prescribers.
    J
1 Like
julia> res
FittedPumasModel

Successful minimization:                true

Likelihood approximation:        Pumas.FOCEI
Deviance:                          100.75023
Total number of observation records:     360
Number of active observation records:    360
Number of subjects:                       15

-------------------
         Estimate
-------------------
tvKa      0.52131
tvV1     39.189
tvV2     28.958
tvCL      9.1881
tvQ      13.803
Ω₁,₁      0.10911
Ω₂,₂      0.080255
Ω₃,₃      0.049688
Ω₄,₄      0.054085
Ω₅,₅      0.06587
σ         0.035358
-------------------

thank you very much @jogagobburu

@vijay i run the model for 5 times, infer(res) was successful for 3 times and 2 times it gave gave error

As stated already, you have quite a lot of random effects. It can sometimes be hard to identify these. Other software will sometimes just “remove” the parameter (ignore it for the rest of the estimation) or abort if we get too close to 0 for a variance parameter. In the next version of Pumas it will actually tell you to look for small variance if infer fails. I ran your model a few times, and when it failed, this is what I saw


julia> res = fit(twocompevsd,data,param,Pumas.FOCEI())
FittedPumasModel

Successful minimization:                true

Likelihood approximation:        Pumas.FOCEI
Deviance:                          236.37229
Total number of observation records:     360
Number of active observation records:    360
Number of subjects:                       15

--------------------
         Estimate
--------------------
tvKa      0.69899
tvV1     42.2
tvV2     33.596
tvCL      8.3638
tvQ      20.173
Ω₁,₁      0.066574
Ω₂,₂      0.23629
Ω₃,₃      0.029744
Ω₄,₄      0.2052
Ω₅,₅      2.5024e-7
σ         0.042494
--------------------

I guess you can see by now what went wrong.

Now of course, you can never say never. There is a chance that this is a spurious result, and the fit procedure failed to find the best parameters (and got stuck in a region with a small fifth omega), but I doubt it. The starting parameters are sane, the obtained parameters are sane, and the optimization convergence information also seems sane

julia> res.optim
 * Status: success

 * Candidate solution
    Minimizer: [-3.58e-01, 3.74e+00, 3.51e+00,  ...]
    Minimum:   4.490040e+02

 * Found with
    Algorithm:     BFGS
    Initial Point: [-1.05e-01, 3.91e+00, 3.00e+00,  ...]

 * Convergence measures
    |x - x'|               = 6.24e-01 ≰ 0.0e+00
    |x - x'|/|x'|          = 4.10e-02 ≰ 0.0e+00
    |f(x) - f(x')|         = 1.20e-06 ≰ 0.0e+00
    |f(x) - f(x')|/|f(x')| = 2.68e-09 ≰ 0.0e+00
    |g(x)|                 = 7.19e-04 ≤ 1.0e-03

 * Work counters
    Seconds run:   27  (vs limit Inf)
    Iterations:    51
    f(x) calls:    55
    ∇f(x) calls:   52

Mixed effects models can be very useful when we need subject specific flexibility, but it’s also hard to identify these parameters. Remember, each individual has 5 sources of unobserved “noise” we have to handle here. It’s quite a lot, even for 23 observations.