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.shape
或stpd.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,由 errfile 和 rptfile 定义的输出文件将被覆盖。默认值为 False。