SciPy 曲线拟合参数的方差到底是多少? (Python)

2024-05-14

我目前正在 Python 中使用 scipy.optimize 包的 curve_fit 函数,并且知道,如果取从 curve_fit 获得的协方差矩阵的对角线条目的平方根,您将获得 curve_fit 参数的标准偏差计算出来的。我不确定这个标准差到底意味着什么。据我了解,这是使用黑塞矩阵的近似值,但确切的计算结果是什么呢?高斯钟形曲线上的标准差告诉您曲线特定范围内的面积百分比,因此我假设 curve_fit 它告诉您某些参数值之间有多少个数据点,但显然这是不对的......

如果这应该是曲线拟合的基本知识,我很抱歉,但我真的无法弄清楚标准差的作用,它们表示参数上的错误,但这些参数被计算为函数的最佳拟合,这并不像是一个完整的最佳参数集合,我们得到该集合的平均值,因此也有一个标准差。最佳值只有一个,用什么来比较呢?我想我的问题实际上可以归结为:如何手动准确地计算这些标准差,而不仅仅是使用黑塞矩阵获得近似值?


拟合参数的方差表示基于模型与数据的拟合质量的最佳拟合值的不确定性。也就是说,它描述了值可以偏离最佳拟合值多少,但仍然具有几乎与最佳拟合值一样好的拟合度。

根据卡方的标准定义,
chi_square = ( ( (data - model)/epsilon )**2 ).sum()

and reduced_chi_square = chi_square / (ndata - nvarys) (where data是数据值的数组,model计算模型的数组,epsilon是数据的不确定性,ndata是数据点的数量,并且nvarys变量的数量),一个好的拟合应该有reduced_chi_square大约 1 或chi_square around ndata-nvary。 (注意:不是 0——拟合不会完美,因为数据中存在噪声)。

变量的最佳拟合值的方差给出了您可以更改该值(并重新优化所有其他值)并将卡方增加 1 的量。这给出了所谓的“1-sigma”值的不确定性。

正如您所说,这些值以协方差矩阵的对角项表示scipy.optimize.curve_fit(非对角项给出了变量之间的相关性:如果一个变量的值偏离其最佳值,其他变量将如何反应以使拟合更好)。该协方差矩阵是在拟合完成时使用解附近的试验值和导数构建的 - 它计算参数空间的“曲率”(即,当变量值变化时卡方变化多少)。

You can手动计算这些不确定性。这lmfit图书馆 (https://lmfit.github.io/lmfit-py/ https://lmfit.github.io/lmfit-py/)具有通过最小二乘最小化或曲线拟合更明确地探索变量置信区间的例程。这些在以下位置有更详细的描述:https://lmfit.github.io/lmfit-py/confidence.html https://lmfit.github.io/lmfit-py/confidence.html。这可能是最容易使用的lmfit用于曲线拟合,而不是尝试重新实现置信区间代码curve_fit.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SciPy 曲线拟合参数的方差到底是多少? (Python) 的相关文章

随机推荐

  • C++ POD 类型有 RTTI 吗?

    据我了解RTTI是如何在各种C 编译器 例如GCC 中实现的 指向type info数据存储在vtable各班级的数据 也正如提到的here https stackoverflow com questions 1963926 when is
  • 如何实现 JsDoc 多重继承或 mixins?

    如何记录 mixin 或多重继承 class Parent function Parent Parent prototype parentTest 5 class Mixin function Mixin Mixin prototype m
  • 有关 window.history.pushState 的帮助

    我需要语法方面的帮助 我的网站使用 AJAX 在 board div 中加载博客文章 然后单击 close 将其关闭 当我加载帖子时 网址变成这样http www visualise ca anne au cherry http www v
  • Flutter Firebase 身份验证 currentUser() 返回 null

    这是关于 Flutter Firebase 身份验证插件的 我试图在创建新用户后发送验证电子邮件 但 sendEmailVerification 内部使用 currentUser 这对我来说似乎是一个错误 但为了以防万一 我在 stacko
  • jQuery beforeunload 自定义弹出窗口用于离开页面

    您好 我想自定义离开页面的弹出窗口 有什么简单的方法可以做到这一点吗 我正在使用简单的 jQuery document ready function var myPopUp pop up css display block window b
  • 在 Java 中实现 Mixin? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 使用Java 6 我如何实现mixin https en wikipedia org wiki Mixin 在 Ruby 中这非常简单
  • 如何在 Metro Windows 8 中查找应用栏的图标? [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 如何在 Metro Windows 8 中查找应用栏的图标 我如何添加自定义图标 默认的应用程序栏样式使用 Segoe UI Symbol 字体作为其
  • 如何将模糊屏幕设置为整页并在点击页面时转到顶部

    CSS1 有效 parentDisable z index 2000 width 100 height 100 display none position absolute left 0 background url images btra
  • 用于 Kotlin 中单元测试的 BuildConfigField 模拟

    我正在尝试尽可能多地涵盖Kotlin Android 库我遇到了有关自定义 BuildConfig 变量的问题 更广为人知的是buildConfigField 我想模拟这个变量来测试两者true and false values 从 Gra
  • python + selenium webdriver:使用身份验证方法

    我正在使用 python selenium webdriver 来自动化检查 我被困在通过弹出窗口请求 http 身份验证的网站上 我试图通过以下代码使用 身份验证 方法 init driver webdriver Firefox driv
  • 如何制作像 Google+ 应用程序中那样的气泡? [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 有谁知道如何使用 Google An
  • 如何将 HTML 表格导出为 .xlsx 文件

    我有一个关于导出的问题HTML表格 as an xlsx文件 我做了一些工作 现在我可以将其导出为xls 但我需要将其导出为xlsx 这是我的 jsFiddle https jsfiddle net 272406sv 1 https jsf
  • C++类名冲突

    我现在正在做一个项目 需要整合两个子项目 项目A是用C 编写的 项目B是用C编写的 一个问题是 在项目B中 有一个名为vector它是由其作者创建的 在项目 A 中 std vector in STL用来 因为项目B以后可能会更新 所以我不
  • Qt Creator:在终端中运行

    我想获得在 Qt Creator 中运行程序的完整控制台功能 与此处描述的问题相同 使用 Qt Creator 进行控制台输入 https stackoverflow com questions 1356328 console input
  • 如何在 Firebase Firestore 中使用多个 orderBy 查询进行排序?

    如果我想根据这种情况对文档进行排序 选择有库存的产品 通过检查名为 count 的字段 指定产品的总件数 根据另一个称为 价格 的字段对元素进行排序 看起来很简单 只需使用这段代码 DBRef collection col where co
  • 如何获取 cElementTree 中某个元素的所有文本子元素?

    我正在使用cElementTreePython 中的模块用于获取某个文本的子级XML树 使用text财产 但它似乎只适用于直接文本子项 见下文 python gt gt gt import xml etree cElementTree as
  • 设置Paramiko模块的sftp.get()时间限制

    我正在使用 Paramiko 的 SFTP 客户端将文件从远程服务器下载到客户端 即获取操作 要传输的文件有点大 1GB 所以我希望如果时间超过10秒 get操作就会超时 但是设置连接的超时值不起作用 它似乎只是创建 SSH 连接的超时 而
  • Mongoid - 同一外域的两个域的逆

    我试图让以下 Mongoid 关系发挥作用 但每个团队的游戏字段都是一个空数组 这不是一个有效的关系模型吗 我是否需要分开比赛 即主场比赛和客场比赛 class Team include Mongoid Document has many
  • 有人能解释一下 C# 中接口的具体用法吗?

    有人能解释一下 C 中接口的具体用法吗 msdn 对此没有帮助吗 http msdn microsoft com en us library 87d83y5b aspx http msdn microsoft com en us libra
  • SciPy 曲线拟合参数的方差到底是多少? (Python)

    我目前正在 Python 中使用 scipy optimize 包的 curve fit 函数 并且知道 如果取从 curve fit 获得的协方差矩阵的对角线条目的平方根 您将获得 curve fit 参数的标准偏差计算出来的 我不确定这