Open In Colab

最小二乗法

In [3]:
#ライブラリの読み込み
import numpy as np
import matplotlib.pyplot as plt

# 説明変数と目的変数を定義
X = np.array( [2.0, 3.0, 4.0] )
Y = np.array( [5.0, 6.0, 9.0] )

# 最小二乗法
A = np.array( [X, np.ones(len(X)) ] )
AT = A.T 
a,b = np.linalg.lstsq( AT, Y, rcond=None )[0]

# グラフの表示
plt.plot( X, Y, "ro")
plt.plot( X, ( a*X+b ), "g--")
plt.title( "a="+ str(a) + " ,  b=" + str(b) )
plt.show()