我正在使用Numpy执行线性回归,并遇到了一个用于计算坡度的方程式问题。并拦截' b'对于模型。通过在线课程,老师的实施产生了正确的结果,但不容易理解。我无法理解这个实现。
计算坡度的公式' a'并拦截' b'。
等式的简化版本
现在用于使用numpy函数实现此等式的代码:
denominator = X.dot(X) - X.mean() * X.sum()
a = (X.dot(Y) - Y.mean() * X.sum()) / denominator
b = (Y.mean() * X.dot(X) - X.mean() * X.dot(Y)) / denominator
在此代码的第1行:X.dot(X)计算Sum Squared X但不计算平均值。其中等式表示X ^ 2的平均值。
为什么要将X.mean()* X.sum()乘以计算X的平方均值?
为什么只用X.dot(X)来计算平方X的平均值?
等式2状态平均值(xy)-mean(x)*平均值(y)/分母用于计算a。代码状态(x点y) - 均值(y)* sum(x)/分母?为什么?
谢谢