Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/281.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 相关变量与scipy曲线拟合_Python_Scipy_Correlation_Curve Fitting_Model Fitting - Fatal编程技术网

Python 相关变量与scipy曲线拟合

Python 相关变量与scipy曲线拟合,python,scipy,correlation,curve-fitting,model-fitting,Python,Scipy,Correlation,Curve Fitting,Model Fitting,我有一个物理模型,有一个自变量X和三个参数a,B和C。因变量为Y=F(X,A,B,C),其中F是平滑连续的模型函数 我有许多数据点文件(X,Y),我希望(每个文件)与模型相匹配,以研究参数如何变化。该模型对自变量和所有参数都是非线性的 为了适应这个模型,我使用Python中的scipy.optimize curve\u fit,在带有数据点的整个文件中使用for循环。对于每个文件,我都会得到最佳拟合参数(A、B、C),模型非常适合所有文件。但是,当我检查配件后的参数误差时,我注意到A中的误差非常

我有一个物理模型,有一个自变量
X
和三个参数
a
B
C
。因变量为
Y=F(X,A,B,C)
,其中
F
是平滑连续的模型函数

我有许多数据点文件
(X,Y)
,我希望(每个文件)与模型相匹配,以研究参数如何变化。该模型对自变量和所有参数都是非线性的

为了适应这个模型,我使用Python中的
scipy.optimize curve\u fit
,在带有数据点的整个文件中使用
for循环
。对于每个文件,我都会得到最佳拟合参数
(A、B、C)
,模型非常适合所有文件。但是,当我检查配件后的参数误差时,我注意到
A
中的误差非常大,甚至比相应的值高出两个数量级

经验告诉我,这些较大的差异可能是由于参数
A
可能与其他任何参数相关。为了验证这一假设,我绘制了获得的
A
值与
B
C
值的对比图。我看到,事实上,出现了一种形式为
a=a*B^B
的幂律关系,这在物理上是可以接受的


有没有一种方法可以告诉
曲线拟合
在不引入新参数(比如
a
b
)的情况下处理这种相关性,以便以尽可能低的方差拟合模型?

尝试使用
方法='trf'
作为拟合参数。这避免了使用最小二乘法,并适用于雅可比矩阵的伪逆。我相信特征值为零的雅可比矩阵应该不是问题。

谢谢。我试过了,但它给了我同样大的方差。