Understanding missing values in dataset I have recently worked with a dataset of real estate transactions with missing entries for some features. For instance, GarageYrBlt (year when a garage was built) was sometimes null. Understanding what null means here could help me, I guess, decide what approach should I take to handle missing values for this column. Simple analyzis of the dataset has shown that it is always null, when GarageArea,  GarageCars are 0, which probably means no garage exists at all for a given estate:

GarageYrBlt GarageArea  GarageCars  

        NaN          0           0
       1973         45           2


I was wondering if there is a generic approach to understand missing values semantics in a given dataset.

Some approaches I could think of:


Go through feature and find those with related names. For instance, all having the word Garage. Then filter samples where those features have 0, null or some negative number that doesn't make sense in this particular context. This doesn't scale well for large number of features.
Employ Apriori algorithm for finding associative rules like the one I found above:


{GarageArea ==0 AND GarageCars == 0} ==&gt;  {GarageYrBlt == null} 
or {GarageYrBlt == null} ==&gt; {GarageArea ==0 AND GarageCars == 0} 


(although I am not sure if Apriori supports finding the latter, which have multiple elements on the right side).


Anything else?
No generic approach in data handling. Role of DS is understanding data. As you know sometimes NULL value means something, you have to check all aproaches to handling data and I find out which is most suitable to yours data. 
Usually I marked missing value and resampling datasets. So I getting one dataset without missing values and another one with marked missing value.

Another techniques
https://www.kdnuggets.com/2017/06/7-techniques-handle-imbalanced-data.html

Best