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

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

首先,定义一个数据集:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

使用 ListPlot 作出残差的视图:

    

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

定义另外一个数据集:

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

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

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

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

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

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