Глава 8 Промежуточная статистика с множественным вменением (статистическое моделирование)

Глава 8 Множественное вменение.

Множественное вменение — это распространенный подход к решению проблем с отсутствием данных. Когда данные отсутствуют, результаты по умолчанию часто получаются при полном анализе случая (с использованием только наблюдений с полными данными), хотя и не всегда, это может привести к необъективным результатам. Кроме того, полный анализ случая может оказать серьезное негативное влияние на мощность из-за значительного уменьшения размера выборки..

Вменение в целом — это идея заполнения пропущенных значений для имитации наличия полных данных. Некоторые более простые формы вменения включают:

Среднее вменение. Замените каждое пропущенное значение средним значением переменной для всех не пропущенных наблюдений. Вменение холодной колоды. Замените каждое отсутствующее значение значением из другого наблюдения, аналогичного тому, в котором отсутствует значение. Вменение регрессии. Установите регрессионную модель и замените каждое пропущенное значение прогнозируемым значением..

У каждого подхода есть свои плюсы и минусы, но в целом ни один из них не является столь мощным или широко используемым, как множественное вменение. Множественное вменение (или MI) — это трехэтапная процедура:

Для каждого пропущенного значения получите распределение. Выполните выборку из этих распределений, чтобы получить вмененные значения с некоторой встроенной случайностью. Сделайте это несколько раз, чтобы создать \ (M \) общие наборы вмененных данных. Каждый из этих наборов данных \ (M \) идентичен по неотъемлемым значениям, но (почти наверняка) будет отличаться по вмененным значениям. Выполните статистический анализ по каждому из наборов условно исчисленных данных \ (M \) отдельно. Определенным образом объедините результаты, чтобы учесть неопределенность вменения..

К счастью, для простых анализов (например, для большинства регрессионных моделей) Stata выполнит все три шага за вас автоматически. Позже мы кратко обсудим, как выполнить MI, если Stata не поддерживает его..

8.1 Случайно пропавшие без вести.

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

Полностью случайное отсутствие (MCAR): это действительно случайное отсутствие — нет причины отсутствия, это просто случайность. Например, вы вводите бумажные опросы в электронную таблицу и проливаете на них кофе, скрывая некоторые ответы. Случайно отсутствует (MAR): Отсутствие здесь связано с наблюдаемыми данными, а не ненаблюдаемыми данными. Например, женщины с меньшей вероятностью сообщают о своем возрасте, независимо от их фактического возраста. Отсутствует не случайно (MNAR): здесь недостающее значение связано с отсутствующим значением. Например, люди с более высокой зарплатой могут быть менее склонны отвечать на вопросы опроса о своей зарплате..

Статистического теста 21 для различения этих категорий не существует; вместо этого вы должны использовать свои знания о данных и их сборе, чтобы спорить, к какой категории они попадают..

Это важно, потому что большинство методов вменения (включая MI) требуют для данных MCAR или MAR. Если это MNAR, вы мало что можете сделать. Как правило, если вы считаете, что данные являются MNAR, вы можете предположить MAR, но обсудите, что серьезным ограничением вашего анализа является предположение MAR, скорее всего, неверно..

8.2 миль.

Набор команд mi в Stata выполняет этапы множественного вменения. Есть три шага, с предварительным шагом для проверки отсутствия. Мы будем использовать данные «mheart5» с веб-сайта Stata, на котором отсутствуют некоторые данные..

Из сводки видно, что как по возрасту, так и по ИМТ отсутствуют некоторые данные..

8.2.1 Настройка данных.

Нам нужно сообщить Стате, как мы будем проводить вменения. Во-первых, используйте команду mi set, чтобы определить, как будут храниться несколько наборов данных. На самом деле, какой вариант вы выберете, зависит от вас, я предпочитаю вариант «flong», когда каждый набор условно вычисленных данных накладывается друг на друга. Если у вас очень большие данные, вы можете предпочесть «широкий», «млонг» или «млонгсеп», последний из которых сохраняет каждый набор условно исчисленных данных в отдельном файле. См. Справку по стилям mi для более подробной информации. (В конечном итоге решение не так важно, поскольку вы можете переключиться позже, используя mi convert.)

Затем нам нужно сообщить Stata, для чего будет использоваться каждая переменная. Варианты.

вмененный: переменная с отсутствующими данными, которую необходимо вменять. обычный: любая переменная, которая является полной или не требует вменения..

Технически нам нужно указать только вмененные переменные, так как все, что не указано, считается обычным. Выше мы видели, что у age и bmi отсутствуют значения:

Мы можем проверить нашу настройку с помощью mi description:

Мы видим 126 полных наблюдений, из них 28 неполных, две переменные, которые должны быть исчислены, и 4 незарегистрированные переменные, которые будут автоматически зарегистрированы как обычные..

8.2.1.1 Ввод преобразований.

Что произойдет, если у вас будет преобразование переменной? Допустим, у вас есть переменная для зарплаты и вы хотите использовать преобразование журнала.?

Вы можете найти литературу, в которой предлагается либо сначала преобразовать, а затем вменять, либо сначала вменять, а затем преобразовывать. Наше предложение, следуя современной статистической литературе, состоит в том, чтобы сначала преобразовать, а затем — вменять (Hippel 2009)

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

8.2.2 Выполнение вменения.

Теперь, когда мы настроили ИМ, мы можем выполнить саму процедуру. Существует множество вариантов того, как это вменение может быть выполнено (включая определение вашего собственного!). Вы можете рассматривать их как варианты для вменения. Мы просто сосредоточимся на «цепном» подходе, который является хорошим подходом для начала..

Синтаксис для этого немного сложен, но прост, если вы его понимаете..

По сути, это тип модели, который вы бы использовали для прогнозирования результата. Например, для непрерывных данных используйте регресс. Для двоичных данных используйте logit. Он также поддерживает ologit (порядковая логистическая регрессия, несколько категорий с упорядочением), mlogit (полиномиальная логистическая регрессия, несколько категорий без упорядочения), poisson или nbreg (регрессия Пуассона или отрицательная биномиальная регрессия для данных подсчета), а также некоторые другие. Полный список см. В разделе help mi impute chained в разделе «uvmethod»..

Параметр add () указывает, сколько наборов условно исчисленных данных необходимо сгенерировать. Ниже мы обсудим, как это выбрать..

Продолжение нашего примера может прояснить это. Чтобы выполнить наше вменение, мы будем использовать.

Поскольку и bmi, и возраст являются непрерывными переменными, мы используем метод регрессии. Представьте, что мы также вменяем дым, двоичную переменную. Тогда вменение (после запуска вмененного дыма в регистр mi) будет:

Здесь регресс использовался для bmi и возраста, а logit — для курения. .

8.2.2.1 Выбор количества вменений.

В классической литературе предлагалось всего 5 вменений для получения достоверных результатов. Это повлияет на эффективность точечных оценок, но не на стандартные ошибки. Более современная литература увеличивает это число, с хорошей отправной точкой 200 условных единиц. (Грэм 2007, Уайт и др. 2011)

Если ваш набор данных велик, а вменение происходит медленно, в недавней статье (Von Hippel, 2018) дается двухэтапная процедура для оценки необходимого количества вменений. Эта двухэтапная процедура сначала выполняет небольшое количество вменений и выполняет анализ. Затем он использует результаты этого анализа, чтобы лучше оценить требуемый размер выборки. Вы можете установить пользовательскую команду how_many_imputations для получения подробностей и примеров..

8.2.2.2 переменные mi.

После того, как вы выполнили вменение 22, к вашим данным добавляются три новые переменные, и ваши данные получают \ (M \) дополнительные копии самих себя. В приведенном выше примере мы добавили 5 импутаций, поэтому всего имеется 6 копий данных — необработанные данные (с пропущенными значениями) и 5 ​​копий с вмененными значениями. Добавлены новые переменные:

_mi_id — это идентификационный номер каждой строки, соответствующий ее положению в исходных данных. _mi_miss указывает, были ли в строке изначально отсутствующие данные. _mi_m — это набор данных, который мы рассматриваем. 0 представляет собой не вмененные данные, 1 представляет собой первое вменение, 2 — второе и т. Д..

8.2.3 Анализ mi данных.

Теперь, когда мы настроили данные для нескольких вменений и выполнили вменение, большая часть трудной части позади. Анализировать данные MI обычно несложно. (Если это не так, вы можете сделать это вручную.)

В общем, возьмите любую команду анализа, которую вы обычно выполняете, например regress y x и предваряет его оценкой mi:. Давайте попробуем предсказать вероятность сердечного приступа на основе других характеристик данных. Мы запустим модель логистической регрессии,

Итак, чтобы запустить его с несколькими вменениями:

Мы видим одну модель, хотя 5 моделей (по одной для каждого вменения) выполнялись в фоновом режиме. Результаты этих моделей были объединены с использованием так называемых «правил Рубина» для получения единой выходной модели..

Мы видим несколько дополнительных подходящих сводок о множественном вменении, которые не являются супер релевантными; но в остальном все существующие интерпретации верны. Обратите внимание, что вместо теста \ (\ chi ^ 2 \) выполняется F-тест, но он по-прежнему проверяет ту же гипотезу, что все коэффициенты тождественно равны нулю. Среди коэффициентов мы видим, что у курильщиков значительно выше вероятность сердечного приступа, и есть некоторые слабые доказательства того, что возраст играет роль.

8.2.3.1 Оценка MI.

Как правило, большинство команд апостимуляции не работают после MI. Общий подход состоит в том, чтобы выполнить МИ вручную и провести постстестирование для каждого вменения. Единственное исключение состоит в том, что mi Forex работает так же, как.

8.3 Ручной MI.

Поскольку мы устанавливаем данные как flong, каждый вмененный набор данных находится в данных с отдельным значением _mi_m. Вы можете условно выполнить анализ каждого, например.

запустить модель только на исходных данных.

Делать это для всех вмененных данных утомительно, поэтому вместо этого мы можем запустить mi xeq: в качестве префикса для запуска команды для каждого отдельного набора данных. Это похоже на оценку mi: за исключением объединения.

Это также может быть полезно, если анализ, который вы хотите выполнить, еще не поддерживается оценкой mi..

8.3.1 Правила Рубина.

Если вы хотите объединить результаты самостоятельно, вы можете получить оценку объединенного параметра с помощью простого среднего по вмененным значениям. Формула для дисперсии немного сложнее, поэтому мы не приводим ее здесь, однако ее можно найти в разделе «Методы и формулы» руководства MI (запустите справку mi оценка, нажмите «[MI] mi оценка» на верх файла, чтобы открыть руководство.

8.4 Удаление данных MI.

В идеале вы должны сохранить данные (или сохранить их) до импутации, чтобы вы могли легко восстановить не импутированные данные, если хотите. Если вы хотите вернуться к исходным данным, должно работать следующее:

Первый говорит Стате, чтобы он больше не считал это вмененным; второй отбрасывает все вмененные наборы данных; третий удаляет переменные MI, которые были сгенерированы.

Это работает только для mi set flong; если вы используете другой метод, вы можете настроить его или использовать mi convert flong, чтобы сначала переключиться на «flong».

8.5 Обследование и множественное вменение.

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

Было некоторое обсуждение того, что вменение не должно принимать во внимание какие-либо сложные особенности плана обследования (потому что вы хотите, чтобы вменение отражало выборку, а не обязательно генеральную совокупность). См., Например, Little и Vartivarian 2003. Если вы последуете этому совету, просто исключите часть [pweight =…] из команды mi impute. В любом случае командам оценки по-прежнему нужны оба префикса mi Estim: svy: в указанном порядке..

Приведенный выше абзац больше не точен. См. Reist and Larsen 2012. Веса обследования должны использоваться при множественном вменении..

Похожие статьи