跳到主要内容

线性最小二乘

一、直观理解:找一条“总体最贴数据”的线性关系​

线性最小二乘(Linear Least Squares,LLS)在一组线性参数模型中,寻找使残差平方和最小的参数。最常见形式是直线 y=a+bxy=a+bx:它不必穿过每个点,而是让点到直线的竖直残差平方和最小。

“线性”指参数线性,不一定指曲线是直线。例如

y=β0+β1sin⁡x+β2ln⁡(1+x)y=\beta_0+\beta_1\sin x+\beta_2\ln(1+x)

对 β\beta 仍是线性模型,可用同一套最小二乘求解。

二、适用场景与优缺点​

类型说明
适用场景参数与模型呈线性关系;噪声近似零均值、方差有限;需要可解释的系数与区间;作为非线性问题的基线。
核心优点有闭式解;计算快;理论成熟(BLUE、几何投影解释);易做诊断与推断。
局限与缺点模型形式设错会产生偏差;共线时不稳定;对异常值敏感(平方损失);不能直接处理参数非线性模型。

三、核心原理:法方程与投影​

模型

y=Xβ+ε\mathbf{y}=X\boldsymbol\beta+\boldsymbol\varepsilon

其中 XX 为 n×pn\times p 设计矩阵。目标

min⁡β∥y−Xβ∥22\min_{\boldsymbol\beta}\|\mathbf{y}-X\boldsymbol\beta\|_2^2

若 XX 列满秩,法方程为

XTXβ^=XTyX^\mathsf{T}X\hat{\boldsymbol\beta}=X^\mathsf{T}\mathbf{y}

几何上,y^=Xβ^\hat{\mathbf{y}}=X\hat{\boldsymbol\beta} 是 y\mathbf{y} 到 XX 列空间的正交投影。

数值上更推荐 QR 分解求解,而不是显式形成 XTXX^\mathsf{T}X(更病态)。

关键统计量​

  • 残差 ei=yi−y^ie_i=y_i-\hat y_i;
  • RMSE=1n−p∑ei2\mathrm{RMSE}=\sqrt{\frac{1}{n-p}\sum e_i^2};
  • R2=1−∑ei2∑(yi−yˉ)2R^2=1-\frac{\sum e_i^2}{\sum(y_i-\bar y)^2};
  • 系数标准误与 tt 检验(在正态误差假设下)。

四、建模决策清单​

  1. 选择回归元(是否含截距、非线性基、交互项);
  2. 检查量纲与共线性;
  3. 用 QR/\ 求解而非手写求逆;
  4. 残差图检查非线性、异方差、异常点;
  5. 需要预测区间时明确假设。

五、MATLAB 示例​

%% 直线拟合:y = a + b x
rng(0);
x = (0:0.5:10)';
y = 2 + 1.5*x + 0.8*randn(size(x));

X = [ones(size(x)), x];
beta = X \ y; % QR 法最小二乘
yhat = X * beta;
e = y - yhat;
RMSE = sqrt(mean(e.^2));
R2 = 1 - sum(e.^2) / sum((y - mean(y)).^2);

fprintf("a = %.4f, b = %.4f\n", beta(1), beta(2));
fprintf("RMSE = %.4f, R^2 = %.4f\n", RMSE, R2);

figure;
scatter(x, y, 40, "filled"); hold on;
plot(x, yhat, "r-", "LineWidth", 1.5);
xlabel("x"); ylabel("y");
title("线性最小二乘拟合");
legend("数据", "拟合直线", "Location", "best");
grid on;

%% 参数线性但曲线非线性:多项式基(二次)
X2 = [ones(size(x)), x, x.^2];
beta2 = X2 \ y;

多元例子与病态对比:

%% 设计矩阵近共线时的不稳定
rng(3);
n = 50;
x1 = randn(n,1);
x2 = x1 + 1e-3*randn(n,1); % 几乎共线
y = 1 + 2*x1 - 1*x2 + 0.1*randn(n,1);
X = [ones(n,1), x1, x2];
beta = X \ y;
fprintf("估计系数:\n"); disp(beta');
fprintf("条件数 cond(X) = %.3e\n", cond(X));

六、如何解释结果​

应报告:

  1. 模型公式与变量含义;
  2. 系数估计值、标准误或置信区间(如做推断);
  3. RMSE、R2R^2 或验证集误差;
  4. 残差诊断结论;
  5. 系数实际意义(在控制其他变量时,xx 增加 1 单位,yy 平均变化多少);
  6. 是否存在共线、异常点、外推风险。

七、常见误区​

1. 高 R2R^2 等于模型正确​

遗漏变量、伪相关、非线性被忽略时 R2R^2 也可能高。

2. 把相关当因果​

最小二乘是相关结构下的最优线性逼近,不自动识别因果。

3. 对 XTXX^\mathsf{T}X 直接求逆​

数值不稳;应用 \、mldivide 或 QR。

4. 忽略异常值​

单个离群点可撬动整条直线,必要时用稳健回归对照。

附:建模流程中的落地清单(线性最小二乘)​

要把方法真正写进论文,建议补齐以下模块,而不是只贴一个最终数字。

1. 问题对齐与假设​

说明题目中的输入/输出如何映射到本方法,并显式列出关键假设。假设越清楚,后面的敏感性分析越有对象。

2. 关键关系​

min⁡∥y−Xβ∥22\min\|y-X\beta\|_2^2,满秩时 β^=(X⊤X)−1X⊤y\hat\beta=(X^\top X)^{-1}X^\top y,数值上用 QR/\。

3. 补充实现片段​

x=(1:20)'; y=3+0.5*x+randn(size(x)); b=[ones(size(x)) x]\y; fprintf('a=%.3f b=%.3f\n',b);

4. 报告要素​

模型形式、系数、RMSE/R2R^2、残差诊断、共线检查。

5. 不适用情形​

高 R2R^2 当因果;inv(X'*X)*X'*y 求逆硬算。

6. 与验证章节的衔接​

至少做一项:参数扰动、与基线方法对照、极限情形检查。把“方法正文”和“全局方法论(第15门类)”连起来,结论才站得住。

八、小结​

线性最小二乘通过正交投影在参数线性模型中给出最优平方逼近,是拟合问题的基石。写清模型、用稳定算法求解、做残差诊断,比盲目追求更高阶项更重要。当参数非线性进入模型时,应转向非线性最小二乘。