Содержание
- 2. ВВЕДЕНИЕ
- 3. Проблема missing data В любом исследовании неизбежно часть данных, которые планировалось собрать, не будут собраны Пациенты
- 4. Проблема missing data Рассмотрим исследование средства для снижения веса 100 участников принимают его в течение года
- 5. Проблема missing data В конце исследования у нас есть данные только тех, кто похудел. Если судить
- 6. Missing Mechanisms Missing Completely at Random (MCAR): вероятность, что у конкретного пациента будет missing значение не
- 7. Missing Mechanisms Пример со средством для снижения веса – MNAR MCAR и MAR – не очень
- 8. Imputation Methods Большое разнообразие: LOCF, worst case, среднее по группе и проч. Multiple Imputation – надежный
- 9. План семинара Основы теории Реализация метода MI в SAS: процедуры MI и MIANALYZE MI и ADaM-датасеты
- 10. MULTIPLE IMPUTATIONS – ОСНОВЫ ТЕОРИИ
- 11. Идея multiple imputation Основная идея – давайте построим модель для предсказания отсутствующих данных Мы же строим
- 12. Пример моделирования Пример: допустим мы измеряем рост пациентов, и у нескольких рост не был измерен Построим
- 13. Пример моделирования
- 14. Проблема простого моделирования Хорошая идея, но вот проблема. Imputed рост будет использован затем в каком-то анализе,
- 15. Решение – multiple imputation
- 16. Решение – multiple imputation Применим генератор случайных чисел и сделаем для каждого пациента несколько предсказаний Проведем
- 17. Дональд Рубин Почетный профессор Гарвардского университета, создал основы метода multiple imputation
- 18. Три шага MI Шаг 1 – impute несколько раз В SAS реализуется PROC MI Есть несколько
- 19. Три шага MI Шаг 2: провести анализ каждого набора предсказаний Применяем совершенно любые процедуры SAS BY
- 20. Три шага MI Шаг 3:сводим вместе результаты нескольких анализов В SAS реализуется PROC MIANALYZE Конкретный синтаксис
- 21. Три шага MI
- 22. ШАГ 1: PROC MI
- 23. PROC MI В этом разделе мы изучим, как вызывать PROC MI. У этой процедуры сложный синтаксис.
- 24. MI: основные вопросы Чтобы корректно провести MI, надо ответить на такие вопросы: Какие переменные мы хотим
- 25. Выбор переменных Очевидно, мы хотим “impute” study endpoints. Но если наш endpoint не собирается непосредственно, а
- 26. Выбор факторов Общий совет: чем больше, тем лучше. Факторы, которые потом включаются в модель анализа Факторы,
- 27. Выбор факторов Факторы, которые могут быть коррелированы с переменной, которую мы пытаемся “impute” Другие endpoints Может
- 28. Выбор факторов Факторы, которые могут быть связаны с вероятностью иметь missing значение Completed/Discontinued Причина discontinuation или
- 29. Факторы и “imputed” переменные За один раз можно “impute” несколько переменных Более того, факторы тоже могут
- 30. Missing pattern Прежде, чем разбираться с выбором метода imputation, надо ввести понятие missing pattern: monotone или
- 31. Missing pattern Monotone pattern: Arbitrary pattern:
- 32. Методы imputation Основные методы: MCMC (Monte-Carlo Markov Chain) Monotone FCS (Fully Conditioned Specifications) Гибридный метод MCMC/Monotone
- 33. Метод MCMC Подразумевает, что все переменные (“imputed” и факторы) вместе имеют многомерное нормальное распределение Т.о. как
- 34. А.А. Марков и казино Монте-Карло
- 35. Метод Monotone “Imputed” переменная и факторы могут быть непрерывными, бинарными, категориальными Missing pattern: monotone Не итеративный
- 36. Метод FCS “Imputed” переменная и факторы могут быть непрерывными, бинарными, категориальными Missing pattern: arbitrary Самый гибкий
- 37. Гибридный метод MCMC/Monotone Устаревший метод! Применялся до создания FCS И тем не менее, есть заказчики-ретрограды, которые
- 38. Сводка по методам
- 39. Типы моделей Методы Monotone и FCS поддерживают несколько разных типов моделей Reg: линейная регрессия Regpmm (regression
- 40. Типы моделей Выбор типа модели определяется типом “imputed” переменной: Непрерывная: reg или regpmm. Рекомендация: Переменная с
- 41. Сколько imputations делать 50 почти всегда подойдет Если очень много данных, это может быть долго, можно
- 42. Синтаксис PROC MI proc mi ...; var var1 var2 var3 var4 ...; class var1 var2 ...;
- 43. Опции PROC MI data= - входной датасет out= - выходной датасет nimpute= - к-во imputations Если
- 44. Операторы var и class В операторе var перечисляются все переменные – те, что мы хотим “impute”
- 45. Оператор MCMC MCMC Опции: chain=single или chain=multiple Нет рекомендаций, оставляем по умолчанию Impute=monotone Impute только до
- 46. Операторы Monotone и FCS MONOTONE (imputed = factors) FCS такой же синтаксис MONOTONE reg (avalv2 =
- 47. Операторы Monotone и FCS Упрощенный вариант: FCS REG (avalv1 avalv2); Все переменные imputed по очереди MONOTONE:
- 48. Дополнительные опции PROC MI minimum=, maximum=, round= Задается минимальное или максимальное значение для imputed переменной и
- 49. Дополнительные опции PROC MI Пример: PROC MI minimum=. . . 1 1 maximum=. . . 100
- 50. Гибридный метод MCMC/Monotone Два вызова PROC MI: proc mi data=... out=mono ...; var ...; mcmc impute=monotone;
- 51. Гибридный метод MCMC/Monotone Что делать в первом шаге гибридного метода, если есть категориальные факторы? Опустить Бинарные
- 52. Пример PROC MI proc mi data=... out=... nimpute=50 seed=45780; var weight base chg4 chg8 chg12; monotone
- 53. Пример PROC MI proc mi data=… out=… nimpute=50 seed=122001; var trtp disstab skinclass base chg12 chg24;
- 54. Пример PROC MI proc mi data=... out=... nimpute=50 seed=2031602; var trtpn sitegr1 base chg5-chg7; class trtpn
- 55. Пример PROC MI proc mi data=.. out=... nimpute=50 round=1 seed=45779; by trtpn; var weight base chg4
- 56. PROC MI Output Missing data patterns: Простой способ узнать missing data pattern: запустить proc mi nimpute=0.
- 57. PROC MI Output Variance information: Обратите внимание на Relative Efficiency в последней колонке Стремимся иметь relative
- 58. Relative Efficiency “Relative” to infinite number of imputations Что делать, если RE Увеличить nimpute Но если
- 59. ШАГ 2: АНАЛИЗ
- 60. Анализ multiple imputed data Применяем любые процедуры С оператором BY _IMPUTATION_ Сохраняем результаты в датасеты с
- 61. ШАГ 3: PROC MIANALYZE
- 62. PROC MIANALYZE На входе этого шага мы имеем результаты анализа каждого из наборов multiple imputed данных
- 63. Обработка результатов PROC MIXED PROC MIXED реализует mixed model, но также ANOVA, ANCOVA Обычно обрабатываем результаты
- 64. Обработка результатов PROC MIXED proc mianalyze parms=LSMeans; class trtpn; modeleffects trtpn; run; В опции parms указываем
- 65. Обработка результатов PROC MIXED Результат в ODS датасете ParameterEstimates:
- 66. Как PROC MIANALYZE понимает датасет PARMS _Imputation_: номер imputation Effect: имя из modeleffects TRTPN: для class-переменных
- 67. Обработка результатов PROC LOGISTIC proc logistic data=…; by _imputation_; class trtpn site / param=ref; model avalc
- 68. Обработка результатов PROC LOGISTIC В результате получаем оценки параметров модели, но как получить odds ratios?
- 69. Обработка результатов PROC LOGISTIC Нужно экспоненциировать (функция exp) оценку параметра и доверительные пределы Не забываем в
- 70. MIANALYZE: Общий случай Если процедура не имеет в MIANALYZE специальной поддержки, то обрабатываем результаты так: Входной
- 71. MIANALYZE: Wilcoxon test Пример применения общего случая для обработки результата Wilcoxon test: proc npar1way data=… wilcoxon;
- 72. MIANALYZE: Wilcoxon test Делаем data step и добавляем в датасет WilcoxonTest переменную StdErr, равную 1 на
- 73. MIANALYZE: binomial proportion Другой пример общего случая: обработать пропорции пациентов, которые достигли какого-то response. Пропорция (или
- 74. MIANALYZE: binomial proportion proc freq data=…; by trtpn _imputation_; tables avalc / binomial; run; Сохраняем ODS
- 75. MIANALYZE: binomial proportion После этого: proc mianalyze data=…; by trtpn; modeleffects _BIN_; stderr E_BIN; run; Для
- 76. MIANALYZE: прочие случаи Обработка следующих типов анализа затруднена тем, что статистики не имеют нормального распределения: Chi-square
- 77. MIANALYZE: прочие случаи Общий подход: Применить преобразование, которое переводит распределение нужной статистики к нормальному Применить proc
- 78. MI: пример См. пример кода
- 79. MULTIPLE IMPUTATION AND ADAM DATASETS
- 80. Multiple Imputation and ADaM Datasets Должны ли мы сохранять результат PROC MI в датасет или делать
- 81. Создание датасета с результатами MI Рекомендация: создать один датасет без MI и другой, отдельный, с MI
- 82. Создание датасета с MI Если в imputation model участвуют данные с других визитов или endpoints, датасет
- 83. Создание датасета с MI (продолжение) PROC MI никак не обозначает, какие данные были известны, а какие
- 84. Использование датасета с MI В программе таблицы выполняем шаги 2 (анализ) и 3 (PROC MIANALYZE) Перед
- 85. Пример программы для MI датасета Пример кода
- 86. MISSING NOT AT RANDOM
- 87. Missing Not at Random Что, если наши данные Missing Not at Random (MNAR)? Напомним, это означает,
- 88. Missing Not at Random До сих пор мы моделировали отсутствующие данные на основе наблюдаемых Т.е. полагали,
- 89. Sensitivity to MAR И что же делать? Нужно провести sensitivity analysis, проверяющий “sensitivity” результатов анализа к
- 90. Pattern-Mixture Models Pattern-Mixture Models – широкий класс подходов, мы будем рассматривать нужный нам частный случай Основная
- 91. У кого данные могут быть хуже? У всех пациентов с missing data У всех, кто принимал
- 92. Насколько хуже могут быть данные? Рассмотрим два подхода: Control-based imputation Penalization
- 93. Control-Based Imputation Предполагаем, что состояние выбывших пациентов, принимавших тестовое лекарство аналогично состоянию не выбывших пациентов из
- 94. Penalization Предполагаем, что missing данные хуже на какую-то величину в абсолютном или процентном выражении Из результата
- 95. Tipping-point Analysis Идея такая: провести анализ с penalization несколько раз, постепенно увеличивая penalization factor, и посмотреть,
- 96. Two-dimensional Tipping-Point Перебирают комбинации разных penalization factors для тестового и контрольного лекарства Смотрят, при каких комбинация
- 97. MNAR: РЕАЛИЗАЦИЯ В SAS
- 98. MNAR Statement Для реализации основных видов анализа MNAR в PROC MI есть оператор MNAR Он такой
- 99. Control-Based Imputation proc mi data=… out=… nimpute=…; var …; class trtpn …; fcs reg(resp); mnar model
- 100. Control-Based Imputation Что если стоит такая задача: Применить control-based imputation для пациентов из тестовой группы, которые
- 101. Penalization proc mi data=… out=… nimpute=… seed=…; var trtpn resp …; class trtpn …; fcs reg(resp);
- 102. Tipping-point analysis Tipping-point analysis можно реализовать так: Делаем макрос, в нем в цикле вызываем PROC MI
- 103. 2-dimensional tipping-point analysis Для реализации 2-dimensional tipping-point analysis можно задавать две опции ADJUST с разными условиями:
- 104. Tipping-point – вопросы времени выполнения PROC MI может работать относительно долго При tipping-point анализе, особенно 2-dimensional,
- 105. Tipping-point – вопросы времени выполнения Можно рассмотреть вариант с «ручным» penalization Вы вызываете PROC MI один
- 106. Penalization c бинарными переменными Метод penalization наиболее понятен для непрерывных переменных, но также применим к бинарным
- 107. Penalization c бинарными переменными Для imputation бинарных переменных PROC MI использует логистическую регрессию Вспомним, как она
- 108. Penalization c бинарными переменными Т.о. MI работает так: P-step: Подобрать коэффициенты модели для моделирования log odds
- 109. Penalization c бинарными переменными Оператор MNAR может вставить penalization между шагами 2 и 3, т.е. ухудшить
- 110. Penalization c бинарными переменными Проблема: log odds сложно интерпретировать: Уменьшение log odds на X означает уменьшение
- 111. Penalization c бинарными переменными Возможен альтернативный подход к penalization без оператора MNAR При этом подходе penalization
- 112. Penalization c бинарными переменными Схема этого процесса: Запускаем PROC MI без оператора MNAR. Используем опцию details,
- 114. Скачать презентацию