Регрессия пропорциональных рисков Кокса
возвращает вектор p -by-1, b
= coxphfit(X
,T
)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
Оценка коэффициента опасности = 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
, есть 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 -by - p матрица p предикторов для каждого из n наблюдений.
Модель не включает в себя постоянный член, таким образом X
не может содержать столбец 1s.
Если X
, T
, или значение 'Frequency'
или 'Strata'
содержат NaN
значения, затем coxphfit
удаляет строки с NaN
значения от всех данных при подборе модели Кокса.
Типы данных: double
T
- Данные времени до событияДанные времени до события, заданные как вектор 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'
- Начальные значения коэффициентов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-на-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. Шёнфельд и масштабированные невязки Шёнфельда цензурированных данных NaN
с.
Регрессия пропорциональных рисков Кокса является семипараметрическим методом для корректировки оценок выживаемости, чтобы удалить эффект смешанных переменных и количественно оценить эффект переменных-предикторов. Метод представляет эффекты объясняющих и смешивающих переменных как множитель общей фоновой функции опасности, h 0 (t ).
Для опорной линии относительно 0 эта модель соответствует
где переменная предсказателя для предмета <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.
Указания и ограничения по применению:
X
может быть единичной или двойной точностью матрицы и может быть переменного размера.
Значение 'Ties'
аргумент пары "имя-значение" должен быть константой времени компиляции. Например, чтобы использовать метод Эфрона для обработки связанных времен отказа, включите {coder.Constant('Ties'),coder.Constant('efron')}
в -args
значение codegen
(MATLAB Coder).
Имена в аргументах пары "имя-значение" должны быть константами во время компиляции.
Для получения дополнительной информации о генерации кода смотрите Введение в генерацию кода и Рабочий процесс генерации общего кода.
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.