我想对数据集(X,Y,Yerr)进行最小二乘多项式拟合并获得拟合参数的协方差矩阵。此外,由于我有很多数据集,CPU 时间是一个问题,所以我正在寻找一个分析(=快速)解决方案。我发现了以下(非理想)选项:
numpy.polyfit
适合,但不考虑错误 Yerr,也不返回协方差;
numpy.polynomial.polynomial.polyfit
确实接受 Yerr 作为输入(以权重的形式),但也不返回协方差;
scipy.optimize.curve_fit
并且scipy.optimize.leastsq
可以定制以拟合多项式并返回协方差矩阵,但是 - 作为迭代方法 - 这些比例程慢得多polyfit
(产生解析解);
Python是否提供了一个分析多项式拟合例程来返回拟合参数的协方差(或者我必须自己写一个:-)?
更新:
似乎在 Numpy 1.7.0 中,现在numpy.polyfit
不仅接受权重,还返回系数的协方差矩阵......所以,问题解决了!:-)