Импульсы Амелии в R исключают участников, которые не получили предметы - PullRequest
1 голос
/ 01 мая 2020

Я пытаюсь использовать Амелию для вменения моих данных, используя единственное вложение для максимизации ожидания. Однако в моей выборке есть две группы, некоторые из которых не получили все элементы опроса. Поэтому я не хочу вменять ответы для этих участников. Если участники ответили 'yes' на элемент 'Seen.Psychologist', им были представлены все элементы, если они ответили 'no' 16 элементов, которые не были им представлены, поскольку они не имели отношения к делу. Следующие переменные не были получены этими участниками: CulturalSafety_var, "Practical", "Referral" и "Wait.time".

Мое текущее вменение следующее:

am_imp <- amelia(x = data[, c(SafetyBehaviour_var, CulturalSafety_var, 
                              Anxiety_var, SelfStigma_var, Disclosure_var, 
                              PublicStigma_var, Motivation_var, 
                              NonAttendance_var, "Employment", "Education",
                              "Referral", "Ethnicity", "Wait.time", "Practical")], 
                 noms = c("Practical"), 
                 m = 1, 
                 boot.type = "none")

One Можно было бы не включать эти элементы в вменение, но тогда возникнут другие проблемы с остальной частью сценария. Например, когда я объединяю вмененные данные с исходным набором данных.

Другой способ (как предложил мой руководитель) выглядит следующим образом:

  1. Сделайте первый раунд вменения, используя только переменные, которые все должны были видеть, со всей выборкой.

  2. Выполните второй раунд вменений только с теми переменными, которые были представлены, если участники сказали «да» психолог и использование только тех участников.

  3. Объедините (rbind) вмененные данные из # 2 со строками на этих переменных для участников, которые не видели психолога (в целом куча полностью отсутствующих данных)

  4. Объедините (cbind) вмененные наборы данных из # 1 и # 3 и любые другие оставшиеся переменные, к которым вы не применяли вменение, следя за порядком следования участники наборов данных.

Однако это будет означать, что вменения не будут такими точными, учитывая, что они основаны на только подмножество переменных.

Я надеюсь, что есть замечательный Амелия-гуру, у которого есть предложение, которое я мог бы попробовать ...

1 Ответ

0 голосов
/ 01 мая 2020

Предложения вашего руководителя имеют для меня смысл. Рассмотрим следующую таблицу:

seen psych.  Imp. 1 (restr.)  Imp. 2 (ext.)    used
      FALSE             TRUE          FALSE  Imp. 1
       TRUE             TRUE           TRUE  Imp. 2

В первом столбце ваша выборка делится на две подвыборки, увиденные психологом или нет. Столбцы Imp* указывают, включено ли это вменение или нет. Столбец used показывает, что будет использоваться для rbind окончательного набора данных.

Импутация 1 применяется к ограниченному набору переменных, то есть информации, которая совместно доступна для всего образца.

Импутация 2 применяется к расширенному набору переменных, который доступен только для seen psych. == TRUE. Он считает расширенные переменные CulturalSafety_var, Practical, ... вмененными (а также использует другие переменные для прогнозирования!). Здесь вы можете использовать Imp. 1 (подмножество для seen psych. == TRUE) в качестве основы, которая уже должна быть завершена.

Как показано в столбце used, для seen psych. == FALSE используется только Imp. 1. Для seen psych. == TRUE мы используем Imp. 2, который включает Imp. 1 и недавно вмененные расширенные переменные. Переменные Imp. 1 больше не должны были изменяться в Imp. 2. Расширенные переменные вменяются с максимальной информацией; Вы не можете использовать seen psych. == FALSE для прогнозирования расширенных переменных, потому что нет никакой информации.

Следовательно, в окончательном наборе данных rbind все ограниченные переменные должны быть полными, а расширенные переменные должны иметь пропуски для seen psych. == FALSE.

(Что вы могли бы рассмотреть это взвешивание компромисса между вменением ограниченных переменных seen psych. == TRUE, как описано выше, или включением расширенных переменных для их прогнозирования. Однако в последнем случае вы можете использовать только подмножество seen psych. == TRUE для вменения, и вы потеряете всю информацию seen psych. == FALSE, и результат вменения будет хуже.)

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