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 оценки наибольшего правдоподобия (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.

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

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

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