survival

Вычислите выживание Cox пропорциональная модель опасностей

    Описание

    s = survival(coxMdl) оценивает базовую функцию выживания Cox пропорциональная модель coxMdl опасностей. Функция выживания во время t предполагаемая вероятность выживания до времени t. Термин baseline относится к функции выживания в решительной базовой линии предикторов. Это значение хранится в coxMdl.Baseline, и значением по умолчанию является среднее значение набора данных, используемого для обучения.

    пример

    s = survival(coxMdl,X) оценивает функцию выживания, когда предикторы имеют значения в X. В этом случае, s столбец для каждой строки X.

    пример

    s = survival(coxMdl,X,Stratification) оценивает функцию выживания для данного значения переменной Stratification стратификации. Необходимо поссориться в Stratification для каждой строки в X.

    Примечание

    Когда вы обучаете coxMdl использование переменных стратификации и переменных предикторов передачи X, survival также требует, чтобы вы передали переменные стратификации.

    пример

    s = survival(___,'Time',T) вычисляет выживание во времена T использование любой из комбинаций входных аргументов в предыдущих синтаксисах.

    пример

    [s,Tout] = survival(___) также возвращает времена Tout в котором вычисляется каждая оценка выживания.

    Примеры

    свернуть все

    Выполните Cox пропорциональная регрессия опасностей на lightbulb набор данных, который содержит симулированное время жизни лампочек. Первый столбец данных о лампочке содержит время жизни (в часах) двух различных типов ламп. Второй столбец содержит бинарную переменную, указывающую, флуоресцентна ли лампа или накалена; 0 указывает, что лампа флуоресцентна, и 1 указывает, что это - лампа накаливания. Третий столбец содержит информацию о цензурировании, где 0 указывает, что лампа наблюдалась, пока отказ, и 1 не указывает, что наблюдение было подвергнуто цензуре.

    Соответствуйте Cox пропорциональная модель опасностей в течение времени жизни лампочек, объясняя цензурирование. Переменный предиктор является типом лампы.

    load lightbulb
    coxMdl = fitcox(lightbulb(:,2),lightbulb(:,1), ...
        'Censoring',lightbulb(:,3));

    Вычислите базовую функцию выживания в зависимости от времени t, значение вероятности, что лампочка перестала работать после времени t. По умолчанию базовая линия вычисляется для среднего значения предиктора, который в этом случае является mean(lightbulb(:,2))= 0.5 . Возвратите времена Tout в котором вычисляется функция выживания.

    [s,Tout] = survival(coxMdl);

    Постройте выживание как ступенчатый график времени. (Времена Tout находятся также в coxMdl.Hazard(:,1).)

    hold on;
    stairs(Tout,s,'b-')
    xlabel 'Time \it t'
    ylabel 'Probability of failure after time \it t'

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

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

    s_fluorescent = survival(coxMdl,0);
    s_incandescent = survival(coxMdl,1);
    stairs(Tout,s_fluorescent,'r-')
    stairs(Tout,s_incandescent,'k-')
    legend('Baseline','Fluorescent','Incandescent')
    hold off

    Figure contains an axes object. The axes object contains 3 objects of type stair. These objects represent Baseline, Fluorescent, Incandescent.

    Чтобы создать графики без первого создания данных о выживании, используйте plotSurvival.

    Загрузите coxModel данные. (Эти симулированные данные сгенерированы в примере Cox Пропорциональный Объект модели Опасностей.) Модель под названием coxMdl имеет три уровня стратификации (1, 2, и 3) и предиктор X с тремя категориальными значениями (1, 1/20, и 1/100).

    load coxModel

    Вычислите функцию выживания для X = 1 на трех уровнях стратификации.

    c1 = categorical(1);
    X = [c1;c1;c1];
    stratification = [1;2;3];
    s = survival(coxMdl,X,stratification);

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

    t1 = find(coxMdl.Hazard(:,3) == 1);
    t1 = coxMdl.Hazard(t1,1);
    t2 = find(coxMdl.Hazard(:,3) == 2);
    t2 = coxMdl.Hazard(t2,1);
    t3 = find(coxMdl.Hazard(:,3) == 3);
    t3 = coxMdl.Hazard(t3,1);

    Постройте выживание для этих трех уровней. Просмотрите график в течение многих времен 1 - 30.

    plot(t1,s{1},t2,s{2},t3,s{3})
    xlim([1,30])
    legend('Stratification Level 1','Stratification Level 2','Stratification Level 3','Location','northeast')
    xlabel('Time t')
    ylabel('Probability of Survival Past t')

    Figure contains an axes object. The axes object contains 3 objects of type line. These objects represent Stratification Level 1, Stratification Level 2, Stratification Level 3.

    В качестве альтернативы оцените выживание в течение многих времен 1 - 30 путем определения Time аргумент.

    t = linspace(1,30,300);
    st = survival(coxMdl,X,stratification,'Time',t);
    figure
    plot(t,st{1},t,st{2},t,st{3})
    legend('Stratification Level 1','Stratification Level 2','Stratification Level 3','Location','northeast')
    xlabel('Time t')
    ylabel('Probability of Survival Past t')

    Figure contains an axes object. The axes object contains 3 objects of type line. These objects represent Stratification Level 1, Stratification Level 2, Stratification Level 3.

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

    свернуть все

    Подходящая Cox пропорциональная модель опасностей в виде CoxModel объект. Создайте coxMdl использование fitcox.

    Предикторы для модели в виде массива предикторов того же типа используются для учебного coxMdl. Каждая строка X представляет один набор предикторов.

    Типы данных: double | table | categorical

    Уровень стратификации в виде переменной или переменных того же типа используется для учебного coxMdl. Задайте одинаковое число строк в Stratification как в X.

    Типы данных: single | double | logical | char | string | table | cell | categorical

    Времена для выживания оценивают в виде вектора действительных чисел. survival сортирует требуемые времена и преобразует их в вектор-столбец, при необходимости. Получившиеся значения линейно интерполированы со времен в обучающих данных.

    Пример: 0:40

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

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

    свернуть все

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

    • Для нестратифицированной модели, s отсортированный числовой вектор-столбец предполагаемых вероятностей.

    • Для стратифицированной модели, s массив ячеек отсортированных числовых вектор-столбцов предполагаемых вероятностей для каждого уровня стратификации.

    survival возвращает столбец оценок выживания для каждой строки X.

    Времена для оценок выживания, возвращенных как одно из следующих.

    • Для нестратифицированной модели, Tout отсортированный числовой вектор-столбец времен в наборе обучающих данных.

    • Для стратифицированной модели, Tout массив ячеек отсортированных числовых вектор-столбцов учебных времен в наборе обучающих данных для каждого уровня стратификации.

    coxMdl.Hazard(:,1) вектор содержит времена и для расслоенных и для нерасслоенных моделей. Для стратифицированных моделей времена для различных уровней стратификации разделяются 0 записями.

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

    Введенный в R2021a