【问题标题】:Python Estimate the standard deviation after data fittingPython估计数据拟合后的标准差
【发布时间】:2017-06-07 11:50:17
【问题描述】:

我正在尝试使用 ipython --pylab 将数据集拟合到超策略方程中: y = ax / (b + x)

这是我的python代码:

from scipy import optimize as opti
import numpy as np
from pandas import DataFrame

x = np.array([0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.8])
y = np.array([0.375, 0.466, 0.509, 0.520, 0.525, 0.536, 0.541])
y_stdev = np.array([0.025, 0.016, 0.009, 0.009, 0.025, 0.019])

def func(x, a, b):
   return a*x / (b + x)

popt, pcov = opti.curve_fit(func, x, y)
print(popt)
print("a = ", popt.ix[0])
print("b = ", popt.ix[1])

ab 的值应该在 popt 参数内。我想问的是,ab的值是在将数据集拟合到func(x, a, b)时推断出来的,那么,我们如何估计 a 和 b 的标准差? 谢谢。

【问题讨论】:

    标签: python scipy curve-fitting standard-deviation data-fitting


    【解决方案1】:

    答案在docs

    pcov : 二维数组

    popt 的估计协方差。对角线提供参数估计的方差。要计算参数的一个标准差误差,请使用perr = np.sqrt(np.diag(pcov))...

    【讨论】:

    • 感谢您的帮助,福格利特。我之前应该更仔细地阅读link
    猜你喜欢
    • 2017-11-22
    • 2021-10-21
    • 2021-02-28
    • 2019-12-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-08
    • 1970-01-01
    相关资源
    最近更新 更多