I have a large proteomics dataset. In the rows I have the proteins , and in the rows I have the samples.The dataset contains a lot of missing values. I would like to know I can find out whether missing values are MAR, MCAR, or MNAR, and how I can decide the best imputation technique. Kind regards.


1 Answer 1


First let's understand each part:


Missing completely at random - Whether or not an observation is missing IS NOT determined by the value of that observation (i.e. a missing value in an income statement is not related to the income being very high or low) and it IS NOT determined by a value of another observation (i.e. answer for most favored browser is not missing because of age of respondent). It is truly missing randomly.

Here you can use the simplest imputation methods or if feasible remove the data but you can never prove data is MCAR. Rather you have to show it is unlikely it is MAR or MNAR.


Is not what it sounds (Missing at random), it only means data is missing randomly related to the value of the observation but NOT randomly as related to other variables.

You identify this if missing values are correlated to any other variable in your data set (e.g. percentage of missing value differs significantly based on other variables).

If this is the case you have to use more sophisticated imputation methods like MICE or at least grouped median/mean imputations.


MNAR (Missing not at random) is HARD. It assumes that there is a definite pattern in missing variable that is however unrelated to any feature we can observe in our data.

It might be because the values themselves correlate to missing values (e.g. higher income is not reported) or that missing values are produced by another feature not in our data (e.g. a scale wearing out over time giving less and less measurements of smaller weights).

You really have to find more data to cope with this.


Unless you are in academics your burden of proof is probably low, so MAR is a good standard assumption that should be checked.

Otherwise remember:

MCAR - All is good, remvove NAs or impute

MAR - Be cautios, use advanced imputation methods like MICE

MNAR - You are fucked, get new/more data

  • $\begingroup$ Can we determine the type of missingness by visualizing the missing data vs the target variable? $\endgroup$
    – spectre
    Nov 5, 2021 at 11:18
  • $\begingroup$ @spectre not for all types of missingness. As said MAR means that you can explain the missing data by other data you have, which could be the target variable but also any other variable in the data set. If there is a correlation of missing values and the target variable you know that at least your data cannot be MCAR. However this will not necessarily help you identify MNAR. By and large the type of missingness always has to be judged using domain knowledge and can`t really be automated. $\endgroup$
    – Fnguyen
    Nov 18, 2021 at 9:59
  • $\begingroup$ tmb.njtierney.com can help you with visuals to understand missing mechanism. The other books that discuss various imputation methods using MICE R package can be read at: stefvanbuuren.name/fimd/want-the-hardcopy.html bookdown.org/rwnahhas/RMPH/mi-mechanisms.html $\endgroup$ Jun 8, 2023 at 15:37

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.