В этом примере показано, как построить модель пропорциональных рисков Кокса и оценить значимость переменных предиктора.
Загрузите образцы данных.
load readmissiontimesПеременная ответа: ReadmissionTime, который показывает время реадмиссии для 100 пациентов. Переменные предиктора: Age, Sex, Weightи статус курения каждого пациента, Smoker. 1 показывает, что пациент является курильщиком, и 0 указывает, что пациент не курит. Вектор столбца Censored имеет цензурную информацию для каждого пациента, где 1 указывает цензурные данные, а 0 указывает точное время реадмиссии соблюдается. Это смоделированные данные.
Поместите функцию пропорционального риска Кокса с переменной Sex в качестве предикторной переменной, принимая во внимание цензуру.
X = Sex;
[b,logl,H,stats] = coxphfit(X,ReadmissionTime,'censoring',Censored);Оценить статистическую значимость термина Пол.
stats
stats = struct with fields:
covb: 0.1016
beta: -1.7642
se: 0.3188
z: -5.5335
p: 3.1392e-08
csres: [100x1 double]
devres: [100x1 double]
martres: [100x1 double]
schres: [100x1 double]
sschres: [100x1 double]
scores: [100x1 double]
sscores: [100x1 double]
LikelihoodRatioTestP: 5.9825e-09
Значение p, p, указывает, что термин пол является статистически значимым.
Сохраните значение средства к существованию с другим именем. Это используется для оценки значимости расширенных моделей.
loglSex = logl
loglSex = -262.1365
Подберите модель пропорциональных рисков Кокса с переменными Пол, Возраст и Вес.
X = [Sex Age Weight];
[b,logl,H,stats] = coxphfit(X,ReadmissionTime,'censoring',Censored);Оцените значимость терминов.
stats.beta
ans = 3×1
-0.5441
0.0143
0.0250
stats.p
ans = 3×1
0.4953
0.3842
0.0960
Ни один из терминов с поправкой на другие не является статистически значимым.
Оцените значимость терминов, используя логарифмическое отношение правдоподобия. Можно оценить значимость новой модели с помощью статистики отношения правдоподобия. Сначала найдите разницу между статистикой логарифмического правдоподобия модели без терминов Возраст и вес и логарифмическим правдоподобием модели с полом, возрастом и весом.
-2*[loglSex - logl]
ans = 3.6705
Теперь вычислите значение p для статистики отношения правдоподобия. Статистика отношения правдоподобия имеет распределение хи-квадрат со степенями свободы, равными количеству оцениваемых переменных предиктора. В этом случае степени свободы равны 2.
p = 1 - cdf('chi2',3.6705,2)p = 0.1596
Значение p 0,1596 указывает на то, что термины Возраст и Вес не являются статистически значимыми, учитывая термин Пол в модели.
Подберите модель пропорциональных рисков Кокса с переменными Секс и Курильщик.
X = [Sex Smoker]; [b,logl,H,stats] = coxphfit(X,ReadmissionTime,... 'censoring',Censored);
Оцените значимость терминов в модели.
stats.p
ans = 2×1
0.0000
0.0148
Сравните эту модель с первой моделью, где секс является единственным термином.
-2*[loglSex - logl]
ans = 5.5789
Вычислите значение p для статистики отношения правдоподобия. Статистика отношения правдоподобия имеет распределение хи-квадрат со степенью свободы 1.
p = 1 - cdf('chi2',5.5789,1)p = 0.0182
Значение p 0,0182 указывает на то, что пол и курильщик статистически значимы, учитывая, что другой находится в модели. Модель с Sex and Smoker лучше подходит по сравнению с моделью только с Sex.
Запросить оценки коэффициентов.
stats.beta
ans = 2×1
-1.7165
0.6338
Базовой линией по умолчанию является среднее значение X, так что окончательная модель для отношения рисков
βα (Xα-X‾α)].
Установите модель пропорциональных рисков Кокса с базовой линией 0.
X = [Sex Smoker]; [b,logl,H,stats] = coxphfit(X,ReadmissionTime,... 'censoring',Censored,'baseline',0);
Модель для коэффициента опасности:
βsXs + βαXα].
Запросить оценки коэффициентов.
stats.beta
ans = 2×1
-1.7165
0.6338
Коэффициенты не затрагиваются, но коэффициент опасности отличается от того, когда базовая линия является средним значением X.