主要内容

比较曲线拟合应用程序的适合

交互式曲线拟合工作流

下一个主题使用多项式方程符合第六度的一些人口普查数据,以及单级指数方程。这些步骤展示了如何:

  • 加载数据并使用不同的库模型探索不同的适合度。

  • 通过以下方法寻找最佳匹配:

    • 比较图形拟合结果

    • 比较数值拟合结果,包括拟合系数和拟合统计数据

  • 将最佳拟合结果导出到MATLAB®工作区以在命令行分析模型。

  • 保存会话并生成MATLAB代码的所有适合和图。

加载数据并创建适合

您必须在使用曲线拟合应用程序拟合数据之前将数据变量加载到MATLAB工作区中。对于此示例,数据存储在MATLAB文件中census.mat

  1. 加载数据:

    负载普查

    工作区包含两个新变量:

    • Cdate.列向量,以10年为单位包含1790年至1990年。

    • 流行列向量是美国人口数据对应的年份吗Cdate.

  2. 打开曲线拟合应用程序:

    cftool.

  3. 选择变量名Cdate.流行来自X数据y数据列表。

    曲线拟合应用程序创建并绘制默认拟合X输入(或预测数据)和Y输出(或响应数据)。默认的拟合是线性多项式拟合类型。观察fit设置显示多项式的,程度1

  4. 通过选择将拟合变为二次多项式2来自程度列表。

    曲线拟合应用程序绘制新的拟合图。曲线拟合应用程序计算一个新的适合当你改变适合设置,因为汽车适合默认选择。如果修改是耗时的,例如,对于大数据集,你可以关闭汽车适合通过清除复选框。

    曲线拟合应用程序显示人口普查数据的二次多项式拟合结果结果窗格,您可以在其中查看库模型、拟合系数和拟合优度统计信息。

  5. 改变适合名称poly2

  6. 通过选择显示残差看法>残差图

    残差表明可能有更好的拟合。因此,继续探索各种适合人口普查数据集的方法。

  7. 添加新的适合尝试其他库方程。

    1. 右键单击拟合符合表并选择复制”poly2(或使用适合菜单)。

      提示

      对于给定类型的fit(例如多项式),使用复制”fitname而不是一个新的适合,因为复制适合需要更少的步骤。复制的匹配包含相同的数据选择和匹配设置。

    2. 改变多项式程度3.重命名fitpoly3

    3. 当你拟合高次多项式时结果窗格显示此警告:

      方程条件很差。删除重复的数据点或尝试居中和缩放。

      的方法对数据进行规范化中心和规模复选框。

    4. 重复步骤A和B以添加多项式符合第六度,然后添加指数拟合。

    5. 对于每个新的合适,看看结果面板信息,并在曲线拟合应用程序中绘制残差。

      一个好的拟合的残差看起来应该是随机的,没有明显的模式。一个模式,例如连续残差具有相同符号的趋势,可以表明存在更好的模型。

关于扩展

关于缩放的警告出现,因为拟合程序使用Cdate.值作为具有非常大值的矩阵的基值。传播Cdate.值会导致缩放问题。要解决这个问题,可以将Cdate.数据。归一化缩放预测数据以提高后续数字计算的准确性。一种规范化的方法Cdate.就是把它集中在零均值上,然后缩放到单位标准差。等价代码为:

(cdate -意味着(cdate)。/性病(cdate)

请注意

因为预测器数据在归一化之后改变,所以与原始数据相比,拟合系数的值也会改变。然而,数据的功能形式和由此产生的拟合统计数据不会改变。此外,数据显示在使用原始比例的曲线拟合应用程序图中。

确定最合适的

为了确定最佳拟合,您应该检查图形和数值拟合结果。

检查图形拟合结果

  1. 通过检查拟合图和残差确定最佳拟合。要依次查看每个适合的图,请双击适合表中的适合。图拟合结果表明:

    • 多项式方程的拟合和残差都是相似的,因此很难选择最好的。

    • 单项指数方程的拟合和残差表明它是一个较差的整体拟合。因此,这是一个糟糕的选择,你可以从最佳拟合的候选中去除指数拟合。

  2. 检查到2050年的行为。拟合人口普查数据的目的是外推最佳拟合来预测未来的人口价值。

    1. 在拟合表中双击六次多项式拟合以查看此拟合的图。

    2. 通过选择来改变坐标轴的限制工具>轴的限制

    3. 改变X (cdate)最大2050.,并增加主要Y(流行)最大400.,按进入

    4. 检查匹配图。超出数据范围的六次多项式拟合的行为使它成为一个糟糕的外推选择,你可以拒绝这种拟合。

评估数值拟合结果

当您不能再通过图形化检查来消除拟合时,您应该检查数值拟合结果。曲线拟合应用程序显示两种类型的数值拟合结果:

  • 拟合优度统计

  • 拟合系数的置信界限

拟合优度统计可以帮助您确定曲线与数据的拟合程度。系数上的置信度界限决定了它们的准确性。

检查数值拟合结果:

  1. 对于每个拟合度,查看结果窗格。

  2. 比较所有适合同时在符合表.单击列标题以按统计结果排序。

  3. 检查因错误(SSE)和调整后的平方和R-square统计数据以帮助确定最佳拟合。SSE统计量为拟合的最小二乘误差,其值越接近零表示拟合越好。的调整R-Square统计通常是您为模型添加额外系数时拟合质量的最佳指标。

    最大的上交所exp1表示它是一种糟糕的契合,您已经通过检查拟合和残留物来确定。最低的SSE值与poly6.然而,这种拟合超出了数据范围的行为使其成为一个糟糕的外推选择,因此您已经通过检查带有新轴限制的图来拒绝这种拟合。

    下一个最佳的SSE值与第五型多项式合适相关,poly5,暗示这可能是最合适的。不过,上证综指并没有调整R其余多项式拟合的-平方值都非常接近。你应该选择哪一个?

  4. 通过检查结果窗格中剩余适合的置信度界限解决最佳拟合问题。双击适合符合表打开(如果已经打开,则聚焦)适合的图形并查看“结果”窗格。一个符合图显示单个匹配的匹配设置、结果窗格和绘图。

    显示第五程度多项式和poly2把数字并排贴合。并排检查结果可以帮助你评估适合度。

    1. 要同时显示两个拟合图形,请使用曲线拟合应用程序右上角的布局控件或选择窗口>左/右瓷砖顶部/底部瓷砖

    2. 要更改显示的适合,请单击以选择适合图,然后双击“适合”以显示符合表

    3. 比较系数和界限(p1p2,等等)的结果窗格中,poly5poly2.工具箱计算系数的95%置信范围。系数上的置信度界限决定了它们的准确性。检查结果窗格中的方程式(f (x) = p1 * x + p2 * x)来查看每个系数的模型项。请注意,p2指的是p2 * x.术语Poly2p2 * x ^ 4术语Poly5..不要直接比较标准化系数和非标准化系数。

      提示

      使用看法隐藏的菜单配合设置符合表如果您需要更多的空间来查看和比较图和结果,如下所示。你也可以隐藏结果窗格只显示绘图。

      边界越过0p1p2,p3五次多项式的系数。这意味着你不能确定这些系数不等于零。如果高阶模型项的系数可能为零,则对拟合没有帮助,这表明该模型对人口普查数据拟合过度。

      然而,小的置信界限并没有越过零p1p2,p3对于二次适合,poly2表明拟合系数相当准确地知道。

      因此,在检查图形和数值拟合结果之后,应该进行选择poly2最适合推算人口普查数据。

请注意

对于每个归一化多项式方程,与常数,线性和二次术语相关联的拟合系数几乎相同。然而,随着多项式程度的增加,与高度术语相关的系数边界交叉零,这表明过度拟合。

分析你在工作空间的最佳契合度

您可以使用保存到工作区导出所选的拟合和相关的拟合结果到MATLAB工作空间。拟合结果保存为MATLAB对象,相关拟合结果保存为结构。

  1. 右键单击poly2适合的符合表并选择保存“poly2”到工作区(或使用适合菜单)。

  2. 点击好吧使用默认名称保存。

    fittedmodel保存为曲线拟合工具箱™CFIT.对象。

    >> whoos fittedmodel Name Size Bytes Class fittedmodel 1x1 822 cfit . >> whoos fittedmodel Name Size Bytes Class fittedmodel 1x1 822 cfit . >> whoos fittedmodel

检查fittedmodelCFIT.对象,以显示模型、拟合系数和拟合系数的置信范围:

Fittedmodel fittedmodel =线性模型Poly2:Fittedmodel(x)= p1 * x ^ 2 + p2 * x + p3系数(具有95%的置信度):p1 = 0.006541(0.006124,0006958)p2 = -23.51(-25.09,-21.93)p3 = 2.113e + 004(1.964e + 004,2.262e + 004)

检查结构显示良好结果:

dfe: 18 adjrsquare: 0.9986 rmse: 2.9724

检查输出结构以显示与拟合相关联的附加信息,如残差:

输出输出= nummobs: 21 numparam: 3 residuals: [21x1 double] Jacobian: [21x3 double] exitflag: 1算法:'QR分解和求解'迭代:1

您可以使用各种后处理函数在指定的数据范围内评估(内插或外推)、区分或集成适合度。

例如,评估fittedmodel以一个向量的值推断到2050年,输入:

Y =拟合模型(2000:10:2050)Y = 274.6221 301.8240 330.3341 360.1524 391.2790 423.7137
绘制拟合对人口普查数据和外推的拟合值:
Plot (fittedmodel, cdate, pop) hold on Plot (fittedmodel, 2000:10:2050, y) hold off
有关更多示例和互动和命令行拟合分析的说明,以及所有后处理功能的列表,请参阅适合后处理

有关使用命令行的示例再现此交互式人口普查数据分析,请参阅多项式曲线拟合

拯救你的工作

Toolbox提供了一些可用于保存工作的选项。您可以将一个或多个适合和关联的拟合结果作为变量保存为Matlab工作区。然后,您可以使用此保存的信息进行文档目的,或扩展数据探索和分析。除了将工作保存到Matlab工作区变量外,您还可以:

  • 通过选择保存当前曲线拟合会话文件>保存会议.会话文件包含会话中的所有适合和变量,并记得您的布局。看保存和重新加载会话

  • 生成MATLAB代码,重新创建所有适合和绘图在您的会议通过选择文件>生成代码.曲线拟合应用程序从您的会话生成代码,并在MATLAB编辑器中显示文件。

    通过使用原始数据作为输入参数在命令行调用文件,可以重新创建适合和绘图。您还可以使用新数据调用文件,并自动化拟合多个数据集的过程。有关更多信息,请参见从曲线拟合应用程序生成代码

相关的话题