Creates design matrix of variables to use in GP regression
        
        Returns
        ----------
        The design matrix

def X(self):
        """ Creates design matrix of variables to use in GP regression
        
        Returns
        ----------
        The design matrix
        """     
        if self.ar == 1:
            return np.array([self.data_full[(self.max_lag-1):-1]])
        else:
            for i in range(0,self.ar):
                datapoint = self.data_full[(self.max_lag-i-1):-i-1]         
                if i == 0:
                    X = datapoint
                else:
                    X = np.vstack((X,datapoint))
        return X