You need to enable JavaScript to run this app. lmfit卡方趋近于0且scale_covar=False时参数不确定度失准问题问询
优惠活动
大模型
产品
解决方案
定价
更多

lmfit卡方趋近于0且scale_covar=False时参数不确定度失准问题问询

lmfit 拟合参数不确定度计算异常问题

问题现象

使用lmfit开展数据拟合分析时,若设置scale_covar=False,当*卡方(chi-square)*数值接近0(即模型几乎完美匹配观测数据)时,输出的最优拟合参数对应的不确定度存在明显失准情况。
测试以X = [0,1,2]、Y = [0,1,2]的直线回归为场景,向数据中添加幅值递增的噪声f开展多组对照测试,结果显示仅当噪声幅值足够大时,lmfit报告的参数不确定度才与普通最小二乘法(ordinary least squares)的预期计算值一致。

核心疑问

该现象属于以下哪类情况:

  • lmfit在参数不确定度估计逻辑上的bug或固有局限
  • 对lmfit输出结果的预期理解存在偏差

测试代码与运行结果

测试所用代码

# python 3.7.6
# lmfit 1.0.2

import numpy as np
from lmfit import minimize, Parameters

def residual(p, x, y):
    return y - (p['a'] + p['b'] * x)

def report(out):
    print(f'{f:8.0e} {out.chisqr:8.0e} {out.params["a"].value:8.2f} {out.covar[0,0]**.5:8.2f} {out.params["b"].value:8.2f} {out.covar[1,1]**.5:8.2f} {out.covar[0,1]/(out.covar[0,0]*out.covar[1,1])**.5:8.2f}')

print(f'{"noise":>8} {"chisq":>8} {"a":>8} {"SE(a)":>8} {"b":>8} {"SE(b)":>8} {"cor(a,b)":>8}')
print(f'{"-"*8} {"-"*8} {"-"*8} {"-"*8} {"-"*8} {"-"*8} {"-"*8}')

params = Parameters()
params.add('a', value=0.5)
params.add('b', value=0.5)

f = 0
X = np.array([0.,1.,2.])
Y = np.array([0.,1.,2.])
out = minimize(residual, params, args=(X, Y), scale_covar = False)
report(out)

for e in np.linspace(16,2,15):
    f = 10**-e
    Y[1] = 1 + f
    out = minimize(residual, params, args=(X, Y), scale_covar = False)
    report(out)

对应运行输出

noise    chisq        a    SE(a)        b    SE(b) cor(a,b)
-------- -------- -------- -------- -------- -------- --------
   0e+00    2e-24     0.00     1.00     1.00     0.45    -0.00
   1e-16    2e-24     0.00     1.00     1.00     0.45    -0.00
   1e-15    2e-24     0.00     1.00     1.00     0.45    -0.00
   1e-14    1e-24    -0.00     0.00     1.00     0.50    -0.45
   1e-13    2e-24    -0.00     0.00     1.00     1.00    -0.89
   1e-12    2e-24    -0.00     0.00     1.00     0.50    -0.45
   1e-11    7e-23     0.00     1.00     1.00     0.45    -0.00
   1e-10    7e-21     0.00     1.00     1.00     0.45    -0.00
   1e-09    7e-19     0.00     1.00     1.00     0.45    -0.00
   1e-08    7e-17     0.00     0.24     1.00     0.50    -0.44
   1e-07    7e-15     0.00     0.93     1.00     0.67    -0.74
   1e-06    7e-13     0.00     0.92     1.00     0.70    -0.77
   1e-05    7e-11     0.00     0.91     1.00     0.71    -0.77
   1e-04    7e-09     0.00     0.91     1.00     0.71    -0.77
   1e-03    7e-07     0.00     0.91     1.00     0.71    -0.77
   1e-02    7e-05     0.00     0.91     1.00     0.71    -0.77

内容的提问来源于stack exchange,提问作者Mathieu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.27 10:15:07