与えられたデータの最小二乗推定値を計算したいと思います。numpy最小二乗結果が直接式を使用していないのはなぜですか?
これを行うにはいくつかの方法があり、一つはnumpyのの最小二乗法を使用することである:
Xが行列とY互換寸法(タイプのfloat64)のベクトルであるimport numpy
np.linalg.lstsq(X,y)[0]
。第二の方法は、直接式を使用して結果を計算することである。
import numpy
numpy.linalg.inv(X.T.dot(X)).dot(X.T).dot(y)
私の問題:(差がないかもしれないが)異なる式が根本的に異なる結果を与える場合があります。 1つの数式を使用して係数が非常に大きくなり、もう一方の式がはるかにうまく動作することがあります。数式は同じですが、なぜ結果がそんなに大きく分かれるのですか?これは何らかの丸め誤差のタイプですか、どのように最小化するのですか?
あなたのXに傍受が追加されていますか? – gobrewers14