Случайны ли пропуски в данных?

Масштабируемая обработка данных в R

Michael Kane

Assistant Professor, Yale University

Масштабируемая обработка данных в R

Типы пропущенных данных

  • Missing Completely at Random (MCAR)
  • Missing at Random (MAR)
  • Missing Not at Random (MNAR)
Масштабируемая обработка данных в R

MCAR

Полностью случайные пропуски

  • Предсказать, какие значения отсутствуют, невозможно
  • Пропущенные данные можно удалить
Масштабируемая обработка данных в R

MAR

Случайные пропуски

  • Пропуск зависит от других переменных в наборе данных
  • Для восстановления пропущенных значений используется множественное вменение
Масштабируемая обработка данных в R

MNAR

Неслучайные пропуски

  • Не MCAR и не MAR
  • Детерминированная связь между переменными
Масштабируемая обработка данных в R

Работа с пропущенными данными в этом курсе

  • Полный анализ пропусков выходит за рамки этого курса

  • Мы проверим, правдоподобна ли гипотеза MCAR, и удалим пропущенные значения

Масштабируемая обработка данных в R

Быстрая проверка на MAR

  • Перекодируйте столбец: 1, если значение пропущено, и 0 в противном случае
  • Выполните логистическую регрессию остальных переменных на этот столбец
  • Значимое p-значение указывает на MAR
  • Повторите для других столбцов с пропусками
  • Часть p-значений может оказаться значимой случайно — скорректируйте порог значимости с учётом числа регрессий
Масштабируемая обработка данных в R

Пример быстрой проверки на MAR

# Our dependent variable
is_missing <- rbinom(1000, 1, 0.5)

# Our independent variables data_matrix <- matrix(rnorm(1000*10), nrow = 1000, ncol = 10) # A vector of p-values we'll fill in p_vals <- rep(NA, ncol(data_matrix))
Масштабируемая обработка данных в R

Пример быстрой проверки на MAR

# Perform logistic regression
for (j in 1:ncol(data_matrix)) {
 s <- summary(glm(is_missing ~ data_matrix[, j]), 
              family = binomial)
              p_vals[j] <- s$coefficients[2, 4]
 }

# Show the p-values p_vals
0.5930082 0.7822695 0.7560343 0.3689330 0.8757048 
0.8812320 0.8281008 0.4888898 0.4781299 0.5655739
Масштабируемая обработка данных в R

Давайте потренируемся!

Масштабируемая обработка данных в R

Preparing Video For Download...