normfit

Оценки нормальных параметров

Описание

пример

[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 являются максимальными оценками правдоподобия (MLE).

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

пример

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

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

Примеры

свернуть все

Сгенерируйте 1000 нормальных случайных чисел из нормального распределения со средним 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% доверительных интервалов среднего и стандартного параметров отклонения, соответственно. Первая строка является нижней границей, а вторая строка - верхней границей.

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

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

load lightbulb

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

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

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

Примите, что срок службы следует за нормальным распределением, и найдите MLE нормальных параметров распределения. Второй входной параметр 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);

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

[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, преобразовать их в MLE, а затем сравнить отрицательные журналы вероятности оценок с помощью 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.

Также можно найти MLE при помощи функции mle.

phat = mle(x)
phat = 1×2

    0.1231    1.1566

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

Подтвердите, что журнал вероятность MLE (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 для наблюдений, которые полностью наблюдаются.

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

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

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

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

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

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

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

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

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

Количество информации, отображаемой алгоритмом.

  • 'off' - Информация не отображается.

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

'off'
MaxFunEvals

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

200
MaxIter

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

100
TolBnd

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

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

1e-6
TolFun

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

1e-8
TolX

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

1e-8

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

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

Типы данных: 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 Возвраты MLE и доверия интервалы MLE для параметров различных распределений вероятностей. Можно задать имя распределения вероятностей или пользовательскую функцию плотности вероятностей.

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

Ссылки

[1] Эванс, М., Н. Гастингс и Б. Пикок. Статистические распределения. 2nd ed. Hoboken, NJ: John Wiley & Sons, Inc., 1993.

[2] Lawless, J. F. Статистические модели и методы для пожизненных данных. Hoboken, NJ: Wiley-Interscience, 1982.

[3] Микер, У. К. и Л. А. Эскобар. Статистические методы для данных о надежности. Hoboken, NJ: John Wiley & Sons, Inc., 1998.

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

Генерация кода C/C + +
Сгенерируйте код C и C++ с помощью Coder™ MATLAB ®

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