-
Notifications
You must be signed in to change notification settings - Fork 231
Closed
Description
I'm solving for the MLE.
using Distributions, Random, Optim;
DGP_True = LogNormal(17,7);
Random.seed!(123);
const d_train = rand(DGP_True, 1_000)
const d_test = rand(DGP_True, 1_000)
# LogNormal
function loglike(θ)
dist = LogNormal(θ[1],θ[2])
terms = logpdf.(dist,d_train)
loglikelihood = sum(terms)
return -loglikelihood #Min(-LogLik) =Max(LogLik)
end
#
optimum = optimize(loglike,ones(2))
Optim.minimizer(optimum)
Distributions.fit_mle(LogNormal,d_train)
# Optim.jl & Distributions.jl solutions are very close.
# Normal
function loglike(θ)
dist = Normal(θ[1],θ[2])
terms = logpdf.(dist,d_train)
loglikelihood = sum(terms)
return -loglikelihood #Min(-LogLik) =Max(LogLik)
end
#
optimum = optimize(loglike,ones(2))
Optim.minimizer(optimum)
Distributions.fit_mle(Normal,d_train)
# Optim.jl reports "sucess" BUT
# Optim.jl & Distributions.jl solutions are very different!Metadata
Metadata
Assignees
Labels
No labels