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

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

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

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

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

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

Поиск MLE, использующих отрицательную функцию логарифмической правдоподобности

В этом примере показано, как найти 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)

Figure contains an axes. The axes contains 2 objects of type surface, contour.

Поиск минимума поверхности правдоподобия при помощи 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.

Добавьте MLE к объемной поверхностной диаграмме.

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

Figure contains an axes. The axes contains 3 objects of type surface, contour, line.

См. также

| | |

Похожие темы