Отрицательные функции Loglikelihood

Отрицательный loglikelihood функционирует для поддерживаемых дистрибутивов Statistics and Machine Learning Toolbox™ весь конец с like, как в explike. Каждая функция представляет параметрическое семейство распределений. Входные параметры являются списками значений параметров, задающих конкретного члена семейства распределений, сопровождаемого массивом данных. Функции возвращают отрицательный loglikelihood параметров, учитывая данные.

Чтобы найти оценки наибольшего правдоподобия (MLEs), можно использовать отрицательную функцию loglikelihood в качестве целевой функции задачи оптимизации и решить его при помощи функции MATLAB® fminsearch или функции в Optimization Toolbox™ и Global Optimization Toolbox. Эти функции позволяют вам выбирать алгоритм поиска и осуществлять низкоуровневый контроль над осуществлением алгоритма. В отличие от этого, mle функционируют и функции подбора кривой распределения, которые заканчиваются fit, таким как normfit и gamfit, используют предварительно установленные алгоритмы с опциями, ограниченными установленными функцией statset.

Вероятности являются плотностью условной вероятности. Можно задать параметрическое семейство распределений при помощи функционального f (x, a), где x и a представляют случайную переменную и параметры, соответственно. Когда a фиксируется, функция является функцией плотности вероятности (PDF) в x, f (x |a). Когда x фиксируется, функция является вероятностью параметров a, f (a |x). Объединенная вероятность параметров по независимому набору данных случайной выборки X

L(a)=xXf(a|x).

Учитывая X, MLEs максимизируют L (a) по всему возможному a. Числовые алгоритмы находят MLEs, которые (эквивалентно) максимизируют функцию loglikelihood, журнал (L (a)). Логарифм преобразовывает продукт потенциально маленьких вероятностей в сумму журналов, которую легче отличить от 0 в вычислении. Для удобства Statistics and Machine Learning Toolbox отрицательные функции loglikelihood возвращают отрицание этой суммы, потому что алгоритмы оптимизации обычно ищут минимумы, а не максимумы.

Найдите MLEs Используя отрицательную функцию Loglikelihood

Этот пример показывает, как найти MLEs при помощи функций fminsearch и gamlike.

Используйте функцию gamrnd, чтобы сгенерировать случайную выборку от определенного Гамма Распределения.

rng default;  % For reproducibility
a = [1,2];
X = gamrnd(a(1),a(2),1e3,1);

Визуализируйте поверхность вероятности в окружении a, данного X при помощи функции gamlike.

mesh = 50;
delta = 0.5;
a1 = linspace(a(1)-delta,a(1)+delta,mesh);
a2 = linspace(a(2)-delta,a(2)+delta,mesh);
logL = zeros(mesh); % Preallocate memory
for i = 1:mesh
    for j = 1:mesh
        logL(i,j) = gamlike([a1(i),a2(j)],X);
    end
end
 
[A1,A2] = meshgrid(a1,a2);
surfc(A1,A2,logL)

Ищите минимум поверхности вероятности при помощи функции fminsearch.

LL = @(u)gamlike([u(1),u(2)],X); % Likelihood given X
MLES = fminsearch(LL,[1,2])
MLES = 1×2

    0.9980    2.0172

Сравните MLES с оценками, возвращенными функцией gamfit.

ahat = gamfit(X)
ahat = 1×2

    0.9980    2.0172

Различием каждого параметра между MLES и ahat являются меньше, чем 1e-4.

Добавьте MLEs в объемную поверхностную диаграмму.

hold on
plot3(MLES(1),MLES(2),LL(MLES),'ro','MarkerSize',5,'MarkerFaceColor','r')
view([-60 40]) % Rotate to show the minimum

Смотрите также

| | |

Похожие темы