scipy.odr.

ODR#

class scipy.odr.ODR(data, model, beta0=None, delta0=None, ifixb=None, ifixx=None, job=None, iprint=None, errfile=None, rptfile=None, ndigit=None, taufac=None, sstol=None, partol=None, maxit=None, stpb=None, stpd=None, sclb=None, scld=None, work=None, iwork=None, overwrite=False)[source]#

ODR 类收集所有信息并协调主拟合程序的运行。

ODR 类实例的成员与初始化例程的参数具有相同的名称。

参数:
dataData 类实例

Data 类的实例

modelModel 类实例

Model 类的实例

属性:
data数据

此拟合的数据

model模型

拟合中使用的模型

output输出

Output 类的实例,包含 ODR.run() 或 ODR.restart() 调用返回的所有数据

方法

restart([iter])

以 iter 更多迭代次数重新运行。

run()

运行拟合程序,使用给定所有信息和 full_output=1

set_iprint([init, so_init, iter, so_iter, ...])

设置 iprint 参数以打印计算报告。

set_job([fit_type, deriv, var_calc, ...])

以一种期望可理解的方式设置“job”参数。

其他参数:
beta0秩为 1 的 array_like

一个秩为 1 的初始参数值序列。如果模型提供了“estimate”函数来估计这些值,则此参数可选。

delta0秩为 1 的浮点数 array_like,可选

一个(双精度)浮点数组,用于保存输入变量中误差的初始值。必须与 data.x 的形状相同

ifixb秩为 1 的整数 array_like,可选

与 beta0 长度相同的整数序列,用于确定哪些参数被固定。值为 0 表示固定参数,值大于 0 表示参数可变。

ifixx与 data.x 形状相同的整数 array_like,可选

一个与 data.x 形状相同的整数数组,用于确定哪些输入观测值被视为固定。可以使用长度为 m(输入观测值的维度)的序列来固定所有观测值的某些维度。值为 0 表示固定观测值,值大于 0 表示可变。

jobint,可选

一个整数,告诉 ODRPACK 执行哪些任务。如果您必须在此处设置值,请参阅 ODRPACK 用户指南第 31 页。在初始化后使用 set_job 方法可以获得更易读的接口。

iprintint,可选

一个整数,告诉 ODRPACK 打印什么。如果您必须在此处设置值,请参阅 ODRPACK 用户指南第 33-34 页。在初始化后使用 set_iprint 方法可以获得更易读的接口。

errfilestr,可选

一个字符串,包含用于打印 ODRPACK 错误的文件的名称。如果文件已存在,将抛出错误。可以使用 overwrite 参数来防止此情况。请勿自行打开此文件!

rptfilestr,可选

一个字符串,包含用于打印 ODRPACK 摘要的文件的名称。如果文件已存在,将抛出错误。可以使用 overwrite 参数来防止此情况。请勿自行打开此文件!

ndigitint,可选

一个整数,指定函数计算中可靠数字的数量。

taufacfloat,可选

一个浮点数,指定初始信任区域。默认值为 1。初始信任区域等于 taufac 乘以第一次计算的 Gauss-Newton 步长。taufac 必须小于 1。

sstolfloat,可选

一个浮点数,指定基于平方和相对变化的收敛容差。默认值为 eps**(1/2),其中 eps 是机器上双精度计算中使得 1 + eps > 1 的最小值。sstol 必须小于 1。

partolfloat,可选

一个浮点数,指定基于估计参数相对变化的收敛容差。对于显式模型,默认值为 eps**(2/3),对于隐式模型,默认值为 eps**(1/3)。partol 必须小于 1。

maxitint,可选

一个整数,指定要执行的最大迭代次数。对于首次运行,maxit 是执行的总迭代次数,默认为 50。对于重新启动,maxit 是要执行的附加迭代次数,默认为 10。

stpbarray_like,可选

一个序列(len(stpb) == len(beta0)),包含用于计算关于参数的有限差分导数的相对步长。

stpd可选

一个数组(stpd.shape == data.x.shapestpd.shape == (m,)),包含用于计算关于输入变量误差的有限差分导数的相对步长。如果 stpd 是一个长度为 m(输入变量的维度)的秩为 1 的数组,则这些值将被广播到所有观测值。

sclbarray_like,可选

一个序列(len(stpb) == len(beta0)),包含参数的比例因子。这些比例因子的目的是将所有参数缩放到接近统一。通常,如果未指定此参数,会自动计算适当的比例因子。如果自动过程出错,请自行指定它们。

scldarray_like,可选

一个数组(scld.shape == data.x.shape 或 scld.shape == (m,)),包含输入变量*误差*的比例因子。同样,如果您不提供这些因子,它们会自动计算。如果 scld.shape == (m,),则这些比例因子将被广播到所有观测值。

workndarray,可选

一个数组,用于保存 ODRPACK 的双精度工作数据。重新启动时,取 self.output.work 的值。

iworkndarray,可选

一个数组,用于保存 ODRPACK 的整数工作数据。重新启动时,取 self.output.iwork 的值。

overwritebool,可选

如果为 True,由 errfilerptfile 定义的输出文件将被覆盖。默认值为 False。