ecdf

Эмпирическая кумулятивная функция распределения

Синтаксис

[f,x] = ecdf(y)
[f,x] = ecdf(y,Name,Value)
[f,x,flo,fup] = ecdf(___)
ecdf(___)
ecdf(ax,___)

Описание

пример

[f,x] = ecdf(y) возвращает эмпирическую кумулятивную функцию распределения (cdf), f, оцененный в точках в x, с помощью данных в векторном y.

В выживании и анализе надежности, этот эмпирический cdf называется оценкой Каплана-Мейера. И данные могут соответствовать временам выживания или отказа.

пример

[f,x] = ecdf(y,Name,Value) возвращает эмпирические значения функции, f, оцененный в точках в x, с дополнительными опциями, заданными одним или несколькими аргументами пары Name,Value.

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

пример

[f,x,flo,fup] = ecdf(___) также возвращает на 95% более низкое и верхние доверительные границы для оцененных значений функции. Можно комбинировать с любым синтаксом из перечисленных выше.

ecdf вычисляет доверительные границы с помощью формулы Гринвуда. Они не одновременные доверительные границы.

пример

ecdf(___) чертит ступенчатый график выполненной функции при помощи функции stairs. Задайте 'Bounds','on', чтобы включать доверительные границы в график.

ecdf(ax,___) графики на осях заданы ax вместо текущей системы координат (gca).

Примеры

свернуть все

Вычислите оценку Каплана-Мейера кумулятивной функции распределения (cdf) для моделируемых данных о выживании.

Сгенерируйте данные о выживании из распределения Weibull с параметрами 3 и 1.

rng('default')  % for reproducibility
failuretime = random('wbl',3,1,15,1);

Вычислите оценку Каплана-Мейера cdf для данных о выживании.

[f,x] = ecdf(failuretime);
[f,x]
ans = 16×2

         0    0.0895
    0.0667    0.0895
    0.1333    0.1072
    0.2000    0.1303
    0.2667    0.1313
    0.3333    0.2718
    0.4000    0.2968
    0.4667    0.6147
    0.5333    0.6684
    0.6000    1.3749
      ⋮

Постройте предполагаемый cdf.

ecdf(failuretime)

Вычислите и постройте функцию опасности моделируемых подвергнутых цензуре правом данных о выживании.

Сгенерируйте времена отказа от распределения Бирнбаума-Сондерса.

rng('default')  % For reproducibility
failuretime = random('birnbaumsaunders',0.3,1,100,1);

При предположении, что конец исследования во время 0.9, сгенерируйте логический массив, который указывает моделируемое время отказа, которое больше, чем 0,9 как подвергнутые цензуре данные и хранит эту информацию в векторе.

T = 0.9;
cens = (failuretime>T);

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

ecdf(failuretime,'Function','cumulative hazard', ...
    'Censoring',cens,'Bounds','on');

Сгенерируйте подвергнутые цензуре правом данные о выживании и сравните эмпирическую кумулятивную функцию распределения (cdf) с известным cdf.

Сгенерируйте времена отказа от экспоненциального распределения со средним временем отказа 15.

rng('default')  % For reproducibility
y = exprnd(15,75,1);

Сгенерируйте времена уволенного от экспоненциального распределения со средним временем отказа 30.

d = exprnd(30,75,1);

Сгенерируйте наблюдаемые времена отказа. Они - минимум сгенерированных времен отказа и времен уволенного.

t = min(y,d);

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

censored = (y>d);

Вычислите эмпирический cdf и доверительные границы.

[f,x,flo,fup] = ecdf(t,'Censoring',censored);

Постройте cdf и доверительные границы.

figure()
ecdf(t,'Censoring',censored,'Bounds','on');
hold on

Наложите график известной генеральной совокупности cdf.

xx = 0:.1:max(t);
yy = 1-exp(-xx/15);
plot(xx,yy,'g-','LineWidth',2)
axis([0 50 0 1])
legend('Empirical','LCB','UCB','Population', ...
    'Location','southeast')
hold off

Сгенерируйте данные о выживании и постройте эмпирическую функцию оставшегося в живых с 99% доверительных границ.

Сгенерируйте пожизненные данные из распределения Weibull с параметрами 100 и 2.

rng('default')  % For reproducibility
R = wblrnd(100,2,100,1);

Постройте функцию оставшегося в живых для данных с 99% доверительных границ.

ecdf(R,'Function','survivor','Alpha',0.01,'Bounds','on')
hold on

Соответствуйте функции оставшегося в живых Weibull.

x = 1:1:250;
wblsurv = 1-cdf('weibull',x,100,2);
plot(x,wblsurv,'g-','LineWidth',2)
legend('Empirical','LCB','UCB','Population', ...
    'Location','northeast')

Функция оставшегося в живых на основе фактического распределения в доверительных границах.

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

свернуть все

Входные данные, заданные как вектор. Например, в выживании или анализе надежности, данные могут быть временами выживания или отказа для каждого элемента или человека.

ecdf игнорирует значения NaN в y. Кроме того, любые значения NaN в подвергающем цензуре векторе ('Censoring') или вектор частоты ('Frequency') причина ecdf, чтобы проигнорировать соответствующие значения в y.

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

Оси обрабатывают для фигуры графики ecdf к, заданный как указатель.

Например, если h является указателем для фигуры, то ecdf может построить той фигуре можно следующим образом.

Пример: ecdf(h,x)

Аргументы в виде пар имя-значение

Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми. Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: 'Censoring',c,'Function','cumulative hazard','Alpha',0.025,'Bounds','on' указывает, что ecdf возвращает совокупную функцию опасности и строит доверительные границы на 97,5%, составляя подвергнутые цензуре данные, заданные векторным c.

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

ecdf игнорирует любые значения NaN в этом векторе цензурирования. Кроме того, любые значения NaN в y или векторе частоты ('Frequency') причина ecdf, чтобы проигнорировать соответствующие значения в векторе цензурирования.

Пример: Если векторный cdata хранит подвергнутую цензуре информацию данных, введите 'Censoring',cdata.

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

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

ecdf игнорирует любые значения NaN в этом векторе частоты. Кроме того, любые значения NaN в y или подвергающем цензуре векторе ('Censoring') причина ecdf, чтобы проигнорировать соответствующие значения в векторе частоты.

Пример: Если failurefreq является вектором частот, введите 'Frequency',failurefreq

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

Уровень значения для доверительного интервала выполненной функции, заданной как пара, разделенная запятой, состоящая из 'Alpha' и скалярного значения между в области значений (0,1). Значение по умолчанию 0.05 для 95%-й уверенности. Для данного значения alpha доверительный уровень является % 100(1-alpha).

Например, для 99%-го доверительного интервала, можно задать альфа-значение можно следующим образом.

Пример: 'Alpha',0.01

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

Тип функции, которую ecdf выполняет и возвращает, заданный как пара, разделенная запятой, состоящая из 'Function' и одно из следующих.

'cdf'Значение по умолчанию. Кумулятивная функция распределения.
'survivor'Функция оставшегося в живых.
'cumulative hazard'Совокупная функция опасности.

Пример: 'Function','cumulative hazard'

Индикатор для включения границ, заданных как пара, разделенная запятой, состоящая из 'Bounds' и одно из следующих.

'off'Значение по умолчанию. Задайте, чтобы не использовать границы.
'on' Задайте, чтобы включать границы.

Примечание

Этот аргумент значения имени используется только для графического вывода.

Пример: 'Bounds','on'

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

свернуть все

Значения функции, оцененные в точках в x, возвращенном как вектор-столбец.

Отсортированные наблюдаемые точки в векторе данных y, возвращенный как вектор-столбец.

Виды ecdf y, удаляет дублирующиеся значения в отсортированном y и сохраняет результаты в вывод x. Вывод x включает минимальное значение y как его первые два значения. Эти два значения полезны для графического вывода выходных параметров ecdf с помощью функции stairs.

Более низкая доверительная граница для выполненной функции, возвращенной как вектор-столбец. ecdf вычисляет доверительные границы с помощью формулы Гринвуда. Они не одновременные доверительные границы.

Верхняя доверительная граница для выполненной функции, возвращенной как вектор-столбец. ecdf вычисляет доверительные границы с помощью формулы Гринвуда. Они не одновременные доверительные границы.

Больше о

свернуть все

Формула Гринвуда

Приближение для отклонения средства оценки Каплана-Мейера.

Оценкой отклонения дают

V(S(t))=S2(t)ti<Tdiri(ridi),

где r, i является номером в опасности во время t i и d i, является количеством отказов во время t i.

Ссылки

[1] Cox, D. R. и Д. Оукс. Анализ данных о выживании. Лондон: Chapman & Hall, 1984.

[2] Беззаконный, J. F. Статистические модели и Методы для Пожизненных Данных. 2-й редактор, Хобокен, NJ: John Wiley & Sons, Inc., 2003.

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

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