Linear regression predicts a continuous outcome from one or more predictor variables. Where correlation tells you that study hours and exam scores move together, regression goes further: it estimates how many points a student gains per extra hour of study, tests whether the model as a whole explains anything, and lets you compare the weight of several predictors at once. Here is the full SPSS procedure, including the dialog settings most tutorials skip, the three output tables you need to read, and the assumption checks a thesis committee will expect to see.

When to Use Linear Regression

Three conditions have to hold before regression is the right tool. First, your dependent variable must be continuous: exam score, systolic blood pressure, monthly income, reaction time. If the outcome is a yes/no category, you need logistic regression instead. Second, your predictors should be continuous or dummy-coded. A binary variable coded 0/1 (male/female, treatment/control) can enter directly; a variable with three or more categories must be split into 0/1 dummy variables first.

Third, and this is the one students skip, the choice of predictors should come from theory or prior literature, not from throwing every available column at the model. A regression with 12 predictors chosen because they happened to be in the dataset will produce coefficients nobody can defend in a viva. Pick your predictors before opening SPSS and be ready to cite a reason for each one.

Simple vs Multiple Regression

Simple regression uses one predictor. Multiple regression uses two or more. That is the entire distinction. The SPSS procedure is identical for both; you just move more variables into the Independent(s) box. The interpretation changes in one important way, though. In multiple regression, each coefficient describes the effect of that predictor while holding all the others constant, which is exactly what makes the method useful. It separates overlapping influences that a series of one-predictor analyses would confound.

The examples below use a multiple regression with 100 students: exam score as the dependent variable, with study hours and attendance percentage as predictors. Everything applies equally to a simple regression with one predictor.

Running the Analysis

With your data file open (one row per participant, one column per variable), work through these steps:

  1. Click Analyze → Regression → Linear.
  2. Move your dependent variable (exam_score) into the Dependent box.
  3. Move your predictors (study_hours, attendance) into the Independent(s) box.
  4. Leave Method set to Enter. This puts all predictors into the model at once, which is the standard approach for theory-driven models. Stepwise methods let the software pick predictors from the data and are hard to justify in academic work.
  5. Click Statistics. Check Estimates and Model fit (both on by default), plus Descriptives and Collinearity diagnostics. Collinearity diagnostics gives you the VIF values you need for the multicollinearity check. Click Continue.
  6. Click Plots. Move *ZRESID into the Y box and *ZPRED into the X box. This builds the residual plot used for the linearity and homoscedasticity checks. Also check Histogram and Normal probability plot. Click Continue.
  7. Click Save. Under Residuals, check Unstandardized. SPSS adds a new column (RES_1) to your data file, which you will use to test residual normality formally. Click Continue.
  8. Click OK.

The Output Viewer now contains several tables and charts. Three tables matter.

Reading the Output

Model Summary

Four numbers sit in this table. R is the multiple correlation between your predictors (combined) and the outcome; on its own it is rarely reported. R Square is the useful one: the proportion of variance in the outcome explained by the model. An R² of .23 means the predictors account for 23% of the differences in exam scores, leaving 77% to everything the model does not capture. Adjusted R Square corrects for the number of predictors, since R² can only go up when you add variables, even useless ones. With several predictors, report the adjusted value. Std. Error of the Estimate is the typical size of a prediction error in the outcome's own units; a value of 8.4 means predictions miss the actual exam score by about 8.4 points on average.

ANOVA Table

This is the significance test for the whole model. It asks whether the model with your predictors explains more variance than a model with no predictors at all. Read the F value and Sig. column: F(2, 97) = 14.56, p < .001 means the model as a whole predicts exam scores better than chance. The two df values come from the number of predictors (2) and n minus predictors minus 1 (100 − 2 − 1 = 97). If this test is not significant, stop. Individual coefficients from a non-significant model are not interpretable.

Coefficients Table

This is where the actual answers live, one row per predictor plus a Constant row.

In our example, study_hours has B = 1.82, β = .34, t = 3.71, p < .001, and attendance has B = 0.29, β = .22, t = 2.55, p = .012. Both predictors earn their place in the model. Our guide to interpreting regression output walks through a full annotated example of all three tables.

Checking Assumptions

Regression results are only trustworthy when four assumptions hold. You already requested everything you need in the dialog settings above.

Linearity. Open the scatterplot of *ZRESID against *ZPRED at the bottom of the output. The points should scatter randomly around the zero line with no visible shape. A curve or U-pattern means the relationship is not linear and the model is misspecified; consider transforming a predictor or adding a quadratic term.

Normality of residuals. Note that this assumption concerns the residuals, not the raw variables. You saved the unstandardized residuals as RES_1, so run Analyze → Descriptive Statistics → Explore on that column with Normality plots with tests checked, and read the Shapiro-Wilk result. Back it up visually with the histogram and P-P plot SPSS already produced; on the P-P plot, points should hug the diagonal. Our normality testing guide covers what to do when this check fails.

Homoscedasticity. Same *ZRESID vs *ZPRED plot, different question: is the vertical spread of the points roughly constant from left to right? A funnel shape, where residuals fan out as predicted values increase, violates the assumption and makes your standard errors unreliable.

No multicollinearity. Check the VIF column in the Coefficients table. Values below 5 are safe by the conservative standard; some texts tolerate up to 10. A VIF of 7 on two predictors usually means they measure nearly the same thing, and the model cannot separate their effects. The usual fix is to drop one or combine them into a single scale.

Interpreting the Coefficients

The unstandardized B answers the practical question. The template sentence is: for each 1-unit increase in X, Y changes by B units, holding the other predictors constant. So B = 1.82 for study hours reads as "each additional hour of weekly study predicts a 1.82-point higher exam score, at any given level of attendance." Use B whenever the units mean something to your reader, and always use B when writing the prediction equation.

The standardized Beta answers a different question: which predictor matters more? Because study hours are measured in hours and attendance in percentage points, their B values (1.82 and 0.29) cannot be compared directly. Their Betas can. With β = .34 for study hours against β = .22 for attendance, study hours is the stronger predictor in this sample. Do not read Beta as a practical quantity; a one standard deviation change is not something a reader can picture without knowing the SDs involved.

Reporting in APA Format

Report the overall model first, then the individual predictors:

A multiple regression model significantly predicted exam score, F(2, 97) = 14.56, p < .001, R² = .23. Study hours (β = .34, p < .001) and attendance (β = .22, p = .012) were both significant predictors.

Every value in that sentence comes straight from the output: F and its df from the ANOVA table, R² from the Model Summary, Beta and Sig. from the Coefficients table. Italicize F, p, and R², drop leading zeros from p-values and Betas, and report exact p-values at or above .001. For a thesis, add a coefficients table listing B, its standard error, Beta, t, and p for each predictor, since committees expect the unstandardized values alongside the sentence. If a predictor was not significant, say so in the text rather than quietly leaving it out.

Frequently Asked Questions

How many participants do I need for multiple regression?

A common working rule is at least 10 to 15 cases per predictor, so a model with 4 predictors needs roughly 60 participants as a floor. For a proper answer, run an a priori power analysis in G*Power: with 4 predictors, a medium effect (f² = .15), α = .05, and 80% power, you need 85 participants.

Can I use categorical predictors in linear regression?

Yes, but they must be dummy-coded first. A binary variable like sex coded 0/1 can enter directly. A categorical variable with k groups needs k − 1 dummy variables, each coded 0/1, with one group left out as the reference. Never enter a multi-category variable coded 1, 2, 3 as if it were continuous.

What is a good R² value?

It depends on the field. In psychology and education, models explaining 20 to 30 percent of variance are routinely published. In lab-based physiology, much higher values are expected. Judge R² against comparable studies in your area rather than against an absolute cutoff, and report adjusted R² when you have multiple predictors.

Key takeaway: Run linear regression through Analyze → Regression → Linear with Method set to Enter, requesting Collinearity diagnostics, the *ZRESID vs *ZPRED plot, and saved unstandardized residuals in the same dialog. Read model fit from the Model Summary (R²), overall significance from the ANOVA table (F test), and predictor effects from the Coefficients table (B, Beta, Sig., VIF). Check linearity and homoscedasticity on the residual plot, residual normality with Shapiro-Wilk, and multicollinearity with VIF below 5 before reporting: F(df1, df2), p, R², then β and p for each predictor.

SS
StudentStats.net Team

We have completed over 300 statistical analysis projects for students and researchers across Europe. We built Academic Stats Agent to make the same statistical methods accessible to everyone.