Creates OLS coefficient matrix (calculates Y within - for OLS fitting)

        Returns
        ----------
        The coefficient matrix B

def _create_B_direct(self):
        """ Creates OLS coefficient matrix (calculates Y within - for OLS fitting)

        Returns
        ----------
        The coefficient matrix B
        """         

        Y = np.array([reg[self.lags:reg.shape[0]] for reg in self.data])        
        Z = self._create_Z(Y)
        return np.dot(np.dot(Y,np.transpose(Z)),np.linalg.inv(np.dot(Z,np.transpose(Z))))