In [2]:
import pandas as pd
import numpy as np
from matplotlib import pyplot as plt
%matplotlib inline

In [49]:
Y = np.mat([1.2, 2.1, 1.0, 0.7, 0.0, -1.3, 1.9]).T
len(Y)


Out[49]:
7

In [50]:
X = np.hstack([
        np.ones((len(Y)- 3, 1)),
        Y[0:-3],
        Y[2:-1]
        ])
Y = Y[3:]

In [51]:
X


Out[51]:
matrix([[ 1. ,  1.2,  1. ],
        [ 1. ,  2.1,  0.7],
        [ 1. ,  1. ,  0. ],
        [ 1. ,  0.7, -1.3]])

In [52]:
Y


Out[52]:
matrix([[ 0.7],
        [ 0. ],
        [-1.3],
        [ 1.9]])

In [56]:
w = (X.T * X).I * X.T * Y

In [57]:
w


Out[57]:
matrix([[ 0.37014714],
        [ 0.01269755],
        [-0.61019074]])

In [59]:
w, e, r, s = np.linalg.lstsq(X, Y)

In [60]:
w


Out[60]:
matrix([[ 0.37014714],
        [ 0.01269755],
        [-0.61019074]])

In [ ]: