Оценка наибольшего правдоподобия

mle функция вычисляет оценки наибольшего правдоподобия (MLEs) для распределения, заданного его именем и для пользовательского дистрибутива, заданного его функцией плотности вероятности (PDF), журнал PDF или отрицательная логарифмическая функция правдоподобия.

Для некоторых распределений MLEs может быть дан в закрытой форме и вычислен непосредственно. Для других распределений должен использоваться поиск наибольшего правдоподобия. Поиском можно управлять с options входной параметр, созданное использование statset функция. Для эффективных поисковых запросов важно выбрать разумную модель распределения и установить соответствующие допуски сходимости.

MLEs может быть смещен, специально для небольших выборок. Когда объем выборки увеличивается, однако, MLEs становятся несмещенными минимальными средствами оценки отклонения с аппроксимированными нормальными распределениями. Это - использованные для расчета доверительные границы для оценок.

Например, рассмотрите следующее распределение средних значений от повторных случайных выборок экспоненциального распределения:

mu = 1; % Population parameter
n = 1e3; % Sample size
ns = 1e4; % Number of samples

rng('default')  % For reproducibility
samples = exprnd(mu,n,ns); % Population samples
means = mean(samples); % Sample means

Центральная предельная теорема говорит, что средние значения будут приблизительно нормально распределены, независимо от распределения данных в выборках. mle функция может использоваться, чтобы найти нормальное распределение что лучшие подгонки средние значения:

[phat,pci] = mle(means)
phat = 1×2

    1.0000    0.0315

pci = 2×2

    0.9994    0.0311
    1.0006    0.0319

phat(1) и phat(2) MLEs для среднего и стандартного отклонения. pci(:,1) и pci(:,1) соответствующие 95% доверительных интервалов.

Визуализируйте распределение демонстрационных средних значений вместе с подходящим нормальным распределением.

numbins = 50;
histogram(means,numbins,'Normalization','pdf')
hold on
x = min(means):0.001:max(means);
y = normpdf(x,phat(1),phat(2));
plot(x,y,'r','LineWidth',2)

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

|

Похожие темы