exponenta event banner

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

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

[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.

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

Создание времени отказа из распределения Birnbaum-Saunders.

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

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

[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. j-й элемент этого вектора дает число раз 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 (ri − di),

где ri - число подвергающихся риску в момент времени ti, а di - число отказов в момент времени ti.

Ссылки

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

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

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

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