Numpy polyfit - 协方差矩阵

3

当对带有误差的数据集拟合一条直线时,我期望polyfit返回一个2x2的协方差矩阵,我可以从中求出对角线元素的平方根来找到系数的不确定性,但实际上并没有。

下面是一个最小工作示例:

from numpy import polyfit

x=[1.,2.,3.,4.,5.,6.,7.,8.,9.]
y=[1.,3.,2.,4.,5.,6.,6.,8.,9.]

yerr=[10.,5.,3.,2.,10.,10.,10.,10.,10.]

linear = polyfit(x,y, 1, w=yerr, full=True)

print(linear)

输出结果:

(array([ 0.95730623,  0.11546722]), array([ 114.79556527]), 2, array([ 1.38182992,  0.30090875]), 1.9984014443252818e-15)

感谢!

6
尝试设置参数:cov=Truefull=False - HYRY
@HYRY,你可以把你的评论发表为一个答案。 - Saullo G. P. Castro
1个回答

4

文档中提到:

  • cov:bool,可选

    如果full为True,则返回估计值和估计值的协方差矩阵;如果full为False(默认设置),则不返回cov。

因此,将cov=Truefull=False设置即可返回协方差矩阵。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接