From 6cd95662a9f96438159b6b5245096f0e4d04c44a Mon Sep 17 00:00:00 2001 From: zhang Date: Sun, 23 Feb 2020 13:47:52 +0800 Subject: =?UTF-8?q?=E6=9C=80=E5=B0=8F=E4=BA=8C=E4=B9=98=E8=A7=A3=E6=9E=90?= =?UTF-8?q?=E8=A7=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- regression/least_square_fit.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 regression/least_square_fit.py (limited to 'regression/least_square_fit.py') diff --git a/regression/least_square_fit.py b/regression/least_square_fit.py new file mode 100644 index 0000000..71900b9 --- /dev/null +++ b/regression/least_square_fit.py @@ -0,0 +1,14 @@ +import numpy as np +from numpy.linalg import inv + +x = np.array([1, 2, 3, 4, 5]).reshape((-1, 1)) +y = np.array([2, 4, 5, 4, 5]).reshape((-1, 1)) + + +x_aug = np.hstack([np.ones_like(x), x]) + +# (X^TX)^(-1)*X^T*y +# y = 2.2 + 0.6*x +beta = inv(x_aug.transpose().dot(x_aug)).dot(x_aug.transpose()).dot(y) + +print(beta) -- cgit v1.2.3