この質問は次のようになります。線形表面を最小二乗法で近似しますが、サンプルデータはありません。私はひどく遅いに違いないが、私はそれを動かすことができないようだ。
私は次のコードを持っています:
import numpy as np
XYZ = np.array([[0, 1, 0, 1],
[0, 0, 1, 1],
[1, 1, 1, 1]])
A = np.row_stack((np.ones(len(XYZ[0])), XYZ[0, :], XYZ[1:]))
coeffs = np.linalg.lstsq(A.T, XYZ[2, :])[0]
print coeffs
出力は次のとおりです。
[ 5.00000000e-01 5.55111512e-17 9.71445147e-17 5.00000000e-01]
z = a + bx + cy
つまり、3つの係数が必要ですが、出力では4つになります。ここでどこが間違っているのですか?私は係数が次のようなものになることを期待していました:
[ 1.0 0.0 0.0]
助けていただければ幸いです。