normfit

Нормальные оценки параметра

Синтаксис

[muHat,sigmaHat] = normfit(x)
[muHat,sigmaHat,muCI,sigmaCI] = normfit(x)
[muHat,sigmaHat,muCI,sigmaCI] = normfit(x,alpha)
[___] = normfit(x,alpha,censoring)
[___] = normfit(x,alpha,censoring,freq)
[___] = normfit(x,alpha,censoring,freq,options)

Описание

пример

[muHat,sigmaHat] = normfit(x) возвращает оценки параметров нормального распределения (средний muHat и стандартное отклонение sigmaHat), учитывая выборочные данные в x. muHat является демонстрационным средним значением, и sigmaHat является квадратным корнем из несмещенного средства оценки отклонения.

[muHat,sigmaHat,muCI,sigmaCI] = normfit(x) также возвращает 95% доверительных интервалов для оценок параметра на среднем и стандартном отклонении в массивах muCI и sigmaCI, соответственно.

пример

[muHat,sigmaHat,muCI,sigmaCI] = normfit(x,alpha) задает доверительный уровень для доверительных интервалов, чтобы быть % 100(1–alpha).

[___] = normfit(x,alpha,censoring) задает, подвергается ли каждое значение в x цензуре правом или нет. Используйте логический векторный censoring, в котором 1 указывает на наблюдения, которые подвергаются цензуре правом, и 0 указывает на наблюдения, которые полностью наблюдаются. С цензурированием muHat и sigmaHat являются оценками наибольшего правдоподобия (MLEs).

[___] = normfit(x,alpha,censoring,freq) задает частоту или веса наблюдений.

пример

[___] = normfit(x,alpha,censoring,freq,options) задает опции оптимизации для итеративного алгоритма normfit, чтобы использовать, чтобы вычислить MLEs с цензурированием. Создайте options при помощи функционального statset.

Можно передать в [] для alpha, censoring и freq, чтобы использовать их значения по умолчанию.

Примеры

свернуть все

Сгенерируйте 1 000 нормальных случайных чисел от нормального распределения со средним значением 3 и стандартное отклонение 5.

rng('default') % For reproducibility
x = normrnd(3,5,[1000,1]);

Найдите оценки параметра и 99% доверительных интервалов.

[muHat,sigmaHat,muCI,sigmaCI] = normfit(x,0.01)
muHat = 2.8368
sigmaHat = 4.9948
muCI = 2×1

    2.4292
    3.2445

sigmaCI = 2×1

    4.7218
    5.2989

muHat является демонстрационным средним значением, и sigmaHat является квадратным корнем из несмещенного средства оценки отклонения. muCI и sigmaCI содержат 99% доверительных интервалов параметров среднего и стандартного отклонения, соответственно. Первая строка является нижней границей, и вторая строка является верхней границей.

Найдите MLEs набора данных с цензурированием при помощи normfit. Используйте statset, чтобы задать опции итеративного алгоритма что использование normfit, чтобы вычислить MLEs для подвергнутых цензуре данных, и затем найти MLEs снова.

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

load lightbulb

Первый столбец данных содержит время жизни (в часах) двух типов ламп. Второй столбец содержит бинарную переменную, указывающую, флуоресцентна ли лампа или накалена. 1 указывает, что лампа флуоресцентна, и 0 указывает, что лампа является лампой накаливания. Третий столбец содержит информацию о цензуре, где 0 указывает, что лампа наблюдается, пока отказ, и 1 не указывает, что элемент (лампа) подвергается цензуре.

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

idx = find(lightbulb(:,2) == 0);

Примите, что время жизни следует за нормальным распределением, и найдите MLEs параметров нормального распределения. Второй входной параметр normfit задает доверительный уровень. Передайте в [], чтобы использовать его значение по умолчанию 0.05. Третий входной параметр указывает информацию цензуры.

censoring = lightbulb(idx,3) == 1;
[muHat1,sigmaHat1] = normfit(lightbulb(idx,1),[],censoring)
muHat1 = 9.4966e+03
sigmaHat1 = 3.0640e+03

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

statset('normfit')
ans = struct with fields:
          Display: 'off'
      MaxFunEvals: 200
          MaxIter: 100
           TolBnd: 1.0000e-06
           TolFun: 1.0000e-08
       TolTypeFun: []
             TolX: 1.0000e-08
         TolTypeX: []
          GradObj: []
         Jacobian: []
        DerivStep: []
      FunValCheck: []
           Robust: []
     RobustWgtFun: []
           WgtFun: []
             Tune: []
      UseParallel: []
    UseSubstreams: []
          Streams: {}
        OutputFcn: []

Сохраните опции с помощью другого имени. Изменитесь, как результаты отображены (Display) и допуск завершения к целевой функции (TolFun).

options = statset('normfit');
options.Display = 'final';
options.TolFun = 1e-10;

Также можно задать параметры алгоритма при помощи аргументов пары "имя-значение" функционального statset.

options = statset('Display','final','TolFun',1e-10);

Найдите MLEs с новыми параметрами алгоритма.

[muHat2,sigmaHat2] = normfit(lightbulb(idx,1),[],censoring,[],options)
Successful convergence: Norm of gradient less than OPTIONS.TolFun
muHat2 = 9.4966e+03
sigmaHat2 = 3.0640e+03

normfit отображает отчет относительно итоговой итерации.

Функциональный normfit находит демонстрационное среднее значение и квадратный корень из несмещенного средства оценки отклонения без цензурирования. Демонстрационное среднее значение равно MLE среднего параметра, но квадратный корень из несмещенного средства оценки отклонения не равен MLE параметра стандартного отклонения.

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

Сгенерируйте 100 нормальных случайных чисел от стандартного нормального распределения.

rng('default') % For reproducibility
n = 100;
x = normrnd(0,1,[n,1]);

Найдите демонстрационное среднее значение и квадратный корень из несмещенного средства оценки отклонения.

[muHat,sigmaHat] = normfit(x)
muHat = 0.1231
sigmaHat = 1.1624

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

sigmaHat_MLE = sqrt((n-1)/n)*sigmaHat
sigmaHat_MLE = 1.1566

Различие между sigmaHat и sigmaHat_MLE незначительно для большого n.

Также можно найти MLEs при помощи функционального mle.

phat = mle(x)
phat = 1×2

    0.1231    1.1566

phat(1) и phat(2) являются MLEs среднего значения и параметра стандартного отклонения, соответственно.

Подтвердите, что логарифмическая вероятность MLEs (muHat и sigmaHat_MLE) больше, чем логарифмическая вероятность несмещенных средств оценки (muHat и sigmaHat) при помощи функции normlike.

logL = -normlike([muHat,sigmaHat],x)
logL = -156.4424
logL_MLE = -normlike([muHat,sigmaHat_MLE],x)
logL_MLE = -156.4399

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

свернуть все

Выборочные данные, заданные как вектор.

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

Уровень значения для доверительных интервалов, заданных как скаляр в области значений (0,1). Доверительный уровень является % 100(1–alpha), где alpha является вероятностью, что доверительные интервалы не содержат истинное значение.

Пример: 0.01

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

Индикатор для цензурирования каждого значения в x, заданном как логический вектор, одного размера как x. Используйте 1 для наблюдений, которые подвергаются цензуре правом и 0 для наблюдений, которые полностью наблюдаются.

Значением по умолчанию является массив 0s, означая, что все наблюдения полностью наблюдаются.

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

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

Чтобы получить взвешенный MLEs для набора данных с цензурированием, задайте веса наблюдений, нормированных к количеству наблюдений в x.

Значением по умолчанию является массив 1 с, означая одно наблюдение на элемент x.

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

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

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

Имя поляЗначениеЗначение по умолчанию
Display

Объем информации отображен алгоритмом.

  • 'off' Отображения никакая информация.

  • 'final' — Отображает окончательный вывод.

'off'
MaxFunEvals

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

200
MaxIter

Максимальное количество итераций, позволенных, заданных как положительное целое число.

100
TolBnd

Нижняя граница оценки параметра стандартного отклонения, заданной как положительная скалярная величина.

Границами для оценок параметра среднего и стандартного отклонения является [–Inf,Inf] и [TolBnd,Inf], соответственно.

1e-6
TolFun

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

1e-8
TolX

Допуск завершения к параметрам, заданным как положительная скалярная величина.

1e-8

Можно также ввести statset('normfit') в Командном окне, чтобы видеть имена и значения по умолчанию полей, которые normfit принимает в структуре options.

Пример: statset('Display','final','MaxIter',1000) задает, чтобы отобразить итоговую информацию результатов итеративного алгоритма и изменить максимальное количество итераций, позволенных 1 000.

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

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

свернуть все

Оценка среднего параметра нормального распределения, возвращенного как скаляр.

  • Без цензурирования muHat является демонстрационным средним значением.

  • С цензурированием muHat является MLE. Чтобы вычислить взвешенный MLE, задайте веса наблюдений при помощи freq.

Оценка параметра стандартного отклонения нормального распределения, возвращенного как скаляр.

  • Без цензурирования sigmaHat является квадратным корнем из несмещенного средства оценки отклонения. Чтобы вычислить MLE без цензурирования, используйте функцию mle.

  • С цензурированием sigmaHat является MLE. Чтобы вычислить взвешенный MLE, задайте веса наблюдений при помощи freq.

Доверительный интервал для среднего параметра нормального распределения, возвращенного как 2 1 вектор-столбец, содержащий нижние и верхние границы доверительного интервала % 100(1–alpha).

Первые и вторые строки соответствуют нижним и верхним границам доверительных интервалов, соответственно.

Доверительный интервал для параметра стандартного отклонения нормального распределения, возвращенного как 2 1 вектор-столбец, содержащий нижние и верхние границы доверительного интервала % 100(1–alpha).

Первые и вторые строки соответствуют нижним и верхним границам доверительных интервалов, соответственно.

Алгоритмы

Чтобы вычислить доверительные интервалы, normfit использует точный метод для не прошедших цензуру данных и Вальдов метод для подвергнутых цензуре данных. Точный метод предоставляет точную страховую защиту не прошедшим цензуру выборкам на основе t и распределениям хи-квадрат.

Альтернативная функциональность

normfit является функционально-специализированным к нормальному распределению. Statistics and Machine Learning Toolbox™ также предлагает родовым функциям mle, fitdist, и paramci и приложение Distribution Fitter, которые поддерживают различные распределения вероятностей.

  • mle возвращает MLEs и доверительные интервалы MLEs для параметров различных распределений вероятностей. Можно задать имя распределения вероятностей или пользовательскую функцию плотности вероятности.

  • Создайте объект распределения вероятностей NormalDistribution путем подбора кривой распределению к данным с помощью функции fitdist или приложения Distribution Fitter. Свойства объектов mu и sigma хранят оценки параметра. Чтобы получить доверительные интервалы для оценок параметра, передайте объект paramci.

Ссылки

[1] Эванс, M., Н. Гастингс и Б. Пикок. Статистические Дистрибутивы. 2-й редактор Хобокен, NJ: John Wiley & Sons, Inc., 1993.

[2] Беззаконный, J. F. Статистические модели и методы для пожизненных данных. Хобокен, NJ: Wiley-межнаука, 1982.

[3] Более кроткий, W. Q. и Л. А. Эскобар. Статистические методы для данных о надежности. Хобокен, NJ: John Wiley & Sons, Inc., 1998.

Расширенные возможности

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