New In

TVC с интервальной цензурированной моделью Кокса

В Stata 17 появилась команда stintcox для подгонки подлинных полупараметрических моделей Кокса к данным с интервальной цензурой по времени наступления события. В Stata 18 добавлена поддержка изменяющихся во времени ковариат (TVC), которые обычно используются на практике для регистрации характеристик, изменяющихся в ходе наблюдения. Таким образом, независимо от того, есть ли у вас переменная биомаркера или переменная политики, которая изменяется со временем, теперь вы можете включить их для моделирования интересующих вас событий, о которых известно, что они лежат только в некотором временном интервале. Например, событием может быть рецидив рака или изменение

Основные моменты

  • Новое в putdocx

    • Включайте закладки в абзацы и таблицы

    • Включите альтернативный текст для чтения голосовым программным обеспечением для изображений

    • Включите изображения в формате масштабируемой векторной графики (.svg)

  • Новое в putexcel

    • Заморозить рабочий лист в определенной строке или столбце

    • Вставка разрыва страницы в определенную строку или столбец

    • Вставка верхнего и нижнего колонтитулов в рабочий лист

    • Включение гиперссылок в ячейки

    • Создание именованного диапазона ячеек

изменение статуса занятости, зафиксированное во время одного из последующих наблюдений. Оба случая являются примерами интервально-цензурированных данных о времени события, в которых время события не наблюдается точно.

Используйте stintcox для автоматического создания ТВК путем взаимодействия существующих ковариат с заданными детерминированными функциями времени или задайте собственные ТВК в новом формате данных с несколькими записями на субъект. Используйте ТВК для проверки предположения о пропорциональных опасностях с помощью теста Вальда или теста отношения правдоподобия. Включайте ТВК в свои прогнозы и графики функций выживаемости и других функций.

Давайте посмотрим, как это работает

Проверка предположения о пропорциональных рисках с помощью ТВК

Здесь мы демонстрируем, как использовать ТВК для проверки предположения о пропорциональности рисков в модели Кокса. Следуя Zeng et al. (2016), мы используем регрессию Кокса с интервальным цензурированием для моделирования времени до заражения ВИЧ среди потребителей инъекционных наркотиков. Все 1 124 испытуемых первоначально сдали отрицательный анализ на ВИЧ. За ними велось наблюдение, и примерно каждые четыре месяца они сдавали анализы крови на серопозитивность по ВИЧ-1. Поскольку испытуемые проходили тестирование периодически, точное время заражения ВИЧ-инфекцией не наблюдалось, но было известно, что время попадает в интервалы между анализами крови. Соответствующие нижняя и верхняя временные точки зафиксированы в переменных ltime и rtime.

Базовые факторы, которые мы используем для моделирования серопозитивности по ВИЧ-1, — это центрированный возраст при наборе (age_mean), пол (мужской), история совместного использования игл (needle), история инъекций наркотиков (inject), а также то, сидел ли испытуемый в тюрьме на момент набора (jail). Здесь представлено подмножество набора данных для испытуемых с 271 по 274, по одной записи на каждого испытуемого:

Мы применили модель пропорциональных рисков Кокса, в которой время до заражения ВИЧ зависит от вышеуказанных исходных факторов. В формате одной записи на субъект мы задаем нижний и верхний интервалы времени событий в опции interval() программы stintcox.

Мы обнаружили, что возраст и пребывание в тюрьме на момент регистрации связаны, соответственно, с более низким и более высоким риском заражения ВИЧ.

Одним из способов проверки предположения о пропорциональности рисков для ковариаты является проверка того, является ли коэффициент, связанный с этой ковариатой, инвариантным во времени. Этого можно добиться, включив в модель взаимодействие между данной ковариатой и функцией времени и проверив, равен ли соответствующий коэффициент нулю.

Чтобы проверить предположение о пропорциональности рисков в нашем примере, мы включаем все ковариаты в опцию tvc(), чтобы дополнительно включить в модель их взаимодействие с временем анализа _t, по умолчанию. В этом анализе мы подавляем стандартное представление коэффициентов опасности с помощью опции nohr:

Первое уравнение, main, показывает коэффициенты для ковариаций, которые не меняются со временем; второе уравнение, tvc, показывает результаты для ковариаций, взаимодействующих со временем. Согласно p-значениям, приведенным в уравнении tvc, предположение о проприетарных опасностях нарушается для ковариаций «мужчина» и «тюрьма«. Тест Вальда в нижней части таблицы также указывает на то, что предположение о пропорциональности рисков не выполняется в целом.

 

 

Подгонка интервально-цензурированной модели Кокса с использованием ТВК в данных с несколькими записями

В предыдущем примере мы использовали опцию tvc() программы stintcox для создания TVC, чтобы проверить предположение о пропорциональных рисках. В некоторых случаях ТВК уже существуют в наборе данных. Если продолжить работу с данными о потребителях инъекционных наркотиков, то нахождение в тюрьме является ТВК. ТВК могут быть записаны только в формате данных с несколькими записями на субъект. В этом формате каждый субъект может содержать несколько записей с несколькими временами обследования, статусом события в каждое время обследования и потенциальными изменяющимися во времени ковариатами в каждое время обследования.

Используем расширенную версию idu2.dta предыдущего набора данных idu.dta, которая содержит все базовые ковариаты, а также изменяющуюся во времени индикаторную переменную тюремного заключения (jail_vary). jail_vary указывает, был ли субъект заключен в тюрьму после последнего посещения клиники. В наборе данных также регистрируются идентификатор субъекта (id), время исследования анализа крови (time) и то, является ли анализ крови положительным в момент исследования (is_seropos). Здесь представлено подмножество этого набора данных для субъектов с 271 по 274 с несколькими записями для каждого субъекта:

Мы повторили предыдущую модель Кокса, но теперь вместо базовой переменной jail мы используем переменную jail_vary, изменяющуюся во времени. В формате нескольких записей по субъекту мы указываем идентификатор субъекта в опции id(), время экзамена в опции time() и статус показателя события в опции status().

Прокрутив страницу вниз до Северо-Центрального региона, мы видим, что в среднем на один штат приходится 47 436 браков; больше всего — 109 823 — приходится на Иллинойс.

Мы также можем хранить сводную статистику по каждому региону в одном рабочем листе и делать гиперссылки на таблицу с другого листа с помощью новой поддержки гиперссылок. Мы можем дополнительно настроить наш рабочий лист, включив в него верхний и нижний колонтитулы или разрыв страницы. Дополнительные сведения см. в [RPT] putexcel.

По сравнению с предыдущим примером, после учета изменяющегося во времени тюремного заключения коэффициент опасности инъекций увеличивается с 1,25 до 1,37, но эффект тюремного заключения снижается с 1,57 для базовой тюрьмы до 1,44 для изменяющегося во времени jail_vary.

Построение графиков функций выживания

После подгонки модели мы можем использовать stcurve для построения графика расчетной функции выживания, неудачи, опасности или кумулятивной функции опасности. По умолчанию stcurve оценивает функции по общим средним значениям ковариаций.

. stcurve, survival
note: function evaluated at overall means of covariates.

При использовании данных с несколькими записями и ТВК мы можем захотеть учесть изменяющуюся во времени природу этих ковариат при построении графиков функций. В этом случае мы можем использовать опцию attmeans для оценки функции по средним значениям, зависящим от времени.

. stcurve, survival attmeans
note: function evaluated at time-specific means of covariates.

Мы также можем использовать опцию atframe(), чтобы указать собственные значения TVC, которые будут использоваться для оценки функции выживаемости. Предположим, мы хотим построить кривую выживаемости для индивидуума с тем же набором ковариаций, что и у испытуемого 1 в нашем наборе данных. Мы создадим новый кадр под названием id1 и с помощью функции frame put скопируем в него соответствующую информацию для субъекта 1. Мы перечислим данные, которые только что сохранили в кадре id1.

Затем мы можем построить график кривой выживания для этого конкретного профиля, набрав

. stcurve, survival atframe(id1)
note: function evaluated at specified values of selected covariates and overall
      means of other covariates (if any).
note: covariate values from frame id1 used to evaluate function.

Ссылка

Цзэн, Д., Л. Мао и Д. Линь. 2016. Оценка максимального правдоподобия для полупараметрических моделей преобразования с данными с интервальной цензурой. Biometrika 103: 253-271.