mle

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

Описание

phat = mle(data) возвращает оценки наибольшего правдоподобия (MLEs) для параметров нормального распределения, с помощью выборочных данных в векторном data.

пример

phat = mle(data,'distribution',dist) возвращает оценки параметра для распределения, заданного dist.

пример

phat = mle(data,'pdf',pdf,'start',start) возвращает оценки параметра для пользовательского дистрибутива, заданного функцией плотности вероятности pdf. Необходимо также задать начальные значения параметров, start.

пример

phat = mle(data,'pdf',pdf,'start',start,'cdf',cdf) возвращает оценки параметра для пользовательского дистрибутива, заданного функцией плотности вероятности pdf и пользовательская кумулятивная функция распределения cdf.

phat = mle(data,'logpdf',logpdf,'start',start) возвращает оценки параметра для пользовательского дистрибутива, заданного логарифмической функцией плотности вероятности logpdf. Необходимо также задать начальные значения параметров, start.

пример

phat = mle(data,'logpdf',logpdf,'start',start,'logsf',logsf) возвращает оценки параметра для пользовательского дистрибутива, заданного логарифмической функцией плотности вероятности logpdf и пользовательское логарифмическое выживание функционирует logsf.

пример

phat = mle(data,'nloglf',nloglf,'start',start) возвращает оценки параметра для пользовательского дистрибутива, заданного отрицательной функцией логарифмической правдоподобности nloglf. Необходимо также задать начальные значения параметров, start.

phat = mle(___,Name,Value) задает аргументы пары "имя-значение" использования опций в дополнение к любому из входных параметров в предыдущих синтаксисах. Например, можно задать подвергнутые цензуре данные, частоту наблюдений и доверительный уровень.

пример

[phat,pci] = mle(___) также возвращает 95% доверительных интервалов для параметров.

Примеры

свернуть все

Загрузите выборочные данные.

load carbig

Переменная MPG имеет мили на галлон для различных моделей автомобилей.

Чертите гистограмму MPG данные.

 histogram(MPG)

Распределение несколько правильно скошенный. Симметричное распределение, такое как нормальное распределение, не может быть подходящим вариантом.

Оцените параметры распределения Типа XII Шума для MPG данные.

phat = mle(MPG,'distribution','burr')
phat = 1×3

   34.6447    3.7898    3.5722

Оценки наибольшего правдоподобия для масштабного коэффициента α 34.6447. Оценки для двух параметров формы c и k из Шума распределение Типа XII 3.7898 и 3.5722, соответственно.

Сгенерируйте выборочные данные размера 1000 от нецентрального распределения хи-квадрат со степенями свободы 8 и параметр нецентрированности 3.

rng default % for reproducibility
x = ncx2rnd(8,3,1000,1);

Оцените параметры нецентрального распределения хи-квадрат от выборочных данных. Для этого, пользовательский задают нецентральный хи-квадрат PDF с помощью pdf входной параметр.

[phat,pci] = mle(x,'pdf',@(x,v,d)ncx2pdf(x,v,d),'start',[1,1])
phat = 1×2

    8.1052    2.6693

pci = 2×2

    7.1121    1.6025
    9.0983    3.7362

Оценка для степеней свободы 8.1052, и параметр нецентрированности 2.6693. 95%-й доверительный интервал для степеней свободы (7.1121,9.0983), и параметр нецентрированности (1.6025,3.7362). Доверительные интервалы включают истинные значения параметров 8 и 3, соответственно.

Загрузите выборочные данные.

load(fullfile(matlabroot,'examples','stats','readmissiontimes.mat'));

Данные включают ReadmissionTime, который имеет времена повторного доступа для 100 пациентов. Вектор-столбец Censored имеет информацию о цензуре для каждого пациента, где 1 указывает, что подвергнутое цензуре наблюдение, и 0 указывает точное время повторного доступа, наблюдается. Это - симулированные данные.

Задайте пользовательскую плотность вероятности и кумулятивную функцию распределения.

custpdf = @(data,lambda) lambda*exp(-lambda*data);
custcdf = @(data,lambda) 1-exp(-lambda*data);

Оцените параметр, lambda, из пользовательского дистрибутива для подвергнутых цензуре выборочных данных.

phat = mle(ReadmissionTime,'pdf',custpdf,'cdf',custcdf,'start',0.05,'Censoring',Censored)
phat = 0.1096

Загрузите выборочные данные.

load(fullfile(matlabroot,'examples','stats','readmissiontimes.mat'));

Данные включают ReadmissionTime, который имеет времена повторного доступа для 100 пациентов. Вектор-столбец Censored имеет информацию о цензуре для каждого пациента, где 1 указывает, что подвергнутое цензуре наблюдение, и 0 указывает точное время повторного доступа, наблюдается. Это - симулированные данные.

Задайте пользовательскую логарифмическую плотность вероятности и функцию выживания.

custlogpdf = @(data,lambda,k) log(k)-k*log(lambda)+(k-1)*log(data)-(data/lambda).^k;
custlogsf = @(data,lambda,k) -(data/lambda).^k;

Оцените параметры, lambda и k, из пользовательского дистрибутива для подвергнутых цензуре выборочных данных.

phat = mle(ReadmissionTime,'logpdf',custlogpdf,'logsf',custlogsf,...
    'start',[1,0.75],'Censoring',Censored)
phat = 1×2

    9.2090    1.4223

Шкала и параметры формы пользовательски заданного распределения 9.2090 и 1.4223, соответственно.

Загрузите выборочные данные.

load(fullfile(matlabroot,'examples','stats','readmissiontimes.mat'));

Данные включают ReadmissionTime, который имеет времена повторного доступа для 100 пациентов. Это - симулированные данные.

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

custnloglf = @(lambda,data,cens,freq) - length(data)*log(lambda) + nansum(lambda*data);

Оцените параметры заданного распределения.

phat = mle(ReadmissionTime,'nloglf',custnloglf,'start',0.05)
phat = 0.1462

Сгенерируйте 100 случайных наблюдений от биномиального распределения с количеством испытаний, n = 20, и вероятность успеха, p = 0.75.

data = binornd(20,0.75,100,1);

Оцените вероятность успеха и 95%-х пределов достоверности с помощью симулированных выборочных данных.

[phat,pci] = mle(data,'distribution','binomial','alpha',.05,'ntrials',20)
phat = 0.7615
pci = 2×1

    0.7422
    0.7800

Оценка вероятности успеха 0.7615, и нижние и верхние пределы 95%-го доверительного интервала 0.7422 и 0.78. Этот интервал покрывает истинное значение, используемое, чтобы симулировать данные.

Сгенерируйте выборочные данные размера 1000 от нецентрального распределения хи-квадрат со степенями свободы 10 и параметр нецентрированности 5.

rng default % for reproducibility
x = ncx2rnd(10,5,1000,1);

Предположим, что параметр нецентрированности фиксируется в значении 5. Оцените степени свободы нецентрального распределения хи-квадрат от выборочных данных. Для этого, пользовательский задают нецентральный хи-квадрат PDF с помощью pdf входной параметр.

[phat,pci] = mle(x,'pdf',@(x,v,d)ncx2pdf(x,v,5),'start',1)
phat = 9.9307
pci = 2×1

    9.5626
   10.2989

Оценка для параметра нецентрированности 9.9307 с 95%-м доверительным интервалом 9,5626 и 10.2989. Доверительный интервал включает истинное значение параметров 10.

Сгенерируйте выборочные данные размера 1000 от распределения Rician параметром нецентрированности 8 и масштабным коэффициентом 5. Сначала создайте распределение Rician.

r = makedist('Rician','s',8,'sigma',5);

Теперь сгенерируйте выборочные данные от распределения, которое вы создали выше.

rng default % For reproducibility
x = random(r,1000,1);

Предположим, что масштабный коэффициент известен, и оцените параметр нецентрированности от выборочных данных. Сделать это использование mle, вы должны пользовательский задавать функцию плотности вероятности Rician.

[phat,pci] = mle(x,'pdf',@(x,s,sigma) pdf('rician',x,s,5),'start',10)
phat = 7.8953
pci = 2×1

    7.5405
    8.2501

Оценка для параметра нецентрированности 7.8953 с 95%-м доверительным интервалом 7,5404 и 8.2501. Доверительный интервал включает истинное значение параметров 8.

Добавьте масштабный коэффициент в распределение хи-квадрат для адаптации к шкале данных и соответствуйте ему. Во-первых, сгенерируйте выборочные данные размера 1000 от распределения хи-квадрат со степенями свободы 5 и масштабируйте его фактором 100.

rng default % For reproducibility
x = 100*chi2rnd(5,1000,1);

Оцените степени свободы и масштабный коэффициент. Для этого, пользовательский задают функцию плотности вероятности хи-квадрата с помощью pdf входной параметр. Функция плотности требует a 1/s фактор для данных, масштабируемых s.

[phat,pci] = mle(x,'pdf',@(x,v,s)chi2pdf(x/s,v)/s,'start',[1,200])
phat = 1×2

    5.1079   99.1681

pci = 2×2

    4.6862   90.1215
    5.5297  108.2146

Оценка для степеней свободы 5.1079, и шкала 99.1681. 95%-й доверительный интервал для степеней свободы (4.6862,5.5279), и масштабный коэффициент (90.1215,108.2146). Доверительные интервалы включают истинные значения параметров 5 и 100, соответственно.

Входные параметры

свернуть все

Выборочные данные mle использование, чтобы оценить параметры распределения, заданные как вектор.

Типы данных: single | double

Тип распределения, чтобы оценить параметры для, заданный как одно из следующих.

distОписаниеПараметр 1Параметр 2Параметр 3Параметр 4
'Bernoulli'Бернуллиевое распределениеp: вероятность успеха для каждого испытания
'Beta'Бета распределениеa: сначала сформируйте параметрb: второй параметр формы
'bino' или 'Binomial'Биномиальное распределениеn: количество испытанийp: вероятность успеха для каждого испытания
'BirnbaumSaunders'Распределение Бирнбаума-Сондерсаβ: масштабный коэффициентγ: сформируйте параметр
'Burr'Подпилите распределение типа XIIα: масштабный коэффициентc: сначала сформируйте параметрk: второй параметр формы
'Discrete Uniform' или 'unid'(Дискретное) равномерное распределениеn: максимальное заметное значение
'exp' или 'Exponential'Экспоненциальное распределениеμ: среднее значение
'ev' или 'Extreme Value'Распределение экстремумаμ: параметр положенияσ: масштабный коэффициент
'gam' или 'Gamma'Гамма распределениеa: сформируйте параметрb: масштабный коэффициент
'gev' или 'Generalized Extreme Value'Обобщенное распределение экстремумаk: сформируйте параметрσ: масштабный коэффициентμ: параметр положения
'gp' или 'Generalized Pareto'Обобщенное распределение Паретоk: индекс хвоста (форма) параметрσ: масштабный коэффициентθ: порог (местоположение) параметр
'geo' или 'Geometric'Геометрическое распределениеp: параметр вероятности
'hn' или 'Half Normal'Полунормальное распределениеμ: параметр положенияσ: масштабный коэффициент
'InverseGaussian'Обратное распределение Гауссаμ: масштабный коэффициентλ: сформируйте параметр
'Logistic'Логистическое распределениеμ: среднее значение σ: масштабный коэффициент
'LogLogistic'Распределение Loglogisticμ: среднее значение логарифмических значенийσ: масштабный коэффициент логарифмических значений
'logn' или 'LogNormal'Логарифмически нормальное распределениеμ: среднее значение логарифмических значенийσ: стандартное отклонение логарифмических значений
'Nakagami'Распределение Nakagamiμ: сформируйте параметрω: масштабный коэффициент
'nbin' или 'Negative Binomial'Отрицательное биномиальное распределениеr: количество успеховp: вероятность успеха в одном испытании
'norm' или 'Normal'Нормальное распределениеμ: среднее значение σ: стандартное отклонение
'poiss' или 'Poisson'Распределение Пуассонаλ: среднее значение
'rayl' или 'Rayleigh'Распределение Релеяb: масштабный коэффициент
'Rician'Распределение Ricians: параметр нецентрированностиσ: масштабный коэффициент
'Stable'Устойчивое распределениеα: сначала сформируйте параметрβ: второй параметр формыγ: масштабный коэффициентδ: параметр положения
'tLocationScale't Распределение Шкалы Местоположенияμ: параметр положенияσ: масштабный коэффициентν: сформируйте параметр
'unif' или 'Uniform'(Непрерывное) равномерное распределениеa: более низкая конечная точка (минимум)b: верхняя конечная точка (максимум)
'wbl' или 'Weibull'Распределение Weibulla: масштабный коэффициентb: сформируйте параметр

Пример: 'rician'

Пользовательская функция распределения вероятностей, определенный функцией указатель, созданный с помощью @.

Эта пользовательская функция принимает векторный data и один или несколько отдельных параметров распределения как входные параметры, и возвращают вектор значений плотности вероятности.

Например, если именем пользовательской функции плотности вероятности является newpdf, затем можно задать указатель на функцию в mle можно следующим образом.

Пример: @newpdf

Типы данных: function_handle

Пользовательская кумулятивная функция распределения, определенный функцией указатель, созданный с помощью @.

Эта пользовательская функция принимает векторный data и один или несколько отдельных параметров распределения как входные параметры, и возвращают вектор значений интегральной вероятности.

Необходимо задать cdf с pdf если данные подвергаются цензуре, и вы используете 'Censoring' аргумент пары "имя-значение". Если 'Censoring' не присутствует, вы не должны задавать cdf при использовании pdf.

Например, если именем пользовательской кумулятивной функции распределения является newcdf, затем можно задать указатель на функцию в mle можно следующим образом.

Пример: @newcdf

Типы данных: function_handle

Пользовательская логарифмическая функция плотности вероятности, определенный функцией указатель, созданный с помощью @.

Эта пользовательская функция принимает векторный data и один или несколько отдельных параметров распределения как входные параметры, и возвращают вектор логарифмических значений вероятности.

Например, если именем пользовательской логарифмической функции плотности вероятности является customlogpdf, затем можно задать указатель на функцию в mle можно следующим образом.

Пример: @customlogpdf

Типы данных: function_handle

Пользовательская логарифмическая функция выживания, определенный функцией указатель, созданный с помощью @.

Эта пользовательская функция принимает векторный data и один или несколько отдельных параметров распределения как входные параметры, и возвращают вектор логарифмических значений вероятности выживания.

Необходимо задать logsf с logpdf если данные подвергаются цензуре, и вы используете 'Censoring' аргумент пары "имя-значение". Если 'Censoring' не присутствует, вы не должны задавать logsf при использовании logpdf.

Например, если именем пользовательской логарифмической функции выживания является logsurvival, затем можно задать указатель на функцию в mle можно следующим образом.

Пример: @logsurvival

Типы данных: function_handle

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

Эта пользовательская функция принимает следующие входные параметры.

paramsВектор значений параметра распределения. mle обнаруживает количество параметров от числа элементов в start.
dataВектор данных.
censБулев вектор подвергнутых цензуре значений.
freqВектор частот целочисленных данных.

nloglf должен принять все четыре аргумента, даже если вы не используете 'Censoring' или 'Frequency' аргументы в виде пар имя-значение. Можно записать 'nloglf' проигнорировать cens и freq аргументы в этом случае.

nloglf возвращает скалярное отрицательное значение логарифмической правдоподобности и опционально, отрицательный вектор градиента логарифмической правдоподобности (см. 'GradObj' поле в 'Options').

Если именем пользовательской отрицательной логарифмической функции правдоподобия является negloglik, затем можно задать указатель на функцию в mle можно следующим образом.

Пример: @negloglik

Типы данных: function_handle

Начальные значения параметров для пользовательских функций, заданных как скалярное значение или вектор скалярных значений.

Используйте start когда вы соответствуете пользовательским дистрибутивам, то есть, когда вы используете pdf и cdf, logpdf и logsf, или nloglf входные параметры.

Пример: 0.05

Пример: [100,2]

Типы данных: single | double

Аргументы в виде пар имя-значение

Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: 'Censoring',Cens,'Alpha',0.01,'Options',Opt задает тот mle оценивает параметры для распределения подвергнутых цензуре данных, заданных массивом Cens, вычисляет 99% пределов достоверности для оценок параметра и использует параметры управления алгоритмом, заданные структурой Opt.

Индикатор для цензурирования, заданный как разделенная запятой пара, состоящая из 'Censoring' и булев массив одного размера с data. Используйте 1 в наблюдениях, которые являются правильные подвергнутый цензуре и 0 для наблюдений, которые полностью наблюдаются. Значением по умолчанию являются все наблюдения, полностью наблюдаются.

Например, если подвергнутая цензуре информация о данных находится в двоичном массиве под названием Censored, затем можно задать подвергнутые цензуре данные можно следующим образом.

Пример: 'Censoring',Censored

mle цензурирование поддержек для следующих распределений:

Бирнбаум-Сондерс
Шум
Экспоненциал
Экстремум
\Gamma
Гауссова инверсия
Ядро
Логистический журналом
Логистический
Логарифмически нормальный
Nakagami
Нормальный
Rician
t Шкала Местоположения
Weibull

Типы данных: логический

Частота наблюдений, заданных как разделенная запятой пара, состоящая из 'Frequency' и массив, содержащий неотрицательные целочисленные количества, который одного размера с data. Значением по умолчанию является одно наблюдение на элемент data.

Например, если частоты наблюдения хранятся в массиве под названием Freq, можно задать частоты можно следующим образом.

Пример: 'Frequency',Freq

Типы данных: single | double

Уровень значения для доверительного интервала оценок параметра, pci, заданный как разделенная запятой пара, состоящая из 'Alpha' и скалярное значение в области значений (0,1). Доверительный уровень pci 100(1-Alpha)%. Значением по умолчанию является 0.05 для 95%-й уверенности.

Например, для 99% пределов достоверности, можно задать доверительный уровень можно следующим образом.

Пример: 'Alpha',0.01

Типы данных: single | double

Количество испытаний за соответствующий элемент data, заданный как разделенная запятой пара, состоящая из 'Ntrials' и скаляр или вектор одного размера с data.

Применяется только к биномиальному распределению.

Пример: 'Ntrials',total

Типы данных: single | double

Параметр положения для полунормального распределения, заданного как разделенная запятой пара, состоящая из 'mu' и скалярное значение.

Применяется только к полунормальному распределению.

Пример: 'mu',1

Типы данных: single | double

Параметры управления алгоритмом подбора, заданные как разделенная запятой пара, состоящая из 'Options' и структура, возвращенная statset.

Не применимый ко всем распределениям.

Используйте 'Options' аргумент пары "имя-значение", чтобы управлять деталями оптимизации наибольшего правдоподобия при подборе кривой пользовательскому дистрибутиву. Для названий параметра и значений по умолчанию, введите statset('mlecustom'). Можно установить опции под новым именем и использованием это в аргументе пары "имя-значение". mle интерпретирует следующий statset параметры для подбора кривой пользовательского дистрибутива.

ПараметрЗначение
'GradObj'

Значением по умолчанию является 'off'.

'on' или 'off', указание, действительно ли fmincon может ожидать пользовательскую функцию, которой предоставляют nloglf входной параметр, чтобы возвратить вектор градиента отрицательной логарифмической правдоподобности как второй выход.

mle игнорирует 'GradObj' при использовании fminsearch.

'DerivStep'

Значением по умолчанию является eps^(1/3).

Относительная разница, заданная как скаляр или вектор тот же размер как start, используемый в приближениях производной конечной разности при использовании fmincon, и 'GradObj' 'off'.

mle игнорирует 'DerivStep' при использовании fminsearch.

'FunValCheck'

Значением по умолчанию является 'on'.

'on' или 'off', указание, действительно ли mle должен проверять значения, возвращенные функциями пользовательского дистрибутива для валидности.

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

'TolBnd'

Значением по умолчанию является 1e-6.

Смещение для нижних и верхних границ при использовании fmincon.

mle обрабатывает нижние и верхние границы как строгие неравенства, то есть, открытые границы. С fmincon, это аппроксимировано путем создания закрытой вставки границ из заданных нижних и верхних границ TolBnd.

Пример: 'Options',statset('mlecustom')

Типы данных: struct

Нижние границы для параметров распределения, заданных как разделенная запятой пара, состоящая из 'Lowerbound' и вектор тот же размер как start.

Этот аргумент пары "имя-значение" допустим только, когда вы используете pdf и cdf, logpdf и logcdf, или nloglf входные параметры.

Пример: 'Lowerbound',0

Типы данных: single | double

Верхние границы для параметров распределения, заданных как разделенная запятой пара, состоящая из 'Upperbound' и вектор тот же размер как start.

Этот аргумент пары "имя-значение" допустим только, когда вы используете pdf и cdf, logpdf и logsf, или nloglf входные параметры.

Пример: 'Upperbound',1

Типы данных: single | double

Функция оптимизации mle использование в максимизации вероятности, заданной как разделенная запятой пара, состоящая из 'Optimfun' и любой 'fminsearch' или 'fmincon'.

Значением по умолчанию является 'fminsearch'.

Можно только задать 'fmincon' если Optimization Toolbox™ доступен.

'Optimfun' аргумент пары "имя-значение" допустим только, когда вы соответствуете пользовательским дистрибутивам, то есть, когда вы используете pdf и cdf, logpdf и logsf, или nloglf входные параметры.

Пример: 'Optimfun','fmincon'

Выходные аргументы

свернуть все

Оценки параметра, возвращенные как скалярное значение или вектор-строка.

Доверительные интервалы для оценок параметра, возвращенных как вектор-столбец или матрица в зависимости от количества параметров, следовательно размер phat.

pci 2 k матрицей, где k является количеством параметров mle оценки. Первые и вторые строки pci покажите более низкие и верхние пределы достоверности, соответственно.

Больше о

свернуть все

Функция выживания

Функция выживания является вероятностью выживания как функция времени. Это также вызвано функция оставшегося в живых. Это дает вероятность, что время выживания индивидуума превышает определенное значение. Поскольку кумулятивная функция распределения, F (t), является вероятностью, что время выживания меньше чем или равно данному моменту времени, функция выживания для непрерывного распределения, S (t), является дополнением кумулятивной функции распределения: S (t) = 1 – F (t).

Советы

Когда вы предоставляете функции распределения, mle вычисляет оценки параметра с помощью итеративного алгоритма максимизации. С некоторыми моделями и данными, плохой выбор начальной точки может вызвать mle сходиться к локальному оптимуму, который не является глобальной переменной maximizer, или не удаваться сходиться полностью. Даже в случаях, для которых логарифмическая правдоподобность хорошего поведения около глобального максимума, выбор начальной точки часто крайне важен для сходимости алгоритма. В частности, если начальные значения параметров далеки от MLEs, потеря значимости в функциях распределения может привести к бесконечной логарифмической правдоподобности.

Представлено до R2006a