E. Weglarz - 2 months ago 17x
Python Question

# Obtaining Polynomial Regression Stats in Numpy

I am looking to obtain the coefficients and intercept using a polynomial regression (polyfit) in Numpy, but am not sure how to write the script to get a polynomial function.

I have made code the code for a linear regression, which I have attached below:

``````import matplotlib.pyplot as plt
import sys
from numpy import *
import numpy as np
import numpy.polynomial.polynomial as poly
import pylab
from scipy import stats
from scipy.interpolate import *
from datetime import datetime, timedelta

#Open dataset1,dataset2 data

#Define first column as dataset1

#Define second column as dataset2

x = data1[:,0]
y = data1[:,1]

#The stuff...
slope, intercept, r_value, p_value, std_err = stats.linregress(x,y)
``````

Do you need the stats? If not, and you just need the coefficients, it's really quite simple using `numpy.polyfit`:

``````import numpy as np

x = data1[:,0]
y = data1[:,1]

degree = 3
coeffs = np.polyfit(x, y, degree)

# now, coeffs is an array which contains the polynomial coefficients
# in ascending order, i.e. x^0, x^1, x^2
intercept, linear, quadratic, cubic = coeffs
``````

If you do need the other values, please specify what you need, since for example the `r_value` is the correlation coefficient between `x` and `y`, which isn't very useful when you don't expect the data to be linear.