How to| 获取拟合模型的结果

将数据拟合入一个模型中时,有一点往往比较重要,即获取额外的结果以对数据与拟合函数进行比较. 您可能会希望对参数的有效性进行检查,对模型的假设、数据点的影响以及拟合优度进行评估. 在 Mathematica 中,您可以从FittedModel 对象直接获取这些结果,该对象由 LinearModelFitNonlinearModelFit 以及 GeneralizedLinearModelFit 等模型拟合函数返回.

首先,定义一个数据集:

In[11]:=
Click for copyable input

使用 LinearModelFit 可以拟合一个简单的线性回归模型:

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

输出的是一个包含拟合及原始数据信息的 FittedModel 对象. 您可以直接从该对象得到结果并进行诊断.

使用 Normal 得到拟合模型的函数形式:

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

您也可以在特定点处对模型进行计算:

将模型作为 而不是原始变量 的函数进行评估:

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

在一个数字值处进行计算,将得到 取该值时函数的预测值:

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

由于 FittedModel 对象的计算方式与函数相同,您可以直接使用 Plot 对其进行绘图:

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

您可以将数据点在拟合函数上进行可视化,方法是使用 Show 将数据点的 ListPlot 与上图合并:

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

FittedModel 对象还包含与所表示的模型类型(在此例中是一个线性模型)相关的许多结果和诊断量. 您可以通过 计算 FittedModel 以得到该模型可用性质的一个完整列表.

这里,Length 用于给出该模型已知性质的数目:

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

参数估计是否从统计学观点来说是有效的,即参数值是否显著不同于0,这个问题往往是非常重要的. 例如,对于一个线性模型,您或许会观察与该参数相关的 T 统计量的P值. P值是观察到一个T统计量至少比实际所得到的量距离零点远的概率.

FittedModel 使用 ,将显示一个表格,对参数估计、T统计量及P值进行总结:

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

您可使用其它属性单独获取 T 统计量 和 P 值. 如果想要基于这些性质计算其它结果,这样做尤其重要. 对 FittedModel 使用 仅对 P 值进行观察:

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

同时观察多个性质可以通过输入一个性质列表完成. 同时观察 T 统计量 及 P 值:

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

您还可以得到参数的置信区间:

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

缺省返回的置信区间是 95%. 通过 ConfidenceLevel 选项您可以得到其它水平的置信区间.

观察参数的 99% 置信区间:

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

附加的点诊断量例如残差也包括在内.

这里,对拟合模型的残差进行计算,并赋给

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

使用 ListPlot 作出残差的视图:

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

尽管非线性和广义线性模型的可用性质有所不同,它们的结果和诊断量可用同种方式获得. 这些类型的模型拟合可用 NonlinearModelFitGeneralizedLinearModelFitLogitModelFitProbitModelFit 完成.

定义另外一个数据集:

In[15]:=
Click for copyable input

NonlinearModelFit 将数据拟合为一个指数模型:

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

与线性模型的情形相同,使用 Show 将数据点与模型的图形合并:

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

您也可以观察个别点处估计的列表式结果. 对FittedModel 使用 以观察这样一个表格,表格中列出了预测值及其误差估计和置信区间:

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

您也可以实现相关预测带的可视化.

首先,定义拟合函数在 80%、90%、95% 以及 99% 预测带上的函数:

In[19]:=
Click for copyable input

对这些预测带界定的区域以及拟合函数制作视图,Filling 的使用使每个置信水平的区域更易于观察:

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