How to handle a special case of missing data in Neural Networks?
17 views (last 30 days)
I need to train a classifier with a dataset composed of events that occur for only a subset of my records. For instance, suppose there are 100 records. Let Event 1 occur for all records, Event 2 occur for records 1:50, and Event 3 occur for records 51:100. Suppose each Event has 1 dimension of data. So I have a dataset of 3 columns with column 2 and 3 have 50 NaNs each. These records are empty because there is no data. I do not want MATALB to attempt to estimate their values. I would like to build a model that allows for these values to be empty.
I have found one option that forces the bias terms for your connections to be zero, in which case I could make all my missing records zero. However, the non-missing values sometimes have a magnitude of zero and so for these cases the bias needs to be non-zero.
Is there a way to make each input to a neural network two-dimensional, the first dimension being the training data and the second value a 0 or 1 indicating whether to overide the output to be 0 and to have the back-propogaiton ignore that branch of the node?
My actual dataset is high-dimensional with a complex collection of overlapping events. I have built a custom MAP classifier that accounts for the particular nature of the data. I want to compare its performance with a deep ANN and with some other clustering technique. Accordingly, I will have this same quesiton for something like KNN.
David Willingham on 1 Sep 2021
I'd recommend adding additional 2 columns that indicate when Event 2 & 3 are active. I.e. the first column will have a 1 for when Event 2 is active, 0 when it's not. And the next column has the same for Event 3.