2
我正在使用Numpy執行線性迴歸,並且遇到了用於計算模型的斜率'm'和截距'b'的方程之一的問題。通過在線課程後,由老師完成的實施產生了正確的結果,但不容易理解。我無法理解這個實現。使用Numpy的線性迴歸
計算斜率'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)計算總和平方X但不是平均值。公式顯示X^2的平均值。
爲什麼要乘以X.mean()* X.sum()來計算X的平方均值?
爲什麼只用X.dot(X)來計算平方X的均值?方程2狀態均值(xy)-mean(x)*平均值(y)/分母用於計算a。代碼的狀態(x dot y) - mean(y)* sum(x)/分母在哪裏?爲什麼?
謝謝
使用方程的簡化版本嘗試在分子和分母中使用1/N這個術語。您將自己回答:) 請注意,X.mean()等同於X. sum()* 1/N –