Cox пропорциональная модель опасностей
Cox пропорциональная модель опасностей относится ко времени жизни или данным времени отказа. Основная модель Cox включает функцию опасности h 0 (t) и коэффициенты модели b, таким образом что для предиктора X
, показатель риска во время t
где коэффициенты b не зависят вовремя. Функция создания fitcox
выводит и коэффициенты модели b и показатель риска h 0 (t), и хранит их как свойства в получившемся CoxModel
объект.
Полная модель Cox включает расширения базовой модели, такие как опасности относительно различных базовых линий или включения переменных стратификации. Смотрите Расширение Cox Пропорциональная Модель Опасностей.
Создайте CoxModel
объектное использование fitcox
.
Baseline
— Базовая опасностьmean(X)
(значение по умолчанию) | действительный скалярБазовая опасность задала, когда модель подбиралась в виде действительного скаляра. Модель Cox является относительной моделью опасности, таким образом, она требует базовой линии, в которой можно сравнить опасности определенных данных относительно базовой линии. Значением по умолчанию является mean(X)
(и среднее значение в рамках каждой стратификации для стратифицированных моделей), таким образом, показатель риска в X
h(t)*exp((X-mean(X))*b)
. Введите 0
вычислить базовую линию относительно 0
, так показатель риска в X
h(t)*exp(X*b)
. Изменение базовой линии не влияет на коэффициенты.
Типы данных: double
CoefficientCovariance
— Ковариационная матрица для содействующих оценокКовариационная матрица для коэффициента оценивает в виде квадратной матрицы с количеством строк, равных количеству предикторов.
Типы данных: double
Coefficients
— Коэффициенты и связанная статистикаКоэффициенты и связанная статистика в виде таблицы с четырьмя столбцами:
Beta
— Содействующая оценка
SE
— Стандартная погрешность содействующей оценки
zStat
— z статистическая величина
pValue
— p - значение для коэффициента (по сравнению с нулевой Бетой)
Каждая строка таблицы соответствует одному предиктору.
Чтобы получить любой из этих столбцов как вектор, индексируйте в свойство с помощью записи через точку. Например, в coxMdl
объект, предполагаемый вектор коэффициентов
beta = coxMdl.Coefficients.Beta
Чтобы выполнить другие тесты на коэффициентах, использовать linhyptest
.
Типы данных: table
Formula
— Представление модели используется в подгонкеПредставление модели используется в подгонке в виде формулы в обозначении Уилкинсона. Смотрите Обозначение Уилкинсона. Например, чтобы включать несколько предикторов, использовать
'X ~ a + b + … + c'
где каждая из переменных a
B
C
представляет один предиктор. Эти переменные являются именами столбцов для таблицы X
.
Hazard
— Предполагаемая базовая совокупная опасностьПредполагаемая базовая совокупная опасность в виде матрицы дважды. Совокупная опасность оценена в моментах времени, заданных в обучении.
Hazard
имеет по крайней мере два столбца. Первый столбец содержит временные стоимости, и остальная часть столбцов содержит совокупную опасность в каждый перечисленный раз.
Для нестратифицированных моделей, Hazard
имеет два столбца.
Для стратифицированных моделей, Hazard
имеет дополнительный столбец для каждой уникальной комбинации уровней стратификации. Отличные временные стоимости в Hazard(:,1)
поскольку каждая стратификация разделяется 0
записи в Hazard(:,2)
. Стратифицированная модель является обученным использованием модели 'Stratification'
аргумент значения имени.
Теоретически, совокупная опасность во время t - журнал (1 – cdf (t)). Эмпирическая совокупная опасность
где Ri является набором риска во время ti, означая наблюдения, которые подвергаются риску перестать работать. Смотрите Частичную Функцию правдоподобия.
Типы данных: double
IsStratified
— Индикация, что модель обучена со стратифицированными даннымиИндикация, что модель обучена со стратифицированными данными в виде логического значения (true
или false
).
Типы данных: логический
LikelihoodRatioTestPValue
— P - модель указания значения является значительной относительно пустой моделиP-, указывающее, является ли модель значительной относительно пустой модели в виде действительного скаляра.
Это свойство содержит p - значение выполнения теста отношения правдоподобия против пустой модели, то есть, модели со всеми коэффициентами, равными 0.
Тест отношения правдоподобия сравнивает функцию правдоподобия данных в содействующих оценках, и во всех коэффициентах, являющихся 0. Сравнение дает к тестовой статистической величине, которая может использоваться, чтобы определить, является ли обученная модель значительной относительно модели со всеми коэффициентами, равными 0. Нулевая гипотеза - то, что нет никакого различия между пустой моделью и обученной моделью, таким образом, значительный p - значение подразумевает, что обученная модель является значительной.
Типы данных: double
LogLikelihood
— Журнал функции правдоподобия при содействующих оценкахЖурнал функции правдоподобия при коэффициенте оценивает в виде действительного скаляра.
Типы данных: double
NumPredictors
— Количество предикторовКоличество предикторов (коэффициенты) в модели в виде положительного целого числа.
Типы данных: double
PredictorNames
— Имена предикторовИмена предикторов раньше подбирали модель в виде массива ячеек из символьных векторов. Если модель обучена на данных в таблице, имена предиктора являются именами столбцов таблицы. В противном случае именами предиктора является X1
x2
, и так далее.
Типы данных: cell
ProportionalHazardsPValue
— P - коварианты указания значения удовлетворяют пропорциональному предположению опасностейP-, указывающее, удовлетворяет ли каждый ковариант пропорциональному предположению опасностей в виде вектора действительных чисел с одной записью для каждого предиктора.
Модель Cox использует предположение о пропорциональных опасностях, то есть, для любых двух точек данных X1 и X2, опасность (X1) / опасность (X2) является постоянной. Это предположение может быть нарушено, если предикторы зависят вовремя. Например, если предиктор соответствует возрасту, это обычно становится более опасным, когда возраст увеличивается.
Тест этого предположения использует масштабированные остаточные значения Шенфельда и был выведен Grambsch и Therneau в [1].
Нулевая гипотеза - то, что каждый коэффициент удовлетворяет пропорциональному предположению опасностей. Значительный p - значение подразумевает, что определенный коэффициент нарушает пропорциональное предположение опасностей. Тест выполняется на каждом коэффициенте, таким образом, это свойство является вектором со столькими же элементов сколько количество коэффициентов.
Типы данных: double
ProportionalHazardsPValueGlobal
— P - модель указания значения удовлетворяет пропорциональному предположению опасностейP-, указывающее, удовлетворяет ли целая модель пропорциональному предположению опасностей в виде действительного скаляра.
Модель Cox использует предположение о пропорциональных опасностях, то есть, для любых двух точек данных X1 и X2, опасность (X1) / опасность (X2) является постоянной. Это предположение может быть нарушено, если предикторы зависят вовремя. Например, если предиктор соответствует возрасту, это обычно становится более опасным, когда возраст увеличивается.
Тест этого предположения использует масштабированные остаточные значения Шенфельда и был выведен Grambsch и Therneau в [1].
Нулевая гипотеза - то, что модель, в целом, удовлетворяет пропорциональному предположению опасностей. Значительный p - значение подразумевает, что целая модель не удовлетворяет пропорциональному предположению опасностей.
Типы данных: double
Residuals
— Остаточные значения различных типовОстаточные значения различных типов в виде таблицы с семью столбцами, один для каждой невязки:
'CoxSnell'
— Остаточные значения Поводка Cox для наблюдения X(i)
заданы как совокупная опасность во время i
(cumHazard(i)
) умноженный на опасность X(i)
: csres(i)
= cumHazard(i)
* exp(X(i) * Beta)
. Бета является подходящим Бета вектором, сохраненным в Coefficients
.
'Deviance'
— Невязка отклонения задана с помощью невязки мартингала можно следующим образом: D(i) = sign(M(i))*sqrt(–2*[M(i) + delta(i)*log(delta(i)–M(i)))]
, где D(i)
i
невязка отклонения th, M(i)
i
невязка мартингала th и delta(i)
указывает если точка данных i
умерший или нет.
'Martingale'
— Невязка мартингала для точки X(i)
delta(i) – CoxSnell(i)
, где delta(i)
указывает если X(i)
умерший, и CoxSnell(i)
невязка Поводка Cox в i
. Невязка мартингала может быть просмотрена как различие между истинным количеством смертельных случаев для X(i)
минус ожидаемое количество смертельных случаев на основе модели.
'Schoenfeld'
— Остаточные значения Шенфельда заданы как: scres(i,j) = X(i,j) – M(Beta,i,j)
, где X(i,j)
j
элемент th наблюдения i
, и M(Beta,i,j)
ожидаемое значение X(i,j)
, учитывая количество живущих наблюдений, оставленных во время i
. Остаточные значения Шенфельда могут быть просмотрены как различие между истинным мертвым наблюдением во время i
и как модель ожидает, что мертвое наблюдение посмотрит на время i
, учитывая остающиеся живущие наблюдения. Остаточные значения вычисляются для каждого коварианта, таким образом, у них есть столько же столбцов сколько количество изученных параметров. Остаточные значения допустимы только в течение многих времен и наблюдений, при которых были смертельные случаи. Для любых подвергнутых цензуре наблюдений соответствующей невязкой является NaN
.
'ScaledSchoenfeld'
— Масштабированные остаточные значения Шенфельда являются остаточными значениями Шенфельда, масштабируемыми отклонением изученных коэффициентов. Как остаточные значения Шенфельда, масштабированные остаточные значения не заданы для наблюдений и времена, в которые не было никаких смертельных случаев; невязкой в такой точке является NaN
.
'Score'
— Остаточные значения счета заданы как: scores(i,t) = integral_{0}^{t}(X(i,u) – Xbar(u)) dScres(i,u)
, где Schres(i)
невязка Шенфельда при наблюдении i
, и Xbar
среднее значение наблюдений, все еще живых во время u
. Остаточные значения вычисляются для каждого коварианта, таким образом, у них есть столько же столбцов сколько количество изученных параметров.
'ScaledScore'
— Масштабированные остаточные значения счета являются остаточными значениями счета, масштабируемыми ковариацией подходящих коэффициентов.
Residuals
имеет одинаковое число строк как обучающие данные.
Типы данных: table
ResponseName
— Имя переменной откликаИмя переменной отклика в виде вектора символов. Для моделей, где значение отклика находится в таблице, имя переменной отклика является именем соответствующего столбца таблицы. В противном случае, ResponseName
'T'
.
Типы данных: char
StandardError
— Стандартные погрешности содействующих оценокСтандартные погрешности коэффициента оценивают в виде вектора действительных чисел. StandardError
квадратный корень из диагонали CoefficientCovariance
матрица.
Типы данных: double
Stratification
— Массив уникальных комбинаций входной стратификацииМассив уникальных комбинаций входной стратификации во время обучения в виде одного из следующих типов данных.
Числовой массив — Все переменные стратификации являются числовыми.
Массив строк — Все переменные являются строками.
Массив ячеек строк — Все переменные является строками ячейки.
Категориальный массив — Все переменные являются категориальными.
Массив ячеек — Переменные смешаны типы.
Учитывая некоторые данные X
и T
, следующая таблица показывает примеры какой Stratification
содержит.
Входные данные | Пример | Получившаяся стратификация |
---|---|---|
'double' | mdl = fitcox(X,T,'Stratification',[1 2; 1 2; 2 2; 2 2]); | [1 2; 2 2]
|
Строка | mdl = fitcox(X,T,'Stratification',["cat";"dog";"dog";"bird"]); | ["cat"; "dog"; "bird"] |
Строка ячейки | mdl = fitcox(X,T,'Stratification',{'cat';'dog';'dog';'bird'}); | {'cat';'dog';'bird'} |
Категориальный | mdl = fitcox(X,T,'Stratification',categorical([1;2;3;4])); | categorical([1;2;3;4]) |
Смешанные типы |
| {1 'cat'; 2 'cat'; 1 'dog'; 3 'dog'} |
Типы данных: double |
char
| string
| cell
| categorical
VariableInfo
— Информация о подходящих данныхИнформация о подходящих данных в виде таблицы с четырьмя столбцами:
Class
— Класс предиктора.
Range
— Минимум и максимум предиктора, если это не является категориальным, или список всех категорий, если предиктор является категориальным.
InModel
— Логическое указание, если предиктор используется в модели. Переменная отклика не находится в модели. Переменные предикторы, используемые для обучения, находятся в модели.
IsCategorical
— Логическое указание, если предиктор был обработан как категориальный во время обучения.
Если модель не имеет никаких категориальных предикторов, и никакая формула не использовалась, чтобы подбирать модель, количество строк VariableInfo
количество предикторов модели. В противном случае количество строк совпадает с числом элементов в PredictorNames
.
Типы данных: table
coefci | Доверительный интервал для Cox пропорциональные коэффициенты модели опасностей |
hazardratio | Оцените опасность модели Cox относительно базовой линии |
linhyptest | Линейная гипотеза тестирует на коэффициентах модели Cox |
plotSurvival | Постройте функцию выживания Cox пропорциональная модель опасностей |
survival | Вычислите выживание Cox пропорциональная модель опасностей |
Случайные переменные Weibull тем же параметром формы имеют пропорциональные показатели риска; см. Распределение Weibull. Показатель риска с масштабным коэффициентом и сформируйте параметр во время
.
Сгенерируйте псевдослучайные выборки от распределения Weibull с масштабными коэффициентами 1, 5, и 1/3, и тем же параметром формы B
.
rng default % For reproducibility B = 2; A = ones(100,1); data1 = wblrnd(A,B); A2 = 5*A; data2 = wblrnd(A2,B); A3 = A/3; data3 = wblrnd(A3,B);
Составьте таблицу данных. Предикторы являются этими тремя типами переменных, 1, 2, или 3.
predictors = categorical([A;2*A;3*A]); data = table(predictors,[data1;data2;data3],'VariableNames',["Predictors" "Times"]);
Соответствуйте регрессии Cox к данным.
mdl = fitcox(data,"Times")
mdl = Cox Proportional Hazards regression model: Beta SE zStat pValue _______ _______ _______ __________ Predictors_2 -3.5834 0.33187 -10.798 3.5299e-27 Predictors_3 2.1668 0.20802 10.416 2.0899e-25
rates = exp(mdl.Coefficients.Beta)
rates = 2×1
0.0278
8.7301
Выполните Cox пропорциональная регрессия опасностей на lightbulb
набор данных, который содержит симулированное время жизни лампочек. Первый столбец данных о лампочке содержит время жизни (в часах) двух различных типов ламп. Второй столбец содержит бинарную переменную, указывающую, флуоресцентна ли лампа или накалена; 0 указывает, что лампа флуоресцентна, и 1 указывает, что это - лампа накаливания. Третий столбец содержит информацию о цензурировании, где 0 указывает, что лампа наблюдалась, пока отказ, и 1 не указывает, что наблюдение было подвергнуто цензуре.
Загрузите lightbulb
набор данных.
load lightbulb
Соответствуйте Cox пропорциональная модель опасностей в течение времени жизни лампочек, объясняя цензурирование. Переменный предиктор является типом лампы.
coxMdl = fitcox(lightbulb(:,2),lightbulb(:,1), ... 'Censoring',lightbulb(:,3))
coxMdl = Cox Proportional Hazards regression model: Beta SE zStat pValue ______ ______ ______ __________ X1 4.7262 1.0372 4.5568 5.1936e-06
Найдите показатель риска ламп накаливания по сравнению с флуоресцентными лампами путем оценки .
hr = exp(coxMdl.Coefficients.Beta)
hr = 112.8646
Оценка отношения опасности = 112.8646, что означает, что предполагаемая опасность для ламп накаливания является 112.86 раз опасностью для флуоресцентных ламп. Маленькое значение coxMdl.Coefficients.pValue
указывает, что существует незначительный шанс, что два типа лампочек имеют идентичные показатели риска, которые означали бы Beta
= 0.
[1] Grambsch, Патрисия М. и Терри М. Терно. Пропорциональные Тесты Опасностей и Диагностика На основе Взвешенных Остаточных значений. Biometrika, издание 81, № 3, 1994, стр 515–526. JSTOR, https://www.jstor.org/stable/2337123
.
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.