The video demonstrates how to perform Multiple Correspondence Analysis (MCA) on survey data that contain missing responses, using the R packages missMDA and FactoMineR. It first shows the default behavior of FactoMineR's MCA, where missing values are treated as a separate NA category, revealing the structure of missingness but obscuring the true survey information. The presenter then estimates the optimal number of dimensions for imputation with missMDA's estim_ncpMCA, imputes missing entries via imputeMCA, and constructs an imputed disjunctive table where observed categories are coded as 0/1 and imputed entries receive fractional values indicating category membership probabilities. Running MCA on this imputed table yields plots that reflect only the observed data, improving interpretability. The tutorial concludes with practical recommendations: visualize missingness first, then impute and re‑run MCA for clearer insights, while noting that inertia percentages may be slightly to heavily over‑estimated depending on the amount of missing data, so they should be interpreted cautiously.
Chapters
The goal of this video is to look at how to do multiple correspondence analysis when the data has missing values. We're going to use the missMDA and FactoMineR R packages to show you how to do this. We're going to use a dataset that is part of the missMDA R package. It's the one called VNF. This dataset is a survey on 1,232 people who answered 14 questions. In this dataset, there are missing data. Not all individuals replied to all questions. Some questions even have a lot of missing answers. So how can we deal with this? To begin with, we could simply use the MCA function in FactoMineR and see what happens. So we run MCA on the VNF dataset. Out comes the plot with the MCA variables. If you need a reminder on what the MCA outputs means, feel free to go back and have a look at the MCA video. OK, so we have the variables plot, the individuals plot, and the categories plot. On the categories plot, what do we see? We see some categories with point NA. In fact, each time that there was at least one missing value for a variable, A new category was created, called NA, and all the individuals with a missing value for that variable were put into the NA category. We can see in the first plane of the MCA that there is a grouping of certain NA categories. What this means is that, for example, individuals who didn't reply to questions 8.1 or 8.2 also didn't reply to the questions 8.3 or question 9 or question 7, for example. What we are seeing here is the structure of the missing data, that is, for which variables are the unanswered questions related. These unanswered questions rather characterize the first dimension, and there is another group of them that instead characterizes the second dimension. The question Q7 Q29, and Q40. This graph is of interest when it's coming to visualizing the relationships between the missing data entries, but not so much for visualizing the information contained in the survey answers. The actual information contained in the replies doesn't even appear on the first 2 axes. Sure, it may be found on subsequent axis, but still disrupted by the missing data. This doesn't mean that the MCA is not of interest to us. It's interesting to see what the plots look like when the missing data isn't treated in any way, but if we want to focus on the observed data, we kind of want to just be able to look at this data, and not what it looks like when disrupted by missing data. For this, we are going to use the missMDA library. To begin with, we have to estimate the number of components needed to impute the data. This can be done with the estim_ncpMCA function in missMDA. Here, the function tells us that we need 5 components. Once we have chosen the number of components, we can fill in the missing data, impute the missing entries using the imputeMCA function on the VNF dataset. So, here we are, with the imputed dataset. We can now see the results. In complete, there are 2 things: an object called tab.disj, and another called complete_obs. We can visualize tab.disj. It's the disjunctive table after imputation. In fact, in MCA, each qualitative variable is turned into as many indicator variables as there are categories. So therefore, we get this disjunctive table, and thus, in each column, we have the value 0 or 1. 0 if the category is not taken, and 1 if it is. That's for the observed data. As for the data that were missing, well, they have been imputed, but not with 0s and 1s, but with real values which can be interpreted as the degree to which the individual belongs to that category. For example, we can say that, for this variable, individual 1 and 2 didn't reply, but individual 1 would have chosen the first category, whereas individual 2 would have chosen the second. So, if I'm now going to directly impute the qualitative variable, I'd input the first individual with the first category, and the second individual with the second category. We can now run the MCA. We're going to run it on the VNF table, but signaling that we want to use the disjunctive data table that we've just imputed. So, we run the MCA, and this outputs the variables plot, the individuals plot, and the observed categories plot. This time, there are no missing data, so we're going to be able to visualize much better the links that may exist between the categories taken by each individual. In conclusion, to do MCA with missing data, we suggest that you do the following. First, visualize where the missing data are by creating a missing data category, which is anyway done by default by the MCA function in FactoMineR, as it is in most software packages. Then, if you want to visualize the actual observed data, you have to impute the missing data and work with the imputed disjunctive table. Again, this means running the MCA function from FactoMineR. The data is imputed in such a way that the imputed values have no influence on the axes construction, so the axes constructed here are done so based only on the observed data. This is important because we only want to visualize the information contained in the observed data. However, be careful because the percentages of inertia associated with the axes will be a little overestimated because we imputed the missing data using only the first MCA dimensions. This will exaggerate the structure that can be seen in the first MCA plane. The plot is helpful for seeing relationships, but the percentages of inertia should be interpreted with caution. If there are not many missing data, the percentages of inertia will be slightly overestimated, but if there are a lot, they could be highly overestimated.