Я використовую метод - тіньова матриця, в якій набір даних складається з змінних індикаторів, де дається 1, якщо значення присутнє, і 0, якщо його немає. Співвіднесення цих даних між собою та вихідними даними може допомогти визначити, чи змінні, як правило, відсутні, разом (MAR) чи ні (MCAR). Використовуючи R
для прикладу (запозичення з книги "R в дії" Роберта Кабакоффа):
#Load dataset
data(sleep, package = "VIM")
x <- as.data.frame(abs(is.na(sleep)))
#Elements of x are 1 if a value in the sleep data is missing and 0 if non-missing.
head(sleep)
head(x)
#Extracting variables that have some missing values.
y <- x[which(sapply(x, sd) > 0)]
cor(y)
#We see that variables Dream and NonD tend to be missing together. To a lesser extent, this is also true with Sleep and NonD, as well as Sleep and Dream.
#Now, looking at the relationship between the presence of missing values in each variable and the observed values in other variables:
cor(sleep, y, use="pairwise.complete.obs")
#NonD is more likely to be missing as Exp, BodyWgt, and Gest increases, suggesting that the missingness for NonD is likely MAR rather than MCAR.