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)[源代码]#
ODR 类收集所有信息并协调主拟合例程的运行。
ODR 类的实例成员与初始化例程的参数具有相同的名称。
- 参数:
- dataData 类实例
Data 类的实例
- modelModel 类实例
Model 类的实例
- 其他参数:
- beta0类数组,秩为 1
一个秩为 1 的初始参数值序列。如果模型提供“estimate”函数来估计这些值,则为可选参数。
- delta0浮点数类数组,秩为 1,可选
一个(双精度)浮点数组,用于保存输入变量中的误差的初始值。必须与 data.x 的形状相同
- ifixb整数类数组,秩为 1,可选
与 beta0 长度相同的整数序列,确定哪些参数被固定。值为 0 表示固定该参数,值 > 0 表示该参数自由。
- ifixx整数类数组,与 data.x 形状相同,可选
与 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。
- stpb类数组,可选
一个序列(
len(stpb) == len(beta0)
),表示计算参数有限差分导数的相对步长。- stpd可选
一个数组(
stpd.shape == data.x.shape
或stpd.shape == (m,)
),表示计算输入变量误差有限差分导数的相对步长。如果 stpd 是长度为 m(输入变量的维度)的秩为 1 的数组,则这些值将广播到所有观测值。- sclb类数组,可选
一个序列(
len(stpb) == len(beta0)
),表示参数的比例因子。这些比例因子的目的是将所有参数缩放到 1 左右。如果未指定此参数,通常会计算合适的比例因子。如果自动过程出错,请自行指定它们。- scld类数组,可选
一个数组(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。
- 属性:
- dataData
此拟合的数据
- modelModel
拟合中使用的模型
- outputOutput
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" 参数。