Регрессия пропорциональных рисков Кокса
возвращает вектор p-by-1, b = coxphfit(X,T)b, оценок коэффициентов для регрессии пропорциональных рисков Кокса наблюдаемых ответов T на предикторах X, где T является вектором n-by-1 или матрицей n-by-2, и X является матрицей n-by-p.
Модель не включает постоянный член, и X не может содержать столбец из 1.
возвращает вектор оценок коэффициентов с дополнительными опциями, заданными одним или несколькими 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')

Подогнанная модель дает близкую оценку функции выжившего фактического распределения.
X - Наблюдения за переменными предиктораНаблюдения по переменным предиктора, определенным как матрица n-за-p из p предикторов для каждого из n наблюдений.
Модель не включает постоянный член, таким образом X не может содержать столбец из 1.
Если X, T, или значение 'Frequency' или 'Strata' содержать NaN значения, затем coxphfit удаляет строки с NaN значения из всех данных при подборе модели Кокса.
Типы данных: double
T - Данные времени до событияДанные времени до события, заданные как вектор n-by-1 или матрица из двух столбцов.
Когда T является вектором n-by-1, он представляет время события данных времени к событию с правой цензурой.
Когда T является матрицей n-by-2, каждая строка представляет интервал риска (начало, остановка] в формате процесса подсчета для зависящих от времени ковариат. Первый столбец - время начала, а второй - время окончания. Пример см. в разделе Модель пропорциональных рисков Кокса с зависимыми от времени ковариатами.
Если 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' - Начальные значения коэффициентов0.01/std(X) (по умолчанию) | числовой векторНачальные значения коэффициентов, указанные как разделенное запятыми значение, состоящее из 'B0' и числовой вектор.
Типы данных: double
'Baseline' — X значения, при которых вычисляется базовая опасностьmean(X) (по умолчанию) | скалярное значениеX значения, при которых вычисляется базовый риск, указанный как пара, разделенная запятыми, состоящая из 'Baseline' и скалярное значение.
Значение по умолчанию: mean(X), таким образом, уровень опасности на X является h(t)*exp((X-mean(X))*b). Войти 0 для вычисления базовой линии относительно 0, поэтому коэффициент опасности составляет X является h(t)*exp(X*b). Изменение базовой линии не влияет на оценки коэффициентов, но коэффициент опасности изменяется.
Пример: 'Baseline',0
Типы данных: double
'Censoring' - Индикатор цензурыИндикатор цензуры, определяемый как разделенная запятыми пара, состоящая из 'Censoring' и логический массив того же размера, что и T. Используйте 1 для наблюдений с правильной цензурой и 0 для наблюдений с полным соблюдением. По умолчанию все наблюдения полностью соблюдаются. Пример см. в разделе Модель пропорциональных рисков Кокса для данных с цензурой.
Пример: 'Censoring',cens
Типы данных: logical
'Frequency' - Периодичность или вес наблюденийЧастота или веса наблюдений, определяемые как разделенная запятыми пара, состоящая из 'Frequency' и массив того же размера, что и T содержит неотрицательные скалярные значения. Массив может содержать целочисленные значения, соответствующие частотам наблюдений, или неотрицательные значения, соответствующие весам наблюдений.
Если X, T, или значение 'Frequency' или 'Strata' содержать NaN значения, затем coxphfit удаляет строки с NaN значения из всех данных при подборе модели Кокса.
Значение по умолчанию - 1 на строку X и T.
Пример: 'Frequency',w
Типы данных: double
'Strata' - Переменные стратификации[] (по умолчанию) | матрица вещественных значенийПеременные стратификации, указанные как пара, разделенная запятыми, состоящая из матрицы вещественных значений. Матрица должна иметь то же количество строк, что и T, с каждой строкой, соответствующей наблюдению.
Если X, T, или значение 'Frequency' или 'Strata' содержать NaN значения, затем coxphfit удаляет строки с NaN значения из всех данных при подборе модели Кокса.
Значение по умолчанию, [], не является переменной стратификации.
Пример: 'Strata',Gender
Типы данных: single | double
'Ties' - Метод обработки времени связанного отказа'breslow' (по умолчанию) | 'efron'Метод обработки времени связанного отказа, указанный как разделенная запятыми пара, состоящая из 'Ties' и либо 'breslow' (метод Бреслоу) или 'efron' (метод Эфрона).
Пример: 'Ties','efron'
'Options' - Параметры управления алгоритмомПараметры управления алгоритмом для итеративного алгоритма, используемого для оценки b, указанная как пара, разделенная запятыми, состоящая из 'Options' и структура. Вызов statset создает этот аргумент. Для имен параметров и значений по умолчанию введите statset('coxphfit'). Можно задать параметры под новым именем и использовать их в аргументе пары имя-значение.
Пример: 'Options',statset('coxphfit')
b - Оценки коэффициентовОценки коэффициентов для регрессии пропорциональных рисков Кокса, возвращенные как вектор p-by-1.
logl - Средства к существованиюЛогарифмирование подогнанной модели, возвращенной как скаляр.
Значения правдоподобия журнала можно использовать для сравнения различных моделей и оценки значимости эффектов терминов в модели.
H - Расчетная базовая кумулятивная опасностьОценочная базовая кумулятивная степень опасности, оцененная в T , возвращенные как одно из следующих значений.
Если модель не стратифицирована, то H является матрицей из двух столбцов. Первый столбец матрицы содержит T значения, и второй столбец содержит кумулятивные оценки степени опасности.
Если модель стратифицирована, то H является (2 + k) матрицей столбцов, где последние k столбцов соответствуют переменным стратификации с использованием Strata аргумент пары имя-значение.
stats - Статистика коэффициентовСтатистика коэффициентов, возвращаемая как структура, содержащая следующие поля.
beta | Оценки коэффициентов (такие же, как b) |
se | Стандартные погрешности оценок коэффициентов, b |
z | z-статистика для b (то есть b делится на стандартную ошибку) |
p | p-значения для b |
covb | Оценочная ковариационная матрица для |
csres | Остатки Кокса-Снелла |
devres | Остатки отклонения |
martres | Остатки Мартингале |
schres | Остатки Шенфельда |
sschres | Масштабированные остатки Шенфельда |
scores | Остатки баллов |
sscores | Масштабированные остатки баллов |
coxphfit возвращает остатки Кокса-Снелла, мартингала и отклонения в виде вектора-столбца с одной строкой на одно наблюдение. Он возвращает остатки Шенфельда, масштабированного Шенфельда, балла и масштабированного балла в виде матриц того же размера, что и X. Шенфельд и масштабированные остатки Шенфельда цензурных данных. NaNs.
Регрессия пропорциональных рисков Кокса является полупараметрическим методом для корректировки оценок выживаемости, чтобы устранить эффект смешанных переменных и количественно оценить эффект предикторных переменных. Метод представляет эффекты объясняющих и смешивающих переменных как множитель общей базовой функции опасности h0 (t ).
Для базовой линии относительно 0 эта модель соответствует
exp[∑j=1pxijbj],
где xi1,xi2,⋯,xip) - предикторная переменная для i-го субъекта, h (Xi, t) - коэффициент опасности в момент времени t для Xi, и h0 (t) - функция базового коэффициента опасности. Базовая функция риска является непараметрической частью функции регрессии пропорциональных рисков Кокса, тогда как влияние переменных предиктора является логлинейной регрессией. Предполагается, что базовая функция опасности зависит от времени, t, но переменные предиктора не зависят от времени. Подробные сведения, включая расширения для стратификации и зависящих от времени переменных, связанных событий и весов наблюдений, см. в модели пропорциональных рисков Кокса.
[1] Кокс, D.R., и Д. Оукс. Анализ данных о выживании. Лондон: Chapman & Hall, 1984.
[2] Беззаконие, J.F. Статистические модели и методы для данных о сроке службы. Хобокен, Нью-Джерси: Wiley-Interscience, 2002.
[3] Клейнбаум, Д. Г. и М. Кляйн. Анализ выживания. Статистика биологии и здравоохранения. 2-е издание. Спрингер, 2005.
Примечания и ограничения по использованию:
X может быть матрицей с одной или двойной точностью и может иметь переменный размер.
Значение 'Ties' аргумент пары имя-значение должен быть константой времени компиляции. Например, чтобы использовать метод Эфрона для обработки времени связанного отказа, включите {coder.Constant('Ties'),coder.Constant('efron')} в -args значение codegen (Кодер MATLAB).
Имена в аргументах пары имя-значение должны быть константами времени компиляции.
Дополнительные сведения о создании кода см. в разделах Введение в создание кода и Общий рабочий процесс создания кода.
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.