我計算係數是這樣的:多元迴歸沒有得到相同的係數爲sklearn
def estimate_multivariate(data, target):
x = np.array(data)
y = np.array(target)
inv = np.linalg.inv(np.dot(x.T,x))
beta = np.dot(np.dot(inv, x.T), y)
return beta
,並得到這些結果:如果我創建sklearn.linear_model模型我得到這些
[[ 103.56793536] [ 63.93186848][-272.06215991][ 500.43324361] [ 327.45075839]]
然而結果:
[ 118.45775015 64.56441108 -256.2.43324362 327.45075841]
這隻發生在我使用
preprocessing.PolynomialFeatures(degree=2)
poly.fit_transform(x)
度大於1.當我使用原始數據時,兩種方法的係數都是相同的。有什麼可以解釋這一點?某處是否有截斷?