从 scipy.optimize.curve_fit 获取与参数估计相关的标准误差

2024-04-13

我在用scipy.optimize.curve_fit将曲线拟合到我拥有的一些数据。大多数情况下,曲线似乎非常吻合。由于某种原因,当我打印它时,pcov = inf。

我真正需要的是计算与我拟合的参数相关的误差,并且不确定如何准确地做到这一点,即使它确实给了我协方差矩阵。

适合的模型是:

def intensity(x,R_out,R_in,K_in,K_out,a,b,c):
    K_in,K_out = abs(0.0),abs(K_out)
    if x<=R_in:
        return 2*R_out*(K_out*np.sqrt(1-x**2/R_out**2)-
                (K_out-0.0)*np.sqrt(R_in**2/R_out**2-x**2/R_out**2)) + c
    elif x>=R_in and x<=R_out:
        return K_out*2*R_out*np.sqrt(1-x**2/R_out**2) + c
    elif x>R_out:
        return c

intensity_vec = np.vectorize(intensity)



def intensity_vec_self(x,R_out,R_in,K_in,K_out,a,b,c):
    y = np.zeros(x.shape)
    for i in range(len(y)):
        y[i]=intensity_vec(x[i],R_out,R_in,K_in,K_out,a,b,c)
    return y

有 400 个数据点,如果您认为有帮助,我可以将其放在这里。

总而言之,我无法得到curve_fit打印我的pcov并需要帮助找出原因以及我是否可以做到这一点。

另外,如果这是一个快速解释,我想知道如何使用pcov数组来获得与我的拟合相关的错误。

Thanks


参数的方差是方差-协方差矩阵的对角线元素,标准误差是其平方根。np.sqrt(np.diag(pcov))

关于获得inf,查看并比较这两个示例:

In [129]:
import numpy as np
def func(x, a, b, c, d):
    return a * np.exp(-b * x) + c

xdata = np.linspace(0, 4, 50)
y = func(xdata, 2.5, 1.3, 0.5, 1)
ydata = y + 0.2 * np.random.normal(size=len(xdata))
popt, pcov = so.curve_fit(func, xdata, ydata)
print np.sqrt(np.diag(pcov))
[ inf  inf  inf  inf]

And:

In [130]:

def func(x, a, b, c):
    return a * np.exp(-b * x) + c

xdata = np.linspace(0, 4, 50)
y = func(xdata, 2.5, 1.3, 0.5)
ydata = y + 0.2 * np.random.normal(size=len(xdata))
popt, pcov = so.curve_fit(func, xdata, ydata)
print np.sqrt(np.diag(pcov))
[ 0.11097646  0.11849107  0.05230711]

在这个极端的例子中,d对功能没有影响func,因此它将与方差相关+inf,或者换句话说,它可以是任何值。去除d from func会得到有意义的东西。

实际上,如果参数的规模非常不同,请说:

def func(x, a, b, c, d):
    #return a * np.exp(-b * x) + c
    return a * np.exp(-b * x) + c + d*1e-10

您还将得到inf由于浮点溢出/下溢。

就你而言,我认为你从未使用过a and b。就像这里的第一个例子一样。

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

从 scipy.optimize.curve_fit 获取与参数估计相关的标准误差 的相关文章

  • 检测到通过 ChromeDriver 启动的 Chrome 浏览器

    我正在尝试在 python 中使用 selenium chromedriver 来访问 www mouser co uk 网站 然而 从第一次拍摄开始 它就被检测为机器人 有人对此有解释吗 此后我使用的代码 options Options
  • 将 transaction.commit_manually() 升级到 Django > 1.6

    我继承了为 Django 1 4 编写的应用程序的一些代码 我们需要更新代码库以使用 Django 1 7 并最终更新到 1 8 作为下一个长期支持版本 在一些地方它使用旧风格 transaction commit manually and
  • 使用 Python 创建 MIDI

    本质上 我正在尝试从头开始创建 MIDI 并将它们放到网上 我对不同的语言持开放态度 但更喜欢使用Python 两种语言之一 如果这有什么区别的话 并且想知道我应该使用哪个库 提前致谢 看起来这就是您正在寻找的 适用于 Python 的简单
  • NumPy linalg.eig

    我有这个烦人的问题 但我还没有弄清楚 我有一个矩阵 我想找到特征向量 所以我写 val vec np linalg eig mymatrix 然后我得到了 vec 我的问题是 当我小组中的其他人对相同的矩阵 mymatrix 做同样的事情时
  • 字符串中的注释和注释中的字符串

    我正在尝试使用 Python 和 Regex 计算 C 代码中包含的注释中的字符数 但没有成功 我可以先删除字符串以删除字符串中的注释 但这也会删除注释中的字符串 结果会很糟糕 是否有机会通过使用正则表达式来询问不匹配注释中的字符串 反之亦
  • Python tkinter.filedialog Askfolder 干扰 clr

    我主要在 Spyder 中工作 构建需要弹出文件夹或文件浏览窗口的脚本 下面的代码在spyder中完美运行 在 Pycharm 中 askopenfilename工作良好 同时askdirectory什么都不做 卡住了 但是 如果在调试模式
  • 使用 Python 计算 Spark 中成对 (K,V) RDD 中每个 KEY 的平均值

    我想与 Python 共享这个特定的 Apache Spark 解决方案 因为它的文档非常贫乏 我想通过 KEY 计算 K V 对 存储在 Pairwise RDD 中 的平均值 示例数据如下所示 gt gt gt rdd1 take 10
  • 如何使用 javascript/jquery/AJAX 调用 Django REST API?

    我想使用 Javascript jQuery AJAX 在前端调用 Django Rest API 请求方法是 POST 但当我看到 API 调用它的调用 OPTIONS 方法时 所以 我开始了解access control allow o
  • Pandas:如何将数据框插入 Clickhouse

    我正在尝试将 Pandas 数据框插入 Clickhouse 这是我的代码 import pandas import sqlalchemy as sa uri clickhouse default localhost default ch
  • 设置 verify_certs=False 但 elasticsearch.Elasticsearch 因证书验证失败而引发 SSL 错误

    self host KibanaProxy 自我端口 443 self user 测试 self password 测试 我需要禁止证书验证 使用选项时它与curl一起使用 k在命令行上 但是 在使用 Elasticsearch pytho
  • 如何在 Django 中使用基于类的视图创建注册视图?

    当我开始使用 Django 时 我几乎使用 FBV 基于函数的视图 来处理所有事情 包括注册新用户 但当我更深入地研究项目时 我意识到基于类的视图通常更适合大型项目 因为它们更干净且可维护 但这并不是说 FBV 不是 无论如何 我将整个项目
  • Python Pandas:如何对组中的所有项目进行分组并为其分配 id?

    我有 df domain orgid csyunshu com 108299 dshu com 108299 bbbdshu com 108299 cwakwakmrg com 121303 ckonkatsunet com 121303
  • Pandas 堆积条形图中元素的排序

    我正在尝试绘制有关某个地区 5 个地区的家庭在特定行业赚取的收入比例的信息 我使用 groupby 按地区对数据框中的信息进行排序 df df orig groupby District Portion of income value co
  • 使用 Conda 更新特定模块会删除大量软件包

    我最近开始使用 Anaconda Python 发行版 因为它提供了许多开箱即用的数据分析库 使用 conda 创建环境和安装软件包也轻而易举 但是当我想更新 Python 本身或任何其他模块时 我遇到了一些严重的问题 我事先被告知我的很多
  • 使用 NLP 进行地址分割

    我目前正在开发一个项目 该项目应识别地址的每个部分 例如来自 str Jack London 121 Corvallis ARAD ap 1603 973130 输出应如下所示 street name Jack London no 121
  • 以编程方式使用 Sphinx 特定指令解析 .rst 文件

    我希望能够在 Python 中解析基于 sphinx 的 rst 以便进一步处理和检查 就像是 import sphinx p sphinx parse path to file rst do something with p 似乎在 do
  • python 日志记录会刷新每个日志吗?

    当我使用标准模块将日志写入文件时logging 每个日志会分别刷新到磁盘吗 例如 下面的代码会将日志刷新 10 次吗 logging basicConfig level logging DEBUG filename debug log fo
  • 使用 Python 将对象列表转为 JSON

    我在转换时遇到问题Object实例到 JSON ob Object list name scaping myObj base url u number page for ob in list name json string json du
  • 使用Multiprocessing和Pool时如何访问全局变量?

    我试图避免将变量冗余地传递到dataList e g 1 globalDict 2 globalDict 3 globalDict 并在全球范围内使用它们 global globalDict然而 在下面的代码中并不是这样做的解决方案 是否有
  • python 中的 after() 与 update()

    我是 python 新手 开始使用 tkinter 作为画布 到目前为止 我使用 update 来更新我的画布 但还有一个 after 方法 谁能给我解释一下这个函数 请举个例子 两者之间有什么区别 root after integer c

随机推荐

  • 如何确定 REST api 中的请求来自何处

    我有一个带有控制器的 RESTful API 当我的 Android 应用程序点击它时 它应该返回一个 JSON 响应 当它被 Web 浏览器点击时 它应该返回一个 视图 我什至不确定我是否以正确的方式处理这个问题 我正在使用 Larave
  • HttpContext.Authentication.SignOutAsync 不会删除身份验证 cookie

    根据 ASP NET Core文档 https learn microsoft com en us aspnet core security authentication cookie方法HttpContext Authentication
  • 在 C# 中使用 Moq 进行模拟

    我有以下代码 public interface IProductDataAccess bool CreateProduct Product newProduct Class ProductDataAccess实现该接口 public cla
  • 使用 JavaScript 获取资源的传输大小

    我正在尝试测量真实网站用户的页面加载性能 为了更好地理解数据 我想根据缓存是否已启动来对数据进行分段 因此 在加载资源之前我不需要知道它是否在缓存中 事后衡量就足够了 至少在 Chrome 和 Firefox 中 开发工具的 网络 选项卡有
  • 当鼠标悬停在一个列表元素上时,jQuery 使其他列表元素淡入淡出/变暗,我在那里 90%..?

    我有一个无序列表 其中可能有 30 项 当将鼠标悬停在其中一项上时 其余列表项会淡出至 30 而悬停的项目将保持 100 当你离开列表时 它们都会恢复到 100 我已经做到了 当您从一个项目移动到另一个项目时 我的问题就出现了 其他列表项目
  • 删除 WSO2 1.10.0 中的弱化协议

    我有一个答案 可以禁用 Tomcat 中管理控制台不需要的协议 密码 基于 TLSv1 0 和 3DES 的密码 端口 9443 禁用 WSO2AM 1 10 0 中的弱化协议 密码 https stackoverflow com ques
  • SAS SQL 传递

    我想知道在这段代码中 SAS SQL 传递中首先执行的是什么 Connect To OLEDB As MYDB DBConnect Catalog MYDB Create table MYDB extract as select put P
  • JVM 语言中的嵌套函数和词法作用域是如何编译的?

    作为我的问题的具体示例 这里有一个 Python 代码片段 它应该对最广泛的人来说是可读的 并且无论如何都有 JVM 实现 def memo f cache def g args if args not in cache cache arg
  • 如何使用 pyplot 在曲面图后面画一条线

    我想在用曲面图绘制的圆环内画一条线 这条线在圆环内部不应该是可见的 就像圆环的内侧一样 只能在圆环的 末端 看到 我切掉了圆环的一半 然而 我绘制的线随处可见 正如您在图中看到的那样 我使用了以下代码 import numpy as np
  • Windows XP 上 WPD/WIA 的替代品?

    WPD http www microsoft com whdc device wpd default mspx在 Windows XP SP1 如果重要的话 上无法正常工作 即使微软表示确实如此 http msdn microsoft co
  • 延迟加载 WPF 选项卡内容

    我的 WPF 应用程序被组织为 TabControl 每个选项卡包含不同的屏幕 一个 TabItem 绑定到需要一点时间加载的数据 由于此 TabItem 代表用户可能很少使用的屏幕 因此我希望在用户选择该选项卡之前不加载数据 我怎样才能做
  • Android:应用程序范围内的字体大小首选项

    是否可以对所有显示文本的视图使用的字体大小进行应用程序范围的设置 我想向用户提供一个首选项 该首选项应该允许缩放应用程序中的所有文本 Android 明确允许使用 sp 尺寸单位 http developer android com gui
  • 将 JSON 字符串存储在输入字段值中

    如何将 Json 字符串存储在隐藏的输入字段中 好吧 我可以通过编程来做到这一点 但是转义有问题 由于我的字符串相当长 因此很难对所有名称转义 char 请解释它如何以编程方式工作 第 1 阶段 因为控制台输出看起来相同 X 0 Y 0 W
  • 将 Azure Files 文件夹挂载到 Kubernetes 中?

    As 直接安装 https learn microsoft com en us azure aks azure files volume or 持久卷声明 https learn microsoft com en us azure aks
  • AWS API Gateway 限制未按预期工作

    我正在尝试启用 API 网关限制 但它没有按预期工作 我将默认方法限制速率设置为每秒 1 个请求 并将突发设置为 1 个请求 然后 我在代码中创建了一个循环 向我的 API 端点同时发出 10 个请求 for let i 0 i lt 10
  • 如何使用 FlexJSON 序列化 Map>

    我有一个想要序列化为 JSON 的对象 该对象是一个包含特定对象列表的地图 这看起来与它相似 Map
  • 修复区域设置扩展中的类型变量

    鉴于此代码 locale A fixes foo a locale B A fixes bar a a locale C A fixes baz a begin sublocale B foo foo baz end I get Type
  • 如何使用 JRE 8 设置 eclipse?

    我尝试在 eclipse 中更新我的 jre 版本 我将 jre 8 添加到我安装的 JRE 中并检查了他 当我单击 确定 时 出现错误 The type java lang CharSequence cannot be resolved
  • urllib2.HTTPError:使用新的 Bing API 查询时出现 HTTP 错误 401(在 azure 市场中)

    所以 我已经根据堆栈溢出中同一屋檐下的大部分答案进行了更正 但我仍然无法解决这个问题 queryBingFor Google Fibre quoted query urllib quote queryBingFor account key
  • 从 scipy.optimize.curve_fit 获取与参数估计相关的标准误差

    我在用scipy optimize curve fit将曲线拟合到我拥有的一些数据 大多数情况下 曲线似乎非常吻合 由于某种原因 当我打印它时 pcov inf 我真正需要的是计算与我拟合的参数相关的误差 并且不确定如何准确地做到这一点 即