exponenta event banner

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, а затем сравнить отрицательный log вероятностей оценок с помощью 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 для наблюдений, которые полностью соблюдаются.

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

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

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

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

По умолчанию используется массив из 1 s, что означает одно наблюдение на элемент 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

Также можно ввести statset('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 - функция, специфичная для нормального распределения. Toolbox™ статистики и машинного обучения также предлагает общие функции mle, fitdist, и paramci и приложение Distribution Fitter, которое поддерживает различные распределения вероятностей.

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

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

Ссылки

[1] Эванс, М., Н. Гастингс и Б. Павлин. Статистические распределения. 2-й ред. Хобокен, Нью-Джерси: John Wiley & Sons, Inc., 1993.

[2] Беззаконие, J.F. Статистические модели и методы для данных о сроке службы. Хобокен, Нью-Джерси: Wiley-Interscience, 1982.

[3] Микер, В. К. и Л. А. Эскобар. Статистические методы для данных о надежности. Хобокен, Нью-Джерси: John Wiley & Sons, Inc., 1998.

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

Создание кода C/C + +
Создайте код C и C++ с помощью MATLAB ® Coder™

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