'Generalized cross-validation score of current fit.
Craven, P. and Wahba, G.  "Smoothing noisy data with spline functions.
Estimating the correct degree of smoothing by
the method of generalized cross-validation."
Numerische Mathematik, 31(4), 377-403.'

def gcv(self):

    norm_resid = (self.resid ** 2).sum()
    return (norm_resid / (self.df_total - self.trace()))
