2016-05-03 3 views
0

Процесс генерации недостающих значений с помощью NMAR:Процесс формирования недостающих значений с помощью NMAR

Aj <- c(48,75,83,58,83,32,45,50,86) 

NMAR производится missingness на каждой переменной напрямую. Для данной переменной Aj и заданной пропускной способности α, если Aj является численным, мы сначала вычислили медиану Aj, а затем случайным образом давали значения, которые ниже (или выше), чем отсутствующие с вероятностью 2α.

α является скорость отсутствует, например %5 ,%10 , ....

Мой вопрос Как генерировать NMAR описанным выше способом в р. Я очень нуждаюсь в нем

+1

Ознакомьтесь с нижеследующей статьей: http://www.r-bloggers.com/imputing-missing-data-with-r-mice-package/ – Technophobe01

ответ

2

NMAR означает «не хватает случайно», поэтому это означает, что у вас нет данных. NMAR не указывает, какой будет этот шаблон, только что есть.

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

Даже сложный недостающий пакет данных, например мышь (упомянутый в комментарии выше) предназначен для ввода данных, который является MAR (отсутствует случайно) или MCAR (отсутствует полностью случайно).

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

Если я правильно понял ваше описание, вы хотели бы сделать 5-10% значений ниже или ниже вашего медианного значения. Эта строка кода будет делать это с 5% вероятностью любое значение выше медианы:

Aj[Aj > median(Aj)] = ifelse(sample(c(T, F), length(Aj[Aj > median(Aj)]), replace=T, prob=c(0.05, 0.95)), NA, Aj[Aj > median(Aj)]) 

Эта строка кода принимает значения Aj, которые выше среднего, а затем IfElse() использует образец выбрать либо первый вариант (T с вероятностью 5%), либо второй вариант (F с вероятностью 95%). Если T, значение заменяется на NA. Если F, исходное значение сохраняется.

+0

спасибо за ваш ответ – user5934339