Подбор распределения
Данный пакет предоставляет методы для подбора распределения по множеству выборок. В общем случае можно записать такое выражение:
d = fit(D, x)
Этот оператор подбирает распределение типа D к заданному набору данных x, где x должно быть массивом, содержащим все выборки. Функция подбора выбирает подходящий способ подбора распределения, которым в большинстве случаев будет оценка по максимуму правдоподобия.
|
В качестве первого аргумента можно использовать просто имя распределения, например |
julia> fit(Cauchy{Float32}, collect(-4:4))
Cauchy{Float64}(μ=0.0, σ=2.0)
Оценка по максимуму правдоподобия
Функция fit_mle предназначена для оценки по максимуму правдоподобия.
Краткий обзор
#
Distributions.fit_mle — Method
fit_mle(D, x)
Подбирает распределение типа D к заданному набору данных x.
-
Для одномерного распределения x может быть массивом произвольного размера.
-
Для многомерного распределения x должно быть матрицей, каждый столбец которой представляет собой выборку.
#
Distributions.fit_mle — Method
fit_mle(D, x, w)
Подбирает распределение типа D к взвешенному набору данных x, веса которого заданы в w.
В данном случае w должно быть массивом длиной n, где n — количество выборок в x.
Применимые распределения
Метод fit_mle реализован для следующих распределений.
Одномерные:
Многомерные:
Для большинства этих распределений метод используется описанным ниже образом. Для некоторых особых распределений, требующих дополнительной информации для оценки, необходимо использовать модифицированный интерфейс:
fit_mle(Binomial, n, x) # n — это количество испытаний в каждом эксперименте
fit_mle(Binomial, n, x, w)
fit_mle(Categorical, k, x) # k — это размер пространства (то есть количество отдельных значений)
fit_mle(Categorical, k, x, w)
fit_mle(Categorical, x) # эквивалентно fit_mle(Categorical, max(x), x)
fit_mle(Categorical, x, w)
Достаточная статистика
Для многих распределений оценка может основываться на достаточной статистике (или ее сумме), вычисленной на основе набора данных. Чтобы упростить реализацию для таких распределений, вместо метода fit_mle напрямую реализуется метод suffstats:
ss = suffstats(D, x) # в ss сохраняется достаточная статистика для x
ss = suffstats(D, x, w) # в ss сохраняется достаточная статистика для взвешенного набора данных
d = fit_mle(D, ss) # оценка по максимуму правдоподобия на основе достаточной статистики
При вызове fit_mle для D резервный метод fit_mle сначала вызывает suffstats для вычисления достаточной статистики, а затем метод fit_mle применительно к этой достаточной статистике для получения результата. Для некоторых распределений это не самый эффективный способ, поэтому для реализации более эффективных алгоритмов оценки метод fit_mle специализируется.