Czy dane są losowo brakujące?

Skalowalne przetwarzanie danych w R

Michael Kane

Assistant Professor, Yale University

Skalowalne przetwarzanie danych w R

Rodzaje braków danych

  • Missing Completely at Random (MCAR)
  • Missing at Random (MAR)
  • Missing Not at Random (MNAR)
Skalowalne przetwarzanie danych w R

MCAR

Całkowicie losowe braki (MCAR)

  • Nie można przewidzieć, które wartości są brakujące
  • Można usunąć brakujące dane
Skalowalne przetwarzanie danych w R

MAR

Losowe braki (MAR)

  • Braki zależą od zmiennych w zbiorze danych
  • Użyj wielokrotnego imputowania, aby przewidzieć brakujące wartości
Skalowalne przetwarzanie danych w R

MNAR

Nielosowe braki (MNAR)

  • Nie MCAR ani MAR
  • Deterministyczna zależność między zmiennymi
Skalowalne przetwarzanie danych w R

Braki danych w tym kursie

  • Pełne omówienie braków danych wykracza poza zakres tego kursu

  • Sprawdzimy, czy dane są MCAR i usuniemy brakujące wartości

Skalowalne przetwarzanie danych w R

Szybka weryfikacja MAR

  • Zakoduj kolumnę: 1 jeśli wartość brakuje, 0 w przeciwnym razie
  • Dokonaj regresji pozostałych zmiennych za pomocą regresji logistycznej
  • Istotna wartość p wskazuje na MAR
  • Powtórz dla pozostałych kolumn z brakami
  • Niektóre wartości p mogą być istotne przez przypadek – dostosuj próg istotności do liczby regresji
Skalowalne przetwarzanie danych w R

Przykład szybkiej weryfikacji 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))
Skalowalne przetwarzanie danych w R

Przykład szybkiej weryfikacji 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
Skalowalne przetwarzanie danych w R

Czas na ćwiczenia!

Skalowalne przetwarzanie danych w R

Preparing Video For Download...