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 类的实例成员与初始化例程的参数名称相同。
- 参数:
- data数据类实例
数据类的实例
- model模型类实例
模型类的实例
- 其他参数:
- beta01 级 array_like
1 级初始参数值的序列。如果模型提供“估计”函数来估计这些值,则此参数可选。
- delta01 级可选的浮点数组_like
保存输入变量中误差的初始值(双精度)浮点数组。必须与 data.x 形状相同
- ifixb1 级可选的 int 数组_like
与 beta0 长度相同的整数序列,用于确定哪些参数保持固定。值为 0 固定参数,值 > 0 释放参数。
- ifixx与 data.x 形状相同的 int 数组_like,可选
与 data.x 形状相同的整数数组,用于确定哪些输入观测视为固定。可以使用长度为 m(输入观测的维数)的序列来修复所有观测的一些维度。值为 0 固定观测,值 > 0 释放观测。
- job可选的整型数
如果要在此处设置值,会告诉 ODRPACK 执行哪些任务的整数。如果您一定要设置值,请参见 ODRPACK 用户指南的第 31 页。使用后初始化方法 set_job 获得更易于读取的界面。
- iprint可选的 int
一个整数,告知 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)
) 用作参数的缩放系数。这些缩放系数的目的是将所有参数缩放为接近统一。如果未指定此参数,通常会计算出适当的缩放系数。如果自动过程出错,则自行指定它们。- scld类似数组,可选
数组 (scld.shape == data.x.shape 或 scld.shape == (m,)),用于缩放输入变量中的误差。同样,如果您不提供这些因子,则会自动计算这些因子。如果 scld.shape == (m,),则将缩放因子广播到所有观测值。
- workndarray,可选
用于保存 ODRPACK 双精度工作数据的数组。重新启动时,取 self.output.work 的值。
- iworkndarray,可选
用于保存 ODRPACK 整形工作数据的数组。重新启动时,取 self.output.iwork 的值。
- overwrite布尔值,可选
如果为 True,则覆盖由 errfile 和 rptfile 定义的输出文件。默认情况下为 False。
- 属性:
- dataData
用于拟合的数据
- modelModel
用于拟合的模型
- outputOutput
Output 类的实例,其中包含从 ODR.run() 或 ODR.restart() 调用的所有已返回数据
方法
restart
([iter])使用更多迭代重新运行。
run
()使用提供的所有信息和
full_output=1
运行拟合程序。set_iprint
([init, so_init, iter, so_iter, ...])为计算报告的打印设置 iprint 参数。
set_job
([fit_type, deriv, var_calc, ...])设置“job”参数为一种容易理解的方式。