ecdf

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

Описание

пример

[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) для моделируемых данных выживания.

Сгенерируйте данные выживания из распределения Вейбула с параметрами 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)

Figure contains an axes. The axes contains an object of type stair.

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

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

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');

Figure contains an axes. The axes contains 3 objects of type stair.

Сгенерируйте данные о выживании с цензурой вправо и сравните эмпирическую совокупную функцию распределения (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

Figure contains an axes. The axes contains 3 objects of type stair.

Наложите график известного населения 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

Figure contains an axes. The axes contains 4 objects of type stair, line. These objects represent Empirical, LCB, UCB, Population.

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

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

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

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

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

Figure contains an axes. The axes contains 3 objects of type stair.

Подгонка функции выжившего Вейбула.

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

Figure contains an axes. The axes contains 4 objects of type stair, line. These objects represent Empirical, LCB, UCB, Population.

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

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

свернуть все

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

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

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

Указатель на ось для рисунка ecdf графики, заданные как указатель.

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

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

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

Задайте необязательные разделенные разделенными запятой парами Name,Value аргументы. 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.

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

Частота наблюдений, заданная как разделенная разделенными запятой парами, состоящая из 'Frequency' и вектор, содержащий неотрицательные целочисленные счетчики. Этот вектор имеет тот же размер, что и вектор x. The jth элемент этого вектора дает количество раз, чем jпервый элемент 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),

где <reservedrangesplaceholder7> <reservedrangesplaceholder6> - число в опасности во время <reservedrangesplaceholder5> <reservedrangesplaceholder4>, и <reservedrangesplaceholder3> <reservedrangesplaceholder2> - количество отказов во время <reservedrangesplaceholder1> <reservedrangesplaceholder0>.

Ссылки

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

[2] Lawless, J. F. Статистические модели и методы для пожизненных данных. 2-е изд., Хобокен, Нью-Джерси: John Wiley & Sons, Inc., 2003.

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

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