Этот пример показывает, как создать модель пропорциональных рисков Кокса и оценить значимость переменных предиктора.
Загрузите выборочные данные.
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
, указывает, что термин Sex статистически значим.
Сохраните значение логарифмической правдоподобности под другим именем. Вы будете использовать это, чтобы оценить значимость расширенных моделей.
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
Теперь вычислите -значение для статистического коэффициента правдоподобия. Статистическая величина отношения правдоподобия имеет распределение Хи-квадрат со степенями свободы, равными количеству оцениваемых переменных. В этом случае степени свободы равны 2.
p = 1 - cdf('chi2',3.6705,2)
p = 0.1596
Значение 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
Вычислите -значение для статистического коэффициента правдоподобия. Статистическая величина отношения правдоподобия имеет распределение Хи-квадрат со степенью свободы 1.
p = 1 - cdf('chi2',5.5789,1)
p = 0.0182
Значение 0,0182 указывает, что Секс и Курильщик статистически значимы, учитывая, что другое находится в модели. Модель с Sex and Smoker - лучшая подгонка по сравнению с моделью только с Sex.
Запросите оценки коэффициентов.
stats.beta
ans = 2×1
-1.7165
0.6338
Базовая линия по умолчанию является средним значением X
, поэтому конечная модель для коэффициента опасности
Подгонка модели пропорциональных рисков Кокса с базовой линией 0.
X = [Sex Smoker]; [b,logl,H,stats] = coxphfit(X,ReadmissionTime,... 'censoring',Censored,'baseline',0);
Модель для коэффициента опасности
Запросите оценки коэффициентов.
stats.beta
ans = 2×1
-1.7165
0.6338
Коэффициенты не влияют, но скорость опасности отличается от, когда базовый уровень является средним значением X
.