coxphfit

Регрессия пропорциональных рисков Кокса

Описание

пример

b = coxphfit(X,T) возвращает вектор p -by-1, b, оценок коэффициентов для регрессии пропорциональных рисков Кокса наблюдаемых реакций T на предикторах X, где T является либо вектором n -by-1, либо матрицей n -by-2, и X является n -by - p матрицей.

Модель не включает в себя постоянный член, и X не может содержать столбец 1s.

пример

b = coxphfit(X,T,Name,Value) возвращает вектор оценок коэффициентов с дополнительными опциями, заданными одним или несколькими Name,Value аргументы в виде пар.

пример

[b,logl,H,stats] = coxphfit(___) также возвращает логарифмическую правдоподобность, logl, структура, stats, который содержит дополнительную статистику и двухколоночную матрицу, H, который содержит T значения в первом столбце и предполагаемый базовый совокупный риск во втором столбце. Можно использовать любой из входных параметров в предыдущих синтаксисах.

Примеры

свернуть все

Загрузите выборочные данные.

load('lightbulb.mat');

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

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

b = coxphfit(lightbulb(:,2),lightbulb(:,1), ...
'Censoring',lightbulb(:,3))
b = 4.7262

Оценка коэффициента опасности eb = 112.8646. Это означает, что опасность для лампочек накаливания в 112,86 раза превышает опасность для лампочек флуоресценции.

Загрузите выборочные данные.

load('lightbulb.mat');

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

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

b = coxphfit(lightbulb(:,2),lightbulb(:,1),...
'Censoring',lightbulb(:,3))
b = 4.7262

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

statset('coxphfit')
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 и MaxIter.

coxphopt = statset('coxphfit');
coxphopt.Display = 'final';
coxphopt.MaxIter = 50;

Выполняйте coxphfit с новыми параметрами алгоритма.

b = coxphfit(lightbulb(:,2),lightbulb(:,1),...
'Censoring',lightbulb(:,3),'Options',coxphopt)
Successful convergence: Norm of gradient less than OPTIONS.TolFun
b = 4.7262

coxphfit отображает отчет об итоговой итерации. Изменение максимального количества итераций не повлияло на оценку коэффициента.

Сгенерируйте данные Вейбула в зависимости от X предиктора.

rng('default') % for reproducibility
X = 4*rand(100,1);
A = 50*exp(-0.5*X); 
B = 2;
y = wblrnd(A,B);

Значения отклика генерируются из распределения Вейбула с параметром формы в зависимости от переменной предиктора X и параметр шкалы 2.

Подбор модели пропорциональных рисков Кокса.

[b,logL,H,stats] = coxphfit(X,y);
[b logL]
ans = 1×2

    0.9409 -331.1479

Оценка коэффициента составляет 0,9409, и журнал значение правдоподобия составляет -331,1479.

Запросите статистику модели.

stats
stats = struct with fields:
                    covb: 0.0158
                    beta: 0.9409
                      se: 0.1256
                       z: 7.4889
                       p: 6.9462e-14
                   csres: [100x1 double]
                  devres: [100x1 double]
                 martres: [100x1 double]
                  schres: [100x1 double]
                 sschres: [100x1 double]
                  scores: [100x1 double]
                 sscores: [100x1 double]
    LikelihoodRatioTestP: 6.6613e-16

Ковариационная матрица оценок коэффициентов, covb, содержит только одно значение, которое равно отклонению оценки коэффициента в этом примере. Оценка коэффициента, beta, то же, что и b и равен 0,9409. Стандартная ошибка оценки коэффициента, se, равен 0,1256, что является квадратным корнем отклонения 0,0158. z-статистический, z, есть beta/se = 0.9409/0.1256 = 7.4880. Значение p, p, указывает, что эффект X является значительным.

Постройте график оценки Кокса базовой функции выживания вместе с известной функцией Вейбула.

stairs(H(:,1),exp(-H(:,2)),'LineWidth',2)
xx = linspace(0,100);
line(xx,1-wblcdf(xx,50*exp(-0.5*mean(X)),B),'color','r','LineWidth',2)
xlim([0,50])
legend('Estimated Survivor Function','Weibull Survivor Function')

Figure contains an axes. The axes contains 2 objects of type stair, line. These objects represent Estimated Survivor Function, Weibull Survivor Function.

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

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

свернуть все

Наблюдения над переменными, заданные как n -by - p матрица p предикторов для каждого из n наблюдений.

Модель не включает в себя постоянный член, таким образом X не может содержать столбец 1s.

Если X, T, или значение 'Frequency' или 'Strata' содержат NaN значения, затем coxphfit удаляет строки с NaN значения от всех данных при подборе модели Кокса.

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

Данные времени до события, заданные как вектор n-на-1 или двухколоночная матрица.

  • Когда T является вектором n -by-1, он представляет время события данных времени до события, подвергнутых цензуре вправо.

  • Когда T является матрицей n -by-2, каждая строка представляет интервал риска (start, stop] в формате процесса подсчета для зависящих от времени ковариат. Первый столбец является временем запуска, а второй - временем остановки. Для получения примера смотрите Модель пропорциональных опасностей Кокса с зависящими от времени ковариатами.

Если X, T, или значение 'Frequency' или 'Strata' содержат NaN значения, затем coxphfit удаляет строки с NaN значения от всех данных при подборе модели Кокса.

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

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

Задайте необязательные разделенные разделенными запятой парами Name,Value аргументы. Name - имя аргумента и Value - соответствующее значение. Name должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN.

Пример: 'Baseline',0,'Censoring',censoreddata,'Frequency',freq задает, что coxphfit вычисляет базовую скорость опасности относительно 0, принимая во внимание информацию о цензуре в векторе censoreddata, и частоту наблюдений за T и X заданный в векторном freq.

Начальные значения коэффициентов, заданные как разделенное запятыми значение, состоящее из 'B0' и числовой вектор.

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

X значения, при которых вычисляется опасность базовой линии, заданные как разделенная разделенными запятой парами, состоящая из 'Baseline' и скалярное значение.

Значение по умолчанию является mean(X), так что скорость опасности в X является h(t)*exp((X-mean(X))*b). Введите 0 вычислить базовый уровень относительно 0, так что скорость опасности на X является h(t)*exp(X*b). Изменение базового уровня не влияет на оценки коэффициентов, но коэффициент опасности изменяется.

Пример: 'Baseline',0

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

Индикатор цензуры, заданный как разделенная разделенными запятой парами, состоящая из 'Censoring' и логический массив того же размера, что и T. Используйте 1 для наблюдений, которые подвергаются правильной цензуре, и 0 для наблюдений, которые полностью наблюдаются. По умолчанию все наблюдения полностью наблюдаются. Для получения примера смотрите Модель пропорциональных опасностей Кокса для цензурированных данных.

Пример: 'Censoring',cens

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

Частота или веса наблюдений, заданные как разделенная запятыми пара, состоящая из 'Frequency' и массив того же размера, что и T содержит неотрицательные скалярные значения. Массив может содержать целочисленные значения, соответствующие частотам наблюдений или неотрицательные значения, соответствующие весам наблюдений.

Если X, T, или значение 'Frequency' или 'Strata' содержат NaN значения, затем coxphfit удаляет строки с NaN значения от всех данных при подборе модели Кокса.

Значение по умолчанию является 1 на строку X и T.

Пример: 'Frequency',w

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

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

Если X, T, или значение 'Frequency' или 'Strata' содержат NaN значения, затем coxphfit удаляет строки с NaN значения от всех данных при подборе модели Кокса.

Значение по умолчанию, [], не является переменной расслоения.

Пример: 'Strata',Gender

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

Метод обработки связанного времени отказа, заданный как разделенная разделенными запятой парами, состоящая из 'Ties' и любой из них 'breslow' (метод Бреслоу) или 'efron' (метод Эфрона).

Пример: 'Ties','efron'

Параметры управления алгоритмом для итерационного алгоритма, используемого для оценки b, заданная как разделенная разделенными запятой парами, состоящая из 'Options' и структуру. Вызов statset создает этот аргумент. Для имен параметров и значений по умолчанию введите statset('coxphfit'). Можно задать опции под новым именем и использовать их в аргументе пары "имя-значение".

Пример: 'Options',statset('coxphfit')

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

свернуть все

Оценки коэффициентов для регрессии пропорциональных рисков Кокса, возвращенные как p-на-1 вектор.

Логарифмическая правдоподобность подобранной модели, возвращаемой в виде скаляра.

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

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

  • Если модель не удовлетворена, то H является двухколоночной матрицей. Первый столбец матрицы содержит T значения, а второй столбец содержит совокупные оценки уровня опасности.

  • Если модель стратифицирована, то H - матрица столбцов (2 + k), где последние k столбцы соответствуют переменным стратификации с помощью Strata аргумент пары "имя-значение".

Статистика коэффициентов, возвращенная как структура, содержащая следующие поля.

betaОценки коэффициентов (те же, что и b)
seСтандартные ошибки оценок коэффициентов, b
zz -статистика для b (то есть b делится на стандартную ошибку)
pp -значения для b
covb

Предполагаемая ковариационная матрица для b

csres

Кокс-Снелл невязки

devresОтклонение невязок
martresМартингейл- невязки
schresШенфельдские невязки
sschresМасштабированные невязки Шенфельда
scoresОцените невязки
sscoresМасштабированные невязки счетов

coxphfit возвращает невязки Кокса-Снелла, мартингала и отклонения в качестве вектора-столбца с одной строкой на наблюдение. Он возвращает Шёнфельд, масштабированный Шёнфельд, счет и масштабированные невязки оценки как матрицы того же размера, что и X. Шёнфельд и масштабированные невязки Шёнфельда цензурированных данных NaNс.

Подробнее о

свернуть все

Пропорциональная регрессия рисков Кокса

Регрессия пропорциональных рисков Кокса является семипараметрическим методом для корректировки оценок выживаемости, чтобы удалить эффект смешанных переменных и количественно оценить эффект переменных-предикторов. Метод представляет эффекты объясняющих и смешивающих переменных как множитель общей фоновой функции опасности, h 0 (t ).

Для опорной линии относительно 0 эта модель соответствует

h(Xi,t)=h0(t)exp[j=1pxijbj],

где Xi=(xi1,xi2,,xip) переменная предсказателя для предмета <reservedrangesplaceholder10> th, h (X i, t) темп опасности во время t для <reservedrangesplaceholder4> <reservedrangesplaceholder3>, и <reservedrangesplaceholder2> 0 (<reservedrangesplaceholder1>) является базовой функцией темпа опасности. Базовая функция опасности является непараметрической частью функции регрессии пропорциональных рисков Кокса, в то время как влияние переменных предиктора является логлинейной регрессией. Предположение, что базовая функция опасности зависит от времени, t, но переменные предиктора не зависят от времени. См. Модель пропорциональных опасностей Кокса для получения дополнительной информации, включая расширения для стратифицированных и зависящих от времени переменных, связанных событий и весов наблюдений.

Ссылки

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

[2] Lawless, J. F. Статистические модели и методы для пожизненных данных. Hoboken, NJ: Wiley-Interscience, 2002.

[3] Клейнбаум, Д. Г., и М. Клейн. Анализ выживания. Статистика по биологии и здоровью. 2-е издание. Спрингер, 2005.

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

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