如果您
full=True在的呼叫中指定
polyfit,它将包含更多信息:
>>> x = np.arange(100)>>> y = x**2 + 3*x + 5 + np.random.rand(100)>>> np.polyfit(x, y, 2)array([ 0.99995888, 3.00221219, 5.56776641])>>> np.polyfit(x, y, 2, full=True)(array([ 0.99995888, 3.00221219, 5.56776641]), # coefficients array([ 7.19260721]), # residuals 3, # rank array([ 11.87708199, 3.5299267 , 0.52876389]), # singular values 2.2204460492503131e-14) # conditioning threshold
返回的残差值是拟合误差的平方和,不确定是否是您要得到的结果:
>>> np.sum((np.polyval(np.polyfit(x, y, 2), x) - y)**2)7.1926072073491056
在1.7版中,还有一个
cov关键字将返回系数的协方差矩阵,您可以用它来计算拟合系数本身的不确定性。



