import numpy as np x = np.array([[3, 400], [3, 330], [3, 369], [2, 232], [4, 540]]) y = np.array([2104, 1600, 2400, 1413, 3000]) a = 0.1 b0 = np.random.random() b1 = np.random.random() b2 = np.random.random() b = np.array([b1, b2]) td = 1e-4 td1 = 7 td2 = 7 td3 = 7 while td1 >= td or td2 >= td or td3 >= td: i = 1 b0 = b0+a*(y[:i]-(b0+b[:i]*x[:i]))*x[:i] b1 = b1+b0*x[0:i] b2 = b2+b0*x[1:i] i += 1 print(b0, b1, b2)
0.327373327678322 0.22439679809042462 0.6977113806209054