How to reduce many survey questions to a few summary scores
Principal component analysis boils a long list of related questions or measures down to a few summary scores. This guide explains the idea in plain terms and shows how to run it and read the results in AnalyZ Solutions.
11 min read Scale & Reliability Intermediate
01What is principal component analysis?
Imagine you asked staff nine questions about their job. Many of the answers go together: people who say they have too much work also tend to say their deadlines are tight. Principal component analysis, or PCA, uses that overlap. Instead of working with nine separate answers, it builds a few summary scores that capture most of what the nine answers say. Each summary score is called a component.
The first component captures the biggest pattern in the answers. The second captures the next biggest pattern that is separate from the first, and so on. Usually the first few components hold most of the information, so you can describe the data with far fewer numbers.
The short version. Select three or more numeric variables, leave Standardise variables ticked, enter how many components to extract (3 is a fine start), and click run. Check that KMO is at least 0.60, look at how much variance the components explain, and use the loadings table to see which questions go with which component.
An example
You survey 320 staff members about their working conditions. There are nine statements, each rated from 1 (strongly disagree) to 5 (strongly agree). Four are about workload: too much work, tight deadlines, unpaid overtime and feeling stressed. Four are about support from management: the manager listens, feedback is useful, I feel recognised, and I trust the leadership. The ninth says that pay is fair. You want to know whether nine items can be summarised by two or three scores, which items travel together, and whether any item adds little. PCA answers all three.
What you get out of it
Components The summary scores, from the one that holds the most information to the one that holds the least.
Variance explained How much of the information in your variables each component holds, and how much the ones you keep hold together.
Loadings How closely each question is tied to each component. A higher number means a closer tie.
Communalities How well the kept components represent each question. A low value means the question is left out of the picture.
PCA summarises the data you have. It does not assume that hidden traits caused the answers. If your question is about underlying constructs, such as whether a questionnaire measures two separate ideas, exploratory factor analysis is the better fit.
02When to use it
Use PCA when you have several numeric variables that are correlated and you want to simplify them. Common reasons are to describe the main patterns in a set of questionnaire items, to see which items overlap before building a scale, or to replace many overlapping variables with a few summaries for a later analysis such as linear regression. The variables can be continuous, or ratings such as 1 to 5 that you are willing to treat as numbers. Categories without an order, like district or occupation, do not belong in PCA. The module needs at least three variables.
PCA
Describe and reduce
Works with all the variation in each variable. Gives components that are exact mixes of the variables. Does not rotate in this module.
EFA
Explain and name
Works with the variation the variables share. Assumes hidden factors, and is normally rotated to make the groups of items easier to read.
PCA will not help when the variables are barely correlated, because there is then nothing to condense. The KMO value, described below, checks this. To test whether the items of a scale are consistent, use Cronbach's alpha. To look at the relationship between just two variables, use correlation.
03Components, eigenvalues and loadings
Components
Picture each respondent as a point in a space with one axis per variable. The cloud of points is longer in some directions than in others. The first component is the line through the cloud along its longest direction. The second is the longest direction at right angles to the first, and so on. Each respondent gets a position along each of these new lines.
Eigenvalues
When the variables are standardised, each one has a variance of 1, so the total variance equals the number of variables. The eigenvalue of a component says how much of that total it carries, in units of one variable. An eigenvalue of 3 means the component carries as much variation as three of the original variables together. An eigenvalue below 1 means the component carries less than a single original variable, which is a poor return for a summary.
Loadings
A loading is the link between a variable and a component. When the variables are standardised, it is the correlation between the two, so it runs from -1 to 1. Squaring a loading gives the share of that variable's variation that the component explains. The sign tells you the direction, and variables with the same sign on a component move together.
Communality
The communality of a variable is the sum of its squared loadings across the retained components. It is the share of the variable's variation that the retained components capture. What is left over, 1 minus the communality, is lost when you drop the other components.
04How PCA is calculated
Standardise Each variable is rescaled to a mean of 0 and a standard deviation of 1, so that no variable dominates because it has a larger range. The module does this by default with Standardise variables. Without it, the calculation uses covariances, and a variable with a larger spread has more influence.
Build the correlation matrix Work out the correlation between every pair of variables.
Find the eigenvalues and eigenvectors A standard matrix calculation splits the matrix into components. The eigenvalues are sorted from largest to smallest.
Scale the eigenvectors Multiply each eigenvector by the square root of its eigenvalue to get the loadings.
Add up Square and sum the loadings for communalities, and divide each eigenvalue by the total to get the percentage of variance.
loading = eigenvector value × square root of the eigenvalue % variance explained = eigenvalue / total variance × 100 communality = sum of squared loadings over the retained components
In the staff survey there are nine standardised variables, so the total variance is 9. The first eigenvalue is 2.988, which gives 2.988 / 9 = 33.2% of the variance. The variable Tight deadlines has loadings of 0.683 and -0.415 on the first two components, so its communality is 0.683² + 0.415² = 0.639.
Checking that PCA makes sense: KMO
The Kaiser-Meyer-Olkin measure, or KMO, compares the ordinary correlations between variables with their partial correlations, which are the correlations left once the other variables are taken into account. If variables share a lot, the ordinary correlations are large and the partial ones are small, and KMO is close to 1. If the partial correlations are as large as the ordinary ones, there is little shared pattern to summarise.
KMO = sum of squared correlations / ( sum of squared correlations + sum of squared partial correlations )
All pairs of different variables are included. The module labels the result as follows, and the help text suggests that 0.60 is the lowest value to accept.
Sampling adequacy labels used for KMO
KMO
Label in the module
0.90 or more
Marvellous
0.80 to 0.89
Meritorious
0.70 to 0.79
Middling
0.60 to 0.69
Mediocre
0.50 to 0.59
Miserable
Below 0.50
Unacceptable
Choosing how many components to keep
There is no single correct answer. Three guides are in common use, and they are best used together.
Kaiser rule. Keep components with an eigenvalue of 1 or more. The module marks these in the variance table. The rule tends to keep too many components when there are many variables.
Scree plot. Plot the eigenvalues in order and look for the bend, or elbow, where the line stops dropping steeply. Keep the components before the bend.
Variance explained. Many analysts like the retained components to carry 60% to 70% of the variance. The module calls 70% or more strong and 50% or more moderate.
Interpretability counts as well. A component you cannot describe in words is a weak summary, even if it passes the other tests. In the module you type in the number of components to extract, and it tells you how many the Kaiser rule would keep if that differs from your choice.
05Reading the output
At the top of the results you see the number of components extracted, the percentage of variance they explain together, and the KMO value with its label. Three tabs follow.
Variance explained
A table lists every component with its eigenvalue, percentage of variance, cumulative percentage and a mark where the Kaiser rule says to keep it. Under it is a scree plot. Retained components are drawn in green, the others in grey, and a dashed line marks an eigenvalue of 1.
Component loadings
A heatmap shows the loading of each variable on each component, shaded by size: strong at 0.60 or more, moderate at 0.40 or more, weak at 0.30 or more, and grey below that. Two display options decide which variables count as belonging to a component.
Dominant factor places each variable under the one component where its loading is largest, provided that loading reaches the minimum.
By threshold places a variable under every component where its loading reaches the minimum, so one variable can appear more than once.
The minimum loading is 0.35 to start with and can be changed between 0.20 and 0.80. These settings also decide how the variables are grouped in the table that you can send to a Data Canvas story.
Loading sizes
Absolute loading
How the module describes it
0.60 or more
Strong
0.40 to 0.59
Moderate
0.30 to 0.39
Weak
Below 0.30
Negligible
Communalities
Each variable's communality is listed. Values below 0.40 are highlighted and named under the table, because a variable with a low communality is not well represented by the retained components.
The interpretation text
The module writes a summary that states how suitable the data are, how many components were extracted and how much variance they keep, which variables define each component, and which variables have low communality.
The components are not rotated. In an unrotated solution the first component usually gets sizeable loadings from most variables, and the later ones set groups of variables against each other. That makes it hard to read PCA loadings as clean groups of items. If your goal is to find the groups, run an exploratory factor analysis with rotation. Also note that the sign of a whole component is arbitrary. What matters is which variables share a sign and which have opposite signs.
06How to run it in AnalyZ Solutions
Open Scale & Reliability, then choose Principal Component Analysis.
Select the variables Choose three or more numeric variables, including rating items. Leave out identifiers and variables that are not meant to be summarised.
Set the number of components The starting value is 3, and it cannot be larger than the number of variables. Because the number is chosen before the run, run PCA once with a generous number, read the eigenvalues and the scree plot, then run it again with the number you settle on.
Keep Standardise variables ticked It is recommended, and necessary when the variables are on different scales.
Apply a subsample filter if needed Use it to run the analysis for one group only.
Click Run PCA You get the summary figures, the three tabs and the written interpretation. Export the tables as CSV, Excel or Word, or add the result to AnalyZense or to a Data Canvas story.
People with a missing value on any selected variable are left out, and the number of cases used is shown above the results. When you change the number of components, the loadings on the first components stay the same. Communalities and the cumulative variance change, because they depend on how many components are kept.
The module does not save component scores. It reports loadings, variance and communalities. If you need a score for each person, a practical option is the mean of the items that belong to a component, after you have checked them with Cronbach's alpha.
07Interpreting the result
The figures below are invented to show the steps, and they follow the results tables in AnalyZ Solutions, with some rows left out to save space. They come from the staff survey described earlier: 320 people, nine items rated from 1 to 5, two components extracted with standardised variables.
Variance explained (first four of nine rows)
Component
Eigenvalue
% Variance
Cumulative %
Retain (Kaiser)
1
2.988
33.20
33.20
Yes
2
2.110
23.44
56.64
Yes
3
0.832
9.25
65.89
4
0.655
7.28
73.17
Figure 1. Scree plot for the staff survey. Two eigenvalues are above 1 and the line flattens after the second
Component loadings and communalities
Variable
PC1
PC2
Communality
Too much work
0.666
-0.443
0.639
Tight deadlines
0.683
-0.415
0.639
Unpaid overtime
0.593
-0.526
0.628
Feel stressed
0.662
-0.405
0.602
Manager listens
0.498
0.629
0.644
Useful feedback
0.500
0.604
0.614
Feel recognised
0.540
0.516
0.557
Trust leadership
0.505
0.524
0.530
Pay is fair
0.493
-0.001
0.243
Figure 2. Loadings of the nine items on the first two components
Reading it step by step
Check the suitability KMO is 0.807, labelled meritorious. The items share enough for PCA to be worthwhile.
Decide on the number of components Two eigenvalues are above 1 (2.99 and 2.11), the third is 0.83, and the scree plot bends after the second. Two components carry 56.6% of the variance, which the module calls moderate. The Kaiser count matches the number extracted, so no warning appears.
Read component 1 All nine items have positive loadings, from 0.49 to 0.68. This is the usual pattern for a first component. It captures what the items have in common, which here is partly a general tendency to agree with the statements. It does not separate the two topics.
Read component 2 The workload items have negative loadings (-0.53 to -0.41) and the support items have positive ones (0.52 to 0.63). The pay item is close to zero. Component 2 therefore contrasts workload with support, and this is where the two topics show up.
Look at the communalities Eight items are between 0.53 and 0.64. Pay is fair has 0.243, below 0.40, and is highlighted. It has a moderate loading on component 1 and none on component 2, so the two components capture little of what is specific to that item.
Treat the grouping with care In the Dominant factor view with a minimum of 0.35, Feel recognised goes under component 1 (0.54 against 0.52) and Trust leadership under component 2 (0.52 against 0.51), although both are support items. The gaps are only 0.02 and 0.02. When an item sits this close to the dividing line, an unrotated solution cannot place it reliably. A factor analysis with rotation would.
In plain words
Two components summarise the nine staff survey items, carrying 57% of their variation. The first reflects what all the items share. The second separates the workload items from the support items. Pay is fair is poorly captured by either. Because the components are unrotated, exploratory factor analysis is the better step for deciding which items belong together.
08Common mistakes
Treating components as proven constructs. PCA describes patterns in the data. It does not show that hidden traits exist.
Keeping components by the Kaiser rule alone. Look at the scree plot and the meaning of each component too.
Skipping standardisation. Without it, a variable measured on a wide scale can dominate the first component for no substantive reason.
Reading the sign of a component literally. The sign of a whole component can flip without changing anything of substance. Compare signs across variables within a component.
Including variables that do not belong. A variable with a low communality and weak loadings adds noise. Check KMO and the communalities, then consider removing it.
Too few cases. A common guide is at least five respondents per variable, and more is better. With few cases the components are unstable.
Using unordered categories. Codes for district or occupation are labels, not quantities, and should not be entered.
Frequently Asked Questions
What is the difference between PCA and factor analysis?
PCA works with all the variation in the variables and describes it with fewer components. Factor analysis works with the variation the variables share and assumes it comes from hidden factors. PCA is for reducing data. Factor analysis is for finding and naming the dimensions behind the items.
How many components should I keep?
Combine the guides. Check how many eigenvalues are above 1, where the scree plot bends, how much variance the components carry, and whether you can describe each component in words. When they disagree, favour the solution you can interpret.
What is a good KMO?
The module treats 0.80 and above as good and 0.70 as acceptable. The help text suggests 0.60 as the lowest acceptable value for PCA. A low value means the variables share little, so condensing them does not make much sense.
Should I standardise the variables?
Yes, unless all variables are on the same scale and you want larger spreads to count for more. Standardising is the default and is recommended.
Why do all the loadings on my first component have the same sign?
That is normal. The first component of an unrotated solution picks up what all the variables have in common, and positively correlated variables load in the same direction. The later components usually show the contrasts.
Is 56% of the variance enough?
It is moderate by the module's wording. There is no fixed threshold. What matters is whether the retained components give you a useful and honest summary for your purpose.
Can I use rating items?
Yes. Items rated 1 to 5 are commonly entered as numbers. If most answers sit in one or two categories, the correlations can be distorted, so look at the distributions first.
Summarise a set of related variables
Open Scale & Reliability in AnalyZ Solutions. Free to sign up, free to analyze.