Is random sample imputation a valid method of imputation for categorical variables? Not randomly drawing from any old uniform or normal distribution, but drawing from the specific distribution of the categories in the variable itself.
As a simple example, consider the Gender variable with 100 observations. Male has 64 instances, Female has 16 instances and there are 20 missing instances. Before imputation, 80% of non-missing data are Male (64/80) and 20% of non-missing data are Female (16/80). After variable-specific random sample imputation (so drawing from the 80% Male 20% Female distribution), we could have maybe 80 Male instances and 20 Female instances, thus preserving the original 80% Male 20% Female distribution.
Imputing this way by randomly sampling from the specific distribution of non-missing data results in very similar distributions before and after imputation. If mode imputation was used instead, there would be 84 Male and 16 Female instances. More biased towards the mode instead of preserving the original distribution.
My question: is this a valid way of imputing categorical variables? What are its strengths and limitations? What are better alternatives to random sample imputation?
Edit: My medical dataset is indeed multivariate, with around 200 integer encoded categorical features and 20000 instances (and a binary target). I tried Predictive Mean Matching as I found that it is the best imputation method. However, it took ages to run on 1000 instances and produced an error, and even the GPU from Google Colab gave up on it. What would be a nice multiple imputation method that makes a good compromise between execution time and imputation performance, without having to draw on massive parallel computing power from the Cloud?