Создание модели пропорциональных рисков Кокса
fitcox создает модель пропорциональных рисков Кокса для данных о сроке службы. Базовая модель Кокса включает в себя функцию h0 (t) опасности и коэффициенты b модели так, что для предсказателяX, степень опасности в момент времени t
exp[∑j=1pxijbj],
где коэффициенты b не зависят от времени. fitcox выводит как коэффициенты модели b, так и степень опасности h0 (t) и сохраняет их как свойства в результирующемCoxModel объект.
Полная модель Кокса включает расширения к базовой модели, такие как опасности в отношении различных исходных линий или включение переменных стратификации. См. Расширение модели пропорциональных рисков Кокса.
coxMdl = fitcox( изменение посадки с использованием одного или нескольких X,T,Name,Value)Name,Value аргументы. Например, когда данные включают цензуру (значения, которые не соблюдаются), Censoring указывает данные, подвергнутые цензуре.
Случайные величины Вейбулла с одним и тем же параметром формы имеют пропорциональные коэффициенты опасности; см. Распределение Вейбулла. Коэффициент опасности с параметром шкалы и параметром формы в момент равен
.
Создание псевдослучайных выборок из распределения Вейбулла с параметрами масштаба 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"]);
Подгонка регрессии Кокса к данным.
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
Выполнить регрессию пропорциональных рисков Кокса на lightbulb набор данных, содержащий смоделированное время жизни лампочек. Первый столбец данных по лампочке содержит срок службы (в часах) двух различных типов лампочек. Второй столбец содержит двоичную переменную, указывающую, является ли колба флуоресцентной или накаливающей; 0 означает, что лампа является флуоресцентной, а 1 означает, что она является накаливающей. Третий столбец содержит информацию о цензуре, где 0 указывает, что лампочка наблюдалась до отказа, а 1 указывает, что наблюдение было подвергнуто цензуре.
Загрузить lightbulb набор данных.
load lightbulbПодберите модель пропорциональных рисков Кокса для срока службы лампочек с учетом цензуры. Переменная предиктора - тип колбы.
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.
X - Предикторные значенияПредикторные значения, указанные как матрица или таблица.
Матрица содержит один столбец для каждого предиктора и одну строку для каждого наблюдения.
Таблица содержит по одной строке для каждого наблюдения. Таблица также может содержать временные данные, а также предикторы.
По умолчанию, если данные предиктора находятся в таблице, fitcox предполагает, что переменная категорична, если она является логическим вектором, категориальным вектором, символьным массивом, строковым массивом или массивом ячеек символьных векторов. Если данные предиктора являются матрицей, fitcox предполагает, что все предикторы непрерывны. Чтобы определить любые другие предикторы как категориальные предикторы, укажите их с помощью CategoricalPredictors аргумент «имя-значение».
Если X, T, значение 'Frequency', или значение 'Stratification' содержит NaN значения, затем fitcox удаляет строки с NaN значения из всех данных при подборе модели Кокса.
Типы данных: double | table | categorical
T - Время событияX | формула в нотации Уилкинсона для таблицы XВремя события, указанное как одно из следующих:
Вектор вещественного столбца.
Вещественная матрица с двумя столбцами, представляющими время начала и окончания.
Имя столбца в таблице X.
Формула в нотации Уилкинсона для таблицы X. Например, чтобы указать, что столбцы таблицы 'x' и 'y' находятся в модели, используйте
'T ~ x + y'
Смотри Нотацию Уилкинсона.
Для векторных или матричных записей - количество строк T должно совпадать с количеством строк X.
Используйте форму из двух столбцов T подгонка модели с изменяющимися во времени коэффициентами. См. Модель пропорциональных рисков Кокса с зависимыми от времени ковариатами.
Типы данных: single | double | char | string
Укажите дополнительные пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.
cens, указать 'Censoring',cens.'Beta' - Начальные значения коэффициентов0.01/std(X) (по умолчанию) | числовой векторНачальные значения коэффициентов, заданные как числовой вектор значений коэффициентов. Эти значения инициируют итерации максимизации вероятности, выполняемые fitcox.
Типы данных: double
'Baseline' — X значения, при которых вычисляется базовый рискmean(X), значение по умолчанию для непрерывных предикторов | 0, значение по умолчанию для категориальных предикторов | реальный скаляр | реальный вектор строкиX значения, при которых вычисляется базовая опасность, заданная как действительный скаляр или вектор строки. Если Baseline - вектор строки, его длина - количество предикторов, поэтому для каждого предиктора существует одна базовая линия.
Базовая линия по умолчанию для непрерывных предикторов mean(X), таким образом, коэффициент опасности по умолчанию на X для этих предикторов h(t)*exp((X – mean(X))*b). Базовая линия по умолчанию для категориальных предикторов 0. Войти 0 для вычисления базовой линии для всех предикторов относительно 0, поэтому коэффициент опасности составляет X является h(t)*exp(X*b). Изменение базовой линии изменяет коэффициент опасности, но не влияет на оценки коэффициентов.
Для выявленных категориальных предикторов fitcox создает фиктивные переменные. fitcox создает на одну фиктивную переменную меньше числа категорий. Дополнительные сведения см. в разделе Автоматическое создание фиктивных переменных.
Пример: 'Baseline',0
Типы данных: double
'CategoricalPredictors' - Список категориальных предикторов'all'Список категориальных предикторов, указанный как одно из значений в этой таблице.
| Стоимость | Описание |
|---|---|
| Вектор положительных целых чисел | Каждая запись в векторе является значением индекса, соответствующим столбцу данных предиктора (X), которая содержит категориальную переменную. |
| Логический вектор | A true ввод означает, что соответствующий столбец данных предиктора (X) - категориальная переменная. |
| Символьная матрица | Каждая строка матрицы является именем предикторной переменной в таблице X. Имена должны соответствовать записям в PredictorNames. Поместите имена с дополнительными пробелами, чтобы каждая строка символьной матрицы имела одинаковую длину. |
| Строковый массив или массив ячеек символьных векторов | Каждый элемент массива является именем переменной предиктора в таблице X. Имена должны соответствовать записям в PredictorNames. |
'all' | Все предикторы категоричны. |
По умолчанию, если данные предиктора находятся в таблице, fitcox предполагает, что переменная категорична, если она является логическим вектором, категориальным вектором, символьным массивом, строковым массивом или массивом ячеек символьных векторов. Если данные предиктора являются матрицей, fitcox предполагает, что все предикторы непрерывны. Чтобы определить любые другие предикторы как категориальные предикторы, укажите их с помощью 'CategoricalPredictors' аргумент «имя-значение».
Для выявленных категориальных предикторов fitcox создает фиктивные переменные. fitcox создает на одну фиктивную переменную меньше числа категорий. Дополнительные сведения см. в разделе Автоматическое создание фиктивных переменных.
Пример: 'CategoricalPredictors','all'
Типы данных: single | double | logical | char | string | cell
'Censoring' - Индикатор цензурыXИндикатор цензуры, заданный как логический вектор с тем же количеством строк, что и X или имя столбца в таблице X. Используйте 1 для наблюдений с правильной цензурой и 0 для наблюдений с полным соблюдением. По умолчанию все наблюдения полностью соблюдаются. Пример см. в разделе Модель пропорциональных рисков Кокса для данных с цензурой.
Пример: 'Censoring',cens
Типы данных: logical
'Frequency' - Периодичность или вес наблюденийЧастота или вес наблюдений, указанный как массив того же размера, что и T содержит неотрицательные скалярные значения. Массив может содержать целочисленные значения, соответствующие частотам наблюдений, или неотрицательные значения, соответствующие весам наблюдений.
Значение по умолчанию - 1 на строку X и T.
Если X, T, значение 'Frequency', или значение 'Stratification' содержит NaN значения, затем fitcox удаляет строки с NaN значения из всех данных при подборе модели Кокса.
Пример: 'Frequency',w
Типы данных: double
'OptimizationOptions' - Параметры управления алгоритмомПараметры управления алгоритмом для итеративного алгоритма fitcox использует для оценки решения, указанного как структура. Создать эту структуру с помощью statset. Имена параметров и значения по умолчанию см. в следующей таблице или введите statset('fitcox').
В таблице «допуск окончания» означает, что если внутренние итерации вызывают изменение указанного значения меньше, чем допуск, итерации прекращаются.
| Поле в структуре | Описание | Ценности |
|---|---|---|
Display | Объем информации, возвращенной в командную строку |
|
MaxFunEvals | Максимальное количество оценок функций | Положительное целое число; по умолчанию - 200 |
MaxIter | Максимальное количество итераций | Положительное целое число; по умолчанию - 100 |
TolFun | Допуск прекращения на изменение вероятности; см. модель пропорциональных рисков Кокса | Положительный скаляр; по умолчанию - 1e-8 |
TolX | Допуск окончания для изменения параметра (оценка предиктора) | Положительный скаляр; по умолчанию - 1e-8 |
Пример: 'OptimizationOptions',statset('TolX',1e-6,'MaxIter',200)
'PredictorNames' - Имена переменных предиктораИмена переменных предиктора, заданные как строковый массив уникальных имен или массив ячеек уникальных векторов символов. Функциональные возможности 'PredictorNames' зависит от способа предоставления данных обучения.
Если вы поставляете X в качестве числового массива, то можно использовать 'PredictorNames' назначение имен переменным предиктора в X.
Порядок имен в PredictorNames должен соответствовать порядку столбцов X. То есть PredictorNames{1} является именем X(:,1), PredictorNames{2} является именем X(:,2)и так далее. Также, size(X,2) и numel(PredictorNames) должно быть равным.
По умолчанию PredictorNames является {'X1','X2',...}.
Если вы поставляете X в качестве таблицы, то можно использовать 'PredictorNames' чтобы выбрать, какие переменные предиктора использовать в обучении. То есть fitcox использует только переменные предиктора в PredictorNames и переменная времени во время обучения.
PredictorNames должен быть подмножеством X.Properties.VariableNames и не может включать имя переменной времени T.
По умолчанию PredictorNames содержит имена всех переменных предиктора.
Укажите предикторы для обучения с помощью 'PredictorNames' или формула в нотации Уилкинсона, но не обе.
Пример: 'PredictorNames',{'Sex','Age','Weight','Smoker'}
Типы данных: string | cell
'Stratification' - Переменные стратификации[] (по умолчанию) | матрица вещественных значений | имя столбца в таблице X | массив категориальных переменныхПеременные стратификации, указанные как матрица вещественных значений, имя столбца в таблице Xили массив категориальных переменных. Матрица должна иметь то же количество строк, что и T, с каждой строкой, соответствующей наблюдению.
Дефолт [] не является переменной стратификации.
Если X, T, значение 'Frequency', или значение 'Stratification' содержит NaN значения, затем fitcox удаляет строки с NaN значения из всех данных при подборе модели Кокса.
Пример: 'Stratification',Gender
Типы данных: single | double | char | string | categorical
'TieBreakMethod' - Метод обработки времени связанного отказа'breslow' (по умолчанию) | 'efron'Метод обработки времени связанного отказа, указанный как 'breslow' (метод Бреслоу) или 'efron' (метод Эфрона). См. раздел Функция частичного правдоподобия для связанных событий.
Пример: 'TieBreakMethod','efron'
Типы данных: char | string
coefci | CoxModel | coxphfit | hazardratio | linhyptest | plotSurvival | survival
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.