R пакет MatchIt с факторными переменными - PullRequest
0 голосов
/ 28 февраля 2019

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

Пример: простой код для 3 переменных, одна из которых числовая (размер) и два фактора (скажем, стадия опухоли, привычки курения).Переменная лечения - это фактор, указывающий тип операции.

Пример 1: со степенью в качестве фактора и привычкой к курению в качестве целого числа,

> sapply(surg.data[,confounders], class)
tumor_size  TNM.STAGE smoking_hx 
 "numeric"   "factor"  "integer" 

Я вычисляю баллы склонности с помощью следующего кода и извлекаювес

data.for.ps = surg.data[,c('record_id','surgeries_combined_n', confounders)]

match.it.1 <- matchit(as.formula(paste0('surgeries_combined_n ~',paste0(confounders, collapse='+'))), 
   data=data.for.ps, method='full', distance='logit')
match.it.1$nn
m.data = match.data(match.it.1)
m.data$weights = match.it.1$weights

Никаких больших проблем.Результат соответствующего взвешенного анализа выживаемости следующий, независимо от того, что здесь означают «синий» и «красный»:

Plot1: stage=factor; smoking=integer

Пример 2точно такой же, но со стадией опухоли теперь числовой

> sapply(surg.data[,confounders], class)
tumor_size  TNM.STAGE smoking_hx 
 "numeric"  "numeric"  "integer" 

Точно такой же код для сопоставления, точно такой же код для анализа выживания, результат следующий:

enter image description here

не очень отличается, но отличается.

Пример 3 - это точно такой же код, но с учетом и стадии опухоли, и факторов курения:

> sapply(surg.data[,confounders], class)
tumor_size  TNM.STAGE smoking_hx 
 "numeric"   "factor"   "factor" 

Результат с использованием точно такого же кода будет следующим:

enter image description here

полностью разные.

Теперь нет никаких причин, почему один из двух потенциальных факторов должен быть числовым: они могут быть обоими факторами, но результаты, несомненно, различны.Кто-нибудь может помочь мне понять

  1. Почему это происходит?Я не думаю, что это проблема кодирования, но больше понимания того, какой именно класс использовать в match.it.
  2. Какое "правильное" решение для MatchIt, учитывая, что в виньетке пакетавсе переменные, входящие в вычисления показателя склонности, являются числовыми или целочисленными, даже те, которые потенциально закодированы как факторы (такие как уровень образования или семейное положение).
  3. Должны ли факторы всегда оставаться факторами?Что, если коэффициент закодирован, скажем, 0,1,2,3 (числовые значения, но класс = фактор): должен ли он оставаться фактором?

Большое спасибо за вашу помощь!EM

1 Ответ

0 голосов
/ 06 марта 2019

Это не ошибка в MatchIt, а реальное событие, которое может произойти при анализе данных любого типа.Числовые переменные содержат много скрытых предположений;в частности, что значения имеют значимый порядок и что интервал между последовательными значениями одинаков.При использовании числовых переменных в модели вы предполагаете, что существует линейная зависимость между переменной и результатом модели.Если эти предположения неверны, то есть риск того, что ваши результаты также будут.

Умно с вашей стороны оценивать чувствительность ваших результатов к таким предположениям.Трудно понять, каков правильный ответ.Наиболее консервативная перспектива - рассматривать переменную как факторы, которые не требуют предположения о функциональной форме числовой переменной, в противном случае (хотя гибко смоделированный числовой предиктор также может быть эффективным).Этот метод не требует никаких предположений о природе переменных, но вы теряете точность в своих оценках, если какое-либо из предположений для числовых переменных действительно допустимо.

Поскольку сопоставление оценок предрасположенности на самом деле зависит только от хорошего показателя предрасположенности, а роль ковариат в модели является в основном неприятной, вам следует определить, какая модель оценки предрасположенности дает наилучший баланс для ваших ковариат.Опять же, оценка баланса требует, чтобы были сделаны предположения о том, как распределены переменные, но вполне возможно и целесообразно оценить баланс по ковариатам при различных преобразованиях и формах.Если одна спецификация оценки склонности дает лучший баланс между преобразованиями ковариации, то это модель оценки склонности, которой следует доверять.Выход за пределы стандартизированных средних различий и рассмотрение полного распределения ковариат в обеих группах помогут вам принять более обоснованное решение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...