主要内容

比较适合在曲线Fitter应用程序

交互式曲线拟合器工作流程

下一个主题使用多项式方程拟合人口普查数据,直到六次,和一个单项指数方程。下面的步骤演示了如何:

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

  • 搜索最适合的:

    • 比较图形拟合结果

    • 比较拟合结果,包括拟合系数和拟合优度统计量

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

  • 保存会话并为所有fit和plot生成MATLAB代码。

加载数据和创建适合

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

  1. 加载数据。

    负载人口普查

    工作区包含两个新变量。

    • cdate是一个列向量,包含1790年至1990年的10年增量。

    • 流行是美国人口数字的列向量,对应于cdate

  2. 打开曲线Fitter应用程序。

    curveFitter

  3. 曲线更健康选项卡,数据部分中,点击选择数据.在“选择拟合数据”对话框中,选择变量名cdate而且流行X数据而且Y数据分别列出。

    曲线拟合应用程序创建和绘制一个默认适合X输入(或预测器)数据和Y输出(或响应)数据。默认的适合是线性多项式适合类型。中显示的适合设置合适的选项窗格。拟合是一阶多项式。

  4. 合适的选项窗格中,通过选择将拟合更改为二次多项式2学位列表。

    曲线拟合器应用程序绘制新的拟合。曲线拟合程序计算一个新的适合当你改变适合设置,因为汽车默认选中。如果改装是耗时的,就像有时大型数据集的情况一样,您可以关闭自动行为。在曲线更健康选项卡,适合部分中,选择手册

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

  5. 更改适合的名称。在符合表面板,双击无标题的适合1适合的名字列和类型poly2

  6. 显示残差。在曲线更健康选项卡,可视化部分中,点击残差图

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

    多项式拟合与残差曲线拟合应用程序

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

    1. 中的合适项右击符合表窗格中,选择重复“poly2”.另外,在曲线更健康选项卡,文件部分中,点击重复的

      提示

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

    2. 改变多项式学位3.然后重命名适合度poly3

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

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

      方法对数据进行规范化中心和规模的复选框。合适的选项窗格。

    4. 重复步骤a和b,将多项式拟合到六次。然后添加一个指数拟合。在曲线更健康选项卡,文件部分中,点击并选择新健康.在适合类型部分,单击箭头打开图库,然后单击指数回归模型部分。

    5. 对于每一个新的适应症,请看结果面板信息,以及应用程序中的残差图。

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

关于扩展

出现关于缩放的警告是因为拟合过程使用cdate值作为具有非常大值的矩阵的基础。的传播cdate值会导致缩放问题。要解决这个问题,可以规范化cdate数据。归一化对预测器数据进行缩放,以提高后续数值计算的准确性。例如,你可以标准化cdate通过定心和缩放数据,使平均值和单位标准差为零。

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

请注意

由于预测器数据经过归一化后会发生变化,因此拟合系数的值与原始数据相比也会发生变化。然而,数据的函数形式和由此产生的拟合优度统计数据并没有改变。此外,数据显示在曲线Fitter应用程序图使用原始的规模。

确定最合适的人选

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

检查图形拟合结果

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

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

    • 单项指数方程的拟合和残差表明其总体拟合较差。因此,这是一个糟糕的选择,您可以从最佳适合的候选人中删除指数适合。

  2. 检查2000年以后fit的行为。拟合人口普查数据的目标是推断出最佳拟合来预测未来的人口值。

    1. 点击六次多项式拟合符合表窗格以查看此匹配的绘图。

    2. 在合适的图中,单击Pan按钮在轴工具栏和平底锅直到适合可见数年后的2000年。残差图的轴限相应调整。

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

      六次多项式拟合图扩展到2000年以后的年份

评价数值拟合结果

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

  • 拟合优度统计

  • 拟合系数的置信界限

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

检查数值拟合结果。

  1. 中的拟合优度统计信息结果窗格。

    结果窗格显示三次多项式拟合的统计信息

  2. 同时比较所有匹配符合表窗格。单击列标题可按统计结果排序。

    匹配表窗格显示五个多项式匹配和一个指数匹配。由于存在误差,拟合按平方和排序。

  3. 检查由于误差的平方和(SSE)和调整R-平方统计数据,以帮助确定最佳匹配。SSE统计量是拟合的最小二乘误差,接近于零的值表示较好的拟合。的调整R-平方统计量通常是在模型中添加额外系数时适合质量的最佳指标。

    中国最大的上交所经验值表示它是一个差的适合度,这是您已经通过检查适合度和残差确定的。最小的SSE值与poly6.然而,这种适合超出数据范围的行为使它成为一个糟糕的外推选择,因此通过检查具有新轴限制的图,您已经拒绝了这种适合。

    次优SSE值与五次多项式拟合相关,poly5这表明它可能是最合适的人选。不过,上证综指进行了调整R其余多项式拟合的-平方值彼此都非常接近。

  4. 方法中剩余拟合的置信界限来解决最佳拟合问题结果窗格。单击合适的符合表窗格以打开合适的图形(如果图形已经打开,则选择它),并查看结果窗格。每个匹配图显示单个匹配的图。

    显示五次多项式poly5这是二次多项式poly2并排安放人物。并排检查结果可以帮助您评估适合度。

    1. 控件中的“匹配图”选项卡可以拖放,以同时显示两个匹配图适合窗格。或者,您可以单击位于适合图选项卡最右边的Document Actions箭头。选择瓷砖都选项并指定1 × 2或2 × 1的布局。

    2. 比较系数和边界(p1p2,等等)结果两块都是窗格,poly5而且poly2.工具箱计算系数的95%置信界限。系数的置信界限决定了它们的准确性。检查公式结果窗格(f (x) = p1 * x + p2 * x)查看每个系数的模型项。请注意,p2指的是p2 * x术语Poly2p2 * x ^ 4术语Poly5.不要直接比较归一化系数和非归一化系数。

      提示

      如果您想要更多的空间来查看和比较图和结果,如下面所示,请拖下符合表窗格。你也可以隐藏结果窗格只显示图形。

      在曲线拟合程序中,poly2和poly5并排拟合比较

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

      结果窗格显示了五次多项式拟合的统计数据

      然而,小的置信界限不越过零p1p2,p3对于二次拟合poly2,表明拟合系数是相当准确的。

      结果窗格显示二级多项式拟合的统计信息

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

请注意

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

分析工作空间的最佳适合度

您可以将选定的匹配和相关的匹配结果导出到MATLAB工作区。在曲线更健康选项卡,出口部分中,点击出口并选择出口到工作区.拟合被保存为MATLAB对象,相关的拟合结果被保存为结构。

  1. 右键单击poly2适合的符合表窗格中,选择将“poly2”保存到工作区.或者,单击出口并选择出口到工作区.应用程序打开一个对话框。

    “保存适合到MATLAB工作区”对话框

  2. 点击好吧以保存与默认名称的匹配。

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

    fittedmodel
    名称大小字节类属性fittedmodel 1x1 925 cfit

检查cfit对象fittedmodel显示模型、拟合系数和拟合系数的置信界限。

fittedmodel
线性模型Poly2:拟合模型(x) = p1*x^2 + p2*x + p3系数(95%置信范围):p1 = 0.006541 (0.006124, 0.006958) p2 = -23.51 (-25.09, -21.93) p3 = 2.113e+04 (1.964e+04, 2.262e+04)

检查结构来显示拟合优度结果。

good = struct with fields: sse: 159.0293 rsquare: 0.9987 dfe: 18 adjrsquare: 0.9986 rmse: 2.9724

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

输出
output = struct with fields: numobs: 21 numparam: 3 residuals: [21×1 double] Jacobian: [21×3 double] exitflag: 1算法:'QR分解和求解'迭代:1

您可以用各种后处理函数对指定数据范围内的拟合进行计算(插值或外推)、求导或积分。

例如,评估fittedmodel在一个矢量的价值外推到2050年。

x = 2000:10:2050;y = fittedmodel (x)
Y = 274.6221 301.8240 330.3341 360.1524 391.2790 423.7137
绘制适合人口普查数据和外推适合值。
情节(fittedmodel cdate流行)情节(fittedmodel, x, y,“k +”)举行传奇([“数据”""“外推数据”“拟合曲线”),...“位置”“西北”

用人口普查数据和外推值拟合图

有关交互匹配分析和命令行匹配分析的更多示例和说明,以及所有后处理函数的列表,请参见合适的后处理

有关使用命令行重新生成交互式普查数据分析的示例,请参见多项式曲线拟合

节省你的工作

Curve Fitter应用程序提供了几种保存工作的选项。您可以将一个或多个拟合和相关的拟合结果作为变量保存到MATLAB工作区。然后,您可以使用这些保存的信息进行文档化,或者扩展数据探索和分析。除了将您的工作保存到MATLAB工作区变量中,您还可以:

  • 保存当前曲线拟合会话。在曲线更健康选项卡,文件部分中,点击保存并选择保存会话.会话文件包含您的会话中的所有适合和变量,并记住您的布局。看到保存并重新打开会话

  • 生成MATLAB代码,以重新创建一个拟合及其相关的图。在出口部分中,点击出口并选择生成代码.曲线拟合应用程序为当前选择的拟合生成代码,并在MATLAB编辑器中显示文件。

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

相关的话题

Baidu
map