Missing value in continuous variable: Indicator variable vs. Indicator value

Most data has missing values, and as far as I'm aware, these are the options:

• Imputation (mean, hot-deck, etc.)
• Indicator variable. A categorical variable that tells what type the primary variable is. For the missing value case, this is binary. Something still has to be imputed, though.
• Indicator value. If the model is powerful enough, it can learn to associate a specific imputed value to certain types of predictions.

In my case, a missing value reveals important information, and thus is Missing Not At Random. From what I've read, most imputation methods don't cover this scenario. Thus, I've opted for the indicator value approach.

My question is: Is there any point adding an additional indicator variable, since I'm already using an indicator value? Am I completely misguided and should I be looking into some other approach?

Example:

| Primary variable (-50 to 50)          | Indicator     |
|-------------------------------------  |-----------    |
| 20.5                                  | 0             |
| -14.2                                 | 0             |
|  0.1                                  | 0             |
| 500 (out of the usual distribution)   | 1             |


As you realise, you are introducing some form of redundancy by using both indicator values and variables; however, it might be a good starting point. Many models such as neural networks and boosted regression will be able to pick up on this, and will likely end up making use of one of the two primarily. This is because, in your particular case, the variable will be 100% correlated with the imputed indicator value.

Using both will give your model as much help as possible to learn about the missing values and their relation to the rest of the data.

My advice would be to as many combinations for which you have time. So try:

• indicator value and indicator variable
• indicator value
• imputation via one or more methods

You can then compare the results of each of these and (assuming you have enough data to make things statistically trustworthy), you will be able to assess, which method is indeed the best in your case.

You could try thinking about how to encode perhaps a little more information into either the value or variable, in order to distinguish them from one another. E.g. you could vary the value (don't always make it 500, as per your example), depending on a metric e.g. a function of how long it has been since the previous missing value.