I got about 10 Variables with customer spendings and another 10 variables with background information (like homecountry, average income etc.).

I want to use nnet to impute missing values in the spending-Variables. To impute missings for spendings_var1 i would like to use the information of all the background variables and also of spendings_var2 till spendings_var10.

There are cases with zero NA in all the spendings-Variables and there are cases with 10 NA out of 10 (background vars are not NA in the majority of cases. If a background var is missing the case is excluded as a whole).

Unfortunately nnet does require the predictor variables to be not NA for all cases.

So if i would like to be prepared for all possible NA combinations, i would have to calculate 2^9 nnet regressions, to have all possible NA combinations covered and still use all the information present.

Is there a smarter way to do so?

For example if i would use random forest to impute the data, instead of imputing each variable with the classical randomForest command i could use missForest from the missForest package.

Is there something similar for nnet?

The reason im using nnet instead of random forest ist, that based on only the background vars nnet outperforms randomForest when it comes to kfold validation.

Any help is very welcome! Thanks in advance

Edit: I've tried replacing missing values by a value which is not present in the data so far (-999 here, since spendings cant be below 0). Kfold validation indicates, that this increases the performance of the net a lot, but im not sure if this is a correct approach. I would be convinced by this method if the variables i replace where categorical. But the variables are numeric, and i want to solve a regression like problem with the neural net. Can i say, that the non-linearic character of the neural net fixes this troubles?


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.