How to| 拟合具有测量误差的模型

特别是在物理科学中,用测量误差作为权重将测量到的变化纳入到拟合中是很常见的. 权重对参数估计具有相对影响,但在加权回归中仍需要对误差方差进行估计,这将影响结果的误差估计. 在权重来自测量误差时,LinearModelFitNonlinearModelFit 的选项 VarianceEstimatorFunctionWeights 可用于得到理想结果.

定义一个数据集,其中每一点的前两个元素是预测值,第三个元素是测量值:

In[4]:=
Click for copyable input

定义与 中测量值相关的测量误差:

In[5]:=
Click for copyable input

可用 NonlinearModelFit 将数据拟合为预测值的对数函数. Weights 是基于测量误差正态分布的可变性,该选项的使用可以纳入拟合之中. 每个数据点的权重为 ,其中 是该数据点的测量误差.

单独使用 Weights 时,方差尺度用缺省方法估计. 误差估计将既取决于权重也取决于方差尺度的估计. 然而,如果权重来自测量误差,您将希望误差估计仅取决于权重.

拟合非线性模型,并将误差包括在权重中,并使用缺省方法估计方差尺度:

In[6]:=
Click for copyable input
Out[6]=

对于拟合结果,您可以查询 FittedModel 输出对象 .

使用 获得最佳拟合函数以及 的参数值表格:

In[7]:=
Click for copyable input
Out[7]=

对于这样一个加权拟合,需要估计误差方差的尺度以获得参数估计的标准误差. 线性及非线性估计所用的缺省典型估计涉及平方的加权和.

权重并不会改变拟合或误差估计,认识到这一点很重要. 例如,将所有权重乘以一个常数将增大估计方差,但并不改变参数估计或标准误差.

将所有权重乘上一个100的因子,拟合同一个模型:

In[8]:=
Click for copyable input
Out[8]=

请注意最佳拟合函数和误差估计都与前面相同:

In[9]:=
Click for copyable input
Out[9]=

对每个结果使用 ,比较方差估计. 这里表明估计值也同样乘上了一个100的因子:

In[10]:=
Click for copyable input
Out[10]=

上例中的权重仅是权重. 它们对拟合有相对的影响,但不影响估计和结果.

要将权重像从测量误差计算得到的结果一样对待,可以将 VarianceEstimatorFunctionWeights 一起使用. VarianceEstimatorFunction 显式定义所用的方差尺度估计量. 对于测量误差,您希望标准误差仅由权重计算得到,因此方差估计应该为定值1:

In[11]:=
Click for copyable input
Out[11]=

查看该模型的最佳拟合函数和参数表:

In[12]:=
Click for copyable input
Out[12]=

将这个表格与 的表格进行比较,结果表明参数估计是相当的,但标准误差及相关结果发生了改变:

In[13]:=
Click for copyable input
Out[13]=

的全部结果都纳入的权重和方差估计与来自测量误差的权重一致. 尽管权重对参数估计有影响,方差估计本身并不会. 将拟合时定义的方差估计进行覆盖从而得到 的测量误差结果是可能的.

获得拟合的同一参数表,测量误差来自第一个拟合:

In[14]:=
Click for copyable input
Out[14]=
New to Mathematica? Find your learning path »
Have a question? Ask support »