IPRED multiple doses for obstimes

Hello,

Is it currently possible to use the predict function to get ipreds with multiple doses if your dv’s were for just one dose? I tried to add a pumas population, but I’m getting a “no method matching…” error. I also tried the nsim method, which gave the following error: ERROR: using simulated subjects is not yet implemented.

Please share the exact invocation that errored as well as the complete error message.

#1
predict(model_fit; nsim=4, obstimes = obstimes_MD)

julia> ipred_df = DataFrame(predict(abbrev_pl_BE_sims_ML_reest_fits[i]; nsim=4, obstimes = obstimes_MD[1]))
ERROR: using simulated subjects is not yet implemented.
Stacktrace:
 [1] error(s::String)
   @ Base ./error.jl:33
 [2] predict(fpm::Pumas.FittedPumasModel{PumasModel{ParamSet{NamedTuple{(:tvKa, :tvCL, :tvVc, :ωCL, :ωVc, :ΩCL_occ, :ΩVc_occ, :σ_add, :σ_prop), NTuple{9, RealDomain{Float64, TransformVariables.Infinity{true}, Float64}}}}, var"#203#217", var"#204#218", var"#206#220", var"#208#222", Depots1Central1, var"#209#223", var"#213#227", Nothing}, Vector{Subject{NamedTuple{(:dv,), Tuple{Vector{Union{Missing, Float64}}}}, Pumas.ConstantInterpolationStructArray{Vector{Float64}, StructArrays.StructVector{NamedTuple{(:rep, :trial_dur, :params_num, :NSubj, :occ, :period, :sequence, :seq_n, :formulation, :isT, :relF_T, :num_occs), Tuple{Int64, Int64, Int64, Int64, Int64, Int64, String, Int64, String, Int64, Float64, Int64}}, NamedTuple{(:rep, :trial_dur, :params_num, :NSubj, :occ, :period, :sequence, :seq_n, :formulation, :isT, :relF_T, :num_occs), Tuple{FillArrays.Fill{Int64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Int64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Int64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Int64, 1, Tuple{Base.OneTo{Int64}}}, Vector{Int64}, FillArrays.Fill{Int64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{String, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Int64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{String, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Int64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Float64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Int64, 1, Tuple{Base.OneTo{Int64}}}}}, Int64}, Symbol}, Vector{Pumas.Event{Float64, Float64, Float64, Float64, Float64, Float64, Int64}}, Vector{Float64}}}, Optim.MultivariateOptimizationResults{Optim.BFGS{LineSearches.InitialStatic{Float64}, LineSearches.BackTracking{Float64, Int64}, Nothing, Float64, Optim.Flat}, Float64, Vector{Float64}, Float64, Float64, Vector{Optim.OptimizationState{Float64, Optim.BFGS{LineSearches.InitialStatic{Float64}, LineSearches.BackTracking{Float64, Int64}, Nothing, Float64, Optim.Flat}}}, Bool, NamedTuple{(:f_limit_reached, :g_limit_reached, :h_limit_reached, :time_limit, :callback, :f_increased), NTuple{6, Bool}}}, Pumas.FOCE, Vector{Vector{Float64}}, NamedTuple{(:optimize_fn, :constantcoef, :omegas, :ensemblealg, :diffeq_options), Tuple{Pumas.DefaultOptimizeFN{Nothing, NamedTuple{(:show_trace, :store_trace, :extended_trace, :g_tol, :allow_f_increases), Tuple{Bool, Bool, Bool, Float64, Bool}}}, NamedTuple{(), Tuple{}}, Tuple{}, EnsembleThreads, NamedTuple{(), Tuple{}}}}, ParamSet{NamedTuple{(:tvKa, :tvCL, :tvVc, :ωCL, :ωVc, :ΩCL_occ, :ΩVc_occ, :σ_add, :σ_prop), NTuple{9, RealDomain{Float64, TransformVariables.Infinity{true}, Float64}}}}}; nsim::Int64, obstimes::Vector{Real})
   @ Pumas /builds/PumasAI/PumasSystemImages-jl/.julia/packages/Pumas/XHa5R/src/estimation/diagnostics.jl:118
 [3] top-level scope
   @ REPL[103]:1

#2
predict(model_fit, pumas_pop; obstimes = obstimes_MD))

julia> ipred_df = DataFrame(predict(abbrev_pl_BE_sims_ML_reest_fits[i], pl_BE_pops[1][3]; obstimes = obstimes_MD[1]))
ERROR: ArgumentError: predict was called on a subject with no time or observations and without specifying the random effects. To fix this make sure the subject has proper time and observations defined or provide a NamedTuple of random effects.
Stacktrace:
 [1] _predict(model::PumasModel{ParamSet{NamedTuple{(:tvKa, :tvCL, :tvVc, :ωCL, :ωVc, :ΩCL_occ, :ΩVc_occ, :σ_add, :σ_prop), NTuple{9, RealDomain{Float64, TransformVariables.Infinity{true}, Float64}}}}, var"#203#217", var"#204#218", var"#206#220", var"#208#222", Depots1Central1, var"#209#223", var"#213#227", Nothing}, subject::Subject{NamedTuple{(:dv,), Tuple{Vector{Union{Missing, Float64}}}}, Pumas.ConstantInterpolationStructArray{Vector{Float64}, StructArrays.StructVector{NamedTuple{(:trial_dur, :params_num, :NSubj, :occ, :period, :sequence, :seq_n, :formulation, :isT), Tuple{Int64, Int64, Int64, Int64, Int64, String, Int64, String, Int64}}, NamedTuple{(:trial_dur, :params_num, :NSubj, :occ, :period, :sequence, :seq_n, :formulation, :isT), Tuple{FillArrays.Fill{Int64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Int64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Int64, 1, Tuple{Base.OneTo{Int64}}}, Vector{Int64}, FillArrays.Fill{Int64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{String, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Int64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{String, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Int64, 1, Tuple{Base.OneTo{Int64}}}}}, Int64}, Symbol}, Vector{Pumas.Event{Float64, Float64, Float64, Float64, Float64, Float64, Int64}}, Vector{Float64}}, param::NamedTuple{(:tvKa, :tvCL, :tvVc, :ωCL, :ωVc, :ΩCL_occ, :ΩVc_occ, :σ_add, :σ_prop), NTuple{9, Float64}}, vrandeffsorth::Nothing; obstimes::Vector{Real}, diffeq_options::NamedTuple{(), Tuple{}})
   @ Pumas /builds/PumasAI/PumasSystemImages-jl/.julia/packages/Pumas/XHa5R/src/estimation/diagnostics.jl:269
 [2] predict(model::PumasModel{ParamSet{NamedTuple{(:tvKa, :tvCL, :tvVc, :ωCL, :ωVc, :ΩCL_occ, :ΩVc_occ, :σ_add, :σ_prop), NTuple{9, RealDomain{Float64, TransformVariables.Infinity{true}, Float64}}}}, var"#203#217", var"#204#218", var"#206#220", var"#208#222", Depots1Central1, var"#209#223", var"#213#227", Nothing}, subject::Subject{NamedTuple{(:dv,), Tuple{Vector{Union{Missing, Float64}}}}, Pumas.ConstantInterpolationStructArray{Vector{Float64}, StructArrays.StructVector{NamedTuple{(:trial_dur, :params_num, :NSubj, :occ, :period, :sequence, :seq_n, :formulation, :isT), Tuple{Int64, Int64, Int64, Int64, Int64, String, Int64, String, Int64}}, NamedTuple{(:trial_dur, :params_num, :NSubj, :occ, :period, :sequence, :seq_n, :formulation, :isT), Tuple{FillArrays.Fill{Int64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Int64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Int64, 1, Tuple{Base.OneTo{Int64}}}, Vector{Int64}, FillArrays.Fill{Int64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{String, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Int64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{String, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Int64, 1, Tuple{Base.OneTo{Int64}}}}}, Int64}, Symbol}, Vector{Pumas.Event{Float64, Float64, Float64, Float64, Float64, Float64, Int64}}, Vector{Float64}}, param::NamedTuple{(:tvKa, :tvCL, :tvVc, :ωCL, :ωVc, :ΩCL_occ, :ΩVc_occ, :σ_add, :σ_prop), NTuple{9, Float64}}, randeffs::Nothing; obstimes::Vector{Real}, diffeq_options::NamedTuple{(), Tuple{}})
   @ Pumas /builds/PumasAI/PumasSystemImages-jl/.julia/packages/Pumas/XHa5R/src/estimation/diagnostics.jl:56
 [3] (::Pumas.var"#655#656"{Vector{Real}, Pumas.FittedPumasModel{PumasModel{ParamSet{NamedTuple{(:tvKa, :tvCL, :tvVc, :ωCL, :ωVc, :ΩCL_occ, :ΩVc_occ, :σ_add, :σ_prop), NTuple{9, RealDomain{Float64, TransformVariables.Infinity{true}, Float64}}}}, var"#203#217", var"#204#218", var"#206#220", var"#208#222", Depots1Central1, var"#209#223", var"#213#227", Nothing}, Vector{Subject{NamedTuple{(:dv,), Tuple{Vector{Union{Missing, Float64}}}}, Pumas.ConstantInterpolationStructArray{Vector{Float64}, StructArrays.StructVector{NamedTuple{(:rep, :trial_dur, :params_num, :NSubj, :occ, :period, :sequence, :seq_n, :formulation, :isT, :relF_T, :num_occs), Tuple{Int64, Int64, Int64, Int64, Int64, Int64, String, Int64, String, Int64, Float64, Int64}}, NamedTuple{(:rep, :trial_dur, :params_num, :NSubj, :occ, :period, :sequence, :seq_n, :formulation, :isT, :relF_T, :num_occs), Tuple{FillArrays.Fill{Int64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Int64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Int64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Int64, 1, Tuple{Base.OneTo{Int64}}}, Vector{Int64}, FillArrays.Fill{Int64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{String, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Int64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{String, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Int64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Float64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Int64, 1, Tuple{Base.OneTo{Int64}}}}}, Int64}, Symbol}, Vector{Pumas.Event{Float64, Float64, Float64, Float64, Float64, Float64, Int64}}, Vector{Float64}}}, Optim.MultivariateOptimizationResults{Optim.BFGS{LineSearches.InitialStatic{Float64}, LineSearches.BackTracking{Float64, Int64}, Nothing, Float64, Optim.Flat}, Float64, Vector{Float64}, Float64, Float64, Vector{Optim.OptimizationState{Float64, Optim.BFGS{LineSearches.InitialStatic{Float64}, LineSearches.BackTracking{Float64, Int64}, Nothing, Float64, Optim.Flat}}}, Bool, NamedTuple{(:f_limit_reached, :g_limit_reached, :h_limit_reached, :time_limit, :callback, :f_increased), NTuple{6, Bool}}}, Pumas.FOCE, Vector{Vector{Float64}}, NamedTuple{(:optimize_fn, :constantcoef, :omegas, :ensemblealg, :diffeq_options), Tuple{Pumas.DefaultOptimizeFN{Nothing, NamedTuple{(:show_trace, :store_trace, :extended_trace, :g_tol, :allow_f_increases), Tuple{Bool, Bool, Bool, Float64, Bool}}}, NamedTuple{(), Tuple{}}, Tuple{}, EnsembleThreads, NamedTuple{(), Tuple{}}}}, ParamSet{NamedTuple{(:tvKa, :tvCL, :tvVc, :ωCL, :ωVc, :ΩCL_occ, :ΩVc_occ, :σ_add, :σ_prop), NTuple{9, RealDomain{Float64, TransformVariables.Infinity{true}, Float64}}}}}, Vector{Subject{NamedTuple{(:dv,), Tuple{Vector{Union{Missing, Float64}}}}, Pumas.ConstantInterpolationStructArray{Vector{Float64}, StructArrays.StructVector{NamedTuple{(:trial_dur, :params_num, :NSubj, :occ, :period, :sequence, :seq_n, :formulation, :isT), Tuple{Int64, Int64, Int64, Int64, Int64, String, Int64, String, Int64}}, NamedTuple{(:trial_dur, :params_num, :NSubj, :occ, :period, :sequence, :seq_n, :formulation, :isT), Tuple{FillArrays.Fill{Int64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Int64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Int64, 1, Tuple{Base.OneTo{Int64}}}, Vector{Int64}, FillArrays.Fill{Int64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{String, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Int64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{String, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Int64, 1, Tuple{Base.OneTo{Int64}}}}}, Int64}, Symbol}, Vector{Pumas.Event{Float64, Float64, Float64, Float64, Float64, Float64, Int64}}, Vector{Float64}}}})(i::Int64)
   @ Pumas /builds/PumasAI/PumasSystemImages-jl/.julia/packages/Pumas/XHa5R/src/estimation/diagnostics.jl:164
 [4] iterate
   @ ./generator.jl:47 [inlined]
 [5] _collect(c::UnitRange{Int64}, itr::Base.Generator{UnitRange{Int64}, Pumas.var"#655#656"{Vector{Real}, Pumas.FittedPumasModel{PumasModel{ParamSet{NamedTuple{(:tvKa, :tvCL, :tvVc, :ωCL, :ωVc, :ΩCL_occ, :ΩVc_occ, :σ_add, :σ_prop), NTuple{9, RealDomain{Float64, TransformVariables.Infinity{true}, Float64}}}}, var"#203#217", var"#204#218", var"#206#220", var"#208#222", Depots1Central1, var"#209#223", var"#213#227", Nothing}, Vector{Subject{NamedTuple{(:dv,), Tuple{Vector{Union{Missing, Float64}}}}, Pumas.ConstantInterpolationStructArray{Vector{Float64}, StructArrays.StructVector{NamedTuple{(:rep, :trial_dur, :params_num, :NSubj, :occ, :period, :sequence, :seq_n, :formulation, :isT, :relF_T, :num_occs), Tuple{Int64, Int64, Int64, Int64, Int64, Int64, String, Int64, String, Int64, Float64, Int64}}, NamedTuple{(:rep, :trial_dur, :params_num, :NSubj, :occ, :period, :sequence, :seq_n, :formulation, :isT, :relF_T, :num_occs), Tuple{FillArrays.Fill{Int64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Int64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Int64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Int64, 1, Tuple{Base.OneTo{Int64}}}, Vector{Int64}, FillArrays.Fill{Int64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{String, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Int64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{String, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Int64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Float64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Int64, 1, Tuple{Base.OneTo{Int64}}}}}, Int64}, Symbol}, Vector{Pumas.Event{Float64, Float64, Float64, Float64, Float64, Float64, Int64}}, Vector{Float64}}}, Optim.MultivariateOptimizationResults{Optim.BFGS{LineSearches.InitialStatic{Float64}, LineSearches.BackTracking{Float64, Int64}, Nothing, Float64, Optim.Flat}, Float64, Vector{Float64}, Float64, Float64, Vector{Optim.OptimizationState{Float64, Optim.BFGS{LineSearches.InitialStatic{Float64}, LineSearches.BackTracking{Float64, Int64}, Nothing, Float64, Optim.Flat}}}, Bool, NamedTuple{(:f_limit_reached, :g_limit_reached, :h_limit_reached, :time_limit, :callback, :f_increased), NTuple{6, Bool}}}, Pumas.FOCE, Vector{Vector{Float64}}, NamedTuple{(:optimize_fn, :constantcoef, :omegas, :ensemblealg, :diffeq_options), Tuple{Pumas.DefaultOptimizeFN{Nothing, NamedTuple{(:show_trace, :store_trace, :extended_trace, :g_tol, :allow_f_increases), Tuple{Bool, Bool, Bool, Float64, Bool}}}, NamedTuple{(), Tuple{}}, Tuple{}, EnsembleThreads, NamedTuple{(), Tuple{}}}}, ParamSet{NamedTuple{(:tvKa, :tvCL, :tvVc, :ωCL, :ωVc, :ΩCL_occ, :ΩVc_occ, :σ_add, :σ_prop), NTuple{9, RealDomain{Float64, TransformVariables.Infinity{true}, Float64}}}}}, Vector{Subject{NamedTuple{(:dv,), Tuple{Vector{Union{Missing, Float64}}}}, Pumas.ConstantInterpolationStructArray{Vector{Float64}, StructArrays.StructVector{NamedTuple{(:trial_dur, :params_num, :NSubj, :occ, :period, :sequence, :seq_n, :formulation, :isT), Tuple{Int64, Int64, Int64, Int64, Int64, String, Int64, String, Int64}}, NamedTuple{(:trial_dur, :params_num, :NSubj, :occ, :period, :sequence, :seq_n, :formulation, :isT), Tuple{FillArrays.Fill{Int64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Int64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Int64, 1, Tuple{Base.OneTo{Int64}}}, Vector{Int64}, FillArrays.Fill{Int64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{String, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Int64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{String, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Int64, 1, Tuple{Base.OneTo{Int64}}}}}, Int64}, Symbol}, Vector{Pumas.Event{Float64, Float64, Float64, Float64, Float64, Float64, Int64}}, Vector{Float64}}}}}, #unused#::Base.EltypeUnknown, isz::Base.HasShape{1})
   @ Base ./array.jl:691
 [6] collect_similar
   @ ./array.jl:606 [inlined]
 [7] map
   @ ./abstractarray.jl:2294 [inlined]
 [8] #predict#654
   @ /builds/PumasAI/PumasSystemImages-jl/.julia/packages/Pumas/XHa5R/src/estimation/diagnostics.jl:164 [inlined]
 [9] top-level scope
   @ REPL[105]:1

#3
predict(model_fit, pumas_pop, coef(model_fit); obstimes = obstimes_MD)

julia> ipred_df = DataFrame(predict(abs1_1cmt_ML_models[1], pl_BE_pops[1][3], coef(abbrev_pl_BE_sims_ML_reest_fits[i]); obstimes = obstimes_MD[1]))
ERROR: ArgumentError: predict was called on a subject with no time or observations and without specifying the random effects. To fix this make sure the subject has proper time and observations defined or provide a NamedTuple of random effects.
Stacktrace:
 [1] _predict(model::PumasModel{ParamSet{NamedTuple{(:tvKa, :tvCL, :tvVc, :ωCL, :ωVc, :σ_add, :σ_prop), NTuple{7, RealDomain{Float64, TransformVariables.Infinity{true}, Float64}}}}, var"#287#301", var"#288#302", var"#290#304", var"#292#306", Depots1Central1, var"#293#307", var"#297#311", Nothing}, subject::Subject{NamedTuple{(:dv,), Tuple{Vector{Union{Missing, Float64}}}}, Pumas.ConstantInterpolationStructArray{Vector{Float64}, StructArrays.StructVector{NamedTuple{(:trial_dur, :params_num, :NSubj, :occ, :period, :sequence, :seq_n, :formulation, :isT), Tuple{Int64, Int64, Int64, Int64, Int64, String, Int64, String, Int64}}, NamedTuple{(:trial_dur, :params_num, :NSubj, :occ, :period, :sequence, :seq_n, :formulation, :isT), Tuple{FillArrays.Fill{Int64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Int64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Int64, 1, Tuple{Base.OneTo{Int64}}}, Vector{Int64}, FillArrays.Fill{Int64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{String, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Int64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{String, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Int64, 1, Tuple{Base.OneTo{Int64}}}}}, Int64}, Symbol}, Vector{Pumas.Event{Float64, Float64, Float64, Float64, Float64, Float64, Int64}}, Vector{Float64}}, param::NamedTuple{(:tvKa, :tvCL, :tvVc, :ωCL, :ωVc, :ΩCL_occ, :ΩVc_occ, :σ_add, :σ_prop), NTuple{9, Float64}}, vrandeffsorth::Nothing; obstimes::Vector{Real}, diffeq_options::NamedTuple{(), Tuple{}})
   @ Pumas /builds/PumasAI/PumasSystemImages-jl/.julia/packages/Pumas/XHa5R/src/estimation/diagnostics.jl:269
 [2] predict(model::PumasModel{ParamSet{NamedTuple{(:tvKa, :tvCL, :tvVc, :ωCL, :ωVc, :σ_add, :σ_prop), NTuple{7, RealDomain{Float64, TransformVariables.Infinity{true}, Float64}}}}, var"#287#301", var"#288#302", var"#290#304", var"#292#306", Depots1Central1, var"#293#307", var"#297#311", Nothing}, subject::Subject{NamedTuple{(:dv,), Tuple{Vector{Union{Missing, Float64}}}}, Pumas.ConstantInterpolationStructArray{Vector{Float64}, StructArrays.StructVector{NamedTuple{(:trial_dur, :params_num, :NSubj, :occ, :period, :sequence, :seq_n, :formulation, :isT), Tuple{Int64, Int64, Int64, Int64, Int64, String, Int64, String, Int64}}, NamedTuple{(:trial_dur, :params_num, :NSubj, :occ, :period, :sequence, :seq_n, :formulation, :isT), Tuple{FillArrays.Fill{Int64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Int64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Int64, 1, Tuple{Base.OneTo{Int64}}}, Vector{Int64}, FillArrays.Fill{Int64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{String, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Int64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{String, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Int64, 1, Tuple{Base.OneTo{Int64}}}}}, Int64}, Symbol}, Vector{Pumas.Event{Float64, Float64, Float64, Float64, Float64, Float64, Int64}}, Vector{Float64}}, param::NamedTuple{(:tvKa, :tvCL, :tvVc, :ωCL, :ωVc, :ΩCL_occ, :ΩVc_occ, :σ_add, :σ_prop), NTuple{9, Float64}}, randeffs::Nothing; obstimes::Vector{Real}, diffeq_options::NamedTuple{(), Tuple{}})
   @ Pumas /builds/PumasAI/PumasSystemImages-jl/.julia/packages/Pumas/XHa5R/src/estimation/diagnostics.jl:56
 [3] (::Pumas.var"#646#647"{Vector{Real}, NamedTuple{(), Tuple{}}, PumasModel{ParamSet{NamedTuple{(:tvKa, :tvCL, :tvVc, :ωCL, :ωVc, :σ_add, :σ_prop), NTuple{7, RealDomain{Float64, TransformVariables.Infinity{true}, Float64}}}}, var"#287#301", var"#288#302", var"#290#304", var"#292#306", Depots1Central1, var"#293#307", var"#297#311", Nothing}, NamedTuple{(:tvKa, :tvCL, :tvVc, :ωCL, :ωVc, :ΩCL_occ, :ΩVc_occ, :σ_add, :σ_prop), NTuple{9, Float64}}})(subject::Subject{NamedTuple{(:dv,), Tuple{Vector{Union{Missing, Float64}}}}, Pumas.ConstantInterpolationStructArray{Vector{Float64}, StructArrays.StructVector{NamedTuple{(:trial_dur, :params_num, :NSubj, :occ, :period, :sequence, :seq_n, :formulation, :isT), Tuple{Int64, Int64, Int64, Int64, Int64, String, Int64, String, Int64}}, NamedTuple{(:trial_dur, :params_num, :NSubj, :occ, :period, :sequence, :seq_n, :formulation, :isT), Tuple{FillArrays.Fill{Int64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Int64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Int64, 1, Tuple{Base.OneTo{Int64}}}, Vector{Int64}, FillArrays.Fill{Int64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{String, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Int64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{String, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Int64, 1, Tuple{Base.OneTo{Int64}}}}}, Int64}, Symbol}, Vector{Pumas.Event{Float64, Float64, Float64, Float64, Float64, Float64, Int64}}, Vector{Float64}})
   @ Pumas /builds/PumasAI/PumasSystemImages-jl/.julia/packages/Pumas/XHa5R/src/estimation/diagnostics.jl:88
 [4] iterate
   @ ./generator.jl:47 [inlined]
 [5] _collect
   @ ./array.jl:691 [inlined]
 [6] collect_similar
   @ ./array.jl:606 [inlined]
 [7] map
   @ ./abstractarray.jl:2294 [inlined]
 [8] #predict#645
   @ /builds/PumasAI/PumasSystemImages-jl/.julia/packages/Pumas/XHa5R/src/estimation/diagnostics.jl:88 [inlined]
 [9] top-level scope
   @ REPL[106]:1

The error in #1 is because you are specifying nsim which isn’t supported yet. We actually have an implementation of Monte Carlo integrated population predictions but it’s not exposed. We also support NPDEs but only directly through inspect and not via predict. Which are you interested in?

The error in #2 suggests that pl_BE_pops[1][3] doesn’t contain any observations. Is that correct? If it doesn’t contain any observations then it’s not possible to compute the EBEs so you’d have to pass them.

I have simulated data for one dosing interval, but I want to predict concentrations up to steady-state. Do I have to wait for nsim to be implemented for this?

I don’t think so. It’s unclear to me why you specifying nsim in the first place. What was the reason for that? You say that you have simulated data, but, as mentioned, the error message suggests that pl_BE_pops[1][3] doesn’t have any observations. Could you please show the output from pl_BE_pops[1][3] in the REPL?

If you simulated data for one dose, can you not simulate to steady-state? Other option is to use superposition from NCA. It is currently undocumented, but @Vaibhavdixit02 can send you an example

I could simulate to steady-state, but the last time I tried, it was a lot of code and didn’t work correctly for some reason.

I am simulating a full dosing interval for a single-dose and also 10-75% of the full dosing interval, fitting, and then want the ipreds up to steady-state for each individual (multiple dosing). Would the superposition method work well here? Do I need the observations for a full dosing interval for superposition?