Создайте Cox пропорциональная модель опасностей
fitcox
функция создает Cox пропорциональная модель опасностей для пожизненных данных. Основная модель Cox включает функцию опасности h 0 (t) и коэффициенты модели b, таким образом что для предиктора X
, показатель риска во время t
где коэффициенты b не зависят вовремя. fitcox
выводит и коэффициенты модели b и показатель риска h 0 (t), и хранит их как свойства в получившемся CoxModel
объект.
Полная модель Cox включает расширения базовой модели, такие как опасности относительно различных базовых линий или включения переменных стратификации. Смотрите Расширение Cox Пропорциональная Модель Опасностей.
coxMdl = fitcox(
изменяет подгонку с помощью одного или нескольких X
,T
,Name,Value
)Name,Value
аргументы. Например, когда данные включают цензурирование (значения, которые не наблюдаются), Censoring
аргумент задает подвергнутые цензуре данные.
Случайные переменные 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.
X
— Значения предиктораЗначения предиктора в виде матрицы или таблицы.
Матрица A содержит один столбец для каждого предиктора и одну строку для каждого наблюдения.
Таблица содержит одну строку для каждого наблюдения. Таблица может также содержать данные времени, а также предикторы.
По умолчанию, если данные о предикторе находятся в таблице, fitcox
принимает, что переменная является категориальной, если это - логический вектор, категориальный вектор, символьный массив, массив строк или массив ячеек из символьных векторов. Если данные о предикторе являются матрицей, fitcox
принимает, что все предикторы непрерывны. Чтобы идентифицировать любые другие предикторы как категориальные предикторы, задайте их при помощи CategoricalPredictors
аргумент значения имени.
Если X
T
, значение 'Frequency'
, или значение 'Stratification'
содержит NaN
значения, затем fitcox
удаляет строки с NaN
значения из всех данных, подбирая модель Cox.
Типы данных: double |
table
| categorical
T
— Времена событияX
| формула в обозначении Уилкинсона для таблицы X
Времена события в виде одного из следующего:
Действительный вектор-столбец.
Действительная матрица с двумя столбцами, представляющими запуск и времена остановки.
Имя столбца в таблице X
.
Формула в обозначении Уилкинсона для таблицы X
. Например, чтобы указать, что столбцы таблицы 'x'
и 'y'
находятся в модели, используют
'T ~ x + y'
Смотрите обозначение Уилкинсона.
Для векторных или матричных записей, количества строк T
должен совпасть с количеством строк X
.
Используйте форму 2D столбца T
подбирать модель с изменяющимися во времени коэффициентами. Смотрите Cox Пропорциональная Модель Опасностей с Зависящими от времени Ковариантами.
Типы данных: 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 ) это содержит категориальную переменную. |
Логический вектор | 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 для наблюдений, которые полностью наблюдаются. По умолчанию все наблюдения полностью наблюдаются. Для примера смотрите Cox Пропорциональная Модель Опасностей для Подвергнутых цензуре Данных.
Пример: 'Censoring',cens
Типы данных: логический
'Frequency'
— Частота или веса наблюденийЧастота или веса наблюдений в виде массива тот же размер как T
содержа неотрицательные скалярные значения. Массив может содержать целочисленные значения, соответствующие частотам наблюдений или неотрицательных значений, соответствующих весам наблюдения.
Значение по умолчанию 1 на строку X
и T
.
Если X
T
, значение 'Frequency'
, или значение 'Stratification'
содержит NaN
значения, затем fitcox
удаляет строки с NaN
значения из всех данных, подбирая модель Cox.
Пример: 'Frequency',w
Типы данных: double
'OptimizationOptions'
— Параметры управления алгоритмомПараметры управления алгоритмом для итеративного алгоритма fitcox
использование, чтобы оценить решение в виде структуры. Создайте эту структуру с помощью statset
. Для названий параметра и значений по умолчанию, см. следующую таблицу или введите statset('fitcox')
.
В таблице, "допуск завершения" означает это, если внутренние итерации вызывают изменение в объявленной стоимости меньше, чем допуск, остановка итераций.
Поле в структуре | Описание | Значения |
---|---|---|
Display | Объем информации возвращен в командную строку |
|
MaxFunEvals | Максимальное количество вычислений функции | Положительное целое число; значением по умолчанию является 200 |
MaxIter | Максимальное количество итераций | Положительное целое число; значением по умолчанию является 100 |
TolFun | Допуск завершения на изменении в вероятности; смотрите Cox Пропорциональная Модель Опасностей | Положительная скалярная величина; значением по умолчанию является 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
значения из всех данных, подбирая модель Cox.
Пример: '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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.