Statistics

Multiple Linear Regression Calculator

Two predictors at once: the 3×3 normal equations solved by Gaussian elimination, adjusted R² beside raw R², the overall F, and each coefficient’s own t — with near-collinearity refused by name.

Multiple Linear Regression Calculator

Results recalculate instantly on every keystroke. Nothing you type is transmitted.

Two predictors + outcome
The fitted plane
—
R² and adjusted R²—
The overall test—
Coefficient by coefficient—
Why two predictors change the questions—

What this result does not account for

  • Exactly two predictors — k-general matrices are out of scope
  • No interaction terms or variable selection
● Zero-Server Execution Updated 11 Aug 2026 Reviewed by Sana Khalid IEEE-754 Double Precision

In short: For y = 52, 55, 58, 61, 66, 64, 70, 72 with x₁ = 1..8 and x₂ = 2, 1, 4, 3, 6, 5, 8, 7, the normal equations solve to ŷ = 49.2 + 2.2·x₁ + 0.7·x₂ — exact coefficients. The fit carries R² = 0.975393, adjusted R² = 0.965551, and overall F = 99.098837 on df 2 and 5, p = 9.50e-5. The coefficient cards split the credit: b₁ = 2.2 (SE 0.475132, t = 4.630296, p = 0.005682) is carrying signal, while b₂ = 0.7 (SE 0.475132, t = 1.473276, p = 0.20067) is indistinguishable from noise — the multiple-regression lesson a single-predictor page cannot teach.

Formula

XᵀXb = Xᵀy solved for b · R²ₐᵈᵏ = 1 − (1−R²)(n−1)/(n−k−1) · F = (SSR/k)/(SSE/(n−k−1))

The 3×3 system is solved by Gaussian elimination with partial pivoting; a near-singular pivot refuses the page rather than inventing coefficients.

Worked Example

  1. Paste x₁, x₂ and y — same count, 4 to 500 rows (n − 3 must be positive).
  2. Read the plane and both R² flavours.
  3. Read the overall F, then EACH coefficient’s t and p.
  4. A collinearity refusal means the predictors overlap — drop one or gather different data.

Defaults: ŷ = 49.2 + 2.2·x₁ + 0.7·x₂; R² = 0.975393, adjR² = 0.965551; F = 99.098837 on df 2 and 5, p = 9.50e-5; b₁ t = 4.630296 (p = 0.005682), b₂ t = 1.473276 (p = 0.20067).

Strengths & Limits Of This Model

Where this engine is strong

  • Near-collinearity refused instead of solved arbitrarily
  • Per-coefficient t tests beside the overall F

Where it stops

  • No standardized coefficients
  • No residual diagnostics beyond the orthogonality guarantee

Risk & accuracy notice. Multiple regression is where shopping happens: add predictors until something is significant. The adjusted R² and per-coefficient t tests here are exactly the guards — read them before promoting the model.

Practical Use Cases

Price models

size AND location together

Dose response

two inputs, one outcome, split credit

Coursework

the 3×3 solve shown, not conjured

Methodology & Editorial Standards

Computation runs in IEEE-754 double precision at full internal precision; rounding to two decimal places occurs strictly at the display layer, so no cumulative drift enters the result. All monetary outputs use accounting presentation — grouped thousands, two decimals, negatives in parentheses — so figures can be transcribed directly into a model or working paper. Division-by-zero and out-of-domain inputs return an em-dash rather than a misleading number.

This engine was reconciled against an independent reference implementation and hand-verified for the worked example above before release. Our full five-stage review process is published on the About Us page.

Sana Khalid Principal Front-End Engineer · ApexConverter

Statistical inference, experiment design and numerical stability. Last reviewed: 11 August 2026.

Disclaimer. This calculator is provided for informational and modelling purposes only and does not constitute financial, tax, legal, medical, or engineering advice. Verify all figures with a qualified professional before acting on them.


Multiple Linear Regression Calculator — 8 Expert FAQs

8 analyst-written answers to the questions practitioners actually ask — optimised for voice and answer-engine retrieval.

Why does adding x₂ change x₁’s slope?

Because each coefficient now holds the OTHER predictor fixed. In the default fit the simple-regression slope of y on x₁ is 2.833333; with x₂ in the model it reads 2.2 — the part of x₁’s effect that x₂ does not already explain. Coefficients in a multiple regression are conditional statements.

Why does adjusted R² exist beside R²?

Because raw R² can only rise when a predictor is added — even a column of noise nudges it up. Adjusted R² charges each predictor a degrees-of-freedom rent (0.975393 drops to 0.965551 here), which makes it the honest comparison across models of different sizes.

What does the overall F test that the coefficients’ t tests do not?

The F asks whether the predictors TOGETHER beat an empty model; each t asks whether ONE coefficient earns its seat given the other. Both matter: F = 99.098837 here says the plane beats the mean, while b₂’s p = 0.20067 says x₂ specifically may be dead weight.

What is collinearity and why refuse it?

When one predictor is (nearly) a multiple or blend of another, the normal equations lose their unique answer — infinitely many coefficient vectors fit equally well, and reporting any one of them is a fabrication with decimals. The page detects the near-singular pivot and refuses, rather than picking one arbitrary answer.

Can I read these p-values like the hypothesis-test page’s?

Same machinery, different object: each t tests ONE coefficient against zero on n − 3 degrees of freedom. The multiple-comparisons caution applies twice over — you are reading two tests (plus the F) from one fit, and the more predictors you shop, the more the 5% bar leaks.

Why do both slope coefficients share an SE here?

Because the default x₁ and x₂ are symmetric twins by design — a deliberately balanced demo. On real, lopsided data the standard errors separate, and the gap between them is itself diagnostic: a huge SE is the fingerprint of predictors shadowing each other.

How many rows does two-predictor regression need?

The arithmetic floor is n − 3 > 0, so 4 rows — and that is a floor, not advice: every row beyond the minimum buys the degrees of freedom the SEs and p-values spend. With n = 8 on the default, df = 5; with n = 6, the same fit would run on df = 3 and every t would wobble harder.

My predictors are on wildly different scales — do the coefficients compare?

Not directly: b₁ is per unit of x₁ and b₂ per unit of x₂, so a tiny coefficient on a large-scale predictor can matter more than a large one on a small scale. The t statistics are the scale-free comparison — standardized coefficients are out of scope here, stated as a boundary.

Related Statistics Engines