添加新点时如何避免重复线性回归过程

how to avoid repeating linear regression procedures when adding new points

我知道如何对一组 N 个样本进行回归。但是,我的项目是关于分别对前 2、3、4 ... k、k+1、... N 个样本进行线性回归。除了在添加新样本时重复相同的过程,有没有更快的方法可以使用以前的结果(或中间结果)来解决添加新点后的回归问题?谢谢你。

在线性最小二乘法中,近似线的系数使用以下公式计算:

a = (N * Sum(Xi*Yi) - Sum(Xi)*Sum(Yi)) / (n * Sum(Xi^2) - (Sum(Xi))^2)
b = (Sum(Yi) - a * Sum(Xi)) / N

因此您可以存储第 N 个和的值

Sum(Xi*Yi)
Sum(Xi)
Sum(Yi)
Sum(Xi^2)

并在第 (N+1) 步更新它们。

Sum(Xi)[N+1] = Sum(Xi)[N] + X(N+1)
Sum(Xi*Yi)[N+1] = Sum(Xi*Yi)[N] + X(N+1)*Y(N+1)

依此类推,并计算新的系数值。

注意:此类算法称为 'running' 或 'online' - 请参阅 analog for std deviation