more summary stats in smooth_data()
it seems to be faster to direct calculate hat matrix