Асимптотическая ковариация средств оценки наибольшего правдоподобия
возвращает приближение в асимптотическую ковариационную матрицу средств оценки наибольшего правдоподобия параметров для распределения, заданного пользовательской функцией плотности вероятности acov
= mlecov(params
,data
,'pdf',pdf
)pdf
. Выход acov
p-by-p матрица, где p является количеством параметров в params
.
mlecov
вычисляет приближение конечной разности к Гессиану логарифмической правдоподобности в оценках наибольшего правдоподобия params
, учитывая наблюдаемый data
, и возвращает отрицательную инверсию того Гессиана.
задает опции с помощью одних или нескольких аргументов name-value в дополнение к любой из комбинаций входных аргументов в предыдущих синтаксисах. Например, можно задать подвергнутые цензуре данные и частоту наблюдений.acov
= mlecov(___,Name,Value
)
Загрузите выборочные данные.
load carbig
Векторный Weight
содержит веса 406 автомобилей.
Задайте пользовательскую функцию, которая возвращает PDF логарифмически нормального распределения. Сохраните файл в своей текущей папке как lognormpdf.m
.
function newpdf = lognormpdf(data,mu,sigma)
newpdf = exp((-(log(data)-mu).^2)/(2*sigma^2))./(data*sigma*sqrt(2*pi));
Оцените параметры mu
и sigma
из пользовательского дистрибутива.
[phat,pci] = mle(Weight,'pdf',@lognormpdf,'Start',[4.5 0.3])
phat = 1×2
7.9600 0.2804
pci = 2×2
7.9327 0.2611
7.9872 0.2997
Вычислите аппроксимированную ковариационную матрицу оценок параметра.
acov = mlecov(phat,Weight,'pdf',@lognormpdf)
acov = 2×2
10-3 ×
0.1937 -0.0000
-0.0000 0.0968
Оцените стандартные погрешности оценок.
se = sqrt(diag(acov))'
se = 1×2
0.0139 0.0098
Стандартная погрешность оценок mu и сигмы 0.0139 и 0.0098, соответственно.
Повторно вычислите доверительные интервалы pci
от стандартной погрешности se
при помощи Вальдового метода (нормальное приближение).
alpha = 0.05; probs = [alpha/2; 1-alpha/2]; pci2 = norminv(repmat(probs,1,numel(phat)),[phat; phat],[se; se])
pci2 = 2×2
7.9327 0.2611
7.9872 0.2997
Задайте пользовательскую функцию, которая возвращает журнал PDF бета распределения. Сохраните файл в своей текущей папке как betalogpdf.m
.
function logpdf = betalogpdf(x,a,b)
logpdf = (a-1)*log(x)+(b-1)*log(1-x)-betaln(a,b);
Сгенерируйте выборочные данные от бета распределения параметрами 1.23 и 3.45 и оцените параметры с помощью симулированных данных.
rng('default') % For reproducibility x = betarnd(1.23,3.45,25,1); phat = mle(x,'Distribution','beta')
phat = 1×2
1.1213 2.7182
Вычислите аппроксимированную ковариационную матрицу оценок параметра.
acov = mlecov(phat,x,'logpdf',@betalogpdf)
acov = 2×2
0.0810 0.1646
0.1646 0.6074
Загрузите выборочные данные.
load('readmissiontimes.mat')
Данные включают ReadmissionTime
, который имеет времена повторного доступа для 100 пациентов. Эти данные симулированы.
Задайте пользовательскую отрицательную функцию логарифмической правдоподобности для распределения Пуассона параметром lambda
, где 1/lambda
среднее значение распределения. Необходимо задать функцию, чтобы принять логический вектор из информации о цензуре и целочисленный вектор из частот данных, даже если вы не используете эти значения в пользовательской функции.
custnloglf = @(lambda,data,cens,freq) ... - length(data)*log(lambda) + sum(lambda*data,'omitnan');
Оцените параметр пользовательского дистрибутива и задайте его начальное значение параметров (Start
аргумент значения имени).
phat = mle(ReadmissionTime,'nloglf',custnloglf,'Start',0.05)
phat = 0.1462
Вычислите отклонение оценки параметра.
acov = mlecov(phat,ReadmissionTime,'nloglf',custnloglf)
acov = 2.1374e-04
Вычислите стандартную погрешность.
sqrt(acov)
ans = 0.0146
Загрузите выборочные данные.
load('readmissiontimes.mat');
Данные включают ReadmissionTime
, который имеет времена повторного доступа для 100 пациентов. Вектор-столбец Censored
содержит информацию о цензуре для каждого пациента, где 1 указывает, что подвергнутое цензуре правом наблюдение, и 0 указывает, что точное время повторного доступа наблюдается. Эти данные симулированы.
Задайте пользовательскую логарифмическую функцию плотности вероятности (PDF) и регистрируйте функцию выживания для распределения Weibull с масштабным коэффициентом lambda
и параметр формы k
. Когда данные содержат подвергнутые цензуре наблюдения, необходимо передать обоих журнал PDF и логарифмическая функция выживания к mle
и mlecov
.
custlogpdf = @(data,lambda,k) ...
log(k) - k*log(lambda) + (k-1)*log(data) - (data/lambda).^k;
custlogsf = @(data,lambda,k) - (data/lambda).^k;
Оцените параметры пользовательского дистрибутива для подвергнутых цензуре выборочных данных. Задайте начальные значения параметров (Start
аргумент значения имени) для пользовательского дистрибутива.
phat = mle(ReadmissionTime,'logpdf',custlogpdf,'logsf',custlogsf, ... 'Start',[1,0.75],'Censoring',Censored)
phat = 1×2
9.2090 1.4223
Шкала и параметры формы пользовательского дистрибутива 9.2090 и 1.4223, соответственно.
Вычислите аппроксимированную ковариационную матрицу оценок параметра.
acov = mlecov(phat,ReadmissionTime, ... 'logpdf',custlogpdf,'logsf',custlogsf,'Censoring',Censored)
acov = 2×2
0.5653 0.0102
0.0102 0.0163
params
— Оценки параметраПараметр оценивает в виде вектора. Эти оценки параметра должны быть оценками наибольшего правдоподобия. Например, можно задать оценки параметра, возвращенные mle
.
Типы данных: single
| double
data
— Выборочные данные и информация о цензуреВыборочные данные и информация о цензуре раньше оценивали параметры распределения params
В виде вектора из выборочных данных или матрицы 2D столбца выборочных данных и информации о цензуре.
Можно указать информацию цензуры для выборочных данных при помощи любого data
аргумент или Censoring
аргумент значения имени. mlecov
игнорирует Censoring
значение аргумента, если data
матрица 2D столбца.
Задайте data
как вектор или матрица 2D столбца в зависимости от типов цензуры наблюдений в data
.
Полностью наблюдаемые данные — Задают data
как вектор из выборочных данных.
Данные, которые содержат полностью наблюдаемые, лево-подвергнутые цензуре, или подвергнутые цензуре правом наблюдения — Задают data
как вектор из выборочных данных, и задают Censoring
аргумент значения имени как вектор, который содержит информацию о цензуре для каждого наблюдения. Censoring
вектор может содержать 0, –1, и 1, которые относятся к полностью наблюдаемым, лево-подвергнутым цензуре, и подвергнутым цензуре правом наблюдениям, соответственно.
Данные, которые включают подвергнутые цензуре интервалом наблюдения — Задают data
как матрица 2D столбца выборочных данных и информации о цензуре. Каждая строка data
указывает диапазон возможных времен выживания или отказа для каждого наблюдения и может иметь одно из этих значений:
[t,t]
— Полностью наблюдаемый в t
[–Inf,t]
— Лево-подвергнутый цензуре в t
[t,Inf]
— Подвергнутый цензуре правом в t
[t1,t2]
— Подвергнутый цензуре интервалом между [t1,t2]
, где t1
<t2
mlecov
игнорирует NaN
значения в data
. Кроме того, любой NaN
значения в векторе цензурирования (Censoring
) или вектор частоты (Frequency
) причина mlecov
проигнорировать соответствующие строки в data
.
Типы данных: single
| double
pdf
— Пользовательская функция плотности вероятностиПользовательская функция распределения вероятностей (PDF) в виде указателя на функцию или массива ячеек, содержащего указатель на функцию и дополнительные аргументы к функции.
Пользовательская функция принимает вектор, содержащий выборочные данные, один или несколько отдельных параметров распределения и любые дополнительные аргументы, переданные массивом ячеек как входные параметры. Функция возвращает вектор из значений плотности вероятности.
Пример: @newpdf
Типы данных: function_handle
| cell
logpdf
— Пользовательская логарифмическая функция плотности вероятностиПользовательская логарифмическая функция плотности вероятности в виде указателя на функцию или массива ячеек, содержащего указатель на функцию и дополнительные аргументы к функции.
Пользовательская функция принимает вектор, содержащий выборочные данные, один или несколько отдельных параметров распределения и любые дополнительные аргументы, переданные массивом ячеек как входные параметры. Функция возвращает вектор из логарифмических значений вероятности.
Пример: @customlogpdf
Типы данных: function_handle
| cell
nloglf
— Пользовательская отрицательная функция логарифмической правдоподобностиПользовательская отрицательная логарифмическая правдоподобность функционирует в виде указателя на функцию или массива ячеек, содержащего указатель на функцию и дополнительные аргументы к функции.
Пользовательская функция принимает следующие входные параметры в перечисленном в таблице порядке.
Входной параметр пользовательской функции | Описание |
---|---|
params | Вектор из значений параметра распределения params . |
data | Выборочные данные. data значение является вектором из выборочных данных или матрицей 2D столбца информации о цензуре и выборочных данных. |
cens | Логический вектор из информации о цензуре. nloglf должен принять cens даже если вы не используете Censoring аргумент значения имени. В этом случае можно записать nloglf проигнорировать cens . |
freq | Целочисленный вектор из частот данных. nloglf должен принять freq даже если вы не используете Frequency аргумент значения имени. В этом случае можно записать nloglf проигнорировать freq . |
trunc | Двухэлементный числовой вектор из границ усечения. nloglf должен принять trunc если вы используете TruncationBounds аргумент значения имени. |
nloglf
может опционально принять дополнительные аргументы, переданные массивом ячеек как входные параметры.
nloglf
возвращает скалярное отрицательное значение логарифмической правдоподобности и, опционально, отрицательный вектор градиента логарифмической правдоподобности (см. GradObj
поле в Options
аргумент значения имени).
Пример: @negloglik
Типы данных: function_handle
| cell
Задайте дополнительные разделенные запятой пары Name,Value
аргументы. Name
имя аргумента и Value
соответствующее значение. Name
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN
.
'Censoring',cens,'Options',opt
сообщает mlecov
считывать подвергнутые цензуре информации данных из векторного cens
и выполните согласно новой структуре опций opt
.cdf
— Пользовательская кумулятивная функция распределенияПользовательская кумулятивная функция распределения (cdf) в виде указателя на функцию или массива ячеек, содержащего указатель на функцию и дополнительные аргументы к функции.
Пользовательская функция принимает вектор, содержащий выборочные данные, один или несколько отдельных параметров распределения и любые дополнительные аргументы, переданные массивом ячеек как входные параметры. Функция возвращает вектор из cdf значений.
Для подвергнутых цензуре или усеченных наблюдений необходимо задать оба cdf
и pdf
. Для полностью наблюдаемых и неусеченных наблюдений, mlecov
не использует cdf
. Можно указать информацию цензуры при помощи любого data
или Censoring
и задайте границы усечения при помощи TruncationBounds
.
Пример: 'cdf',@newcdf
Типы данных: function_handle
| cell
logsf
— Пользовательская логарифмическая функция выживанияПользовательское логарифмическое выживание функционирует в виде указателя на функцию или массива ячеек, содержащего указатель на функцию и дополнительные аргументы к функции.
Пользовательская функция принимает вектор, содержащий выборочные данные, один или несколько отдельных параметров распределения и любые дополнительные аргументы, переданные массивом ячеек как входные параметры. Функция возвращает вектор из логарифмических значений вероятности выживания.
Для подвергнутых цензуре или усеченных наблюдений необходимо задать оба logsf
и logpdf
. Для полностью наблюдаемых и неусеченных наблюдений, mlecov
не использует logsf
. Можно указать информацию цензуры при помощи любого data
или Censoring
и задайте границы усечения при помощи TruncationBounds
.
Пример: 'logsf',@logsurvival
Типы данных: function_handle
| cell
Censoring
— Индикатор подвергнутых цензуре данныхИндикатор подвергнутых цензуре данных в виде вектора, состоящего из 0, –1, и 1, которые указывают на полностью наблюдаемые, лево-подвергнутые цензуре, и подвергнутые цензуре правом наблюдения, соответственно. Каждый элемент Censoring
значение указывает на состояние цензуры соответствующего наблюдения в data
. Censoring
значение должно иметь тот же размер как data
. Значением по умолчанию является вектор из 0s, указывая, что все наблюдения полностью наблюдаются.
Вы не можете задать подвергнутые цензуре интервалом наблюдения с помощью этого аргумента. Если выборочные данные включают подвергнутые цензуре интервалом наблюдения, задайте data
использование матрицы 2D столбца. mlecov
игнорирует Censoring
значение, если data
матрица 2D столбца.
Для подвергнутых цензуре данных необходимо задать пользовательский дистрибутив при помощи pdf
и cdf
, logpdf
и logsf
, или nloglf
.
mlecov
игнорирует любой NaN
значения в векторе цензурирования. Кроме того, любой NaN
значения в data
или вектор частоты (Frequency
) причина mlecov
проигнорировать соответствующие значения в векторе цензурирования.
Пример: 'Censoring',censored
, где censored
вектор, который содержит информацию о цензуре.
Типы данных: логический |
single
| double
TruncationBounds
— Границы усечения[-Inf,Inf]
(значение по умолчанию) | вектор из двух элементовFrequency
— Частота наблюденийЧастота наблюдений в виде вектора из неотрицательных целочисленных количеств, который имеет одинаковое число строк как data
. j
элемент th Frequency
значение дает числу раз j
строка th data
наблюдался. Значением по умолчанию является вектор 1 с, указывая на одно наблюдение на строку data
.
mlecov
игнорирует любой NaN
значения в этом векторе частоты. Кроме того, любой NaN
значения в data
или вектор цензурирования (Censoring
) причина mlecov
проигнорировать соответствующие значения в векторе частоты.
Пример: 'Frequency',freq
, где freq
вектор, который содержит частоты наблюдения.
Типы данных: single
| double
Options
— Числовые опцииstatset('mlecov')
(значение по умолчанию) | структураЧисловые опции для вычисления Гессиана конечной разности в виде структуры, возвращенной statset
.
mlecov
функция интерпретирует следующее statset
опции.
Имя поля | Описание |
---|---|
GradObj | Отметьте указание ли функция, обеспеченная |
DerivStep | Относительный размер шага используется в конечной разности для вычислений Гессиана в виде вектора одного размера с Значением по умолчанию является |
Пример: 'Options',statset('GradObj','on')
Типы данных: struct
mlecov
поддержки лево-подвергнутые цензуре, подвергнутые цензуре правом, и подвергнутые цензуре интервалом наблюдения.
Лево-подвергнутое цензуре наблюдение во время t
— Событие имело место перед временем t
, и точное время события неизвестно.
Подвергнутое цензуре правом наблюдение во время t
— Событие имело место после времени t
, и точное время события неизвестно.
Подвергнутое цензуре интервалом наблюдение в интервале [t1,t2]
— Событие имело место после времени t1
и перед временем t2
, и точное время события неизвестно.
Дважды подвергнутые цензуре данные включают и лево-подвергнутые цензуре и подвергнутые цензуре правом наблюдения.
Функция выживания является вероятностью выживания в зависимости от времени. Это также вызвано функция оставшегося в живых.
Функция выживания дает вероятность, что время выживания индивидуума превышает определенное значение. Поскольку кумулятивная функция распределения, F (t) является вероятностью, что время выживания меньше чем или равно данной точке t вовремя, функция выживания для непрерывного распределения S (t), является дополнением кумулятивной функции распределения: S (t) = 1 – F (t).
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.