相关疑难解决方法(0)

如何从ODR结果计算标准误差?

我使用的scipy.odr是为了在这个问题上对x和y的不确定性进行拟合,使用scipy curve_fit进行正确拟合,包括x中的误差?

在拟合之后,我想计算参数的不确定性.因此,我查看协方差矩阵的对角元素的平方根.我明白了:

>>> print(np.sqrt(np.diag(output.cov_beta)))
[ 0.17516591  0.33020487  0.27856021]
Run Code Online (Sandbox Code Playgroud)

Output也有output.sd_beta是,根据上ODR DOC

形状(p,)的估计参数的标准误差.

但是,它没有给我相同的结果:

>>> print(output.sd_beta)
[ 0.19705029  0.37145907  0.31336217]
Run Code Online (Sandbox Code Playgroud)

编辑

这是笔记本上的一个例子:https://nbviewer.jupyter.org/github/gvallverdu/cookbook/blob/master/fit_odr.ipynb

至少方形

stop reason: ['Sum of squares convergence']
        params: [ -1.94792946  11.03369235  -5.43265555]
          info: 1
       sd_beta: [ 0.26176284  0.49877962  0.35510071]
sqrt(diag(cov): [ 0.25066236  0.47762805  0.34004208]
Run Code Online (Sandbox Code Playgroud)

使用ODR

stop reason: ['Sum of squares convergence']
        params: [-1.93538595  6.141885   -3.80784384]
          info: 1
       sd_beta: [ 0.6941821   0.88909997  0.17292514]
sqrt(diag(cov): [ 0.01093697  0.01400794  0.00272447]
Run Code Online (Sandbox Code Playgroud)

python regression numpy curve-fitting scipy

7
推荐指数
1
解决办法
1365
查看次数

标签 统计

curve-fitting ×1

numpy ×1

python ×1

regression ×1

scipy ×1