When dealing with real world data, we often see some of the columns have missing values. I frequently see that people using the following way to deal with missing values.
Z has 50% of NaNs, then they just leave those NaNs there and add a new column denoted by
Z_indicator which contains only 0 and 1 such that for the entry in column
Z with NaN, then the corresponding entry in
Z_indicator is 1 and if the entry in column
Z is not NaN, then the corresponding entry in
Z_indicator is 0.
I don't understand why this way of dealing with missing value is "better" than other ways? Is there any theoretically justification for that?