Cox пропорциональная регрессия опасностей
b = coxphfit(X,T)
b = coxphfit(X,T,Name,Value)
[b,logl,H,stats]
= coxphfit(___)
возвращает p-by-1 вектор, b
= coxphfit(X
,T
)b
, содействующих оценок для Cox пропорциональная регрессия опасностей наблюдаемых ответов T
на предикторах X
, где T
является или n-by-1 вектор или n-by-2 матрица, и X
является n-by-p матрица.
Модель не включает постоянный термин, и X
не может содержать столбец 1 с.
возвращает вектор содействующих оценок, с дополнительными опциями, заданными одним или несколькими аргументами пары b
= coxphfit(X
,T
,Name,Value
)Name,Value
.
[
также возвращает loglikelihood, b
,logl
,H
,stats
]
= coxphfit(___)logl
, структуру, stats
, который содержит дополнительную статистику, и матрицу 2D столбца, H
, который содержит значения T
в первом столбце и предполагаемой базовой совокупной опасности во втором столбце. Можно комбинировать с любым синтаксом из перечисленных выше.
Загрузите выборочные данные.
load(fullfile(matlabroot,'examples','stats','lightbulb.mat'));
Первый столбец данных о лампочке имеет время жизни (в часах) двух различных типов ламп. Второй столбец имеет бинарную переменную, указывающую, флуоресцентна ли лампа или накалена. 0 указывает, что лампа является лампой накаливания, и 1 указывает, что это флуоресцентно. Третий столбец содержит информацию о цензуре, где 0 указывает, что лампа наблюдалась, пока отказ, и 1 не указывает, что лампа была подвергнута цензуре.
Соответствуйте Cox пропорциональная модель опасностей в течение времени жизни лампочек, также объясняя цензурирование. Переменная прогноза является типом лампы.
b = coxphfit(lightbulb(:,2),lightbulb(:,1), ... 'Censoring',lightbulb(:,3))
b = 4.7262
Оценка отношения опасности = 112.8646. Это означает, что опасность для ламп накаливания является 112.86 раз опасностью для флуоресцентных ламп.
Загрузите выборочные данные.
load(fullfile(matlabroot,'examples','stats','lightbulb.mat'));
Первый столбец данных имеет время жизни (в часах) двух типов ламп. Второй столбец имеет бинарную переменную, указывающую, флуоресцентна ли лампа или накалена. 1 указывает, что лампа флуоресцентна, и 0 указывает, что это - лампа накаливания. Третий столбец содержит информацию о цензуре, где 0 указывает, что лампа наблюдается, пока отказ, и 1 не указывает, что элемент (лампа) подвергается цензуре.
Соответствуйте Cox пропорциональная модель опасностей, также объясняя цензурирование. Переменная прогноза является типом лампы.
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
отображает отчет относительно итоговой итерации. Изменение максимального количества итераций не влияло на содействующую оценку.
Сгенерируйте данные Weibull в зависимости от предиктора X
.
rng('default') % for reproducibility X = 4*rand(100,1); A = 50*exp(-0.5*X); B = 2; y = wblrnd(A,B);
Значения ответа сгенерированы от распределения Weibull с параметром формы в зависимости от переменной прогноза X
и масштабный коэффициент 2.
Соответствуйте Cox пропорциональная модель опасностей.
[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]
Ковариационная матрица содействующих оценок, covb
, содержит только одно значение, которое равно отклонению содействующей оценки в этом примере. Содействующая оценка, beta
, совпадает с b
и равна 0,9409. Стандартная погрешность содействующей оценки, se
, 0.1256, который является квадратным корнем из отклонения 0.0158. - статистической величиной, z
, является beta/se
= 0.9409/0.1256 = 7.4880. P-значение, p
, указывает, что эффект X
является значительным.
Постройте оценку Cox базовой функции оставшегося в живых вместе с известной функцией Weibull.
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
не может содержать столбец 1 с.
Если X
, T
или значение 'Frequency'
или 'Strata'
содержат значения NaN
, то coxphfit
удаляет строки со значениями NaN
от всех данных при подборе кривой модели Cox.
Типы данных: double
T
Время к данным о событияхВремя к данным о событиях, заданное как n-by-1 вектор или матрица 2D столбца.
Когда T является n-by-1 вектор, он представляет время события подвергнутого цензуре правом времени к данным о событиях.
Когда T является n-by-2 матрица, каждая строка представляет интервал риска (запустите, остановитесь] в формате процесса подсчета для зависящих от времени ковариантов. Первый столбец является временем начала, и второй столбец является временем остановки. Для примера смотрите Cox Пропорциональная Модель Опасностей с Зависящими от времени Ковариантами.
Если X
, T
или значение 'Frequency'
или 'Strata'
содержат значения NaN
, то coxphfit
удаляет строки со значениями NaN
от всех данных при подборе кривой модели Cox.
Типы данных: single | double
Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми.
Имя (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 для наблюдений, которые полностью наблюдаются. Значением по умолчанию являются все наблюдения, полностью наблюдаются. Для примера смотрите Cox Пропорциональная Модель Опасностей для Подвергнутых цензуре Данных.
Пример: 'Censoring',cens
Типы данных: логический
'Frequency'
— Частота или веса наблюденийЧастота или веса наблюдений, заданных как пара, разделенная запятой, состоящая из 'Frequency'
и массива, который одного размера как T
, содержащий неотрицательные скалярные значения. Массив может содержать целочисленные значения, соответствующие частотам наблюдений или неотрицательных значений, соответствующих весам наблюдения.
Если X
, T
или значение 'Frequency'
или 'Strata'
содержат значения NaN
, то coxphfit
удаляет строки со значениями NaN
от всех данных при подборе кривой модели Cox.
Значение по умолчанию 1 на строку X
и T
.
Пример: 'Frequency',w
Типы данных: double
'Strata'
— Stratification[]
(значение по умолчанию) | матрица действительных значенийПеременные стратификации, заданные как пара, разделенная запятой, состоящая из матрицы действительных значений. Матрица должна иметь одинаковое число строк как T
с каждой строкой, соответствующей наблюдению.
Если X
, T
или значение 'Frequency'
или 'Strata'
содержат значения NaN
, то coxphfit
удаляет строки со значениями NaN
от всех данных при подборе кривой модели Cox.
Значением по умолчанию, []
, не является никакая переменная стратификации.
Пример: 'Strata',Gender
Типы данных: single | double
'Ties'
— Метод, чтобы обработать связанные времена отказа'breslow'
(значение по умолчанию) | 'efron'
Метод, чтобы обработать связанные времена отказа, заданные как пара, разделенная запятой, состоящая из 'Ties'
и любого 'breslow'
(метод Бреслоу) или 'efron'
(метод Эфрона).
Пример: 'Ties','efron'
Опции
Параметры управления алгоритмомПараметры управления алгоритмом для итеративного алгоритма раньше оценивали b
, заданный как пара, разделенная запятой, состоящая из 'Options'
и структуры. Вызов statset
создает этот аргумент. Для названий параметра и значений по умолчанию, введите statset('coxphfit')
. Можно установить опции под новым именем и использованием это в аргументе пары "имя-значение".
Пример: 'Options',statset('coxphfit')
b
Содействующие оценкиКоэффициент оценивает для Cox пропорциональную регрессию опасностей, возвращенную как p-by-1 вектор.
logl
— LoglikelihoodLoglikelihood подобранной модели, возвращенной как скаляр.
Можно использовать логарифмические значения вероятности, чтобы сравнить различные модели и оценить значение эффектов членов в модели.
H
Предполагаемая базовая совокупная опасностьПредполагаемый базовый совокупный показатель риска оценен в значениях T
, возвращенных как одно из следующих.
Если модель не стратифицирована, то H
является матрицей 2D столбца. Первый столбец матрицы содержит значения T
, и второй столбец содержит совокупные оценки показателя риска.
Если модель расслоена, то H
(2+k) матрица столбца, где последние столбцы k соответствуют переменным стратификации с помощью аргумента пары "имя-значение" Strata
.
статистика
Содействующая статистикаСодействующая статистика, возвращенная как структура, которая содержит следующие поля.
beta | Содействующие оценки (то же самое как b ) |
se | Стандартные погрешности содействующих оценок, b |
z | z- для b (то есть, b , разделенный на стандартную погрешность) |
p | p- для b |
covb | Предполагаемая ковариационная матрица для |
csres | Невязки поводка Cox |
devres | Невязки отклонения |
martres | Невязки мартингала |
schres | Невязки Шенфельда |
sschres | Масштабированные невязки Шенфельда |
scores | Выиграйте невязки |
sscores | Масштабированные невязки счета |
coxphfit
возвращает Поводок Cox, мартингал и невязки отклонения как вектор-столбец с одной строкой на наблюдение. Это возвращает Шенфельд, масштабированного Шенфельда, счет, и масштабировало невязки счета как матрицы, одного размера как Кс. Шенфельд, и масштабировалось, невязками Шенфельда подвергнутых цензуре данных является NaN
s.
Cox пропорциональная регрессия опасностей является полупараметрическим методом для корректировки оценок выживаемости, чтобы удалить эффект соединения переменных и определить количество эффекта переменных прогноза. Метод представляет эффекты объяснительных и соединяющих переменных как множитель общей базовой функции опасности, h 0 (t).
Для базовой линии относительно 0, эта модель соответствует
где переменная прогноза для i th предмет, h (X i, t) является показателем риска во время t для X i, и h 0 (t) является базовой функцией показателя риска. Базовая функция опасности является непараметрической частью Cox пропорциональная функция регрессии опасностей, тогда как влияние переменных прогноза является логлинейной регрессией. Предположение - то, что базовая функция опасности зависит вовремя, t, но переменные прогноза не зависят вовремя. Смотрите Cox Пропорциональная Модель Опасностей для получения дополнительной информации включая расширения для стратификации и зависящих от времени переменных, связанных событий и весов наблюдения.
[1] Cox, D.R., и Д. Оукс. Анализ данных о выживании. Лондон: Chapman & Hall, 1984.
[2] Беззаконный, J. F. Статистические модели и методы для пожизненных данных. Хобокен, NJ: Wiley-межнаука, 2002.
[3] Kleinbaum, D. G. и М. Клейн. Анализ выживания. Статистика для Биологии и здоровья. 2-й выпуск. Спрингер, 2005.
Указания и ограничения по применению:
X
может быть синглом - или матрица с двойной точностью и может быть переменным размером.
Значение аргумента пары "имя-значение" 'Ties'
должно быть постоянным временем компиляции. Например, чтобы использовать метод Эфрона, чтобы обработать связанные времена отказа, включайте {coder.Constant('Ties'),coder.Constant('efron')}
в значение -args
codegen
.
Имена в аргументах пары "имя-значение" должны быть константами времени компиляции.
Для получения дополнительной информации о генерации кода смотрите Введение в Генерацию кода и Общий Рабочий процесс Генерации кода.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.