Отрицательные функции логарифмической правдоподобности

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

Чтобы найти оценки наибольшего правдоподобия (MLEs), можно использовать отрицательную функцию логарифмической правдоподобности в качестве целевой функции задачи оптимизации и решить его при помощи функции 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, которые (эквивалентно) максимизируют функцию логарифмической правдоподобности, журнал (L (a)). Логарифм преобразовывает продукт потенциально маленьких вероятностей в сумму журналов, которую легче отличить от 0 в расчете. Для удобства Statistics and Machine Learning Toolbox отрицательные функции логарифмической правдоподобности возвращают отрицание этой суммы, потому что алгоритмы оптимизации обычно ищут минимумы, а не максимумы.

Найдите MLEs Используя отрицательную функцию логарифмической правдоподобности

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

Используйте 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

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

| | |

Похожие темы