Fitting a diagonal multivariate normal (DiagNormal/IsoNormal) via fit/fit_mle errors because suffstats is not defined for that type. Both the weighted and unweighted forms fail, and full-covariance MvNormal works fine.
MWE
using Distributions, LinearAlgebra
d = MvNormal(zeros(3), Diagonal(ones(3))) # a DiagNormal
# d = MvNormal(zeros(3), I) # an IsoNormal
typeof(d)
fit(typeof(d), randn(3, 50)) # ERROR
Error
ERROR: suffstats is not implemented for (IsoNormal{Float64, PDMats.ScalMat{Float64}, Vector{Float64}}, Matrix{Float64}).
Stacktrace:
[1] error(s::String)
@ Base .\error.jl:44
[2] suffstats(dt::Type{IsoNormal{Float64, PDMats.ScalMat{Float64}, Vector{Float64}}}, xs::Matrix{Float64})
@ Distributions C:\Users\senne\.julia\packages\Distributions\XAng5\src\genericfit.jl:5
[3] fit_mle(dt::Type{IsoNormal{Float64, PDMats.ScalMat{Float64}, Vector{Float64}}}, x::Matrix{Float64})
@ Distributions C:\Users\senne\.julia\packages\Distributions\XAng5\src\genericfit.jl:30
[4] fit(dt::Type{IsoNormal{Float64, PDMats.ScalMat{Float64}, Vector{Float64}}}, x::Matrix{Float64})
@ Distributions C:\Users\senne\.julia\packages\Distributions\XAng5\src\genericfit.jl:46
[5] top-level scope
@ REPL[12]:1
Version Info
Julia: 1.12.6
Distributions 0.25.129
Fitting a diagonal multivariate normal (DiagNormal/IsoNormal) via fit/fit_mle errors because suffstats is not defined for that type. Both the weighted and unweighted forms fail, and full-covariance MvNormal works fine.
MWE
Error
Version Info
Julia: 1.12.6
Distributions 0.25.129