无法获取由函数确定的值A、cB和C的标准错误

2024-04-27 01:41:14 发布

您现在位置:Python中文网/ 问答频道 /正文

对于下面的代码,我无法获得a、B和C的单个值的标准错误。我试过几种不同的方法,要么得到0,要么得到一个奇异值。下面的方法是我尝试过的最新方法,但不起作用。有人有什么建议吗?我对Python还不熟悉

import numpy as np
import pandas as pd
import scipy
import pylab
import matplotlib
import matplotlib.pyplot as plt
import math
import sympy as sp
from scipy.optimize import curve_fit
x = np.array([600,650,700,750,800,850,900,950,1000])
y = np.array([.124,.627,2.492,8.187,23.06,57.24,127.9,261.6,496.5])
lny = np.log(y)
plt.plot(x,lny,'.')
plt.show()
def func(x,a,b,c):
    return a+b/x+c*np.log(x)
popt, pcov = curve_fit(func,x,lny)
print popt
a,b,c = (popt)
print a
print b
print c
stdvfunc = np.std(func(x,a,b,c))
print stdvfunc

Tags: 方法importlogmatplotlibasnppltscipy
1条回答
网友
1楼 · 发布于 2024-04-27 01:41:14

a、b和c的标准偏差为

pcov[0,0]**0.5
pcov[1,1]**0.5 #and 
pcov[2,2]**0.5

分别

以下是参考和复制的文件。请参见粗体斜体文本


https://docs.scipy.org/doc/scipy/reference/generated/scipy.optimize.curve_fit.html

二维阵列

popt的估计协方差。对角线提供参数估计的方差要计算参数的一个标准偏差误差,请使用

perr = np.sqrt(np.diag(pcov)).

sigma参数如何影响估计的协方差取决于绝对sigma参数,如上所述

如果解的雅可比矩阵没有满秩,“lm”方法返回一个填充np.inf的矩阵,另一方面,“trf”和“dogbox”方法使用Moore-Penrose伪逆来计算协方差矩阵

相关问题 更多 >