#!/usr/bin/env python # -*- coding: utf-8 -*- import numpy # Polynomial Regression def reg_lin1(x, y, degree): results = {} m, c = numpy.polyfit(x, y, degree) # r-squared p = numpy.poly1d(m,c) # fit values, and mean yhat = [p(z) for z in x] ybar = sum(y)/len(y) ssreg = sum([ (yihat - ybar)**2 for yihat in yhat]) sstot = sum([ (yi - ybar)**2 for yi in y]) r = ssreg / sstot return m,c, r