MCA Using Stata PDF
MCA Using Stata PDF
com
mca — Multiple and joint correspondence analysis
Syntax
Basic syntax for two or more categorical variables
mca varlist if in weight , options
Full syntax for use with two or more categorical or crossed (stacked) categorical variables
mca speclist if in weight , options
where
speclist = spec spec . . .
spec = varlist | (newvar : varlist)
options Description
Model
supplementary(speclist) supplementary (passive) variables
method(burt) use the Burt matrix approach to MCA; the default
method(indicator) use the indicator matrix approach to MCA
method(joint) perform a joint correspondence analysis (JCA)
dimensions(#) number of dimensions (factors, axes); default is dim(2)
normalize(standard) display standard coordinates; the default
normalize(principal) display principal coordinates
iterate(#) maximum number of method(joint) iterations; default is
iterate(250)
tolerance(#) tolerance for method(joint) convergence criterion; default is
tolerance(1e-5)
missing treat missing values as ordinary values
noadjust suppress the adjustment of eigenvalues (method(burt) only)
Codes
report(variables) report coding of crossing variables
report(crossed) report coding of crossed variables
report(all) report coding of crossing and crossed variables
length(min) use minimal length unique codes of crossing variables
length(#) use # as coding length of crossing variables
1
2 mca — Multiple and joint correspondence analysis
Reporting
ddimensions(#) display # singular values; default is ddim(.) (all)
points(varlist) display tables for listed variables; default is all variables
compact display statistics table in a compact format
log display the iteration log (method(joint) only)
plot plot the coordinates (that is, mcaplot)
maxlength(#) maximum number of characters for labels in plot; default is
maxlength(12)
bootstrap, by, jackknife, rolling, and statsby may be used with mca; see [U] 11.1.10 Prefix commands.
However, bootstrap and jackknife results should be interpreted with caution; identification of the mca
parameters involves data-dependent restrictions, possibly leading to badly biased and overdispersed estimates (Milan
and Whittaker 1995).
Weights are not allowed with the bootstrap prefix; see [R] bootstrap.
fweights are allowed; see [U] 11.1.6 weight.
See [U] 20 Estimation and postestimation commands for more capabilities of estimation commands.
Menu
Statistics > Multivariate analysis > Correspondence analysis > Multiple correspondence analysis (MCA)
Description
mca performs multiple correspondence analysis (MCA) or joint correspondence analysis (JCA) on a
series of categorical variables. MCA and JCA are two generalizations of correspondence analysis (CA)
of a cross-tabulation of two variables (see [MV] ca) to the cross-tabulation of multiple variables.
mca performs an analysis of two or more integer-valued variables. Crossing (also called stacking)
of integer-valued variables is also allowed.
Options
Model
supplementary(speclist) specifies that speclist are supplementary variables. Such variables do
not affect the MCA solution, but their categories are mapped into the solution space. For
method(indicator), this mapping uses the first method described by Greenacre (2006).
For method(burt) and method(joint), the second and recommended method described by
Greenacre (2006) is used, in which supplementary column principal coordinates are derived as a
weighted average of the standard row coordinates, weighted by the supplementary profile. See the
syntax diagram for the syntax of speclist.
method(method) specifies the method of MCA/JCA.
method(burt), the default, specifies MCA, a categorical variables analogue to principal component
analysis (see [MV] pca). The Burt method performs a CA of the Burt matrix, a matrix of the
two-way cross-tabulations of all pairs of variables.
method(indicator) specifies MCA via a CA on the indicator matrix formed from the variables.
method(joint) specifies JCA, a categorical variables analogue to factor analysis (see [MV] factor).
This method analyzes a variant of the Burt matrix, in which the diagonal blocks are iteratively
adjusted for the poor diagonal fit of MCA.
mca — Multiple and joint correspondence analysis 3
dimensions(#) specifies the number of dimensions (= factors = axes) to be extracted. The default
is dimensions(2). If you specify dimensions(1), the categories are placed on one dimension.
The number of dimensions is no larger than the number of categories in the active variables (regular
and crossed) minus the number of active variables, and it can be less. This excludes supplementary
variables. Specifying a larger number than dimensions available results in extracting all dimensions.
MCA is a hierarchical method so that extracting more dimensions does not affect the coordinates
and decomposition of inertia of dimensions already included. The percentages of inertia accounting
for the dimensions are in decreasing order as indicated by the singular values. The first dimension
accounts for the most inertia, followed by the second dimension, and then the third dimension,
etc.
normalize(normalization) specifies the normalization method, that is, how the row and column
coordinates are obtained from the singular vectors and singular values of the matrix of standardized
residuals.
normalize(standard) specifies that coordinates are returned in standard normalization (singular
values divided by the square root of the mass). This is the default.
normalize(principal) specifies that coordinates are returned in principal normalization. Prin-
cipal coordinates are standard coordinates multiplied by the square root of the corresponding
principal inertia.
iterate(#) is a technical and rarely used option specifying the maximum number of iterations.
iterate() is permitted only with method(joint). The default is iterate(250).
tolerance(#) is a technical and rarely used option specifying the tolerance for subsequent modification
of the diagonal blocks of the Burt matrix. tolerance() is permitted only with method(joint).
The default is tolerance(1e-5).
missing treats missing values as ordinary values to be included in the analysis. Observations with
missing values are omitted from the analysis by default.
noadjust suppresses principal inertia adjustment and is allowed with method(burt) only. By default,
the principal inertias (eigenvalues of the Burt matrix) are adjusted. The unmodified principal inertias
present a pessimistic measure of fit because MCA fits the diagonal of P poorly (see Greenacre
[1984]).
Codes
report(opt) displays coding information for the crossing variables, crossed variables, or both.
report() is ignored if you do not specify at least one crossed variable.
report(variables) displays the coding schemes of the crossing variables, that is, the variables
used to define the crossed variables.
report(crossed) displays a table explaining the value labels of the crossed variables.
report(all) displays the codings of the crossing and crossed variables.
length(opt) specifies the coding length of crossing variables.
length(min) specifies that the minimal-length unique codes of crossing variables be used.
length(#) specifies that the coding length # of crossing variables be used, where # must be
between 4 and 32.
4 mca — Multiple and joint correspondence analysis
Reporting
ddimensions(#) specifies the number of singular values to be displayed. If ddimensions() is
greater than the number of singular values, all the singular values will be displayed. The default
is ddimensions(.), meaning all singular values.
points(varlist) indicates the variables to be included in the tables. By default, tables are displayed
for all variables. Regular categorical variables, crossed variables, and supplementary variables may
be specified in points().
compact specifies that point statistics tables be displayed multiplied by 1,000, enabling the display
of more columns without wrapping output. The compact tables can be displayed without wrapping
for models with two dimensions at line size 79 and with three dimensions at line size 99.
log displays an iteration log. This option is permitted with method(joint) only.
plot displays a plot of the row and column coordinates in two dimensions. Use mcaplot directly to
select different plotting points or for other graph refinements; see [MV] mca postestimation plots.
maxlength(#) specifies the maximum number of characters for labels in plots. The default is
maxlength(12). # must be less than 32.
Note: the reporting options may be specified during estimation or replay.
Introduction
Multiple correspondence analysis (MCA) and joint correspondence analysis (JCA) are methods for
analyzing observations on categorical variables. MCA is usually viewed as an extension of simple
correspondence analysis (CA) to more than two variables. CA analyzes a two-way contingency table;
MCA and JCA analyze a multiway table.
MCA can be viewed as a generalization of principal component analysis where the variables to be
analyzed are categorical, not continuous. MCA performs a CA on a Burt or indicator matrix; it explores
the relationships within a set of variables, whereas CA has more focus on exploring relationships
between two sets of variables. JCA is an extension of MCA that attempts to remedy discrepancies
between CA and MCA.
For an introduction to MCA via CA, see Rencher and Christensen (2012) or Everitt and Dunn (2001).
For an advanced introduction to MCA without previous discussion of CA, see Gower and Hand (1996).
Greenacre (2006) approaches MCA from CA, then JCA from MCA, and gives a more advanced treatment.
[MV] ca also introduces MCA concepts. Gower (1990) explores MCA history.
Three methods are implemented here. We will start with the simplest and most intuitive represen-
tation of unordered categorical data: the indicator matrix, usually denoted Z, a matrix of zeros and
ones with columns for all categories of all variables and rows corresponding to observations. A value
of one indicates that a category is observed; a zero indicates that it is not. MCA can be performed as
a CA on the indicator matrix; an equivalent to this method is method(indicator) with mca.
mca — Multiple and joint correspondence analysis 5
obs w1 w2 x1 x2 y1 y2
1. 1 0 1 0 1 0
2. 0 1 1 0 1 0
3. 0 1 0 1 1 0
4. 1 0 0 1 0 1
5. 1 0 0 1 0 1
Z = 6. 1 0 1 0 0 1
7. 0 1 0 1 1 0
8. 1 0 0 1 1 0
9. 1 0 1 0 0 1
10. 1 0 1 0 1 0
For large datasets with many variables and observations, the indicator matrix is burdensome and
can exceed memory limitations. The Burt matrix, usually denoted as B, is a cross-tabulation of
all categories of all variables. B = Z0 Z. The Burt matrix is smaller than the indicator matrix Z.
Performing CA on the Burt matrix and performing CA on the indicator matrix are related but not
the same: they give equivalent standard coordinates, but the total principal inertias from the indicator
matrix approach and Burt matrix approach are different. Performing a CA of the Burt matrix without
further calculation is method(burt) along with the noadjust option.
The Burt matrix, B, corresponding to matrix Z, above:
w1 w2 x1 x2 y1 y2
w1 7 0 4 3 3 4
w2 0 3 1 2 3 0
x 4 1 5 0 3 2
B= 1
x2 3 2 0 5 3 2
y1 3 3 3 3 6 0
y2 4 0 2 2 0 4
Applying CA to the Burt matrix or indicator matrix artificially inflates the chi-squared distances
between profiles and the total inertia; see Gower (2006). This can be partially remedied after CA of
the Burt matrix by scale readjustments of the MCA solution. Performing adjustments after a CA of the
Burt matrix is the default, that is, if no method is specified method(burt) is assumed; unadjusted
estimates may be obtained by using the option noadjust.
The third method, JCA, generalizes CA more naturally to more than two categorical variables. JCA
attempts to account for the variation in the off-diagonal submatrices of the Burt matrix. It corrects
the inflation of the total inertia. The solution can no longer be obtained by one application of the
singular value decomposition (as in CA). JCA is obtained by specifying the option method(joint)
to mca.
Example 1
Here is a summary of these data.
. use http://www.stata-press.com/data/r13/issp93
(Selection from ISSP (1993))
. describe
Contains data from http://www.stata-press.com/data/r13/issp93.dta
obs: 871 Selection from ISSP (1993)
vars: 8 17 May 2013 09:36
size: 7,839 (_dta has notes)
Sorted by:
We begin by comparing MCA with two variables to CA with two variables. The default MCA analysis
is a CA of the Burt matrix, performed with adjustment to the principal inertias. The unadjusted results
from MCA will give different principal inertias from the CA, although the standard coordinates would
mca — Multiple and joint correspondence analysis 7
be the same. With adjustment, results are nearly identical. For a detailed discussion of the output of
ca and mca, see [MV] ca.
. mca A B
Multiple/Joint correspondence analysis Number of obs = 871
Total inertia = .2377535
Method: Burt/adjusted inertias Number of axes = 2
principal cumul
Dimension inertia percent percent
A
agree stro~y 0.068 1.000 0.100 1.017 0.502 0.071
agree 0.185 0.997 0.042 0.560 0.982 0.058
neither ag~e 0.117 0.930 0.062 0.248 0.083 0.007
disagree 0.102 0.922 0.123 -1.239 0.907 0.157
disagree s~y 0.028 0.954 0.174 -2.741 0.845 0.207
B
agree stro~y 0.041 0.982 0.146 1.571 0.490 0.101
agree 0.100 0.962 0.034 0.667 0.932 0.044
neither ag~e 0.118 0.840 0.043 0.606 0.716 0.043
disagree 0.161 0.769 0.043 -0.293 0.228 0.014
disagree s~y 0.080 0.994 0.235 -1.926 0.900 0.298
dimension_2
Categories coord sqcorr contrib
A
agree stro~y 1.718 0.498 0.202
agree 0.116 0.015 0.002
neither ag~e -1.344 0.847 0.212
disagree -0.268 0.015 0.007
disagree s~y 1.672 0.109 0.077
B
agree stro~y 2.671 0.493 0.291
agree -0.201 0.029 0.004
neither ag~e -0.427 0.124 0.022
disagree -0.764 0.541 0.094
disagree s~y 1.055 0.094 0.089
With ca we use the norm(standard) option to obtain results in the same normalization as the
preceding mca. [MV] ca discusses the normalize() option; mca has some of the normalize()
options of ca.
The top table in the output for both ca and mca reports the principal inertias. The principal inertias
reported by ca are simply the squares of the singular values. Two pieces of information reported by
ca that are not reported by mca are the chi-squared value in the table and the explained inertia in the
header. The chi-squared value is taken as a measure of dissimilarity between the row and column
8 mca — Multiple and joint correspondence analysis
profiles of the two-way table. Chi-squared distance makes sense for a two-way table but has less
justification when applied to the rows and columns of either the indicator matrix or the Burt matrix
(Greenacre 2006). The explained inertia is the value from the cumulative percent column in the top
table corresponding to the number of dimensions selected; it is simply not reported in the mca header.
The coordinates reported in the second table are the same. The mass, inertia, and contributions are
half as large in mca as they are in ca; in ca the row and column each sum to the principal inertia,
but in mca there are only columns, which sum to the principal inertia.
. ca A B, norm(standard)
Correspondence analysis Number of obs = 871
Pearson chi2(16) = 207.08
Prob > chi2 = 0.0000
Total inertia = 0.2378
5 active rows Number of dim. = 2
5 active columns Expl. inertia (%) = 95.60
singular principal cumul
Dimension value inertia chi2 percent percent
A
agree stro~y 0.137 1.000 0.200 1.017 0.502 0.141
agree 0.370 0.997 0.084 0.560 0.982 0.116
neither ag~e 0.234 0.930 0.123 0.248 0.083 0.014
disagree 0.204 0.922 0.245 -1.239 0.907 0.314
disagree s~y 0.055 0.954 0.348 -2.741 0.845 0.414
B
agree stro~y 0.082 0.982 0.291 1.571 0.490 0.201
agree 0.200 0.962 0.068 0.667 0.932 0.089
neither ag~e 0.235 0.840 0.086 0.606 0.716 0.087
disagree 0.323 0.769 0.086 -0.293 0.228 0.028
disagree s~y 0.161 0.994 0.470 -1.926 0.900 0.596
dimension_2
Categories coord sqcorr contrib
A
agree stro~y 1.718 0.498 0.403
agree 0.116 0.015 0.005
neither ag~e -1.344 0.847 0.423
disagree -0.268 0.015 0.015
disagree s~y 1.672 0.109 0.154
B
agree stro~y 2.671 0.493 0.582
agree -0.201 0.029 0.008
neither ag~e -0.427 0.124 0.043
disagree -0.764 0.541 0.188
disagree s~y 1.055 0.094 0.179
mca — Multiple and joint correspondence analysis 9
Example 2
We continue to use the ISSP (1993) dataset, looking at all four questions on attitudes toward
science. We use the default method of MCA, which is a CA of the Burt matrix for the data, followed
by simple scale adjustments. We choose the principal normalization normalize(principal), which
scales the coordinates by the principal inertias. MCA with the Burt matrix and adjustments explains
at least 79.1% of the total inertia in the first two dimensions.
. mca A-D, normalize(principal)
Multiple/Joint correspondence analysis Number of obs = 871
Total inertia = .1702455
Method: Burt/adjusted inertias Number of axes = 2
principal cumul
Dimension inertia percent percent
A
agree stro~y 0.034 0.963 0.060 0.508 0.860 0.115
agree 0.092 0.659 0.023 0.151 0.546 0.028
neither ag~e 0.059 0.929 0.037 -0.124 0.143 0.012
disagree 0.051 0.798 0.051 -0.322 0.612 0.069
disagree s~y 0.014 0.799 0.067 -0.552 0.369 0.055
B
agree stro~y 0.020 0.911 0.100 0.809 0.781 0.174
agree 0.050 0.631 0.027 0.177 0.346 0.021
neither ag~e 0.059 0.806 0.027 0.096 0.117 0.007
disagree 0.081 0.620 0.033 -0.197 0.555 0.041
disagree s~y 0.040 0.810 0.116 -0.374 0.285 0.074
C
agree stro~y 0.044 0.847 0.122 0.597 0.746 0.203
agree 0.091 0.545 0.024 0.068 0.101 0.006
neither ag~e 0.057 0.691 0.045 -0.171 0.218 0.022
disagree 0.044 0.788 0.054 -0.373 0.674 0.080
disagree s~y 0.015 0.852 0.071 -0.406 0.202 0.032
D
agree stro~y 0.017 0.782 0.039 0.333 0.285 0.025
agree 0.067 0.126 0.012 -0.061 0.126 0.003
neither ag~e 0.058 0.688 0.044 -0.106 0.087 0.009
disagree 0.065 0.174 0.014 -0.061 0.103 0.003
disagree s~y 0.043 0.869 0.034 0.196 0.288 0.022
10 mca — Multiple and joint correspondence analysis
dimension_2
Categories coord sqcorr contrib
A
agree stro~y 0.176 0.103 0.018
agree -0.069 0.113 0.007
neither ag~e -0.289 0.786 0.084
disagree 0.178 0.186 0.028
disagree s~y 0.596 0.430 0.084
B
agree stro~y 0.331 0.131 0.038
agree -0.161 0.285 0.022
neither ag~e -0.233 0.690 0.055
disagree -0.068 0.065 0.006
disagree s~y 0.509 0.526 0.179
C
agree stro~y 0.219 0.101 0.036
agree -0.143 0.444 0.032
neither ag~e -0.252 0.473 0.062
disagree 0.153 0.114 0.018
disagree s~y 0.728 0.650 0.136
D
agree stro~y 0.440 0.497 0.057
agree -0.002 0.000 0.000
neither ag~e -0.280 0.601 0.078
disagree -0.051 0.071 0.003
disagree s~y 0.278 0.581 0.057
disagree_str
.6
disagree_str
dimension 2 (34.2%)
disagree_str
agree_strong
.4
agree_strong
disagree_str
agree_strong
.2
disagree
disagree agree_strong
agree
0
disagreeagree
disagree
agree
agree
−.2
neither_agre
neither_agre
neither_agre
neither_agre
−.4
−1 −.5 0 .5 1
dimension 1 (44.9%)
A B
C D
coordinates in principal normalization
We displayed the origin axes in the plot with option origin. This plot makes it easier to see data
associations. For more information on mcaplot, see [MV] mca postestimation plots.
A clear pattern is seen in the plot. Results from questions A, B, and C are clustered together,
whereas question D forms a pattern of its own. Question D is formulated differently from A, B, and
C, and the plot shows its incompatibility with the others.
mca — Multiple and joint correspondence analysis 11
Greenacre (2006, 70) produces this same plot. To obtain equivalent results, we reflect over the y
axis with xnegate and adjust the scale of the graph with xlabel() and ylabel().
. mcaplot, overlay xnegate origin ylabel(-1(.5)1.5) xlabel(-1.5(.5)1)
1.5 1
dimension 2 (34.2%) disagree_str
.5 disagree_str
disagree_str
agree_strong
agree_strong disagree_str
agree_strong
agree_strong disagree
disagree
agree
0
agree disagree
disagree
agree
agree
neither_agre
neither_agre
neither_agre
neither_agre
−.5 −1
−1.5 −1 −.5 0 .5 1
dimension 1 (44.9%)
A B
C D
coordinates in principal normalization
Technical note
The percentage of inertia in the top table of the mca output does not add up to 100%, although all
singular values are displayed. Why? The percentages are lower-bound estimates in the Burt method
with adjustments.
Technical note
Readers who are familiar with the discussion of the normalize() option in [MV] ca might
be wondering why we are doing analysis of coordinates in the principal normalization. Principal
normalization in ca does not allow good associations between the row and column categories, and so
the symmetric normalization is the default used for ca. Principal normalization does allow studying
the row categories or column categories separately from each other in ca. In mca there are only
column categories. Consequently, the principal normalization is often preferred.
Example 3
We compare the previous result with that obtained using the method(indicator) option to
perform an equivalent analysis to CA on the indicator matrix for these data. The first two dimensions
explain only 22.2% of the total principal inertia.
12 mca — Multiple and joint correspondence analysis
Total 4 100.00
Statistics for column categories in standard normalization
overall dimension_1
Categories mass quality %inert coord sqcorr contrib
A
agree stro~y 0.034 0.280 0.054 1.837 0.244 0.078
agree 0.092 0.100 0.039 0.546 0.080 0.019
neither ag~e 0.059 0.218 0.048 -0.447 0.028 0.008
disagree 0.051 0.220 0.050 -1.166 0.160 0.047
disagree s~y 0.014 0.260 0.059 -1.995 0.106 0.037
B
agree stro~y 0.020 0.419 0.057 2.924 0.347 0.118
agree 0.050 0.095 0.050 0.642 0.047 0.014
neither ag~e 0.059 0.140 0.048 0.346 0.017 0.005
disagree 0.081 0.127 0.042 -0.714 0.111 0.028
disagree s~y 0.040 0.527 0.052 -1.354 0.161 0.050
C
agree stro~y 0.044 0.525 0.052 2.158 0.450 0.137
agree 0.091 0.102 0.040 0.247 0.016 0.004
neither ag~e 0.057 0.189 0.048 -0.619 0.051 0.015
disagree 0.044 0.216 0.051 -1.349 0.179 0.054
disagree s~y 0.015 0.312 0.059 -1.468 0.063 0.022
D
agree stro~y 0.017 0.155 0.058 1.204 0.049 0.017
agree 0.067 0.008 0.046 -0.221 0.008 0.002
neither ag~e 0.058 0.195 0.048 -0.385 0.020 0.006
disagree 0.065 0.015 0.046 -0.222 0.008 0.002
disagree s~y 0.043 0.168 0.052 0.708 0.048 0.015
mca — Multiple and joint correspondence analysis 13
dimension_2
Categories coord sqcorr contrib
A
agree stro~y 0.727 0.036 0.012
agree -0.284 0.020 0.005
neither ag~e -1.199 0.190 0.055
disagree 0.737 0.060 0.018
disagree s~y 2.470 0.153 0.055
B
agree stro~y 1.370 0.072 0.025
agree -0.667 0.048 0.015
neither ag~e -0.964 0.123 0.036
disagree -0.280 0.016 0.004
disagree s~y 2.108 0.367 0.117
C
agree stro~y 0.909 0.075 0.024
agree -0.592 0.086 0.021
neither ag~e -1.044 0.137 0.040
disagree 0.635 0.037 0.012
disagree s~y 3.017 0.249 0.089
D
agree stro~y 1.822 0.106 0.038
agree -0.007 0.000 0.000
neither ag~e -1.159 0.175 0.051
disagree -0.211 0.007 0.002
disagree s~y 1.152 0.120 0.038
disagree_str
3
dimension 2 (10.8%)
disagree_str
disagree_str
2
agree_strong
agree_strong
disagree_str
1
agree_strong
disagree
disagree agree_strong
agree
0
disagree
disagree agree
agree
agree
−1
neither_agre
neither_agre
neither_agre
neither_agre
−2
−2 −1 0 1 2 3
dimension 1 (11.4%)
A B
C D
coordinates in standard normalization
Even though the first two dimensions explain only 22.2% of the total inertia, and difficulties exist
in justifying the full chi-squared geometry for the CA of the indicator matrix, the same clear pattern
we saw in the previous plot is seen here. Variables A, B, and C are related, but variable D does not
belong with the rest.
14 mca — Multiple and joint correspondence analysis
Example 4
Now we will look at results with method(burt) and the noadjust option. This performs a CA
on the Burt matrix without adjusting the principal inertias. This model does slightly better than the
indicator matrix approach, explaining 35.0% of the principal inertia in the first two dimensions. We
display column points only for variable A to reduce the output.
. mca A-D, method(burt) noadjust points(A)
Multiple/Joint correspondence analysis Number of obs = 871
Total inertia = 1.127684
Method: Burt/unadjusted inertias Number of axes = 2
principal cumul
Dimension inertia percent percent
A
agree stro~y 0.034 0.445 0.055 1.837 0.391 0.115
agree 0.092 0.169 0.038 0.546 0.136 0.028
neither ag~e 0.059 0.344 0.047 -0.447 0.047 0.012
disagree 0.051 0.350 0.050 -1.166 0.258 0.069
disagree s~y 0.014 0.401 0.060 -1.995 0.170 0.055
dimension_2
Categories coord sqcorr contrib
A
agree stro~y 0.727 0.054 0.018
agree -0.284 0.033 0.007
neither ag~e -1.199 0.298 0.084
disagree 0.737 0.092 0.028
disagree s~y 2.470 0.231 0.084
We do not provide a plot for this mca example; it would be the same as the previous one. MCA
via the indicator matrix or the Burt matrix produces the same standard coordinates, although they
produce different principal inertias. If normalize(principal) is used, different coordinates will be
produced. Principal normalization relies on the principal inertias for normalization.
mca — Multiple and joint correspondence analysis 15
For more information on normalization, see either Methods and formulas in mca or the discussion
of normalization in [MV] ca.
Example 5
JCA attempts to remedy inflation of the total inertia by the block diagonal submatrices of the Burt
matrix and is implemented as method(joint). Results using JCA explain 90% of the principal inertia
in the first two dimensions. With JCA, we must specify the dimensions we want in advance. The
output contains principal inertias only for the first two dimensions (the default). For other methods,
principal inertias for all dimensions are displayed. More dimensions can be requested with the dim()
option. JCA is an iterative method, with repeated CAs and adjustments taking place until convergence
is achieved.
We ask for coordinates in the principal normalization, norm(principal), and ask for coordinates
of only variable A to be displayed.
. mca A-D, method(joint) norm(principal) points(A)
Multiple/Joint correspondence analysis Number of obs = 871
Total inertia = .1824248
Method: Joint (JCA) Number of axes = 2
principal cumul
Dimension inertia percent percent
A
agree stro~y 0.034 0.964 0.052 -0.458 0.759 0.072
agree 0.092 0.774 0.020 -0.169 0.733 0.027
neither ag~e 0.059 0.884 0.030 0.048 0.025 0.001
disagree 0.051 0.887 0.046 0.364 0.810 0.068
disagree s~y 0.014 0.899 0.060 0.711 0.636 0.070
dimension_2
Categories coord sqcorr contrib
A
agree stro~y -0.238 0.205 0.030
agree 0.040 0.042 0.002
neither ag~e 0.281 0.859 0.071
disagree -0.112 0.077 0.010
disagree s~y -0.458 0.264 0.044
16 mca — Multiple and joint correspondence analysis
.4
neither_agre
neither_agre
neither_agre
neither_agre
.2
agree agree
dimension 2 (35.6%)
disagree
agree disagree
agree
0
disagree
disagree
disagree_str
−.8
−1 −.5 0 .5 1
dimension 1 (54.3%)
A B
C D
coordinates in principal normalization
The plot shows the same relationships among the variables that we saw in the one after the indicator
matrix approach to MCA. The main difference between the plots is the change in scale, partially
because of the normalization and largely because of the change of method.
These same data are analyzed and plotted in Greenacre (2006, 66). To obtain an equivalent plot,
we perform a reflection on the data with ynegate, add in the origin axes with origin, and use the
same scale with options xlabel() and ylabel(),
. mcaplot, overlay ynegate origin ylabel(-1(.5)1.5) xlabel(-1.5(.5)1)
disagree_str
.5
agree_strong disagree_str
disagree_str
agree_strong
agree_strong
disagree_str
agree_strong
disagree
disagree
0
agree
agree disagree
disagree
agreeagree
neither_agre
neither_agre
neither_agre
neither_agre
−.5 −1
−1.5 −1 −.5 0 .5 1
dimension 1 (54.3%)
A B
C D
coordinates in principal normalization
Note the similarities between this plot and the one obtained through the default approach to MCA
via the Burt matrix and adjustments.
mca — Multiple and joint correspondence analysis 17
Stored results
mca stores the following in e():
Scalars
e(N) number of observations
e(f) number of dimensions
e(inertia) total inertia
e(ev unique) 1 if all eigenvalues are distinct, 0 otherwise
e(adjust) 1 if eigenvalues are adjusted, 0 otherwise (method(burt) only)
e(converged) 1 if successful convergence, 0 otherwise (method(joint) only)
e(iter) number of iterations (method(joint) only)
e(inertia od) proportion of off-diagonal inertia explained by extracted dimensions (method(joint) only)
Macros
e(cmd) mca
e(cmdline) command as typed
e(names) names of MCA variables (crossed or actual)
e(supp) names of supplementary variables
e(defs) per crossed variable: crossing variables separated by “\”
e(missing) missing if missing values are treated as ordinary values
e(crossed) 1 if there are crossed variables, 0 otherwise
e(wtype) weight type
e(wexp) weight expression
e(title) title in output
e(method) burt, indicator, or joint
e(norm) standard or principal
e(properties) nob noV eigen
e(estat cmd) program used to implement estat
e(predict) program used to implement predict
e(marginsnotok) predictions disallowed by margins
Matrices
e(Coding#) row vector with coding of variable #
e(A) standard coordinates for column categories
e(F) principal coordinates for column categories
e(cMass) column mass
e(cDist) distance column to centroid
e(cInertia) column inertia
e(cGS) general statistics of column categories
[.,1] column mass
[.,2] overall quality
[.,3] inertia/sum(inertia)
[.,3*f+1] dim f: coordinate in e(norm) normalization
[.,3*f+2] dim f: contribution of the profiles to principal axes
[.,3*f+3] dim f: contribution of principal axes to profiles
(= squared correlation of profile and axes)
e(rSCW) weight matrix for row standard coordinates
e(Ev) principal inertias/eigenvalues
e(inertia e) explained inertia (percent)
e(Bmod) modified Burt matrix of active variables (method(joint) only)
e(inertia sub) variable-by-variable inertias (method(joint) only)
Functions
e(sample) marks estimation sample
18 mca — Multiple and joint correspondence analysis
Notation
We use notation that is fairly standard in the literature on correspondence analysis (for example,
Greenacre [2006]). Let x1 , . . . , xq be categorical variables on N observations that are active in
the analysis. To simplify notation, but without loss of generality, we assume that xj is coded with
consecutive integers 1, . . . , nj . Let Z(j) be the N × nj binary indicator matrix associated with xj ,
(j)
Zih = 1 if and only if xij = h. Let
J X
X J
B++ = Bkh
k=1 h=1
P = B/B++
J
X
c= Pk∗ = P+∗ = P0 1 here ∗ represents all possible values
k=1
c is called the column mass. D(c)√is the diagonal matrix with diagonal c; D(c)−1/2 is therefore the
diagonal matrix with elements 1/ ct , where ct is an element of c. B and S are symmetric. Thus
the singular-value decomposition commonly associated with CA is equivalent to the spectral or eigen
decomposition of S.
S = VΦV0 , φ1 ≥ φ2 ≥ . . .
For identification purposes and to facilitate resampling methods, the eigenvectors of V are directed
so that for h, Vkh > 0 for the first k for which Vkh 6= 0. The standard column coordinates A are
the same for the indicator and the Burt approach and are defined as
A = D(c)−1 V
N (j) (j)
(j)
X (Zih − qch )2
Inh = wi (j)
i=1 q 2 ch w+
(j)
where Zih is the i, hth element of the indicator matrix for variable j , wi is the weight for observation
(j)
i, q is the number of active variables, ch is the column mass of variable j for category h, and w+
is the sum of the weights over the observations.
unadj
In the Burt approach to MCA, the unadjusted principal inertia is defined as λt = φ2t , the
P unadj 0
total unadjusted inertia as t λt , and the unadjusted column inertias as 1 S S, with the
adj
Hadamard or elementwise matrix product. The adjusted principal inertia, λt , is defined as
20 mca — Multiple and joint correspondence analysis
2 2
q 1
λadj
t = 2
φt − provided qφt > 1
q−1 q
The total inertia is defined as
X
q (J − q)
total inertia = φ2t −
q−1 q2
The standard coordinates are independent of the principal inertia; with or without adjustment, these
are defined as before
A = D(c)−1 V
The principal coordinates F are defined as
F = AD(Λ)1/2
where Λ is a vector of adjusted or unadjusted principal inertias and D(Λ)1/2 is the diagonal matrix
1/2
with elements λt on the diagonals.
JCA
The implementation of JCA uses the alternating least-squares method proposed by Greenacre (1988,
2006). This algorithm forms a modification of the Burt matrix, changing the diagonal blocks associated
with the variables, keeping the off-diagonal blocks unchanged. In the first iteration, B0 = B. In
iteration m, the blocks are replaced by the f -dimensional MCA approximation of the adjusted Burt
matrix Bm−1 . Iteration continues until the change in the elements of Bm and Bm−1 falls below a
convergence tolerance. The JCA coordinates and inertias are computed from the converged solution,
B∞ , analogous to the (adjusted) Burt method. The total inertia of the modified Burt matrix is defined
as the sum of the inertias of the off-diagonal blocks.
To compute the f -dimensional MCA approximation of the adjusted Burt matrix Bm−1 , we perform
MCA on Bm−1 and then reconstruct the approximation of the data from the solution
f
X
2
Bhk = B++ ch ck 1 +
b φt Aht Akt
t=1
where Aht is an element of the standard coordinate matrix A, ch and ck are the column masses, and
φt are the eigenvalues as in the computation of the CA of the Burt matrix. We then update the main
diagonal submatrices of Bm−1 with the corresponding entries of B b to obtain Bm .
Supplementary variables
The coordinates of supplementary variables are computed as weighted averages of the column
coordinates by using the so-called CA transition formulas. As outlined by Greenacre (2006), standard
coordinates may be used for averaging, with the profiles of the indicator representation of supplementary
columns as weights. Supplementary principal column coordinates are computed as weighted averages
of the standard active column coordinates, and then supplementary standard coordinates are computed
by division by the principal inertias.
mca — Multiple and joint correspondence analysis 21
To compute, we add the supplementary variables to the Burt matrix as more rows; if B is the
Burt matrix of the active variables then B∗ is the Burt matrix with the additional cross-tabulation
from the supplementary variables. Define P as above and P∗ analogously with the supplementary
variables added. MCA is performed on B as before, and information from this solution is then applied
to B∗ . Let p∗ represent the elements of P∗ . Let k index categories of supplementary variables, h
index categories of active variables, and t index dimensions of the solution. Let A be the standard
coordinates of the active variables, as computed previously. Then the principal coordinate for category
k and dimension s is computed as:
J
X p∗hk
gkt = Aht
p∗+k
h=1
Coordinates in standard coordinates are obtained by division by the square root of the corresponding
principal inertia as described above.
predict
predict after mca produces variables with the MCA coordinates as displayed by mca for both active
and supplementary variables. Formulas are shown above. predict can also compute row coordinates
also known as row scores. Row coordinates computed are always based on the indicator method. The
standard row coordinate for the tth dimension for the ith observation with indicator matrix elements
Zih is computed as
J
X Zih Aht
Rit = √
h=1
q φt
where A is the matrix of standard coordinates, q is the number of active variables in the analysis, and
φt is an eigenvalue of the CA on the Burt matrix. To get the row coordinate in principal normalization,
one multiplies by the square root of the corresponding principal inertia.
References
Everitt, B. S., and G. Dunn. 2001. Applied Multivariate Data Analysis. 2nd ed. London: Arnold.
Gower, J. C. 1990. Fisher’s optimal scores and multiple correspondence analysis. Biometrics 46: 947–961.
. 2006. Divided by a common language—analyzing and visualizing two-way arrays. In Multiple Correspondence
Analysis and Related Methods, ed. M. J. Greenacre and J. Blasius. Boca Raton, FL: Chapman & Hall/CRC.
Gower, J. C., and D. J. Hand. 1996. Biplots. London: Chapman & Hall.
Greenacre, M. J. 1984. Theory and Applications of Correspondence Analysis. London: Academic Press.
. 1988. Correspondence analysis of multivariate categorical data by weighted least-squares. Biometrika 75:
457–467.
. 2006. From simple to multiple correspondence analysis. In Multiple Correspondence Analysis and Related
Methods, ed. M. J. Greenacre and J. Blasius. Boca Raton, FL: Chapman & Hall.
Greenacre, M. J., and J. Blasius, ed. 1994. Correspondence Analysis in the Social Sciences. London: Academic Press.
. 2006. Multiple Correspondence Analysis and Related Methods. Boca Raton, FL: Chapman & Hall.
ISSP. 1993. International Social Survey Programme: Environment. http://www.issp.org.
Milan, L., and J. C. Whittaker. 1995. Application of the parametric bootstrap to models that incorporate a singular
value decomposition. Applied Statistics 44: 31–49.
Rencher, A. C., and W. F. Christensen. 2012. Methods of Multivariate Analysis. 3rd ed. Hoboken, NJ: Wiley.
22 mca — Multiple and joint correspondence analysis
Also see
[MV] mca postestimation — Postestimation tools for mca
[MV] mca postestimation plots — Postestimation plots for mca
[MV] ca — Simple correspondence analysis
[MV] canon — Canonical correlations
[MV] factor — Factor analysis
[MV] pca — Principal component analysis